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

WIX Bundle删除后无法卸载及获取安装程序当前路径问题

WIX Bundle 两个问题的解决方案

问题1:卸载时找不到原Bundle文件导致失败

  • 原因:Bundle默认依赖原安装源文件,用户删除后系统无法定位卸载所需的Bundle资源
  • 解决方法:
    1. 开启Bundle缓存功能:在<Bundle>标签中添加Cache="yes",系统会自动将Bundle文件缓存到本地默认路径C:\ProgramData\Package Cache\<ProductCode>\,卸载时直接调用缓存文件,不再依赖原安装包
    <Bundle Name="MyProduct" Version="1.0.0.0" Manufacturer="MyCompany" UpgradeCode="YOUR-GUID-HERE" Cache="yes">
      <!-- 其他配置内容 -->
    </Bundle>
    
    1. 若已发布安装包无法重新打包,临时解决方案是让用户重新下载对应版本的Bundle文件,运行后选择卸载选项

问题2:移动Setup.exe后WixBundleOriginalSource返回旧路径

  • 原因:WixBundleOriginalSource本身就是记录首次安装时的源路径,不会随文件移动自动更新
  • 解决方法:
    使用WixBundleSource变量替代,它会返回当前运行的Setup.exe的绝对路径。在自定义WPF UI中获取当前所在文件夹的代码示例:
    string bundlePath = this.Engine.StringVariables["WixBundleSource"];
    string currentFolder = System.IO.Path.GetDirectoryName(bundlePath);
    
    上述代码中的currentFolder就是Setup.exe当前所在的FolderB路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:35:43