我们在正常用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'
}