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,就可以了。

相关推荐
anyup7 小时前
uni-app X 全屏引导页组件,一套支持 App、H5、小程序多端引导
前端·架构·uni-app
a1117768 小时前
动森UI组件(开源 html animal-island-ui )
前端·javascript·ui·开源·html
KaMeidebaby8 小时前
卡梅德生物技术快报|真核蛋白表达信号肽筛选实验全流程复盘
服务器·前端·数据库·人工智能·算法
万少8 小时前
万少的 Claude Code 入门教程
前端·人工智能·后端
এ慕ོ冬℘゜8 小时前
JS 前端基础高频面试题
开发语言·前端·javascript
放下华子我只抽RuiKe59 小时前
React 从入门到生产(八):测试与部署
前端·javascript·深度学习·react.js·前端框架·ecmascript·集成学习
蜡笔小电芯9 小时前
【Electron】第2章—BrowserWindow 与 Electron 窗口机制
前端·javascript·electron
zhangxingchao9 小时前
AI 大模型面试核心二:微调、RAG、MCP、Agent 与工程落地
前端·人工智能·后端
ZC跨境爬虫9 小时前
跟着 MDN 学CSS day_15:(掌握CSS背景与边框的创造性用法)
前端·css·ui·html·tensorflow
zhangxingchao9 小时前
AI 大模型面试核心三: RAG、Agent 到 Prompt Engineering 的工程化理解
前端·人工智能·后端