我一直在试图处理Windows UAC的'功能',它在应用程序中查找'setup'或'install'字样,并自动相信它是安装程序。UAC认为我的应用程序是安装程序第2部分
我尝试添加一个嵌入的清单,如建议in this stackoverflow question,并能解决我的Vista和Windows 7的问题,而是打破服务器上我的应用程序2003
我也尝试了一些修正我已经在其他一些网站上发现。我发现on Microsoft's site的一个建议是使用.config,而不是.exe.config。它效果很好,但这不是一种选择,因为它违背了我们所有其他应用程序的约定。
另一种选择是将assemblyIdentity节点添加到manfiest。我尝试了这一点,无法得到这个工作。
下面是我的清单,因为它现在看起来。有任何想法吗?
<?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.
感谢,
皮特
为什么你需要在不是安装程序的名称中使用“setup”/“install”? – 2011-01-19 21:15:47