electron生成32位软件默认图标没替换成功

155 阅读1分钟
大家好,我是 wiphone。

最近我遇到了 electron 打包 32位软件遇到的问题,而网上现有的资料无法解决我的问题。
所以今天我要记录它,希望能够帮助遇到同样问题的朋友。

开发场景:
1.用 vue add vue add electron-builder 生成项目
2.在 vue.config.js 里配置:
win: {
  icon: "build/icon.ico",
  target: [
    {
      target: "nsis",
      arch: ["ia32", "x64"],
    },
  ],
  // 这里可以添加其他 Windows 特定的配置
},
nsis: {
  // NSIS 安装程序的配置
  oneClick: false,
  perMachine: true,
  allowElevation: true,
  allowToChangeInstallationDirectory: true,
  installerIcon: "build/icon.ico", // 安装图标
  installerHeaderIcon: "build/icon.ico", // 安装时头部图标
  createDesktopShortcut: true, // 创建桌面图标
  createStartMenuShortcut: true, // 创建开始菜单图标
},
3.确定build底下真有icon.ico文件(并且为 256 x 256)

问题描述:
1.运行 vue-cli-service electron:build 生成的32位软件默认图标没替换成功。
非常奇怪 dist_electron 底下默认安装包替换成功,bundled 和 win-unpacked 里面的也替换成功,
就 win-ia32-unpacked 里面替换不成功。

问题解决:
在 package.json 里增加 productName 属性。 
举例:
{
  "name": "your-app-name",
  "productName": "your-productName-name",
}
看着很简单对吧?可是不加 productName ,icon: "build/icon.ico" 配置就是不生效,查资料查到吐血。