json - 有没有办法可以阻止默认图标出现并阻止它被单击?

标签 json npm electron electron-builder

包.json:

{
  "name": "password-generator",
  "productName": "Password Generator",
  "version": "1.0.0",
  "description": "Password generator desktop app",
  "main": "src/index.js",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "publish": "electron-forge publish",
    "build-installer": "electron-builder",
    "lint": "echo \"No linting configured\""
  },
  "build": {
    "appId": "password-generator"
  },
  "win": {
    "target": [
      "nsis"
    ],
    "icon": "src/icon.png"
  },
  "nsis": {
    "installerIcon": "src/icon.png",
    "uninstallerIcon": "src/icon.png",
    "uninstallDisplayName": "Password Generator",
    "oneClick": false,
    "allowToChangeInstallationDirectory": true
  },
  "keywords": [],
  "author": "JipBit",
  "license": "MIT",
  "config": {
    "forge": {
      "packagerConfig": {},
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "password_generator"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ]
    }
  },
  "dependencies": {
    "electron-squirrel-startup": "^1.0.0"
  },
  "devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.52",
    "@electron-forge/maker-deb": "^6.0.0-beta.52",
    "@electron-forge/maker-rpm": "^6.0.0-beta.52",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.52",
    "@electron-forge/maker-zip": "^6.0.0-beta.52",
    "electron": "9.1.0"
  }
}
信息:运行构建命令时,我转到我的 dist 文件夹,发现安装程序的图标是默认的 Windows 图标。安装完成后,桌面应用程序的图标是默认的 Electron 图标。桌面应用程序名称运行良好。 icon.png 在我启动程序时有效,并且在我打开应用程序时安装后也有效。但是我桌面上安装程序和应用程序的图标是 windows 和 Electron 图标。 icon.png 位于我的 src 文件夹中,我已经尝试了一些似乎不起作用的东西。不仅如此,禁用一键也不起作用,因为 setup.exe 仍然是一键。这些东西在构建应用程序时也会打印出来,说它将被设置为默认图标和 oneclick=true。我什至认为 NSIS 设置也不起作用,我无法证实这一想法。我目前正在使用 GitHub 的 Electron 框架。任何反馈表示赞赏。

最佳答案

您必须像这样在 win 对象的目标数组中定义图标:

"build": {
    "appId": "password-generator"
},
"win": {
    "target": [
        "nsis",
        "icon": "src/icon.png"
    ]
}
对于 oneclick,我有一个工作示例:
"nsis": {
  "createDesktopShortcut": true,
  "createStartMenuShortcut": true,
  "allowElevation": true,
  "oneClick": false,
  "perMachine": true,
  "allowToChangeInstallationDirectory": true
}
另请阅读 oneclick 的信息 here

关于json - 有没有办法可以阻止默认图标出现并阻止它被单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62884217/

相关文章:

ruby - 无法在 ruby​​ 2.2.1 中安装 json 1.8.3

java - 错误意外字符 javax.json

ios - 如何使用 NSJSONSerialization 反序列化转义的 JSON 字符串?

angular - ERROR in Metadata version mismatch for module X found version 4, expected 3, resolving symbol Y

electron - 如何将 Inspect Element 右键单击​​添加到 Electron 应用程序中? (就像在谷歌浏览器中一样)

java - 如何解析我的 json 结果

git - 如何将 Git 存储库转移到另一个 Git 存储库的主分支

npm - 谁能解释一下 es7 反射元数据是什么?

testing - 为什么 TestCafe 在使用简单的命令行启动测试 Electron 应用程序时会崩溃?

electron - Electron -窗口之间进行通讯的更简单方法?