Cannot find dll on Win7 64 Bit

Java, C++, C#, Delphi... - Using the UNO bridges
Post Reply
merbeth
Posts: 1
Joined: Sat Jan 11, 2014 1:02 pm

Cannot find dll on Win7 64 Bit

Post by merbeth »

I have written an application in C#, originally using MS Office. I have now migrated the application to AOO. Everething works fine on Win XP and on Win7 32 Bit. On Win7 64Bit I get an error message (in German) "Die Datei oder Assembly cli_cppuhelper wurde nicht gefunden...". All 6 dlls for AOO are stored in the same directory as the exe-file. The dll for MySQL is in the same directory an works fine. And as said, on 32 Bit Windows everything is OK.
Are the dlls incompatible with 64 Bit Windows? Are there any newer dlls which are compatible?
I have searched the forum and the web. I found the same question but no answer.
Ane help?
OpenOffice 4.0.1 on Windows 7
User avatar
Villeroy
Volunteer
Posts: 31279
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany

Re: cannot find dll on Win7 64 Bit

Post by Villeroy »

OpenOffice is a 32-bit application.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04 with LibreOffice 6.0, latest OpenOffice and LibreOffice
rudolfo
Volunteer
Posts: 1488
Joined: Wed Mar 19, 2008 11:34 am
Location: Germany

Re: Cannot find dll on Win7 64 Bit

Post by rudolfo »

The C# compiler should usually produce code for the CLR (common language runtime) which follows the good old Java rule: Compile once, run everywhere. Depending on your settings in the IDE the program maybe linked against a 32bit launcher stub or against a 64bit launcher stub and is distributed as exe.
Instead of distributing a truly device independent format as Java does with its .jar, .war and .ear files Microsoft tried to be clever and use .exe with the typical PE header for distributing C# applications. In other words they play the Nanny for the user and tell them: "I know what you need you need a 64bit executable!" instead of letting the user decide on its own in which environment he or she wants to run a program.
The PE header contains machine code and requires a certain CPU architecture. If the PE Header is compiled to run on 32bit a 64bit system is still able to run this program as it can launch a 32 bit subsystem for such purposes.

So check your IDE and see how you can convince it to compile 32 bit applications. Or even better say good bye to Microsoft nonsense and use a truely device independent languages as Java or Python.
OpenOffice 3.1.1 (2.4.3 until October 2009) and LibreOffice 3.3.2 on Windows 2000, AOO 3.4.1 on Windows 7
There are several macro languages in OOo, but none of them is called Visual Basic or VB(A)! Please call it OOo Basic, Star Basic or simply Basic.
Post Reply