diff options
Diffstat (limited to 'src/burn/engine/elevation.cpp')
-rw-r--r-- | src/burn/engine/elevation.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/burn/engine/elevation.cpp b/src/burn/engine/elevation.cpp index 86b65cf9..d12a151a 100644 --- a/src/burn/engine/elevation.cpp +++ b/src/burn/engine/elevation.cpp | |||
@@ -2289,8 +2289,21 @@ static HRESULT OnApplyInitialize( | |||
2289 | 2289 | ||
2290 | LogId(REPORT_STANDARD, MSG_SYSTEM_RESTORE_POINT_STARTING); | 2290 | LogId(REPORT_STANDARD, MSG_SYSTEM_RESTORE_POINT_STARTING); |
2291 | 2291 | ||
2292 | BOOTSTRAPPER_ACTION action = static_cast<BOOTSTRAPPER_ACTION>(dwAction); | 2292 | SRP_ACTION restoreAction = SRP_ACTION_UNKNOWN; |
2293 | SRP_ACTION restoreAction = (BOOTSTRAPPER_ACTION_INSTALL == action) ? SRP_ACTION_INSTALL : (BOOTSTRAPPER_ACTION_UNINSTALL == action) ? SRP_ACTION_UNINSTALL : SRP_ACTION_MODIFY; | 2293 | switch (static_cast<BOOTSTRAPPER_ACTION>(dwAction)) |
2294 | { | ||
2295 | case BOOTSTRAPPER_ACTION_INSTALL: | ||
2296 | restoreAction = SRP_ACTION_INSTALL; | ||
2297 | break; | ||
2298 | case BOOTSTRAPPER_ACTION_UNSAFE_UNINSTALL: __fallthrough; | ||
2299 | case BOOTSTRAPPER_ACTION_UNINSTALL: | ||
2300 | restoreAction = SRP_ACTION_UNINSTALL; | ||
2301 | break; | ||
2302 | default: | ||
2303 | restoreAction = SRP_ACTION_MODIFY; | ||
2304 | break; | ||
2305 | } | ||
2306 | |||
2294 | hrStatus = hr = SrpCreateRestorePoint(sczBundleName, restoreAction); | 2307 | hrStatus = hr = SrpCreateRestorePoint(sczBundleName, restoreAction); |
2295 | if (SUCCEEDED(hr)) | 2308 | if (SUCCEEDED(hr)) |
2296 | { | 2309 | { |