Electron-builder生成.msi安装包后,如何阻止应用自动启动?
阻止Electron MSI安装包完成后自动启动应用
当然可以实现这个需求!你提到的runAfterFinish确实只针对NSIS安装包生效,但针对MSI格式,我们有两种可行的解决方案:
方案1:直接使用electron-builder内置配置(适用于新版)
如果你使用的是electron-builder v24及以上版本,官方已经把runAfterFinish选项适配到了MSI安装包中,直接在配置里添加即可:
在项目根目录的package.json的build字段中修改:
{ "build": { "win": { "target": "msi", "msi": { "runAfterFinish": false } } } }
方案2:通过WiX自定义配置(兼容旧版本)
如果你的electron-builder版本较低,上述配置不生效,可以通过WiX的自定义属性来禁用安装后的自动启动。MSI安装包本质是基于WiX构建的,默认会设置RUNAFTERINSTALL属性为1来启动应用,我们只需要把它改成0就行:
{ "build": { "win": { "target": "msi", "msi": { "wix": { "extraConfig": "<Property Id=\"RUNAFTERINSTALL\" Value=\"0\" />" } } } } }
两种方案任选其一,重新打包MSI安装包后,安装完成就不会自动启动应用了。
内容的提问来源于stack exchange,提问作者Matthieu Planté
相关产品推荐
相关产品推荐

