1

我正在使用 CPack NSIS 生成器来创建安装程序。但是,每次我发布新版本时,我们的用户都在运行新的安装程序,而没有卸载旧版本(这是可以理解的)。

是否可以让安装程序覆盖所有现有文件?如果做不到这一点,如果已经安装,有没有办法阻止安装?

此外,我们的 CPack 调用被包装在另一个脚本中,作为最后的手段,我是否可以破解/重新配置 project.nsi 文件以便它执行上述操作之一?

4

2 回答 2

4

您必须编辑 CPack 使用的 NSIS 模板。你可以在你的 cmake 安装文件夹/Modules/NSIS.template.in 中找到它。

在那里,某处,也许在 General 部分的开头,您可以输入: SetOverwrite on

这应该可以解决问题,尽管我没有机会尝试。

有关 SetOverwrite 参数的更多详细信息,请阅读 NSIS 脚本手册

于 2011-06-05T20:33:15.673 回答
0

我的解决方案是单独维护 NSIS 文件,结果并没有太多额外的工作。

于 2011-10-11T02:19:03.707 回答