我使用 WinZip 自解压存档 (SFX) 分发我的软件。
我知道这个和那个。但这些似乎不适用于 SFX 场景。
安装时,SFX 解压缩并启动一个包含的程序(由我编写),用于安装。这包括在 Windows 控制面板下为程序列表创建注册表项。此外,该程序具有清单。所以它应该是“Vista-aware”的。SFX 可执行文件还包括一个清单。
问题是程序兼容性助手(PCA)
"This program might not have installed correctly"
无论如何都会抛出它的消息。所以我的客户告诉我我是一个糟糕的程序员......
我搜索了很多,并阅读了很多关于 PCA 的信息,包括许多 Microsoft 网站。
那些告诉我要做:
- 嵌入清单
- 在 Windows 控制面板下为程序列表创建注册表项
我的清单如下所示:
<?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">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
那么我哪里出错了?
PCA还有其他事情要做吗?
SFX 可执行文件是否必须包含其他一些内容?