Skip to content

Instantly share code, notes, and snippets.

@yxw
Last active July 11, 2019 02:54
Show Gist options
  • Select an option

  • Save yxw/53cc0982e945bd12ee6cb7b9f87fa86b to your computer and use it in GitHub Desktop.

Select an option

Save yxw/53cc0982e945bd12ee6cb7b9f87fa86b to your computer and use it in GitHub Desktop.
Fix UAC Compatibility in Windows Vista and Windows 7
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<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="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<!--
To embed this manifest file into you executable, use the mt.exe tool (avaialbe in Windows xx C++ SDK):
mt.exe –manifest UAC_Win7.manifest –outputresource:YourApp.exe;#1
To automate the addition of the application manifest as a post-build step, place the following line as a post build task in your Visual Studio project's Project Properties:
mt.exe -manifest "$(ProjectDir)UAC_Win7.manifest" -updateresource:"$(TargetDir)$(TargetName).exe;#1"
More details: https://docs.microsoft.com/en-us/previous-versions/bb756929(v=msdn.10)
-->
</assembly>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment