1

I have a c# windows forms application written in Visual Studio Express 2013. The application is a tool that requires administrator privileges to run. I figured out how to add a manifest file to my project and changed the requestedExecutionLevel to requireAdministrator. In the projects application settings property tab the manifest that I added is selected to be embedded into the project. Now when I click start to launch the program, it does not request administrator privileges as expected. I do not have UAC turned off. Here is the contents of my app.manifest file.

<?xml version="1.0" encoding="utf-8"?> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <assemblyIdentity version="1.0.0.0" name="MyApplication.app" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <!-- UAC Manifest Options If you want to change the Windows User Account Control level replace the requestedExecutionLevel node with one of the following. <requestedExecutionLevel level="asInvoker" uiAccess="false" /> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> Specifying requestedExecutionLevel node will disable file and registry virtualization. If you want to utilize File and Registry Virtualization for backward compatibility then delete the requestedExecutionLevel node. --> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> <applicationRequestMinimum> <PermissionSet Unrestricted="true" ID="Custom" SameSite="site" /> <defaultAssemblyRequest permissionSetReference="Custom" /> </applicationRequestMinimum> </security> </trustInfo> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!-- A list of all Windows versions that this application is designed to work with. Windows will automatically select the most compatible environment.--> <!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node--> <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>--> <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node--> <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>--> <!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node--> <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>--> <!-- If your application is designed to work with Windows 8.1, uncomment the following supportedOS node--> <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>--> </application> </compatibility> <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) --> <!-- <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>--> </asmv1:assembly> 
2
  • Are you currently testing with a logged in account that is already an Administrator? Did you test the exe when logged in as a user with out admin rights? Commented Apr 10, 2014 at 20:23
  • Running an application while logged in as an administrative user is not the same thing as running an application with administrative privileges. If I run another application that does require administrative privileges such as regedit.exe, then a UAC elevation prompt is displayed requesting the required privileges. When I run my application I get no such prompt. Commented Apr 10, 2014 at 20:33

1 Answer 1

2

Looks like I found the answer to my problem. I found the answer in this question posted on this site: App Manifest Ignored

You have to disable the visual studio hosting process in the projects properties under the debug tab. Otherwise when you run your app from visual studio it is run as yourapp.vshost.exe instead of yourapp.exe and does not include the manifest file.

Sign up to request clarification or add additional context in comments.

1 Comment

Hey friend, I have the same problem, but running outside VS2013 and with a different scenario. Could you help me in the post stackoverflow.com/questions/23877607/… ??? Thanks a lot!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.