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; |
