首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用NSIS卸载以前的Wix安装程序需要更长的时间,应用程序标题栏显示的是“不响应”。

使用NSIS卸载以前的Wix安装程序需要更长的时间,应用程序标题栏显示的是“不响应”。
EN

Stack Overflow用户
提问于 2019-02-20 09:14:30
回答 1查看 127关注 0票数 0

我把我的软件从Wix安装程序迁移到NSIS。在安装新版本的软件后,我首先需要卸载以前的Wix软件包(如果它存在的话)。

从NSIS安装程序,在“欢迎”屏幕上点击“下一步”,我正在检查以前的Wix软件包,如果它是现在卸载它。下面是我的代码片段:

代码语言:javascript
运行
复制
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE RemovePrevVerFunction

!insertmacro MUI_PAGE_WELCOME

!insertmacro MUI_LANGUAGE "English"

Function RemovePrevVerFunction
ReadRegStr $R0 HKLM "SOFTWARE\EMR\3.01.00" "InstallPath"
${If} $R0 != ""
MessageBox MB_OKCANCEL "EMR 3.01.00 is already installed. Remove the pervious version?" IDOK uninst
Abort
uninst:
ExecWait '"MsiExec.exe" /X{8ED262EE-FC73-47A9-BB86-D92223246881} /qn'   ; /x is to uninstall and /qn is to uninstall it silently
${EndIf}
FunctionEnd

有了上面的代码,我可以卸载以前的版本。但我需要做更多的事。

  1. 虽然卸载需要更长的时间,而且欢迎屏幕变得“没有响应”,但最终它正在完成卸载过程。是否有任何方法可以卸载它而不做出响应?
  2. 我想在卸载时显示进度,以便最终用户知道正在进行卸载。为此,我删除了"/qn“(无声卸载),如果删除"/qn”,它将显示进度,但它将弹出另一个消息框“您确定要卸载此产品吗?”(可能是来自以前的wix安装程序)。是否有任何方法显示进度而不显示消息框“您确定要卸载此产品吗?”

请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-20 15:13:20

编写/qb!作为参数。

这应该有效,因为参数/qb显示没有模态对话框的基本UI,另外,/qb!意味着您不能取消卸载过程。

有关它的更多信息,您可以找到这里

问候

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54782636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档