Electron打包图标修改失败问题

我在做Electron打包时,碰到一个问题,package.json 的配置:

json 复制代码
{
    "build": {
    "appId": "com.sample.xxxx",
    "productName": "xxxx",
    "copyright": "Copyright © 2016 xxxx",
    "compression": "store",
    "files": [...省略不写],
    "directories": {
      "output": "dist/${productName}"
    },
    "electronDownload": {
      "mirror": "https://npmmirror.com/mirrors/electron/"
    },
    "nsis": {
      "oneClick": false,
      "installerLanguages": [
        "zh_CN"
      ],
      "language": "2052",
      "perMachine": false,
      "shortcutName": "IWRadarGUI",
      "allowToChangeInstallationDirectory": true,
      "installerIcon": "build/icons/icon.ico",
      "uninstallerIcon": "build/icons/icon.ico"
    },
    "win": {
      "target": "nsis",
      "executableName": "xxxx",
      "signAndEditExecutable": false,  // 注意这个地方
      "icon": "build/icons/icon.ico"
    },
    "icon": "build/icons/icon.ico",
    "artifactName": "${productName}-${version}-setup.${ext}",
    "extraResources": [
      {
        "from": "src/static",
        "to": "static",
        "filter": []
      },
      {
        "from": "software/OspiTool_V3.0.1",
        "to": "OspiTool_V3.0.1",
        "filter": []
      }
    ]
  },
}

打包出来发现 win-unpacked 中的应用图标总是恢复默认,并没有按照自定义的图标显示。而安装包的图标是正常修改了的。因此可以断定,图标本身没有问题,是nsis或者win的问题。最终通过一行一行代码删除并重新打包无数次,测试发现:

"signAndEditExecutable": false, 这个字段值为false时会直接影响文件签名,导致图标也无法修改。

所以将它改为true,就可以了。

相关推荐
Aliex_git39 分钟前
跨域请求笔记
前端·网络·笔记·学习
37方寸1 小时前
前端基础知识(Node.js)
前端·node.js
powerfulhell1 小时前
寒假python作业5
java·前端·python
木子啊1 小时前
前端组件化:模板继承拯救发际线
前端
三十_A1 小时前
零基础通过 Vue 3 实现前端视频录制 —— 从原理到实战
前端·vue.js·音视频
前端小菜袅1 小时前
PC端原样显示移动端页面方案
开发语言·前端·javascript·postcss·px-to-viewport·移动端适配pc端
We་ct1 小时前
LeetCode 228. 汇总区间:解题思路+代码详解
前端·算法·leetcode·typescript
爱问问题的小李2 小时前
ue 动态 Key 导致组件无限重置与 API 重复提交
前端·javascript·vue.js
子兮曰2 小时前
深入Vue 3响应式系统:为什么嵌套对象修改后界面不更新?
前端·javascript·vue.js
CHU7290352 小时前
直播商城APP前端功能全景解析:打造沉浸式互动购物新体验
java·前端·小程序