electron-updater如何将应用升级至安装目录?

我们在正常用electron-builder进行打包的时候,可以选择默认安装的盘符

我们需要新建一个installer.nsh文件

!macro preInit
  SetRegView 64
  WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\"
  WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\"
  SetRegView 32
  WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\"
  WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\"
!macroend

然后在配置文件的nsis中进行配置

使用include: 'public/installer.nsh'进行引入自己文件

   nsis: {
          oneClick: false,
          allowToChangeInstallationDirectory: true,
          perMachine: true,
          createDesktopShortcut: true,
          createStartMenuShortcut: true,
          installerIcon: 'src-electron/icons/icon.ico',
          installerHeaderIcon: 'src-electron/icons/icon.ico',
          artifactName: '${productName}-${version}-${os}-${arch}-setup.${ext}',
          uninstallDisplayName: '卸载 ${productName}',
          deleteAppDataOnUninstall: true,
          include: 'public/installer.nsh'
        }

当使用electron-updater的时候,我们更新的会自动安装到我们设置的盘符里面,一旦我们切换安装路径之后,更新的软件依旧会安装在我们在installer.nsh文件里面设置的路径,

我们在使用electron-updater的时候,可以吧 nsis中的include: 'public/installer.nsh'注释,

但是注意要把  allowToChangeInstallationDirectory: true,设置为true,(允许进行修改安装目录)这样我们使用electron-updater进行更新的时候,

就会安装到我们的软件安装的盘符里面

  nsis: {
          oneClick: false,
          allowToChangeInstallationDirectory: true,
          perMachine: true,
          createDesktopShortcut: true,
          createStartMenuShortcut: true,
          installerIcon: 'src-electron/icons/icon.ico',
          installerHeaderIcon: 'src-electron/icons/icon.ico',
          artifactName: '${productName}-${version}-${os}-${arch}-setup.${ext}',
          uninstallDisplayName: '卸载 ${productName}',
          deleteAppDataOnUninstall: true,
          // include: 'public/installer.nsh'
        }

你可能感兴趣的:(electron,前端,javascript)