electron-builder打包修改默认安装路径

在installer.nsh里加入这个代码即可

!macro preInit
    SetRegView 64
    ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}" "UninstallString"
    ${If} $0 == ''
        WriteRegStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "$PROFILE\AppData\Local\Programs\{APPNAME}"
    ${Endif}
    SetRegView 32
    ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}" "UninstallString"
    ${If} $0 == ''
        WriteRegStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "$PROFILE\AppData\Local\Programs\{APPNAME}"
    ${Endif}
!macroend

代码的含义就是,读取全局安装的注册表的卸载表里的我的app的UninstallString字样,如果有,说明已经安装过了,就不用管了(防止在用户更新的时候修改了他的软件安装位置), 如果没有这个字样,说明用户没有安装过,就设置默认安装路径到appData/Local/Programs/你的软件名, 而不是大家都不喜欢的 program files下面

你可能感兴趣的:(electron-builder打包修改默认安装路径)