I have been trying to deal with the Windows UAC 'feature' that looks for the word 'setup' or 'install' in an application and automatically believes it's an installer.
I tried adding a embedded manifest, as suggested in this stackoverflow question, and that fixes my problem on Vista and 7, but breaks my application on Server 2003.
I also tried some fixes I have found on a few other sites. One suggestion I found on Microsoft's site was to use .config, instead of .exe.config. It worked great, but that is not an option as it goes against the convention of all of our other applications.
The other option was to add the assemblyIdentity node to the manfiest. I tryed this and was unable to get this to work.
Below is my manifest as it looks now. Any ideas?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>
</compatibility>
</assembly>
Note: This is a managed C# application. And the manifest has to be embedded into the executable.
Thanks,
Pete