Adding a manifest to a Vista application October 13, 2006Posted by Patricio in Software Engineering.
Under Vista, an application can have a manifest that identifies the privilege level it needs to run. These manifests can serve other purposes, too: they’re also known as fusion manifests and can be used to identify dependencies among other things. Adding one to your application starts with adding a file to your project (right click and choose Add, New Item: depending on the language you’re using you might be able to choose XML file or else Text file will do.) Then you put appropriate XML in it, like this:
<?xml version="1.0" encoding="utf-8" ?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="18.104.22.168" processorArchitecture="X86" name="Sample" type="win32" /> <description>Sample Manifest Test Application</description> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <!-- <requestedExecutionLevel level="requireAdministrator" /> --> <requestedExecutionLevel level="asInvoker" /> <!-- <requestedExecutionLevel level="highestAvailable" /> --> </requestedPrivileges> </security> </trustInfo> </assembly>
- A very detailed whitepaper that covers everything you could every want or need to know about UAC from a developer perspective New UAC Whitepaper Released
- Shawn has a post that discusses this method, Adding a UAC Manifest to Managed Code. He includes the manifest directly inline in the .rc file, rather than pointing to an external manifest file.
- Daniel also describes this method in his Vista: User Account Control post
- A walk through these steps on this Channel9 screen cast