当我运行应用程序“驱动程序安装程序和卸载程序应用程序”时,一旦我的 exe 成功结束,我就会看到“程序兼容性助手”窗口。经过 SO 链接和谷歌搜索后,我找不到避免 vista 32 中“程序兼容性助手”窗口的解决方案。我使用下面的 list 来避免 PCA,它按预期工作(我在 Windows 7 中没有获得任何 PCA 窗口),但是除了 Windows Vista 32 之外?我应该做什么才能使这项工作成功?
After Using the below manifest for my installer application I am not getting PCA window in windows 7 but it appears on windows vista 32-bit. How to avoid PCA window in vista32?
一些相关问题是:
- how-do-i-prevent-programmatically-the-program-compatibility-assistant-in-vista
- reasons-for-getting-the-program-compatibility-assistant-dialog
这是我使用的 list :
<?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="Unins.exe"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="highestAvailable" 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>
下面是我得到的 PCA 窗口的快照...
更新:PCA 窗口的根本原因是“我的安装程序未在“添加或删除程序”中创建条目”。我让我的应用程序在“添加或删除程序”中输入条目,但没有收到任何 PCA 窗口。但我不想在“添加或删除程序”中添加条目。
Update 25-09-12: I have an executable say
A.exe
, which finds architecture of the OS and depends on the architecture it calls eitherA64.exe or A86.exe
. In this case do I want to have manifests for all the exe's ( A.exe, A64.exe, A86.exe )? Right now I have manifest only for A.exe.
最佳答案
为了完全选择退出 PCA,您肯定需要在所有三个可执行文件中包含一个 list 。
关于winapi - 程序兼容性助手 list 在 Vista32 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532308/