Question

Why do I get two AddRemoveProgram entries if I install the setup.msi first, and then install the bundle.exe containing the setup.msi. Here is the Chain in my bundle.

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

The setup.msi has a hard-coded ProductCode that was extracted from the bundle.exe using dark -x. Shouldn't bundle.exe detect the already installed setup.msi and skip the installation?

Was it helpful?

Solution

The first entry is for the MSI; the second for the bundle. An MsiPackage element has a Visible attribute that controls whether Burn causes the package to have its own ARP entry visible or not. The default is "no" so in some cases, but not yours, it would result in the two entries.

Yes, Burn does not reinstall packages that are already installed.

Burn is a package manager so it'll always install/uninstall and register/unregister itself. When multiple bundles contain the same packages, Burn figures out which to leave when uninstalling a bundle. Of course, some, like NetFx40Redist, are marked as permanent so the bundle will never uninstall them.

Again, if you'd rather not see an ARP entry for the MSI, be sure to the MsiPackage/@Visible element isn't set to "yes".

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top