installation - Inno Setup 6.0.5 总是创建没有签名的新卸载程序文件
问题描述
我最近将 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的区别吗?
谢谢
解决方案
从6.0.4 开始,Inno Setup 将您的应用程序的版本信息(产品名称、产品版本、公司、版权等)包含到卸载程序中。这是此更改的一部分:
安装程序现在支持 Windows AppLocker 发布者条件,包括文件名级别。
因此,每个应用程序的卸载程序现在都不同。这确实有点取消了SignedUninstallerDir
.
推荐阅读
- php - php 7.3 fpm 的网站在 24 小时后运行到 503 服务不可用
- python - 寻找价值最高的路线
- ffmpeg - 如何在 AWS lambda 中导入 fluent-ffmpeg?
- c++ - 如何用两个不同的分隔符分割字符串
- flutter - Flutter:如何将拇指图像添加到滑块?
- c# - 我可以在 Linux 中编译 .net Core 3 WPF 应用程序吗?
- c# - 将 ViewBag 的值放在summernote 编辑器中
- c# - 使用 Entity Framework Core 存储计算属性
- scala - 我是 Gatling Tool 的新手。我们如何在 gatling 工具中进行协调和参数化?
- r - 如何在堆叠条形图中反转 geom_errorbar 的位置?