C/C++教程

Electron-Builder 打包Nsis,安装后自动运行程序

本文主要是介绍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 中,重新打包,就可以了。

这篇关于Electron-Builder 打包Nsis,安装后自动运行程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!