@joebigelow / wix / commits / 7ff59a67

Fix bug where MSIFASTINSTALL was not set properly for MsiPackages.

Sean Hall committed Apr 4, 2022 at 10:58 UTC 7ff59a67c279c2c6a3139b29cb8f0c4ffdc2ea7f
3 files changed +7 -2
src/wix/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs
+2 -1
@@ -170,7 +170,7 @@ namespace WixToolset.Core.Burn.Bundles
170 this.SetPackageVisibility(systemComponent, msiPackage, msiPropertyNames);
171
172 // Unless the MSI or setup code overrides the default, set MSIFASTINSTALL for best performance.
173 - if (!String.IsNullOrEmpty(fastInstall))
173 + if (String.IsNullOrEmpty(fastInstall) && !msiPropertyNames.Contains("MSIFASTINSTALL"))
174 {
175 this.AddMsiProperty(msiPackage, "MSIFASTINSTALL", "7");
176 }
@@ -218,6 +218,7 @@ namespace WixToolset.Core.Burn.Bundles
218
219 private void SetPerMachineAppropriately(string allusers, WixBundleMsiPackageSymbol msiPackage, string sourcePath)
220 {
221 + // Can ignore ALLUSERS from MsiProperties because it is not allowed there.
222 if (msiPackage.ForcePerMachine)
223 {
224 if (YesNoDefaultType.No == this.Facade.PackageSymbol.PerMachine)
src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs
+2
@@ -149,6 +149,7 @@ namespace WixToolsetTest.CoreIntegration
149 WixAssert.CompareLineByLine(new string[]
150 {
151 "<MsiPackage Id='FirstX86.msi' Cache='keep' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' LogPathVariable='WixBundleLog_FirstX86.msi' RollbackLogPathVariable='WixBundleRollbackLog_FirstX86.msi' ProductCode='*' Language='1033' Version='1.0.0.0' UpgradeCode='{12E4699F-E774-4D05-8A01-5BDD41BBA127}'>" +
152 + "<MsiProperty Id='MSIFASTINSTALL' Value='1' />" +
153 "<MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" +
154 $"<Provides Key='{GetProductCodeFromMsiPdb(pdbPaths[0])}_v1.0.0.0' Version='1.0.0.0' DisplayName='MsiPackage' />" +
155 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
@@ -158,6 +159,7 @@ namespace WixToolsetTest.CoreIntegration
159 "</MsiPackage>",
160 "<MsiPackage Id='FirstX64.msi' Cache='keep' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_FirstX64.msi' RollbackLogPathVariable='WixBundleRollbackLog_FirstX64.msi' ProductCode='*' Language='1033' Version='1.0.0.0' UpgradeCode='{12E4699F-E774-4D05-8A01-5BDD41BBA127}'>" +
161 "<MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" +
162 + "<MsiProperty Id='MSIFASTINSTALL' Value='7' />" +
163 $"<Provides Key='{GetProductCodeFromMsiPdb(pdbPaths[1])}_v1.0.0.0' Version='1.0.0.0' DisplayName='MsiPackage' />" +
164 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
165 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
src/wix/test/WixToolsetTest.CoreIntegration/TestData/Container/HarvestIntoDetachedContainer.wxs
+3 -1
@@ -2,7 +2,9 @@
2 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment>
4 <PackageGroup Id="BundlePackages">
5 - <MsiPackage SourceFile="FirstX86.msi" />
5 + <MsiPackage SourceFile="FirstX86.msi">
6 + <MsiProperty Name="MSIFASTINSTALL" Value="1" />
7 + </MsiPackage>
8 <PackageGroupRef Id="FirstX64" />
9 </PackageGroup>
10 <PackageGroup Id="FirstX64">