Mi segno questo codice per ricordarmi le operazioni da effettuare per fare in modo che un mio eseguibile richieda di elevare i privilegi.

Creare un file manifest chiamandolo "[Nome].exe.manifest" e salvarlo UTF-8:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="[Nome]" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

 

Comando da lanciare (nell'SDK di VS2005):
mt.exe -manifest "[Nome].exe.manifest" -outputresource:"[Nome].exe"#1

 

Maggiori (e migliori) informazioni a questo indirizzo.