【Electron】Electron-Builder 打包Nsis,安裝后自動運行程序


需求,想要的功能

  • 默認 Program Files 或 Program Files(x86)
  • 可以選擇安裝目錄
  • 安裝后自動運行程序

electorn-builder nsis配置,如下:

{
    oneClick: false,
    perMachine: true,
    allowElevation: true,
    allowToChangeInstallationDirectory: true,
}

問題

查看electron-builder源碼中的nsis腳本,設置oneClick 為 false后,是不能自動運行的。
當electron-builder 提供了自定義腳本的方式,我們可以自已定義nsis腳本來處理。
文檔地址:https://www.electron.build/configuration/nsis#custom-nsis-script

腳本 (installer.nsh)

!macro customFinishPage
AutoCloseWindow true
Function StartApp
    ${if} ${isUpdated}
      StrCpy $1 "--updated"
    ${else}
      StrCpy $1 ""
    ${endif}
    ${StdUtils.ExecShellAsUser} $0 "$launchLink" "open" "$1"
FunctionEnd

Function .onInstSuccess
    Call StartApp
FunctionEnd

!macroend

把上面的腳本默認放到 build/install.nsh 中,重新打包,就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM