I'm having a hell of a time trying to figure out user privilidges and security settings on Vista. The situation is this:
I have a 32 bit C++ application that acts as an out-of-process (==standalone exe) COM server. I have several .Net, FoxPro, X++ and C/AL client applications that use this server. They all work on WindowsXP. They often work on Windows Vista (32/64 doesn't seem to make a difference). However the behaviour on Vista is very erratic. It usually goes something like this:
1) instantiate the COM object (thus starting the server) from the client -> success
2) send the first couple of commands to the server -> success
3) crash with an exception stating the client side COM object isn't bound?! WTF?! We have just used this object successfully for step 2!
It always works correctly and reliably if I do "start as administrator" on the client program. However, just being logged in as administrator and launching the client via double click will fail. What is the difference between the two?
Client and server run locally on the same machine. It's a clean install of Vista Ultimate 32 bit on a virtual machine.
I'm completely at my wits end here. Any suggestions?