I have written a couple applications that Work great on 32-bit but crash on open in 64-bit. They are all compiled against "any CPU" but even when I compile them for 64-bit they still crash on 64-bit windows.

both of these applications rely on 3rd party Dlls, some native dlls and some .net dlls.

I don't have a 64 bit system to develop on, but I have a friend with a 64 bit system that tests my applications for me.

Does a 64 bit application need to be compiled on a 64 bit system? or is it problems with my code or its dlls that is breaking the apps?

Any ideas, I've never really worked with 64-bit programming before.

I suspect it is something the 3rd party DLLs are doing. You can compile 64 bit applications on a 32 bit machine with no issues (at least I've never had any).

I imagine if I attempted to debug them on a x64 computer it would show me what's going wrong? or not?

A year or two ago I had a problem with DirectX audio. They did not have a 64 bit release.
This could be the case for your third party DLLs depending on their age.
A solution is to have the main app compiled in 32bit (rather than any CPU) then it only looks for 32bit dlls etc.
Its a quick solution but it could save alot of time and money.

Edited 6 Years Ago by N4JRY: n/a

I'm not privy to much information involving 64-bit. So let me clarify.

If I compile as x86 exclusive, it will still run on 64-bit?

One of the applications I was having a problem with used the Managed DirectX.dll for joystick functionality. Building it as x86 made it work in 64-bit. Thanks!

I believe working with the other apps I might find the same solution. Thanks for all the help!

This question has already been answered. Start a new discussion instead.