我一直在試圖處理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