electron+vue项目 Windows开机自启(vue 二)

1、官方案例 在background.js中

const ex = process.execPath;

 ipcMain.on('autorun', (event,autorun) => {
    console.log(app.getLoginItemSettings())
    if (autorun) {
    //主要是这句 ex 调试时是electron路径 打包后才是运行程序路径
      app.setLoginItemSettings({openAtLogin: true,path: ex,args: []});
    } else {
      app.setLoginItemSettings({openAtLogin: false,path: ex,args: []});
    }
  })

测试发现未添加注册表、打印查询也是false 原因未知。改为使用nsis脚本

2、nsis脚本添加开机自启注册表

"nsis": {
          "oneClick": false, // 是否一键安装
          "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
          "allowToChangeInstallationDirectory": true, // 允许修改安装目录
          "installerIcon": "./src/assets/icon.ico",// 安装图标
          "uninstallerIcon": "./src/assets/icon.ico",//卸载图标
          "installerHeaderIcon": "./src/assets/icon.ico", // 安装时头部图标
          "createDesktopShortcut": true, // 创建桌面图标
          "createStartMenuShortcut": true,// 创建开始菜单图标
          "shortcutName": "快捷键名称", // 图标名称
          "include": "./src/assets/nstaller.nsh"
        },

3、nstaller.nsh

!macro customInstall
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Refrigerant" "$INSTDIR\refrigerant.exe"
!macroend
!macro customUninstall
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Refrigerant"
!macroend

Refrigerant为注册表key值  INSTDIR为运行路径

4、打包是下载github资源失败时可使用加速器 加速器地址

你可能感兴趣的:(electron学习,vue.js,electron,前端)