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; |
