应用程序关闭后获取Program Compatibility Assistant对话框的可能原因是什么?
Program Compatibility Assistant image http://i.msdn.microsoft.com/dynimg/IC5958.gif
编辑:Program Compatibility Assistant: frequently asked questions
我意识到S.O已经提出了这个问题。
然而,我的应用:
<compatibility>
节点添加到应用程序清单注意#6,以下app.manifest,我不再获得PCA:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<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>
</compatibility>
</asmv1:assembly>
所以第二部分似乎解决了它,但我担心我的应用程序仍在做一些我不知道的事情。
要明确的是,我要问一个2部分的问题:
<compatibility>
节点是否绝对必要?或者我可能还在做错事吗? 答案 0 :(得分:9)
This MSDN article描述了可能导致程序兼容性助手启动的许多条件。我将查看它描述的一组方案,并查看它们是否适用于您的程序。我确实看到了您排除的条件之外的PCA对话的原因(例如,尝试在%ProgramFiles%
下创建新文件夹)。