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

如何替换.appx/.msix/.msixbundle包中的.winmd并让应用生效?

问题:无源码替换嵌入在DLL中的WinMD文件

我负责的SDK(mysdk.winmd)被客户集成后出现问题,对方提供了其.appx安装包。为排查问题,我尝试将包中的SDK替换为调试版本,但遇到了加载异常:

已执行的操作

  • 用Advanced Installer打开目标.appx文件
  • 配置信任的数字签名证书,修改包的CN以匹配证书
  • 更新应用版本号
  • 将包内独立的旧mysdk.winmd替换为调试版本文件
  • 重新生成.msix包并完成安装

异常现象

安装后确认包内的独立mysdk.winmd已成功替换,但运行客户应用时,程序仍加载旧版本的SDK。将新生成的.msix改为ZIP解压后,可见新的mysdk.winmd文件,且AppxBlockMap.xml已更新;重启机器后问题依旧。

问题根源

进一步排查发现,客户的.appx/msix包中,mysdk.winmd不仅以独立文件存在,还被嵌入到Customer.dll中,应用实际加载的是DLL内部嵌入的旧版本SDK。

现寻求无源码情况下,重新生成包含新mysdk.winmd的Customer.dll的可行方法。

内容的提问来源于stack exchange,提问作者Greg Thatcher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:17:13