diff options
Diffstat (limited to 'src/burn/engine/msuengine.cpp')
-rw-r--r-- | src/burn/engine/msuengine.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/burn/engine/msuengine.cpp b/src/burn/engine/msuengine.cpp index 44386a6d..091bbe62 100644 --- a/src/burn/engine/msuengine.cpp +++ b/src/burn/engine/msuengine.cpp | |||
@@ -124,6 +124,10 @@ extern "C" HRESULT MsuEnginePlanCalculatePackage( | |||
124 | execute = pPackage->Msu.fUninstallable ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | 124 | execute = pPackage->Msu.fUninstallable ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; |
125 | break; | 125 | break; |
126 | 126 | ||
127 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: | ||
128 | execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; | ||
129 | break; | ||
130 | |||
127 | default: | 131 | default: |
128 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; | 132 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; |
129 | break; | 133 | break; |
@@ -134,10 +138,15 @@ extern "C" HRESULT MsuEnginePlanCalculatePackage( | |||
134 | switch (pPackage->requested) | 138 | switch (pPackage->requested) |
135 | { | 139 | { |
136 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; | 140 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; |
141 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; | ||
137 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: | 142 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: |
138 | execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; | 143 | execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; |
139 | break; | 144 | break; |
140 | 145 | ||
146 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: | ||
147 | execute = pPackage->Msu.fUninstallable ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | ||
148 | break; | ||
149 | |||
141 | default: | 150 | default: |
142 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; | 151 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; |
143 | break; | 152 | break; |
@@ -172,6 +181,7 @@ extern "C" HRESULT MsuEnginePlanCalculatePackage( | |||
172 | switch (pPackage->requested) | 181 | switch (pPackage->requested) |
173 | { | 182 | { |
174 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; | 183 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; |
184 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; | ||
175 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: | 185 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: |
176 | rollback = !pPackage->fPermanent ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | 186 | rollback = !pPackage->fPermanent ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; |
177 | break; | 187 | break; |