如何避免应用更新后Windows任务栏快捷方式损坏(Wix方案)
Wix升级安装导致任务栏固定快捷方式损坏的问题排查
问题现象
将应用v1.2版本覆盖安装在v1.1版本之上时,任务栏上已固定的应用快捷方式会损坏。点击损坏的快捷方式时,Windows会弹出提示窗口,且点击“否”选项后快捷方式仍会被系统移除。
复现步骤
- 在Windows 10或11系统中下载一款带标准Windows安装程序的应用(非便携版等类型)
- 下载并安装该应用的旧版本
- 将应用快捷方式固定到任务栏
- 安装该应用的新版本执行升级操作
- 任务栏上的固定快捷方式损坏
已尝试的解决方案及问题
为了限定RemoveShortcuts操作仅在用户完全卸载产品时执行(升级或修复时不执行),曾在<InstallExecuteSequence>中添加如下配置:
<RemoveShortcuts>Installed AND NOT UPGRADINGPRODUCTCODE AND REMOVE="ALL"</RemoveShortcuts>
但该配置未解决问题,升级后任务栏快捷方式依然损坏。
构建安装程序时,light.exe工具抛出LGHT1055警告,提示RemoveShortcuts操作与Encoding-Converters-Core团队提供的merge模块(EC_40_64bit_MM.msm)存在冲突。后续与该merge模块开发者协作,确保主安装程序与merge模块使用完全相同的<RemoveShortcuts>配置,警告得以消除,但快捷方式损坏的问题仍未解决。
当前疑问
<RemoveShortcuts>在<InstallExecuteSequence>中的执行位置是否会影响最终结果?
内容的提问来源于stack exchange,提问作者Todd Hoatson
相关产品推荐
相关产品推荐

