使用electron-builder打包的windows应用程序,安装后删除安装目录再重新安装,会提示安装已中止,原因是删除安装目录后,程序的注册表信息未删除,导致安装时出现异常。
安装中止
解决方法:
方法一:
删除应用残留的注册表信息后即可正常安装,对用户不友好,操作相对复杂
删除残留注册表信息
方法二:
package.json中修改appId后重新打包,此方法相当于生成一个新的应用程序,与原程序注册表脱离关联,原程序注册表残留信息还在,如果需要appId 唯一且固定,则此方案不合理
"build": {
"appId": "your appId"
}
方法三:
修改程序,重新安装时自动删除注册表信息
package.json中 nsis配置增加如下信息(lz_setup为打包文件输出目录)
"nsis": {
"guid": "your guid",
"include": "lz_setup/installer.nsh"
}
打包文件输出目录lz_setup下创建installer.nsh文件,内容如下:
!macro customInit
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\{your guid}}"
!macroend