Page 1 of 1

Cannot find dll on Win7 64 Bit

PostPosted: Sat Jan 11, 2014 1:32 pm
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?

Re: cannot find dll on Win7 64 Bit

PostPosted: Sat Jan 11, 2014 5:04 pm
by Villeroy
OpenOffice is a 32-bit application.

Re: Cannot find dll on Win7 64 Bit

PostPosted: Sun Jan 12, 2014 4:57 am
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.