不像electron-packager的配置大多在命令行,builder的配置可以放在package.json里面:
"build": {
"productName": "xxxx",//这里是项目名
"appId": "xxxx",//ID
"copyright": "xxxx",//版权信息前三个随便填就好啦,反正软件也不发布,自己用
"compression": "store",//"compression": "store", // "store" | "normal"| "maximum" 打包压缩情况(store 相对较快)
"directories": {
"output": "build"//输出位置
},
"extraResources": [
{
"from": "data",//这里是需要拷贝出来的路径
"to": ""//默认根目录
}
],
"asar": true,//是否使用asar压缩
"win": {
"icon": "build/icons/icon.ico",
"target": [
"nsis",//使用nsis制作安装包
"zip"//制作压缩包
]
},
"linux": {
"icon": "build/icons/icon.ico"//linux环境
},
"nsis": {
"oneClick": false, // 是否一键安装
"allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
"allowToChangeInstallationDirectory": true, // 允许修改安装目录
"installerIcon": "./build/icons/aaa.ico",// 安装图标
"uninstallerIcon": "./build/icons/bbb.ico",//卸载图标
"installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
"createDesktopShortcut": true, // 创建桌面图标
"createStartMenuShortcut": true,// 创建开始菜单图标
"shortcutName": "xxxx", // 图标名称
"include": "build/script/installer.nsh", // 包含的自定义nsis脚本
},
}
script也需要修改:
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir ",
"dist": "electron-builder --win --x64"
}
一般windows系统直接使用npm run dist就好啦。
根据提供的参考资料和问题描述,可能出现该问题的原因是打包后的exe文件没有足够的权限导致无法对文件进行改动。可以通过修改electron-builder的配置文件中的requestedExecutionLevel属性来修改exe权限。具体解决方案如下:
打开electron-builder的配置文件package.json。
找到要打包的操作系统的配置,在win属性下面添加并修改属性requestedExecutionLevel,将其配置为highestAvailable或者requireAdministrator。
重新打包,打包完成后exe文件权限应该就被修改了,可以对文件进行操作。
代码示例:
{
"build": {
"win": {
"requestedExecutionLevel": "highestAvailable"
}
}
}
需要注意的是,不同的操作系统可以分别配置不同的requestedExecutionLevel。同时,在修改exe权限时,需要十分注意安全问题,建议只授予必要的权限。如果用户还有其他特殊需求,也可以根据需要选择其他的权限级别。
如果以上解决方案不起作用,可能需要进一步查看错误报告,确定具体的错误信息和原因,再做针对性的处理。当然,也有可能出现该问题超出了自己的技术范畴,此时可以考虑向相关的技术支持人员或社区寻求帮助。