patch.exe needs UAC manifest to run properly on Vista
Brought to you by:
syring
Vista's UAC things patch.exe is a real patch, thus needs elevated priviliges. By adding a manifest file, one can tell Windows it's not necessary.
Git's patch.exe has this, and it works, but it doesn't play well with newlines and BuildBot (http://www.buildbot.net/trac/ticket/400)
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
If you have the Windows SDK installed, it''s pretty easy to apply a manifest. Save the following XML beside patch as patch.exe.manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
version="2.5.0.0"
processorArchitecture="X86"
name="Patch"
type="win32"
/>
<description>A tool for applying diff-generated patches.</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Use the SDK shell and cd to the directory that contains patch.exe, supplying the following command to embed the manifest into the exe:
mt.exe -manifest patch.exe.manifest -outputresource:patch.exe;#1