Search code examples
c#windowswindows-7windows-vista

How to request administrator permissions when the program starts?


I need my software to be able to run as administrator on Windows Vista (if someone runs it without administrative permissions, it will crash).

When launching other software, I've seen a prompt by the system like "this software will run as administrator. do you want to continue?" when the app was trying to acquire administrative privileges.

How do I request administrative privileges when running an c# app on Windows Vista?


Solution

  • Add the following to your manifest file:

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    

    You can also use highestAvailable for the level.

    Look here about embedding manifest files:

    http://msdn.microsoft.com/en-us/library/bb756929.aspx

    PS: If you don't have a manifest file, you can easily add a new one:

    In Visual Studio, right click project -> Add Item -> Choose Application Manifest File ( under General for Visual C# items)

    The added file will already have the above part, just change the level to requireAdministrator from asInvoker