Launch Process through ASP/COM on Vista Fails RRS feed

  • Question


    I am running an ASP application which uses a COM DLL.  From within COM, we need to lunch a program, which in turn creates an instance of the COM object (uses the com DLL).  We tried using CreateProcess and ShellExecute to launch the application.  This works on XP however, the same fails on Vista.  The process launches successfully but has no authority to access the COM DLL.  We get “Invalid class string” as we try to create an instance of the COM object.  Other programs that we also tried launching and that don’t use the COM DLL, appear to launch but lack authority to do certain things successfully.  We also tried OpenProcessToken to get the current process token in order to pass that to CreateProcessAsUser but that failed as well.


    We attempted to use CreateProcessAsUser, and it is successful if we explicitly used LoginUser with a specific user id.  This is not an option, as we can’t prompt the user for a user id and password.


    The goal is to launch an application through our COM DLL which will have access to that same COM DLL as well as enough authority to run successfully.  Again this always worked for us on Windows XP, but now as we try to port our code to Vista we are unable to get this to work.


    Any help would be appreciated.



    Wednesday, September 17, 2008 7:11 PM