How to make a COM+ UAC aware? RRS feed

  • Question

  • I have a COM+ server that runs on Windows 2008 x32. I have an MMC snap-in that is calling this server to write configuration.

    Since the MMC is running with highest avaiable, if I write directly from the C# code of the MSC I can access C:\Program files.

    But In my MSC I am Creating a COM class instanace on which I call a method which obviously is not passed the security token.

    I did added a manifest to the Com class dll with highest available and autoElevation set to true. Also in the registry I set Elevation, Enabled 1.

    This still does not work for me. It is not a solution to write to other location or call external exe for doing the job,


    Thursday, August 19, 2010 10:56 AM

All replies

  • See : http://msdn.microsoft.com/en-us/library/bb530410.aspx --> An Elevated Process or COM Object


    Friday, August 20, 2010 4:56 PM
  • Thanks for the contribution to my problem.

    Well you are totally right I have skipped this part of the link.

    But the in the MSDN there are written that I have two choises:

    a) Using a moniker to elevate the COM. Which I do not prefer since I should check all the problematic places which can lead to long list of PRs

    b) To add to my COM+ manifest. This is done through the activation tab, the application root. There I have marked that I am compatible with Windows 7 and Windows 2008 and that I require highestAvailable. For my great pity creating the COM+ from my C# msc does not manage to write to the "C:\Program Files\..."

    Monday, August 23, 2010 2:10 PM
  • You need requireAdministrator try this instead of highestAvailable.
    Monday, August 23, 2010 4:27 PM