com4j on Windows 64 bit

Kong picture Kong · Apr 27, 2012 · Viewed 16.8k times · Source

I've downloaded the latest com4j jars and I'm trying to run through the most simple of their examples.

I'm on Windows 7 64 bit and using a 64 bit JVM.

When I run the command (from the com4j tutorial):

java -jar tlbimp.jar -o wsh -p test.wsh %WINDIR%\system32\wshom.ocx

I get:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com4j-amd64.dll: %1 is 
not a valid Win32 application
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at com4j.COM4J.loadNativeLibrary(COM4J.java:569)
        at com4j.COM4J.<clinit>(COM4J.java:522)
        at com4j.tlbimp.driver.Lib.getLibid(Lib.java:90)
        at com4j.tlbimp.driver.Driver.addLib(Driver.java:38)
        at com4j.tlbimp.driver.Main.doMain(Main.java:123)
        at com4j.tlbimp.driver.Main.main(Main.java:56)
Exception in thread "Com4J shutdown hook" java.lang.NoClassDefFoundError: Could
not initialize class com4j.COM4J
        at com4j.COM4J$3.run(COM4J.java:476)

The java code extracts "com4j-amd64.dll" next to the jar.

Answer

Kong picture Kong · Jun 8, 2012

The latest version has just been released:

http://kohsuke.org/2012/04/27/com4j-updates/

https://github.com/kohsuke/com4j/downloads

Using this one solved all my problems.