本文将简述如何将 Electron 利用打包为 windows 安装程序。
事后筹备
- Node 环境
- 装置 wix (打包成 msi 安装程序的工具): https://wixtoolset.org/,装置实现后,将 wix 的 bin 文件夹退出 PATH 环境变量。例如
C:\Program Files (x86)\WiX Toolset v3.11\bin\
。关上 cmd,输出candle
查看 wix 是否被退出到环境变量。 - 装置 electron-wix-msi(调用 wix 将 electron 利用打包为 msi 安装程序的工具):新建一个空的文件夹,并初始化 npm 环境:
npm init
,再输出npm i --save-dev electron-wix-msi
装置好之后在文件夹中新建一个名为pack.js
的 node 脚本,内容为:
const {MSICreator} = require('electron-wix-msi');
async function main(){
const msiCreator = new MSICreator({
appDirectory: '',
description: '形容',
exe: '',
name: '',
cultures: 'zh-cn',
shortName: "test",
manufacturer: 'test',
version: '1.0.0',
outputDirectory: '',
ui: {chooseDirectory: true},
});
const supportBinaries = await msiCreator.create();
await msiCreator.compile();}
main().catch(err => {console.log(err)})
其中 MSICreator 结构器的参数请见 electron-wix-msi 的文档
开始打包
-
应用
electron-packager
将 electron 利用进行打包。在 electron 利用的目录下,应用指令(以 64 位零碎为例,如果为 32 位零碎,将 –arch 去掉即可)npx electron-packager ./ appname --platform=win32 --arch=x64 --asar
--asar
参数是为了将node_modules/
文件夹打包为一个文件,防止node_modules/
中有过长的路径名导致打包失败,感兴趣可见参考资料。 - 打包胜利后,electron 目录下应该有
appname-win32-x64
字样的文件夹,其中就蕴含有.exe
程序,这个程序就是能够间接运行的。 - 关上之前写好的
pack.js
,复制appname-win32-x64
的绝对路径 ,而后将门路粘贴到appDirectory
项。outputDirectory
填写的是安装程序的 绝对路径,例如要把安装程序放在桌面上C:\Users\ASUS\Desktop\installer
。如果没有 installer 文件夹,脚本会主动创立。 - 运行
node pack.js
即可打包胜利