I am using bootstrapper to include a single MSI. If I have installed the bundle, then re-install by start the bundle EXE, it can detect that bundle has been installed. However, if I rebuild the solution, even no single line code changed, the bundle setup EXE will not detect that bundle has been installed, instead it will install a new version (duplicate entry created in Program and Feature table), but skips to install the MSI. If I start the MSI it will detect same package has been installed. This cause big problem since I have daily build job to build the installer with application, so it cannot detect if the same version has been installed or not. The burn config is simple
<Bundle Name="ProductName" Version="1.0.0.0" Manufacturer="CompanyName"
UpgradeCode="28485414-29d0-4b3d-ba8c-33b5f993dfc3">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
LogoFile="..\Resources\Icon\small.png"
ShowVersion="yes"
SuppressOptionsUI="yes"
LogoSideFile="..\Resources\Icon\banner-side.bmp"
LocalizationFile="HyperlinkTheme.wxl"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage SourceFile="$(var.Installer.TargetPath)" Id="MsiEnUs" DisplayInternalUI="yes"/>
</Chain>
</Bundle>
And the MSI package is define as
<Product Id="*" Name="$(var.ProductDisplayName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.CompanyName)" UpgradeCode="c1b3c617-0af8-4df8-8dff-e893f7bbb30a">
<Package InstallerVersion="200" Compressed="yes" Platform="x64" InstallPrivileges="elevated" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
Check the log, I can find that the WixBundleInstalled is 0.