Inno Setup 6.0.5 总是创建没有签名的新卸载程序文件

问题描述 投票:0回答:1

我最近将 Inno Setup 从 5 升级到 6。

构建脚本和 iss 文件没有改变,但是在 Inno Setup 6 环境中构建总是失败。

失败点在签名的卸载程序中。

[Setup]
SignedUninstaller = yes
SignedUninstallerDir=Release\

要创建带有数字签名的卸载程序,我在我的

SignedUninstaller=yes
中设置了
setup.iss
,我没有设置
SignTool
,因为我的签名是由其他服务提供的,我需要使用其他脚本来签名。

在Inno Setup 5环境中,它第一次创建了一个新的卸载程序

uninst-5.5.9 (u)-xxxxxx.e32
文件。我拿这个来做其他服务的签名。然后放回
Release\
文件夹中。

重新编译我的构建脚本,它显示“使用现有的签名卸载程序文件:uninst-5.5.9 (u)-xxxxxx.e32”,我之前已添加签名来创建卸载程序。 Inno Setup 5 中一切正常。

但是,一旦我将 Inno Setup 升级到 6.0.5,情况就完全不同了,每次编译时卸载程序的文件名都会更改,总是显示 “正在创建新的签名卸载程序文件:uninst-6.0.5 (u)-xxxxxxxx .e32",这导致我在Inno Setup 5中所做的方法在这里无法工作。

我注意到这里的编译日志有很大不同......

创新设置5

Preparing Setup program executable
   Updating icons (SETUP.E32)
   Using existing signed uninstaller file: 

创新设置6

Preparing Setup program executable
   Updating icons (SETUP.E32)
   Updating version info (SETUP.E32)
   Creating new signed uninstaller file:

代码完全一样,只是升级了Inno Setup编译器。

有人知道5和6有什么区别吗?

installation inno-setup code-signing
1个回答
0
投票

6.0.4 起,Inno Setup 将您的应用程序的版本信息(产品名称、产品版本、公司、版权等)包含到卸载程序中。这是此更改的一部分:

安装程序现在支持 Windows AppLocker 发布者条件,最高可达文件名级别(包括文件名级别)。


因此现在每个应用程序的卸载程序都不同。这确实取消了

SignedUninstallerDir
的预期缓存效果。

© www.soinside.com 2019 - 2024. All rights reserved.