2

当我运行我的应用程序“驱动程序安装程序和卸载程序应用程序”时,一旦我的 exe 成功结束,我就会得到一个“程序兼容性助手”窗口。通过 SO 链接和谷歌搜索后,我找不到解决方案来避免 vista 32 中的“程序兼容性助手”窗口。我使用下面的清单来避免 PCA,它按预期工作(在 Windows 7 中没有得到任何 PCA 窗口)但是除了windows vista 32?我应该怎么做才能完成这项工作?

在为我的安装程序应用程序使用以下清单后,我没有在 Windows 7 中获得 PCA 窗口,但它出现在 windows vista 32 位上。如何避免 vista32 中的 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="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 窗口的根本原因是“我的安装程序没有在添加或删除程序中创建条目”。我让我的应用程序在“添加或删除程序”中输入一个条目,但没有得到任何 PCA 窗口。但我不想在添加或删除程序中输入。

12 年 9 月 25 日更新:我有一个可执行文件 say A.exe,它可以找到操作系统的体系结构并取决于它调用的体系结构 A64.exe or A86.exe。在这种情况下,我是否想要所有 exe 的清单( A.exe、A64.exe、A86.exe )?现在我只有 A.exe 的清单。

4

1 回答 1

2

为了完全退出 PCA,您肯定需要在所有三个可执行文件中包含清单。

于 2012-09-25T12:43:32.163 回答