You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSIX打包的WPF应用启动更新报错0x80073D02问题咨询

错误触发原因

你遇到的0x80073D02是MSIX部署场景下的典型文件锁冲突错误,触发逻辑如下:

  • 你当前配置的OnLaunch启动时更新逻辑,执行时机是旧版本应用进程已经启动之后:用户双击启动图标时,系统会先拉起旧版本的WPF应用进程,之后才会在后台触发.appinstaller定义的更新检查逻辑
  • MSIX的版本更新需要替换旧版本包的核心执行文件、资源文件,而这些文件此时已经被刚启动的旧版本进程持有独占锁,系统部署服务无法写入修改,就会抛出需要关闭旧应用的报错
  • 手动关闭应用再重启能更新成功的原因是,上一次启动时已经把新版本安装包下载到本地缓存,关闭旧进程后所有文件锁被释放,第二次启动时更新操作可以直接完成文件替换

修复方案

方案1(推荐,适配静默更新需求)

调整.appinstaller的更新配置,添加UpdateBlocksActivation属性,让更新检查和安装操作在应用进程启动前完成,修改后的配置如下:

<UpdateSettings>
    <OnLaunch HoursBetweenUpdateChecks="0" UpdateBlocksActivation="true" />
    <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
</UpdateSettings>

该配置会在用户启动应用时先阻塞进程启动,优先完成更新,全程无用户提示,仅会让应用启动延迟略有增加

方案2

如果不希望阻塞应用启动,可在WPF应用代码中接入MSIX更新API,在应用启动逻辑的最前端主动检查更新,检测到新版本时主动退出当前进程,调用部署接口完成更新后再自动拉起新版本应用。

内容的提问来源于stack exchange,提问作者Rye bread

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:45:05