我试图使一个软件包出我的电子项目,我有一个问题,与图标已经安装的应用程序。setup
应用程序或安装程序的图标显示正常,但当我安装应用程序时,唯一正确显示的图标是窗口标题栏上的图标(我使用的是Windows 11),而不是任务栏上的图标。
我在GitHub和网站上读过很多文章、问题和建议解决方案的网站,但没有一个对我有用。
当我在开发过程中测试项目时,图标显示正确(npm run start
)。
以下是我的forge.config.js
:
module.exports = {
packagerConfig: {
icon: "./electron_base/icon"
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {
"name": "Electronify",
"setupIcon": "./electron_base/icon.ico"
}
},
{
name: '@electron-forge/maker-deb',
config: {
options: {
icon: './electron_base/icon.png'
}
},
},
{
name: '@electron-forge/maker-dmg',
config: {
icon: './electron_base/icon.icns'
}
},
{
name: '@electron-forge/maker-zip',
platforms: ['darwin', 'linux', 'win32'],
},
],
};
字符串
下面是我在主Electron进程上的BrowserWindow
示例:
const win = new BrowserWindow({
width: 1280,
height: 800,
fullscreen: false,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
},
titleBarOverlay: true,
icon: path.join(__dirname, "icon.ico"),
})
型
注意事项:存储图标的路径是一个名为electron_base
的文件夹,正好在项目根目录中,我还存储了主电子进程和ContextBridge(这种结构不是我最喜欢的,但我迫切地想找到一个解决方案)。
2条答案
按热度按时间inn6fuwd1#
在开发模式下,
__dirname
工作。在生产环境中,请使用process.resourcesPath
所以看起来
字符串
ac1kyiln2#
我有同样的问题.这似乎是一个更新问题.如果你完全卸载你的应用程序,你试图安装它,图标将正常工作.如果你试图安装而不卸载以前的版本,图标将无法工作.
临时解决方案:重新安装