views:

82

answers:

1

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?

A: 

Some comments on the differences between being an administrator and an ADMINISTRATOR in vista available here: link text

Can you install your com object as a proper service, I think by default it then runs as the ADMINISTRATOR

Patrick
Thanks for the link. No the application cannot run as a service. It's a GUI that must launch/quit on demand and allow multiple simultaneous instances.
BuschnicK