如果首先安装MSI,然后是包含MSI的捆绑包,则有两个ARP条目

时间:2014-01-21 20:27:21

标签: wix burn wix3.8

如果我先安装setup.msi,然后安装包含bundle.exe的{​​{1}},为什么会收到两个AddRemoveProgram条目。这是我的捆绑链。

setup.msi

<Chain> <PackageGroupRef Id="NetFx40Redist"/> <MsiPackage SourceFile="$(var.MsiProject.TargetDir)Setup.msi" /> </Chain> 有一个硬编码的ProductCode,使用 setup.msi bundle.exe中提取。不应dark -x检测已安装的bundle.exe并跳过安装吗?

1 个答案:

答案 0 :(得分:4)

第一个条目是MSI;捆绑的第二个。 MsiPackage元素具有Visible属性,该属性控制Burn是否导致包具有自己的ARP条目可见。默认值为“no”,所以在某些情况下,但不是你的,这将导致两个条目。

是的,Burn不会重新安装已安装的软件包。

Burn是一个包管理器,所以它总是安装/卸载并注册/取消注册。当多个包包含相同的包时,Burn会计算卸载包时要留下的包。当然,有些像NetFx40Redist一样被标记为永久性,因此捆绑包永远不会卸载它们。

同样,如果您不想看到MSI的ARP条目,请确保MsiPackage / @ Visible元素未设置为“是”。