diff options
| author | Nir Bar <nir.bar@panel-sw.co.il> | 2021-08-11 15:37:34 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-08-12 14:50:55 -0500 |
| commit | 0042e3d4554a0d92e1da6141854b0f1aafa07d5b (patch) | |
| tree | 7dcd25456993d6a9d68b9afd21fd1d1f77bd2a5e /src/burn/engine/core.cpp | |
| parent | c6b138ed166e30c750e499919b858dc6913937b6 (diff) | |
| download | wix-0042e3d4554a0d92e1da6141854b0f1aafa07d5b.tar.gz wix-0042e3d4554a0d92e1da6141854b0f1aafa07d5b.tar.bz2 wix-0042e3d4554a0d92e1da6141854b0f1aafa07d5b.zip | |
Allow BA to opt out of MSI transaction.
Diffstat (limited to 'src/burn/engine/core.cpp')
| -rw-r--r-- | src/burn/engine/core.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp index 87d748cc..bbd0ff96 100644 --- a/src/burn/engine/core.cpp +++ b/src/burn/engine/core.cpp | |||
| @@ -79,6 +79,9 @@ static void LogRelatedBundles( | |||
| 79 | __in const BURN_RELATED_BUNDLES* pRelatedBundles, | 79 | __in const BURN_RELATED_BUNDLES* pRelatedBundles, |
| 80 | __in BOOL fReverse | 80 | __in BOOL fReverse |
| 81 | ); | 81 | ); |
| 82 | static void LogRollbackBoundary( | ||
| 83 | __in const BURN_ROLLBACK_BOUNDARY* pRollbackBoundary | ||
| 84 | ); | ||
| 82 | 85 | ||
| 83 | 86 | ||
| 84 | // function definitions | 87 | // function definitions |
| @@ -2222,6 +2225,8 @@ static void LogPackages( | |||
| 2222 | __in const BOOTSTRAPPER_ACTION action | 2225 | __in const BOOTSTRAPPER_ACTION action |
| 2223 | ) | 2226 | ) |
| 2224 | { | 2227 | { |
| 2228 | BOOL fUninstalling = BOOTSTRAPPER_ACTION_UNINSTALL == action; | ||
| 2229 | |||
| 2225 | if (pUpgradeBundlePackage) | 2230 | if (pUpgradeBundlePackage) |
| 2226 | { | 2231 | { |
| 2227 | LogId(REPORT_STANDARD, MSG_PLANNED_UPGRADE_BUNDLE, pUpgradeBundlePackage->sczId, LoggingRequestStateToString(pUpgradeBundlePackage->defaultRequested), LoggingRequestStateToString(pUpgradeBundlePackage->requested), LoggingActionStateToString(pUpgradeBundlePackage->execute), LoggingActionStateToString(pUpgradeBundlePackage->rollback), LoggingDependencyActionToString(pUpgradeBundlePackage->dependencyExecute)); | 2232 | LogId(REPORT_STANDARD, MSG_PLANNED_UPGRADE_BUNDLE, pUpgradeBundlePackage->sczId, LoggingRequestStateToString(pUpgradeBundlePackage->defaultRequested), LoggingRequestStateToString(pUpgradeBundlePackage->requested), LoggingActionStateToString(pUpgradeBundlePackage->execute), LoggingActionStateToString(pUpgradeBundlePackage->rollback), LoggingDependencyActionToString(pUpgradeBundlePackage->dependencyExecute)); |
| @@ -2233,7 +2238,7 @@ static void LogPackages( | |||
| 2233 | else | 2238 | else |
| 2234 | { | 2239 | { |
| 2235 | // Display related bundles first if uninstalling. | 2240 | // Display related bundles first if uninstalling. |
| 2236 | if (BOOTSTRAPPER_ACTION_UNINSTALL == action) | 2241 | if (fUninstalling) |
| 2237 | { | 2242 | { |
| 2238 | LogRelatedBundles(pRelatedBundles, TRUE); | 2243 | LogRelatedBundles(pRelatedBundles, TRUE); |
| 2239 | } | 2244 | } |
| @@ -2241,9 +2246,18 @@ static void LogPackages( | |||
| 2241 | // Display all the packages in the log. | 2246 | // Display all the packages in the log. |
| 2242 | for (DWORD i = 0; i < pPackages->cPackages; ++i) | 2247 | for (DWORD i = 0; i < pPackages->cPackages; ++i) |
| 2243 | { | 2248 | { |
| 2244 | const DWORD iPackage = (BOOTSTRAPPER_ACTION_UNINSTALL == action) ? pPackages->cPackages - 1 - i : i; | 2249 | const DWORD iPackage = fUninstalling ? pPackages->cPackages - 1 - i : i; |
| 2245 | const BURN_PACKAGE* pPackage = &pPackages->rgPackages[iPackage]; | 2250 | const BURN_PACKAGE* pPackage = &pPackages->rgPackages[iPackage]; |
| 2246 | 2251 | ||
| 2252 | if (!fUninstalling && pPackage->pRollbackBoundaryForward) | ||
| 2253 | { | ||
| 2254 | LogRollbackBoundary(pPackage->pRollbackBoundaryForward); | ||
| 2255 | } | ||
| 2256 | else if (fUninstalling && pPackage->pRollbackBoundaryBackward) | ||
| 2257 | { | ||
| 2258 | LogRollbackBoundary(pPackage->pRollbackBoundaryBackward); | ||
| 2259 | } | ||
| 2260 | |||
| 2247 | LogId(REPORT_STANDARD, MSG_PLANNED_PACKAGE, pPackage->sczId, LoggingPackageStateToString(pPackage->currentState), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingCacheTypeToString(pPackage->authoredCacheType), LoggingCacheTypeToString(pPackage->cacheType), LoggingBoolToString(pPackage->fPlannedCache), LoggingBoolToString(pPackage->fPlannedUncache), LoggingDependencyActionToString(pPackage->dependencyExecute), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedInstallRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedCacheRegistrationState)); | 2261 | LogId(REPORT_STANDARD, MSG_PLANNED_PACKAGE, pPackage->sczId, LoggingPackageStateToString(pPackage->currentState), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingCacheTypeToString(pPackage->authoredCacheType), LoggingCacheTypeToString(pPackage->cacheType), LoggingBoolToString(pPackage->fPlannedCache), LoggingBoolToString(pPackage->fPlannedUncache), LoggingDependencyActionToString(pPackage->dependencyExecute), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedInstallRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedCacheRegistrationState)); |
| 2248 | 2262 | ||
| 2249 | if (BURN_PACKAGE_TYPE_MSI == pPackage->type) | 2263 | if (BURN_PACKAGE_TYPE_MSI == pPackage->type) |
| @@ -2313,3 +2327,10 @@ static void LogRelatedBundles( | |||
| 2313 | } | 2327 | } |
| 2314 | } | 2328 | } |
| 2315 | } | 2329 | } |
| 2330 | |||
| 2331 | static void LogRollbackBoundary( | ||
| 2332 | __in const BURN_ROLLBACK_BOUNDARY* pRollbackBoundary | ||
| 2333 | ) | ||
| 2334 | { | ||
| 2335 | LogId(REPORT_STANDARD, MSG_PLANNED_ROLLBACK_BOUNDARY, pRollbackBoundary->sczId, LoggingBoolToString(pRollbackBoundary->fVital), LoggingBoolToString(pRollbackBoundary->fTransaction), LoggingBoolToString(pRollbackBoundary->fTransactionAuthored)); | ||
| 2336 | } | ||
