2

如果我安装第一个,为什么会得到两个 AddRemoveProgram 条目setup.msi,然后安装bundle.exe包含setup.msi. 这是我捆绑包中的链条。

<Chain>
  <PackageGroupRef Id="NetFx40Redist"/>
  <MsiPackage SourceFile="$(var.MsiProject.TargetDir)Setup.msi" />
</Chain>

有一个从usingsetup.msi中提取的硬编码ProductCode 。不应该检测到已经安装并跳过安装?bundle.exedark -xbundle.exesetup.msi

4

1 回答 1

4

第一个条目用于 MSI;第二个用于捆绑。一个MsiPackage元素具有一个Visible属性,该属性控制 Burn 是否会导致包具有其自己的 ARP 条目可见或不可见。默认值为“否”,因此在某些情况下,但不是您的情况,它会导致两个条目。

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

Burn 是一个包管理器,因此它始终会自行安装/卸载和注册/注销。当多个捆绑包包含相同的包时,Burn 会在卸载捆绑包时找出要留下的包。当然,有些,比如 NetFx40Redist,被标记为永久的,所以捆绑包永远不会卸载它们。

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

于 2014-01-22T04:17:35.143 回答