Microsoft
Software
Hardware
Network
Question : VB.net 32bit&64bit COM Refereces?
Ok so I just wanna say I am a complete newb when it comes to 64bit programming topics, and not exactly an expert in VB.net either.
I've built a program that uses an AutoCAD 2011 COM Interop DLL that gets copied to the \bin dir on build. This works perfectly on my 32bit XP dev machine. However when switching to a 64bit XP workstations the app throws "Unable to cast" / "E_NOINTERFACE" errors.
From what i've read the problem is that when on a x64 OS the app will run as an x64 process and then try to call a x86 DLL which wont work. So i have tried changing the project settings to target x86 (manually inside .vsproj since i am using VB08 Express) but that doesnt seem to work either. I have changed the .vsproj to x86, rebuilt the app, verified that i have the x86 version of the DLLs in the folder and it still fails on x64 machines... i did verify in Task Manager that it was indeed running as x86 with the * next to it.
I have located the 64bit version of the DLL on the 64bit machines, if i just simply copy/paste to overwrite the DLL in the \bin dir it works perfectly on x64 machines, even without the app being rebuilt. However that naturally breaks the 32bit machines...
How can i have one app that will work for both platforms and reference the correct DLL?
Answer : VB.net 32bit&64bit COM Refereces?
COM only works for 32 bit operative systems or 64 bit in compatible mode. It can not run in 64-bit native mode.
You need to use two setup projects (one for 32 bit and the other one for 64 bits) and compile your rpogram for anyCpu.
Random Solutions
Reformating an excel apreadsheet using vba
Echo on Trixbox with Digium TE122B PRI Card.
XMLHTTP in a vbs script
How do I fix an Exchange 2007 NDR attack and get a Spam Cleanup process?
case statement
Stop Moving folders within file servers.
What version of ASP.NET should I target?
grouping by one column, and wanting another column in result
Cannot see more group policies in the list.
Trouble setting up redundant ISP link on ASA5510