SCClient.exe can open to a specific Application model package (CCM_Application) through URLs formatted as softwarecenter:SoftwareID={insert CCM_Application Id property here}. I have a windows service in C# that is trying to evaluate if an app model package is available to a user by using the WMI class:
ROOT\CCM\CLIENTSDK\CCM_Application.
If the package is available, I want to launch the application's URL which would then open the scclient for the user with the scclient displaying the info of the app. Since I'm running as system the following doesn't work
Process.Start(softwarecenter:SoftwareID=someRandomAppId)
The process launches but there's no UI because the process is launched under the system context. So I'm in a situation where I have to launch this URL as the user, but simply using the win32Api.dll to impersonate the logged on user and launch the URL as the user won't work since for some reason the URL isn't recognized, even though the URL is recognized when I try using Process.Start(URL) in a console app.