I originally posted this on StackOverflow, but I thought maybe ServerFault could be a better audience:
I have 32-bit COM exe (written in FoxPro). This exe invokes a 32-bit COM dll (also written in FoxPro). In the 32-bit Windows world, the dll is placed in
C:/Windows/System32 directory, registered with
C:/Windows/System32/regsvr32.exe and all is well. The exe can be launched and any processes that require the dll are fine.
It's a different story in the 64-bit world. I tried to install this application on a machine running
Windows 7 x64 like so:
- I place the dll in
- I register it with
C:/Windows/SysWow64/regsvr32.exe, but I was only able to get the registration to succeed by running
regsvr32using the "Run As Administrator" context menu option.
Now when I try to run my exe, it is unable to invoke the dll except when my exe is launched using the "Run As Administrator" option. This is not good. A user shouldn't be required to be an admin just to run a simple app.
Does anybody know how I can get this to work without requiring the "Run As Administrator" option??