aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/balutil
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-04-22 16:55:29 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-04-23 15:40:21 -0500
commit72e20f682c0d64102e86439ba5527dd0d71932ae (patch)
treec62618b0f6b99d3bffa3c6cd01251a29b84fcc05 /src/api/burn/balutil
parentb82c6a2b7d451212fb0b2e32ca4d5d86c953d81a (diff)
downloadwix-72e20f682c0d64102e86439ba5527dd0d71932ae.tar.gz
wix-72e20f682c0d64102e86439ba5527dd0d71932ae.tar.bz2
wix-72e20f682c0d64102e86439ba5527dd0d71932ae.zip
Add RepairCondition.
Fixes 6758
Diffstat (limited to 'src/api/burn/balutil')
-rw-r--r--src/api/burn/balutil/balinfo.cpp7
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctions.h1
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h1
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h2
-rw-r--r--src/api/burn/balutil/inc/IBootstrapperApplication.h1
-rw-r--r--src/api/burn/balutil/inc/balinfo.h1
6 files changed, 12 insertions, 1 deletions
diff --git a/src/api/burn/balutil/balinfo.cpp b/src/api/burn/balutil/balinfo.cpp
index f0eb9904..29e453f6 100644
--- a/src/api/burn/balutil/balinfo.cpp
+++ b/src/api/burn/balutil/balinfo.cpp
@@ -304,6 +304,7 @@ DAPI_(void) BalInfoUninitialize(
304 ReleaseStr(pBundle->packages.rgPackages[i].sczUpgradeCode); 304 ReleaseStr(pBundle->packages.rgPackages[i].sczUpgradeCode);
305 ReleaseStr(pBundle->packages.rgPackages[i].sczVersion); 305 ReleaseStr(pBundle->packages.rgPackages[i].sczVersion);
306 ReleaseStr(pBundle->packages.rgPackages[i].sczInstallCondition); 306 ReleaseStr(pBundle->packages.rgPackages[i].sczInstallCondition);
307 ReleaseStr(pBundle->packages.rgPackages[i].sczRepairCondition);
307 ReleaseStr(pBundle->packages.rgPackages[i].sczPrereqLicenseFile); 308 ReleaseStr(pBundle->packages.rgPackages[i].sczPrereqLicenseFile);
308 ReleaseStr(pBundle->packages.rgPackages[i].sczPrereqLicenseUrl); 309 ReleaseStr(pBundle->packages.rgPackages[i].sczPrereqLicenseUrl);
309 } 310 }
@@ -484,6 +485,12 @@ static HRESULT ParsePackagesFromXml(
484 ExitOnFailure(hr, "Failed to get install condition for package."); 485 ExitOnFailure(hr, "Failed to get install condition for package.");
485 } 486 }
486 487
488 hr = XmlGetAttributeEx(pNode, L"RepairCondition", &prgPackages[iPackage].sczRepairCondition);
489 if (E_NOTFOUND != hr)
490 {
491 ExitOnFailure(hr, "Failed to get repair condition for package.");
492 }
493
487 hr = XmlGetAttributeEx(pNode, L"Cache", &scz); 494 hr = XmlGetAttributeEx(pNode, L"Cache", &scz);
488 ExitOnFailure(hr, "Failed to get cache type for package."); 495 ExitOnFailure(hr, "Failed to get cache type for package.");
489 496
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
index 6bde05d2..9ff58d2b 100644
--- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
@@ -276,6 +276,7 @@ public: // IBootstrapperApplication
276 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, 276 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
277 __in BOOL /*fCached*/, 277 __in BOOL /*fCached*/,
278 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*installCondition*/, 278 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*installCondition*/,
279 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*repairCondition*/,
279 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, 280 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
280 __in BOOTSTRAPPER_CACHE_TYPE /*recommendedCacheType*/, 281 __in BOOTSTRAPPER_CACHE_TYPE /*recommendedCacheType*/,
281 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/, 282 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/,
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
index b661c7c9..2e848df7 100644
--- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
+++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
@@ -290,6 +290,7 @@ public: // IBootstrapperApplication
290 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, 290 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
291 __in BOOL /*fCached*/, 291 __in BOOL /*fCached*/,
292 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*installCondition*/, 292 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*installCondition*/,
293 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*repairCondition*/,
293 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, 294 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
294 __in BOOTSTRAPPER_CACHE_TYPE /*recommendedCacheType*/, 295 __in BOOTSTRAPPER_CACHE_TYPE /*recommendedCacheType*/,
295 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/, 296 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/,
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
index 4ef7bac5..e35678ad 100644
--- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
+++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
@@ -195,7 +195,7 @@ static HRESULT BalBaseBAProcOnPlanPackageBegin(
195 __inout BA_ONPLANPACKAGEBEGIN_RESULTS* pResults 195 __inout BA_ONPLANPACKAGEBEGIN_RESULTS* pResults
196 ) 196 )
197{ 197{
198 return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->state, pArgs->fCached, pArgs->installCondition, pArgs->recommendedState, pArgs->recommendedCacheType, &pResults->requestedState, &pResults->requestedCacheType, &pResults->fCancel); 198 return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->state, pArgs->fCached, pArgs->installCondition, pArgs->repairCondition, pArgs->recommendedState, pArgs->recommendedCacheType, &pResults->requestedState, &pResults->requestedCacheType, &pResults->fCancel);
199} 199}
200 200
201static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageBegin( 201static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageBegin(
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h
index a4840228..6eca90fa 100644
--- a/src/api/burn/balutil/inc/IBootstrapperApplication.h
+++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h
@@ -182,6 +182,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
182 __in BOOTSTRAPPER_PACKAGE_STATE state, 182 __in BOOTSTRAPPER_PACKAGE_STATE state,
183 __in BOOL fCached, 183 __in BOOL fCached,
184 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, 184 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition,
185 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition,
185 __in BOOTSTRAPPER_REQUEST_STATE recommendedState, 186 __in BOOTSTRAPPER_REQUEST_STATE recommendedState,
186 __in BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, 187 __in BOOTSTRAPPER_CACHE_TYPE recommendedCacheType,
187 __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState, 188 __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState,
diff --git a/src/api/burn/balutil/inc/balinfo.h b/src/api/burn/balutil/inc/balinfo.h
index 0c7a5b93..cd61f34d 100644
--- a/src/api/burn/balutil/inc/balinfo.h
+++ b/src/api/burn/balutil/inc/balinfo.h
@@ -49,6 +49,7 @@ typedef struct _BAL_INFO_PACKAGE
49 LPWSTR sczUpgradeCode; 49 LPWSTR sczUpgradeCode;
50 LPWSTR sczVersion; 50 LPWSTR sczVersion;
51 LPWSTR sczInstallCondition; 51 LPWSTR sczInstallCondition;
52 LPWSTR sczRepairCondition;
52 BOOTSTRAPPER_CACHE_TYPE cacheType; 53 BOOTSTRAPPER_CACHE_TYPE cacheType;
53 BOOL fPrereqPackage; 54 BOOL fPrereqPackage;
54 LPWSTR sczPrereqLicenseFile; 55 LPWSTR sczPrereqLicenseFile;