我正在更新一个电子应用程序,任务栏图标在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。
1条答案
按热度按时间b4lqfgs41#
哈-经过24小时的斗争,我发现了问题
我的PC上安装了同一个应用程序作为发布版本,我正在本地开发版本
卸载应用程序意味着本地版本不再冲突,并选择了正确的新图标