Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为新安装正确升级CPack(NSIS)?_Nsis_Cpack - Fatal编程技术网

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

如何为新安装正确升级CPack(NSIS)?,nsis,cpack,Nsis,Cpack,我正在使用cpacknsis生成器创建一个安装程序。但是,每次我发布新版本时,我们的用户都在运行新的安装程序,而没有卸载旧版本,这是可以理解的 是否可以使安装程序覆盖所有现有文件?如果安装失败,是否有方法阻止已安装的安装 此外,我们的CPack调用被包装在另一个脚本中,作为最后手段,我是否可以对project.nsi文件进行黑客攻击/重新配置,以便它执行上述操作之一?您必须编辑CPack使用的NSIS模板。您可以在cmake安装文件夹/Modules/NSIS.template.in中找到它 在

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

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


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

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

在那里的某个地方,也许在一般章节的开头,你可以放: 设置覆盖

虽然我没有机会尝试,但这应该可以奏效


有关SetOverwrite参数的更多详细信息,请阅读NSIS脚本,您必须编辑CPack使用的NSIS模板。您可以在cmake安装文件夹/Modules/NSIS.template.in中找到它

在那里的某个地方,也许在一般章节的开头,你可以放: 设置覆盖

虽然我没有机会尝试,但这应该可以奏效


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

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

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