diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-01-16 16:35:36 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-01-16 22:59:50 -0600 |
commit | 5ed5a24fae06b35351235d708b6ab410d8310d33 (patch) | |
tree | 1b3e15d3d1fdb5b81c2bb8095f64c8f40a44c464 /src/burn/engine/exeengine.cpp | |
parent | eee408f4f52823038ca6da83693efd135c8511c8 (diff) | |
download | wix-5ed5a24fae06b35351235d708b6ab410d8310d33.tar.gz wix-5ed5a24fae06b35351235d708b6ab410d8310d33.tar.bz2 wix-5ed5a24fae06b35351235d708b6ab410d8310d33.zip |
Add BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT.
Make BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT uninstall even if detected absent.
Remove fPseudoBundle.
Diffstat (limited to 'src/burn/engine/exeengine.cpp')
-rw-r--r-- | src/burn/engine/exeengine.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/burn/engine/exeengine.cpp b/src/burn/engine/exeengine.cpp index cf10448f..b13650e5 100644 --- a/src/burn/engine/exeengine.cpp +++ b/src/burn/engine/exeengine.cpp | |||
@@ -165,7 +165,7 @@ extern "C" HRESULT ExeEnginePlanCalculatePackage( | |||
165 | switch (pPackage->requested) | 165 | switch (pPackage->requested) |
166 | { | 166 | { |
167 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: | 167 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: |
168 | execute = pPackage->Exe.fPseudoBundle ? BOOTSTRAPPER_ACTION_STATE_INSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | 168 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; |
169 | break; | 169 | break; |
170 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: | 170 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: |
171 | execute = pPackage->Exe.fRepairable ? BOOTSTRAPPER_ACTION_STATE_REPAIR : BOOTSTRAPPER_ACTION_STATE_NONE; | 171 | execute = pPackage->Exe.fRepairable ? BOOTSTRAPPER_ACTION_STATE_REPAIR : BOOTSTRAPPER_ACTION_STATE_NONE; |
@@ -177,6 +177,9 @@ extern "C" HRESULT ExeEnginePlanCalculatePackage( | |||
177 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: | 177 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: |
178 | execute = pPackage->Exe.fUninstallable ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | 178 | execute = pPackage->Exe.fUninstallable ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; |
179 | break; | 179 | break; |
180 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: | ||
181 | execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; | ||
182 | break; | ||
180 | default: | 183 | default: |
181 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; | 184 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; |
182 | break; | 185 | break; |
@@ -187,9 +190,13 @@ extern "C" HRESULT ExeEnginePlanCalculatePackage( | |||
187 | switch (pPackage->requested) | 190 | switch (pPackage->requested) |
188 | { | 191 | { |
189 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; | 192 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; |
193 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; | ||
190 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: | 194 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: |
191 | execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; | 195 | execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; |
192 | break; | 196 | break; |
197 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: | ||
198 | execute = pPackage->Exe.fUninstallable ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | ||
199 | break; | ||
193 | default: | 200 | default: |
194 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; | 201 | execute = BOOTSTRAPPER_ACTION_STATE_NONE; |
195 | break; | 202 | break; |
@@ -210,6 +217,7 @@ extern "C" HRESULT ExeEnginePlanCalculatePackage( | |||
210 | switch (pPackage->requested) | 217 | switch (pPackage->requested) |
211 | { | 218 | { |
212 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; | 219 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; |
220 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; | ||
213 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: | 221 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: |
214 | rollback = BOOTSTRAPPER_ACTION_STATE_NONE; | 222 | rollback = BOOTSTRAPPER_ACTION_STATE_NONE; |
215 | break; | 223 | break; |
@@ -227,6 +235,7 @@ extern "C" HRESULT ExeEnginePlanCalculatePackage( | |||
227 | switch (pPackage->requested) | 235 | switch (pPackage->requested) |
228 | { | 236 | { |
229 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; | 237 | case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; |
238 | case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; | ||
230 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: | 239 | case BOOTSTRAPPER_REQUEST_STATE_REPAIR: |
231 | rollback = !pPackage->fPermanent ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; | 240 | rollback = !pPackage->fPermanent ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; |
232 | break; | 241 | break; |