如何为新安装正确升级CPack(NSIS)?

时间:2011-01-19 02:15:21

标签: nsis cpack

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

是否可以使安装程序覆盖所有现有文件?如果失败了,是否有办法阻止安装已经安装?

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

2 个答案:

答案 0 :(得分:4)

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

中找到它

在某处,也许在将军部分的开头,你可以把:

上的SetOverwrite

这应该可以解决问题,虽然我没有机会试一试。

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

答案 1 :(得分:0)

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