electron nsis 安装包 window下任务栏无法正常固定与取消固定 Pin to taskbar

问题

win10系统下,程序任务栏在固定后取消固定,展示的程序内容异常。


排查

1.通过论坛查询,应该是与app的api setAppUserModelId 相关

https://github.com/electron/electron/issues/3303

2.electron-builder脚本

electron-builder的脚本中有一项是 appId这个配置项,官方说这个也是用于配置AppId的和api是一致的。

验证通过electron-builder直接nsis打包的可以解决这个问题,但是项目要美观的nsis界面,通过自定义nsis打包,这个问题又出现了。说明问题不再编译时,在安装的时候这个appid生效的。

3.查找electron-builder源码中appId什么时候被设置

nsis中的名称是APP_ID

查到在安装脚本中,快捷方式创建后,执行了WinShell的方法,将appid设置到快捷方式中。

问题解决

解决

1.直接使用electron-builder打包则只需要把程序中的setAppUserModelId 和electron-builder配置文件中的appId保持一致即可。
2.nsis这种打包方式,这种打包方式需要先下载nsis的winshell插件,
https://nsis.sourceforge.io/WinShell_plug-in
解压安装包,将其中的插件dll拷贝到Plugin的库中。
nsis脚本通过ReserveFile命令拷贝WinShell插件。
在CreateShortCut之后,再使用
WinShell::SetLnkAUMI进行设置AppUserModelId.
此问题即可解决。

相关推荐
天天进步20155 分钟前
UFO 源码实战 (3):它怎么“点”鼠标的?通过源码掌握 Windows 自动化控制
windows·自动化
石像鬼₧魂石27 分钟前
Windows 靶机渗透完整流程(新手版)
windows
herinspace39 分钟前
管家婆软件中如何运用商品副单位
运维·服务器·数据库·windows·电脑
春卷同学1 小时前
拼图游戏 - Electron for 鸿蒙PC项目实战案例
javascript·electron·harmonyos
春卷同学1 小时前
基于 Electron 开发的跨平台鸿蒙PC端数字猜谜游戏桌面应用
游戏·electron·harmonyos
橙子味de巧克力4492 小时前
【DataGrip】JetBrains 专业数据库 IDE!全流程管理 + 永久补丁(详细安装指南)
ide·windows
IDOlaoluo2 小时前
RedisStudio-en-0.1.5.exe 安装步骤 详细教程(附安装包)
windows
天庭鸡腿哥2 小时前
输入鸡和马,解suo至尊版!
android·windows·visual studio·everything
奶糖 肥晨2 小时前
无需Android Studio:Windows安装ADB工具及手机调试全流程
windows·adb·android studio
春卷同学2 小时前
Electron for 鸿蒙PC开发的经典推箱子游戏
游戏·electron·harmonyos