需求:把electron程序打包成安装包的形式输出。
一开始默认都是打zip包,但是对外发布总不能发一个zip包过去让别人解压使用吧?众所周知electron的应用不是一般的大(笑)。
于是就有了将应用以安装包的形式输出给客户的需求
使用的打包工具:electron-builder
输出成installer的配置项:
"build": {
"productName": "Your Product Name",
"appId": "Your APPID", // appId,随便起的,目前没影响
// electron打包会将你的代码,静态资源和依赖项打到.asar包
// “extraFiles”项可以指定哪些文件不被打进asar包
"extraFiles": [
"./myExposeFolder/**"
],
"win": {
"icon": "public/icon.png",
"requestedExecutionLevel": "highestAvailable", // 应用程序运行时的执行级别,我涉及到注册表操作,所以选择了最高
"target": [
// 关键 输出为安装程序,nsis是什么可以自己了解
"nsis"
]
},
// 安装过程的配置项,这里根据自己的需求来配置,更多配置项参考文档
"nsis": {
"oneClick": false,
"perMachine": true,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "My APP CAM",
"include": "./build/nsis/installer.nsh" // .nsh文件会在程序安装过程执行
}
}
题外话
“nsis”配置项里的“include”,你可以编写installer.nsh或uninstall.nsh文件,以致让你的程序在安装/卸载的过程中进行一些额外的处理。
我的场景:我要在安装过程中对注册表进行初始化操作
于是我在installer.nsh文件(文件自己创建)编写了操作注册表相关的代码,最后配置在”include“。