aboutsummaryrefslogtreecommitdiff
path: root/src/engine/elevation.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-02-24 17:02:31 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-03-02 15:47:43 -0600
commitb5c4d92528dd088d0065c634eb1a353c424a4441 (patch)
tree428d6caf8bd414f0735b5fbc28b1add950324d15 /src/engine/elevation.cpp
parenta98115d996d65834e7c8d593c10d2cfa66096ccd (diff)
downloadwix-b5c4d92528dd088d0065c634eb1a353c424a4441.tar.gz
wix-b5c4d92528dd088d0065c634eb1a353c424a4441.tar.bz2
wix-b5c4d92528dd088d0065c634eb1a353c424a4441.zip
Always remove all dependencies the bundle could have registered.
#6297
Diffstat (limited to 'src/engine/elevation.cpp')
-rw-r--r--src/engine/elevation.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/engine/elevation.cpp b/src/engine/elevation.cpp
index c9ed9810..7c5dae4b 100644
--- a/src/engine/elevation.cpp
+++ b/src/engine/elevation.cpp
@@ -154,6 +154,7 @@ static HRESULT OnSessionResume(
154 __in DWORD cbData 154 __in DWORD cbData
155 ); 155 );
156static HRESULT OnSessionEnd( 156static HRESULT OnSessionEnd(
157 __in BURN_PACKAGES* pPackages,
157 __in BURN_REGISTRATION* pRegistration, 158 __in BURN_REGISTRATION* pRegistration,
158 __in BYTE* pbData, 159 __in BYTE* pbData,
159 __in DWORD cbData 160 __in DWORD cbData
@@ -1637,7 +1638,7 @@ static HRESULT ProcessElevatedChildMessage(
1637 break; 1638 break;
1638 1639
1639 case BURN_ELEVATION_MESSAGE_TYPE_SESSION_END: 1640 case BURN_ELEVATION_MESSAGE_TYPE_SESSION_END:
1640 hrResult = OnSessionEnd(pContext->pRegistration, (BYTE*)pMsg->pvData, pMsg->cbData); 1641 hrResult = OnSessionEnd(pContext->pPackages, pContext->pRegistration, (BYTE*)pMsg->pvData, pMsg->cbData);
1641 break; 1642 break;
1642 1643
1643 case BURN_ELEVATION_MESSAGE_TYPE_SAVE_STATE: 1644 case BURN_ELEVATION_MESSAGE_TYPE_SAVE_STATE:
@@ -1954,6 +1955,7 @@ LExit:
1954} 1955}
1955 1956
1956static HRESULT OnSessionEnd( 1957static HRESULT OnSessionEnd(
1958 __in BURN_PACKAGES* pPackages,
1957 __in BURN_REGISTRATION* pRegistration, 1959 __in BURN_REGISTRATION* pRegistration,
1958 __in BYTE* pbData, 1960 __in BYTE* pbData,
1959 __in DWORD cbData 1961 __in DWORD cbData
@@ -1976,7 +1978,7 @@ static HRESULT OnSessionEnd(
1976 ExitOnFailure(hr, "Failed to read dependency registration action."); 1978 ExitOnFailure(hr, "Failed to read dependency registration action.");
1977 1979
1978 // suspend session in per-machine process 1980 // suspend session in per-machine process
1979 hr = RegistrationSessionEnd(pRegistration, (BURN_RESUME_MODE)dwResumeMode, (BOOTSTRAPPER_APPLY_RESTART)dwRestart, (BURN_DEPENDENCY_REGISTRATION_ACTION)dwDependencyRegistrationAction); 1981 hr = RegistrationSessionEnd(pRegistration, pPackages, (BURN_RESUME_MODE)dwResumeMode, (BOOTSTRAPPER_APPLY_RESTART)dwRestart, (BURN_DEPENDENCY_REGISTRATION_ACTION)dwDependencyRegistrationAction);
1980 ExitOnFailure(hr, "Failed to suspend registration session."); 1982 ExitOnFailure(hr, "Failed to suspend registration session.");
1981 1983
1982LExit: 1984LExit: