修复WiX捆绑包时如何防止.NET修复?

Pic*_*les 3 bundle wix wix3.7

我有一个使用burn创建的bundle安装程序,它安装.NET作为第一步:

<Chain>
  <!-- Applications depend on .NET 4.0 Client Profile -->
  <PackageGroupRef Id="NetFx40ClientWeb"/> 
  <MsiPackage SourceFile="$(var.Installer1)" Visible="yes" />
  <MsiPackage SourceFile="$(var.Installer2)" Visible="yes" />
  <MsiPackage SourceFile="$(var.Installer3)" Visible="yes" />
  ...
Run Code Online (Sandbox Code Playgroud)

当用户在"添加/删除程序"中修复软件包时,修复过程也会修复.NET框架,这非常耗时,有时需要重新启动PC.我们的安装问题不太可能与.NET框架本身有关,所以我想改变这种行为.我找不到实际的定义NetFx40ClientWeb PackageGroup,但我认为它被标记为permanent="true"因为它没有与捆绑的其余部分一起卸载.那么为什么要修复它呢?

Nei*_*eil 6

获取WiX源并制作.NET 4安装wsx文件的副本并在项目中使用它,然后编辑NetFx40ClientWeb以删除ExePackage/@ Repair元素.

  • 它生成一个警告:警告 CNDL1136:当 ExePackage/@Protocol 属性设置为 'netfx4' 时,ExePackage/@RepairCommand 属性值 '' 应该包含 '/q' (2认同)