程序兼容性助手清单在Vista32中不起作用 [英] Program Compatibility Assistant Manifest Not working in Vista32

查看:89
本文介绍了程序兼容性助手清单在Vista32中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我运行我的应用程序"A driver Installer and Uninstaller Application"时,一旦我的exe成功结束,我将得到一个程序兼容性助手"窗口.经过SO链接并进行谷歌搜索之后,我找不到在Vista 32中避免程序兼容性助手"窗口的解决方案.我使用了以下清单来避免PCA,并且它按预期工作(在Windows 7中未获得任何PCA窗口),但是除了Windows Vista 32?我应该怎么做才能使这项工作?

When I run my application "A driver Installer and Uninstaller Application", I am getting a "Program Compatibility Assistant" window once my exe get ended successfully. After going through the SO links and googling I couldnt find a solution to avoid "Program Compatibility Assistant" window in vista 32. I used the below manifest to avoid PCA and it works as expected (am not getting any PCA window in windows 7) but except windows vista 32? What should I do to make this work?

在将以下清单用于安装程序应用程序后,我不是 在Windows 7中获取PCA窗口,但它出现在Windows Vista中 32位.如何避免在Vista32中使用PCA窗口?

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

这是我使用的清单:

 <?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窗口的快照...

The below is the snapshot of PCA window I get...

更新:PCA窗口的根本原因是我的安装程序未在添加或删除程序中创建条目".我使我的应用程序在添加或删除程序"中进行了输入,但没有任何PCA窗口.但是我不想在添加或删除程序"中进行输入.

Update : the root cause I for the PCA window is "My Installer is not creating an entry in Add or Remove Programs". I made my app to make an entry in "Add or remove programs" and am not getting any PCA window. But I dont want to make an entry in Add or Remove Program.

更新25-09-12:我有一个可执行文件,说A.exe,它可以找到 操作系统的体系结构,并取决于它所调用的体系结构 A64.exe or A86.exe.在这种情况下,我是否想为所有人提供清单 exe(A.exe,A64.exe,A86.exe)?现在,我仅显示A.exe.

Update 25-09-12: I have an executable say A.exe, which finds architecture of the OS and depends on the architecture it calls either A64.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,您肯定需要在所有三个可执行文件中都包含一个清单.

In order to opt out of PCA altogether, you will defintely need to include a manifest in all three of your executables.

这篇关于程序兼容性助手清单在Vista32中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆