繁体   English   中英

从卸载部分NSIS重新执行安装

[英]Reexecute the installation from the uninstall section NSIS

我有一个NSIS代码来安装程序,在.onInit中,我检查是否存在较旧的版本,如果用户单击“确定”按钮,则将其卸载,我希望一旦卸载完成,安装将再次执行,请尝试调用.onInit函数中的un.onUninstSuccess但自un.以来不接受un. 函数仅接受un. 功能。 任何想法将不胜感激。

这不是方法。 启动卸载程序时,您将启动另一个进程(通常是uninstall.exe ),因此您不能仅从它跳转到安装程序。

您可以做的是:

  • 检查是否存在以前的版本
  • 如果是这样,请在等待子进程完成的同时启动其unistall.exe
  • 返回安装程序后,继续安装

从设置中调用卸载程序的常用方法是

ExecWait '"$INSTDIR\uninstaller.exe" /S _?=$INSTDIR'

可能不是最干净的解决方案,但是nsis Wiki上有一个组合的un / installer示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM