I'm trying to register my COM server programatically from c++ code using standard c function system (const char*), or alternatively any of the _exec* function family. It works fine under XP systems, however on Vista, it doesn't register the COM server. When I try to register my COM server directly from cmd ([serverpath] /regserver), I get no error at all, but the registration is not made. However, when I execute cmd.exe using the "Run as administrator" option, the registration succeeds.
My question is: How can I register my COM server on vista machines from the c++ code (perhaps using one of the _exec* functions with some special parameters)?