com4j on Windows 64 bit
17,237
Solution 1
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.
Solution 2
You have two options:
- Download and use the full latest version (located here: https://github.com/kohsuke/com4j/downloads)
- Extract the latest com4j-amd64.dll from the most recent version
- Download the latest version (located here: https://github.com/kohsuke/com4j/downloads).
- Open up the com4j.jar with your favorite zip utility (read 7zip)
- Extract com4j.jar\com4j\com4j-x64.dll to the base directory of your application
- (optional) Register the dll using
REGSVR32 <path to dll>\com4j-x64.dll
Comments
-
Kong almost 2 years
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.
-
Kong almost 12 yearsAnd I'm running with an Intel processor, is it funny the dll is "amd64"?
-
technomage almost 12 yearsNo, it's not funny. That's just a common way of referring to the 64-bit architecture intel uses (as does amd).
-