Issue 121258 - unowinreg.dll: can't load ia 32-bit .dll on a amd 64-bit platform
Summary: unowinreg.dll: can't load ia 32-bit .dll on a amd 64-bit platform
Alias: None
Product: App Dev
Classification: Unclassified
Component: sdk (show other issues)
Version: 3.4.1
Hardware: PC Windows, all
: P3 Normal
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
Depends on:
Reported: 2012-10-23 14:12 UTC by
Modified: 2020-05-11 23:23 UTC (History)
1 user (show)

See Also:
Latest Confirmation in: 4.1.3
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description 2012-10-23 14:12:21 UTC
The unowinreg.dll from OpenOffice SDK does not work with Windows Java 64-bit VM.  OpenOffice client applications built with unowinreg.dll will not work on 64bit 64-bit Windows with Java 64-bit VM installed.  As 64-bit Windows and 64-bit Java VM is very common now, this makes OpenOffice client applications unavailable on many platforms.

A 64-bit unowinreg.dll and a mechanism for switching between 32-bit and 64-bit unowinreg.dll should be provided in the OpenOffice loader in OpenOffice SDK.

The console log is below.

C:\>java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

C:\>java -jar D:calcmosaic.jar
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\imacat\AppData\Local\Temp\unowinreg1072712583236131558.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary1(Unknown Source)
        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)

Comment 1 Keith N. McKenna 2016-10-23 15:27:06 UTC
As AOO on Windows is only a 32 Bit application I am tempted to set this as an Enhancement rather than a defect, but would appreciate advise from those more knowledgeable.
Comment 2 Marcus 2016-10-23 15:56:19 UTC
There are no plans to move to 64-bit. Therefore it's sufficient to still provide a 32-bit "unowinreg.dll".
Comment 3 Ariel Constenla-Haile 2016-10-27 14:06:05 UTC
unowinreg.dll is a library used by UNO Java applications to query the Windows registry in order to find the OpenOffice installation.

When the UNO Java application is run with a 64 bit JVM, the 32 bit library cannot be loaded.

We should embed both 32 and 64 bit versions of the library, and the glue code that we embed in all client applications should detect if the application is run inside a 32 or a 64 bit JVM, and try to load the proper version the library.

Comment 4 Keith N. McKenna 2020-05-11 23:23:33 UTC
Changing from defect to enhancement.