我有一个使用C ++ / ATL构建的自定义安装程序。应用程序的目标平台是XP3,VS解决方案由静态lib和exe项目组成。应用程序总是被提升,即作为管理员
当我从Visual Studio运行它(VS本身以管理员身份启动)时,一切都很好,PCA永远不会显示。当我在Explorer的同一台机器上运行它时,PCA也从未显示过。
然而,当我在一台全新的Windows 7机器上运行时,无论是从高架资源管理器还是非高架资源管理器启动它,都会显示PCA。
项目属性中与清单相关的部分设置如下:http://screencast.com/t/70GOcbf243
如何在第二台机器上摆脱PCA? 谢谢!
答案 0 :(得分:2)
我认为你应该重命名你的申请。有一些硬编码的名字迫使PCA ......如:
另请参阅:Custom installer without warning dialog… (TrustedInstaller.exe)
作为替代方案,您可以在应用程序清单中添加操作系统兼容性部分以防止PCA。将以下内容添加到您的应用程序清单中:
<?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>
</compatibility>
</assembly>
有关详情,请参阅Application Manifest