Two ARP entries if installing MSI first and then a bundle containing the MSI

StackOverflow https://stackoverflow.com/questions/21268413

  •  30-09-2022
  •  | 
  •  

سؤال

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?

هل كانت مفيدة؟

المحلول

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".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top