diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-04-22 16:55:29 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-04-23 15:40:21 -0500 |
commit | 72e20f682c0d64102e86439ba5527dd0d71932ae (patch) | |
tree | c62618b0f6b99d3bffa3c6cd01251a29b84fcc05 /src/api/burn/balutil | |
parent | b82c6a2b7d451212fb0b2e32ca4d5d86c953d81a (diff) | |
download | wix-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.cpp | 7 | ||||
-rw-r--r-- | src/api/burn/balutil/inc/BalBaseBAFunctions.h | 1 | ||||
-rw-r--r-- | src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | 1 | ||||
-rw-r--r-- | src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h | 2 | ||||
-rw-r--r-- | src/api/burn/balutil/inc/IBootstrapperApplication.h | 1 | ||||
-rw-r--r-- | src/api/burn/balutil/inc/balinfo.h | 1 |
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 | ||
201 | static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageBegin( | 201 | static 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; |