aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/elevation.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-02-22 20:23:43 -0600
committerSean Hall <r.sean.hall@gmail.com>2022-02-22 23:37:57 -0600
commit8e8f724d90c6835febb8b5865009746aea73a334 (patch)
treeb255c0a7232af8d24bcf44fd476b95bdfdcfe777 /src/burn/engine/elevation.cpp
parent0740d93ca8be06ec0e5da5b51ceff52f67ab5bf5 (diff)
downloadwix-8e8f724d90c6835febb8b5865009746aea73a334.tar.gz
wix-8e8f724d90c6835febb8b5865009746aea73a334.tar.bz2
wix-8e8f724d90c6835febb8b5865009746aea73a334.zip
Add UnsafeUninstall action.
Fixes #6721
Diffstat (limited to 'src/burn/engine/elevation.cpp')
-rw-r--r--src/burn/engine/elevation.cpp17
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 {