aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-05-11 17:14:30 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-05-11 19:11:19 -0500
commit1446d4e582465af5c09db3fba16afc59529a3863 (patch)
tree68699ff77b53a9c40370454ff2da237889f4f3fe
parenta91c413750b354ba6975be9d427787b13664b750 (diff)
downloadwix-1446d4e582465af5c09db3fba16afc59529a3863.tar.gz
wix-1446d4e582465af5c09db3fba16afc59529a3863.tar.bz2
wix-1446d4e582465af5c09db3fba16afc59529a3863.zip
Fix StrAllocString assertions.
-rw-r--r--src/burn/engine/registration.cpp10
-rw-r--r--src/burn/test/BurnUnitTest/PlanTest.cpp26
-rw-r--r--src/internal/SetBuildNumber/SetBuildNumber.proj2
3 files changed, 22 insertions, 16 deletions
diff --git a/src/burn/engine/registration.cpp b/src/burn/engine/registration.cpp
index 19da543c..5b246112 100644
--- a/src/burn/engine/registration.cpp
+++ b/src/burn/engine/registration.cpp
@@ -1137,14 +1137,15 @@ static HRESULT GetBundleManufacturer(
1137 ) 1137 )
1138{ 1138{
1139 HRESULT hr = S_OK; 1139 HRESULT hr = S_OK;
1140 LPCWSTR wzPublisher = pRegistration->sczPublisher ? pRegistration->sczPublisher : L"";
1140 1141
1141 hr = VariableGetString(pVariables, BURN_BUNDLE_MANUFACTURER, psczBundleManufacturer); 1142 hr = VariableGetString(pVariables, BURN_BUNDLE_MANUFACTURER, psczBundleManufacturer);
1142 if (E_NOTFOUND == hr) 1143 if (E_NOTFOUND == hr)
1143 { 1144 {
1144 hr = VariableSetString(pVariables, BURN_BUNDLE_MANUFACTURER, pRegistration->sczPublisher, FALSE, FALSE); 1145 hr = VariableSetString(pVariables, BURN_BUNDLE_MANUFACTURER, wzPublisher, FALSE, FALSE);
1145 ExitOnFailure(hr, "Failed to set bundle manufacturer."); 1146 ExitOnFailure(hr, "Failed to set bundle manufacturer.");
1146 1147
1147 hr = StrAllocString(psczBundleManufacturer, pRegistration->sczPublisher, 0); 1148 hr = StrAllocString(psczBundleManufacturer, wzPublisher, 0);
1148 } 1149 }
1149 ExitOnFailure(hr, "Failed to get bundle manufacturer."); 1150 ExitOnFailure(hr, "Failed to get bundle manufacturer.");
1150 1151
@@ -1159,14 +1160,15 @@ static HRESULT GetBundleName(
1159 ) 1160 )
1160{ 1161{
1161 HRESULT hr = S_OK; 1162 HRESULT hr = S_OK;
1163 LPCWSTR wzDisplayName = pRegistration->sczDisplayName ? pRegistration->sczDisplayName : L"";
1162 1164
1163 hr = VariableGetString(pVariables, BURN_BUNDLE_NAME, psczBundleName); 1165 hr = VariableGetString(pVariables, BURN_BUNDLE_NAME, psczBundleName);
1164 if (E_NOTFOUND == hr) 1166 if (E_NOTFOUND == hr)
1165 { 1167 {
1166 hr = VariableSetString(pVariables, BURN_BUNDLE_NAME, pRegistration->sczDisplayName, FALSE, FALSE); 1168 hr = VariableSetString(pVariables, BURN_BUNDLE_NAME, wzDisplayName, FALSE, FALSE);
1167 ExitOnFailure(hr, "Failed to set bundle name."); 1169 ExitOnFailure(hr, "Failed to set bundle name.");
1168 1170
1169 hr = StrAllocString(psczBundleName, pRegistration->sczDisplayName, 0); 1171 hr = StrAllocString(psczBundleName, wzDisplayName, 0);
1170 } 1172 }
1171 ExitOnFailure(hr, "Failed to get bundle name."); 1173 ExitOnFailure(hr, "Failed to get bundle name.");
1172 1174
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp
index 3cb42c5f..7909d747 100644
--- a/src/burn/test/BurnUnitTest/PlanTest.cpp
+++ b/src/burn/test/BurnUnitTest/PlanTest.cpp
@@ -33,7 +33,7 @@ namespace Bootstrapper
33 { 33 {
34 } 34 }
35 35
36 [Fact(Skip = "Disable due to hang on CI")] 36 [Fact]
37 void MsiTransactionInstallTest() 37 void MsiTransactionInstallTest()
38 { 38 {
39 HRESULT hr = S_OK; 39 HRESULT hr = S_OK;
@@ -170,7 +170,7 @@ namespace Bootstrapper
170 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); 170 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT);
171 } 171 }
172 172
173 [Fact(Skip = "Disable due to hang on CI")] 173 [Fact]
174 void MsiTransactionUninstallTest() 174 void MsiTransactionUninstallTest()
175 { 175 {
176 HRESULT hr = S_OK; 176 HRESULT hr = S_OK;
@@ -279,7 +279,7 @@ namespace Bootstrapper
279 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); 279 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT);
280 } 280 }
281 281
282 [Fact(Skip = "Disable due to hang on CI")] 282 [Fact]
283 void RelatedBundleMissingFromCacheTest() 283 void RelatedBundleMissingFromCacheTest()
284 { 284 {
285 HRESULT hr = S_OK; 285 HRESULT hr = S_OK;
@@ -362,7 +362,7 @@ namespace Bootstrapper
362 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); 362 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT);
363 } 363 }
364 364
365 [Fact(Skip = "Disable due to hang on CI")] 365 [Fact]
366 void SingleMsiCacheTest() 366 void SingleMsiCacheTest()
367 { 367 {
368 HRESULT hr = S_OK; 368 HRESULT hr = S_OK;
@@ -433,7 +433,7 @@ namespace Bootstrapper
433 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); 433 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT);
434 } 434 }
435 435
436 [Fact(Skip = "Disable due to hang on CI")] 436 [Fact]
437 void SingleMsiInstallTest() 437 void SingleMsiInstallTest()
438 { 438 {
439 HRESULT hr = S_OK; 439 HRESULT hr = S_OK;
@@ -517,7 +517,7 @@ namespace Bootstrapper
517 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); 517 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT);
518 } 518 }
519 519
520 [Fact(Skip = "Disable due to hang on CI")] 520 [Fact]
521 void SingleMsiInstalledWithNoInstalledPackagesModifyTest() 521 void SingleMsiInstalledWithNoInstalledPackagesModifyTest()
522 { 522 {
523 HRESULT hr = S_OK; 523 HRESULT hr = S_OK;
@@ -577,7 +577,7 @@ namespace Bootstrapper
577 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); 577 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT);
578 } 578 }
579 579
580 [Fact(Skip = "Disable due to hang on CI")] 580 [Fact]
581 void SingleMsiUninstallTest() 581 void SingleMsiUninstallTest()
582 { 582 {
583 HRESULT hr = S_OK; 583 HRESULT hr = S_OK;
@@ -650,7 +650,7 @@ namespace Bootstrapper
650 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); 650 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT);
651 } 651 }
652 652
653 [Fact(Skip = "Disable due to hang on CI")] 653 [Fact]
654 void SingleMsiUninstallTestFromUpgradeBundleWithSameExactPackage() 654 void SingleMsiUninstallTestFromUpgradeBundleWithSameExactPackage()
655 { 655 {
656 HRESULT hr = S_OK; 656 HRESULT hr = S_OK;
@@ -713,7 +713,7 @@ namespace Bootstrapper
713 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_IGNORED, BURN_PACKAGE_REGISTRATION_STATE_IGNORED); 713 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_IGNORED, BURN_PACKAGE_REGISTRATION_STATE_IGNORED);
714 } 714 }
715 715
716 [Fact(Skip = "Disable due to hang on CI")] 716 [Fact]
717 void SlipstreamInstallTest() 717 void SlipstreamInstallTest()
718 { 718 {
719 HRESULT hr = S_OK; 719 HRESULT hr = S_OK;
@@ -824,7 +824,7 @@ namespace Bootstrapper
824 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PatchA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); 824 ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PatchA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT);
825 } 825 }
826 826
827 [Fact(Skip = "Disable due to hang on CI")] 827 [Fact]
828 void SlipstreamUninstallTest() 828 void SlipstreamUninstallTest()
829 { 829 {
830 HRESULT hr = S_OK; 830 HRESULT hr = S_OK;
@@ -1106,10 +1106,14 @@ namespace Bootstrapper
1106 HRESULT hr = S_OK; 1106 HRESULT hr = S_OK;
1107 BURN_RELATED_BUNDLES* pRelatedBundles = &pEngineState->registration.relatedBundles; 1107 BURN_RELATED_BUNDLES* pRelatedBundles = &pEngineState->registration.relatedBundles;
1108 BURN_DEPENDENCY_PROVIDER dependencyProvider = { }; 1108 BURN_DEPENDENCY_PROVIDER dependencyProvider = { };
1109 LPCWSTR wzFilePath = pEngineState->registration.sczExecutableName;
1109 1110
1110 hr = StrAllocString(&dependencyProvider.sczKey, wzId, 0); 1111 hr = StrAllocString(&dependencyProvider.sczKey, wzId, 0);
1111 NativeAssert::Succeeded(hr, "Failed to copy provider key"); 1112 NativeAssert::Succeeded(hr, "Failed to copy provider key");
1112 1113
1114 hr = StrAllocString(&dependencyProvider.sczDisplayName, wzId, 0);
1115 NativeAssert::Succeeded(hr, "Failed to copy display name");
1116
1113 dependencyProvider.fImported = TRUE; 1117 dependencyProvider.fImported = TRUE;
1114 1118
1115 hr = StrAllocString(&dependencyProvider.sczVersion, wzVersion, 0); 1119 hr = StrAllocString(&dependencyProvider.sczVersion, wzVersion, 0);
@@ -1126,7 +1130,7 @@ namespace Bootstrapper
1126 pRelatedBundle->fPlannable = TRUE; 1130 pRelatedBundle->fPlannable = TRUE;
1127 pRelatedBundle->relationType = BOOTSTRAPPER_RELATION_UPGRADE; 1131 pRelatedBundle->relationType = BOOTSTRAPPER_RELATION_UPGRADE;
1128 1132
1129 hr = PseudoBundleInitialize(0, &pRelatedBundle->package, TRUE, wzId, pRelatedBundle->relationType, BOOTSTRAPPER_PACKAGE_STATE_PRESENT, TRUE, NULL, NULL, NULL, 0, FALSE, L"-quiet", L"-repair -quiet", L"-uninstall -quiet", &dependencyProvider, NULL, 0); 1133 hr = PseudoBundleInitialize(0, &pRelatedBundle->package, TRUE, wzId, pRelatedBundle->relationType, BOOTSTRAPPER_PACKAGE_STATE_PRESENT, TRUE, wzFilePath, wzFilePath, NULL, 0, FALSE, L"-quiet", L"-repair -quiet", L"-uninstall -quiet", &dependencyProvider, NULL, 0);
1130 NativeAssert::Succeeded(hr, "Failed to initialize related bundle to represent bundle: %ls", wzId); 1134 NativeAssert::Succeeded(hr, "Failed to initialize related bundle to represent bundle: %ls", wzId);
1131 1135
1132 ++pRelatedBundles->cRelatedBundles; 1136 ++pRelatedBundles->cRelatedBundles;
diff --git a/src/internal/SetBuildNumber/SetBuildNumber.proj b/src/internal/SetBuildNumber/SetBuildNumber.proj
index e0993cd3..9342f297 100644
--- a/src/internal/SetBuildNumber/SetBuildNumber.proj
+++ b/src/internal/SetBuildNumber/SetBuildNumber.proj
@@ -28,7 +28,7 @@
28 Condition=" '$(APPVEYOR)'=='True' "> 28 Condition=" '$(APPVEYOR)'=='True' ">
29 <PropertyGroup> 29 <PropertyGroup>
30 <AppVeyorBuildNumber>$(InformationalVersion)</AppVeyorBuildNumber> 30 <AppVeyorBuildNumber>$(InformationalVersion)</AppVeyorBuildNumber>
31 <AppVeyorBuildNumber Condition=" 'APPVEYOR_PULL_REQUEST_NUMBER'!='' ">PR#$(APPVEYOR_PULL_REQUEST_NUMBER)-$(AppVeyorBuildNumber)</AppVeyorBuildNumber> 31 <AppVeyorBuildNumber Condition=" '$(APPVEYOR_PULL_REQUEST_NUMBER)'!='' ">PR#$(APPVEYOR_PULL_REQUEST_NUMBER)-$(AppVeyorBuildNumber)</AppVeyorBuildNumber>
32 </PropertyGroup> 32 </PropertyGroup>
33 33
34 <Message Importance="high" Text=" $(AppVeyorBuildNumber)" /> 34 <Message Importance="high" Text=" $(AppVeyorBuildNumber)" />