electron 电子浏览器窗口应用程序图标按应用程序ID缓存在Windows上

tjvv9vkg  于 2022-12-25  发布在  Electron
关注(0)|答案(1)|浏览(229)

我正在更新一个电子应用程序,任务栏图标在main.js中设置如下:

const iconPath = path.join(__dirname, '../resources/myicon.ico');

/** Create the browser window. */
mainWindow = new BrowserWindow({
    resizable: IS_DEV,
    height: 650,
    minHeight: 650,
    width: 900,
    minWidth: 900,
    frame: false, // enable window chrome
    webPreferences: {
        nodeIntegration: true
    },
    icon: iconPath,
    show: false // don't show immediately,
});

myicon.ico已经更新后,一个品牌的应用程序,但旧的图标仍然出现在任务栏!
但是,我注意到如果我更改应用程序ID:

import { app } from 'electron';
app.setAppUserModelId('com.mycompany.myapp-NEW');

图标现在更新&正确显示!
我猜有一些基于应用程序ID的Windows级别的图标缓存。但是,如果我们发布此更新,我无法让所有用户刷新图标缓存或卸载重新安装应用程序。
有没有办法强制通过一个图标的变化和覆盖缓存?可能不是特定于电子,但似乎others have encountered this problem

b4lqfgs4

b4lqfgs41#

哈-经过24小时的斗争,我发现了问题
我的PC上安装了同一个应用程序作为发布版本,我正在本地开发版本
卸载应用程序意味着本地版本不再冲突,并选择了正确的新图标

相关问题