Conecte Java de 64 bits con dll COM de 32 bits con Com4j o Jacob

Tengo la siguiente configuración:

1) Windows 10 de 64 bits

2) Una aplicación que solo tiene una versión de 32 bits y está disponible a través de COM.

Accedo al archivo .dll de la aplicación de 32 bits usando tlbimb.jar para generar las interfaces necesarias y tengo éxito.

Escenario 1: intento acceder a la aplicación de 32 bits utilizando Java 832 bits instalación. Puedo invocar los métodos a través de COMcon éxito Sin ningún problema.

Escenario 2: intento acceder a la aplicación de 32 bits utilizando una instalación Java 8 de 64 bits. Recibo un mensaje de error:

Exception in thread "main" com4j.ExecutionException: com4j.ComException: 80040154 CoCreateInstance failed : Class not registered : .\com4j.cpp:153

Busqué la excepción en Stackoverflow / Google y he hecho lo siguiente:

1) Registrado el dll de la aplicación usando Sys64WOW / regsvr32.exe y System32 / regsvr32.exe

2) Registró el dll com4j (32 y 64 bits) utilizando Sys64WOW / regsvr32.exe y System32 / regsvr32.exe

3) Copió los archivos DLL en las carpetas Sys64WOW y System32.

He hecho todo lo anterior por separado, comprobando todas las combinaciones posibles. El error mencionado al usar Java de 64 bits todavía existe.

He intentado usar otro puente (Jacob). En Java de 32 bits tiene éxito, en Java de 64 bits falla.

Tengo una pregunta para alguien que podría saber: ¿Hay alguna manera de conectar una aplicación que, por lo que puedo decir, ofrece solo unWin32 COM dll[1], utilizando cualquiera de los puentes Java / COM disponibles yJava 64bit? ¿O simplemente Java de 32 bits COM + 64 bits no son conectables?

[1]: Verifiqué el Visor OLE / COM y debajo de la Biblioteca de tipos solo hay una entrada "0 Win32 =, así que insinué que esto significa que no hay Win64 COM dll, ¿verdad?

Respuestas a la pregunta(1)

Su respuesta a la pregunta