背景
在實際的開發過程中,我們最后打包生成的exe。會依賴一些第三方的軟件,或者說是一些系統的環境,比如 .net framework vc++ 等,這些環境不能依賴客戶的環境,所以最好的做法是在打包的時候,一起打包。
electron如何做到打包多個依賴
electron里面最常用的打包方式就是electron-builder了,其中electron-builder可以對nsis進行整合配置,具體可以參照官網 https://www.electron.build/configuration/nsis
怎么理解幾個macro
electron-builder里nsis程序運行的入口就是 https://github.com/electron-userland/electron-builder/blob/c35b3150536be66a9e1c2aae75f7e8f7f610699d/packages/app-builder-lib/templates/nsis/installer.nsi
可以看到
customHeader => 可以配置一些nsis運行的環境,最常用的比如安裝時需要的權限。RequestExecutionLevel admin
這里需要注意的是,配置文件在 installer.nsh在添加安裝權限(RequestExecutionLevel admin)時,
需要在由管理員權限的cmd下進行打包安裝
這里是真正進行安裝的環節
打開installSection.nsh, 可以看到,在這里會執行customInstall
所以這里才是我們需要打包依賴包的地方
安裝依賴包的代碼非常簡單,$INSTDIR\bin 是指安裝后目錄,也就是說,需要把依賴的二進制文件,打包到安裝后的目錄下,方便后續的安裝