diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-01-14 21:37:24 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-01-16 10:30:28 -0600 |
| commit | da1d1376953ef1c9afb32d5eee02b785e52e372e (patch) | |
| tree | 0df8550960259d7b13f5cd90f04d21b5576f16b7 /src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | |
| parent | abe316b80fae80eba54b0b79e76b6362105fa098 (diff) | |
| download | wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.tar.gz wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.tar.bz2 wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.zip | |
Remove orphan compatible MSI packages.
Reimplements #3190
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs')
| -rw-r--r-- | src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index 34b63a50..f277425e 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | |||
| @@ -63,6 +63,9 @@ namespace WixToolset.Mba.Core | |||
| 63 | 63 | ||
| 64 | /// <inheritdoc/> | 64 | /// <inheritdoc/> |
| 65 | public event EventHandler<DetectPackageBeginEventArgs> DetectPackageBegin; | 65 | public event EventHandler<DetectPackageBeginEventArgs> DetectPackageBegin; |
| 66 | |||
| 67 | /// <inheritdoc/> | ||
| 68 | public event EventHandler<DetectCompatibleMsiPackageEventArgs> DetectCompatibleMsiPackage; | ||
| 66 | 69 | ||
| 67 | /// <inheritdoc/> | 70 | /// <inheritdoc/> |
| 68 | public event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage; | 71 | public event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage; |
| @@ -92,6 +95,12 @@ namespace WixToolset.Mba.Core | |||
| 92 | public event EventHandler<PlanPackageBeginEventArgs> PlanPackageBegin; | 95 | public event EventHandler<PlanPackageBeginEventArgs> PlanPackageBegin; |
| 93 | 96 | ||
| 94 | /// <inheritdoc/> | 97 | /// <inheritdoc/> |
| 98 | public event EventHandler<PlanCompatibleMsiPackageBeginEventArgs> PlanCompatibleMsiPackageBegin; | ||
| 99 | |||
| 100 | /// <inheritdoc/> | ||
| 101 | public event EventHandler<PlanCompatibleMsiPackageCompleteEventArgs> PlanCompatibleMsiPackageComplete; | ||
| 102 | |||
| 103 | /// <inheritdoc/> | ||
| 95 | public event EventHandler<PlanPatchTargetEventArgs> PlanPatchTarget; | 104 | public event EventHandler<PlanPatchTargetEventArgs> PlanPatchTarget; |
| 96 | 105 | ||
| 97 | /// <inheritdoc/> | 106 | /// <inheritdoc/> |
| @@ -104,6 +113,9 @@ namespace WixToolset.Mba.Core | |||
| 104 | public event EventHandler<PlanPackageCompleteEventArgs> PlanPackageComplete; | 113 | public event EventHandler<PlanPackageCompleteEventArgs> PlanPackageComplete; |
| 105 | 114 | ||
| 106 | /// <inheritdoc/> | 115 | /// <inheritdoc/> |
| 116 | public event EventHandler<PlannedCompatiblePackageEventArgs> PlannedCompatiblePackage; | ||
| 117 | |||
| 118 | /// <inheritdoc/> | ||
| 107 | public event EventHandler<PlannedPackageEventArgs> PlannedPackage; | 119 | public event EventHandler<PlannedPackageEventArgs> PlannedPackage; |
| 108 | 120 | ||
| 109 | /// <inheritdoc/> | 121 | /// <inheritdoc/> |
| @@ -415,6 +427,19 @@ namespace WixToolset.Mba.Core | |||
| 415 | } | 427 | } |
| 416 | 428 | ||
| 417 | /// <summary> | 429 | /// <summary> |
| 430 | /// Called by the engine, raises the <see cref="DetectCompatibleMsiPackage"/> event. | ||
| 431 | /// </summary> | ||
| 432 | /// <param name="args">Additional arguments for this event.</param> | ||
| 433 | protected virtual void OnDetectCompatibleMsiPackage(DetectCompatibleMsiPackageEventArgs args) | ||
| 434 | { | ||
| 435 | EventHandler<DetectCompatibleMsiPackageEventArgs> handler = this.DetectCompatibleMsiPackage; | ||
| 436 | if (null != handler) | ||
| 437 | { | ||
| 438 | handler(this, args); | ||
| 439 | } | ||
| 440 | } | ||
| 441 | |||
| 442 | /// <summary> | ||
| 418 | /// Called by the engine, raises the <see cref="DetectRelatedMsiPackage"/> event. | 443 | /// Called by the engine, raises the <see cref="DetectRelatedMsiPackage"/> event. |
| 419 | /// </summary> | 444 | /// </summary> |
| 420 | /// <param name="args">Additional arguments for this event.</param> | 445 | /// <param name="args">Additional arguments for this event.</param> |
| @@ -531,6 +556,32 @@ namespace WixToolset.Mba.Core | |||
| 531 | } | 556 | } |
| 532 | 557 | ||
| 533 | /// <summary> | 558 | /// <summary> |
| 559 | /// Called by the engine, raises the <see cref="PlanCompatibleMsiPackageBegin"/> event. | ||
| 560 | /// </summary> | ||
| 561 | /// <param name="args">Additional arguments for this event.</param> | ||
| 562 | protected virtual void OnPlanCompatibleMsiPackageBegin(PlanCompatibleMsiPackageBeginEventArgs args) | ||
| 563 | { | ||
| 564 | EventHandler<PlanCompatibleMsiPackageBeginEventArgs> handler = this.PlanCompatibleMsiPackageBegin; | ||
| 565 | if (null != handler) | ||
| 566 | { | ||
| 567 | handler(this, args); | ||
| 568 | } | ||
| 569 | } | ||
| 570 | |||
| 571 | /// <summary> | ||
| 572 | /// Called by the engine, raises the <see cref="PlanCompatibleMsiPackageComplete"/> event. | ||
| 573 | /// </summary> | ||
| 574 | /// <param name="args">Additional arguments for this event.</param> | ||
| 575 | protected virtual void OnPlanCompatibleMsiPackageComplete(PlanCompatibleMsiPackageCompleteEventArgs args) | ||
| 576 | { | ||
| 577 | EventHandler<PlanCompatibleMsiPackageCompleteEventArgs> handler = this.PlanCompatibleMsiPackageComplete; | ||
| 578 | if (null != handler) | ||
| 579 | { | ||
| 580 | handler(this, args); | ||
| 581 | } | ||
| 582 | } | ||
| 583 | |||
| 584 | /// <summary> | ||
| 534 | /// Called by the engine, raises the <see cref="PlanPatchTarget"/> event. | 585 | /// Called by the engine, raises the <see cref="PlanPatchTarget"/> event. |
| 535 | /// </summary> | 586 | /// </summary> |
| 536 | /// <param name="args">Additional arguments for this event.</param> | 587 | /// <param name="args">Additional arguments for this event.</param> |
| @@ -583,6 +634,19 @@ namespace WixToolset.Mba.Core | |||
| 583 | } | 634 | } |
| 584 | 635 | ||
| 585 | /// <summary> | 636 | /// <summary> |
| 637 | /// Called by the engine, raises the <see cref="PlannedCompatiblePackage"/> event. | ||
| 638 | /// </summary> | ||
| 639 | /// <param name="args">Additional arguments for this event.</param> | ||
| 640 | protected virtual void OnPlannedCompatiblePackage(PlannedCompatiblePackageEventArgs args) | ||
| 641 | { | ||
| 642 | EventHandler<PlannedCompatiblePackageEventArgs> handler = this.PlannedCompatiblePackage; | ||
| 643 | if (null != handler) | ||
| 644 | { | ||
| 645 | handler(this, args); | ||
| 646 | } | ||
| 647 | } | ||
| 648 | |||
| 649 | /// <summary> | ||
| 586 | /// Called by the engine, raises the <see cref="PlannedPackage"/> event. | 650 | /// Called by the engine, raises the <see cref="PlannedPackage"/> event. |
| 587 | /// </summary> | 651 | /// </summary> |
| 588 | /// <param name="args">Additional arguments for this event.</param> | 652 | /// <param name="args">Additional arguments for this event.</param> |
| @@ -1363,6 +1427,15 @@ namespace WixToolset.Mba.Core | |||
| 1363 | return args.HResult; | 1427 | return args.HResult; |
| 1364 | } | 1428 | } |
| 1365 | 1429 | ||
| 1430 | int IBootstrapperApplication.OnDetectCompatibleMsiPackage(string wzPackageId, string wzCompatiblePackageId, string wzCompatiblePackageVersion, ref bool fCancel) | ||
| 1431 | { | ||
| 1432 | DetectCompatibleMsiPackageEventArgs args = new DetectCompatibleMsiPackageEventArgs(wzPackageId, wzCompatiblePackageId, wzCompatiblePackageVersion, fCancel); | ||
| 1433 | this.OnDetectCompatibleMsiPackage(args); | ||
| 1434 | |||
| 1435 | fCancel = args.Cancel; | ||
| 1436 | return args.HResult; | ||
| 1437 | } | ||
| 1438 | |||
| 1366 | int IBootstrapperApplication.OnDetectRelatedMsiPackage(string wzPackageId, string wzUpgradeCode, string wzProductCode, bool fPerMachine, string wzVersion, RelatedOperation operation, ref bool fCancel) | 1439 | int IBootstrapperApplication.OnDetectRelatedMsiPackage(string wzPackageId, string wzUpgradeCode, string wzProductCode, bool fPerMachine, string wzVersion, RelatedOperation operation, ref bool fCancel) |
| 1367 | { | 1440 | { |
| 1368 | DetectRelatedMsiPackageEventArgs args = new DetectRelatedMsiPackageEventArgs(wzPackageId, wzUpgradeCode, wzProductCode, fPerMachine, wzVersion, operation, fCancel); | 1441 | DetectRelatedMsiPackageEventArgs args = new DetectRelatedMsiPackageEventArgs(wzPackageId, wzUpgradeCode, wzProductCode, fPerMachine, wzVersion, operation, fCancel); |
| @@ -1445,6 +1518,24 @@ namespace WixToolset.Mba.Core | |||
| 1445 | return args.HResult; | 1518 | return args.HResult; |
| 1446 | } | 1519 | } |
| 1447 | 1520 | ||
| 1521 | int IBootstrapperApplication.OnPlanCompatibleMsiPackageBegin(string wzPackageId, string wzCompatiblePackageId, string wzCompatiblePackageVersion, bool recommendedRemove, ref bool pRequestedRemove, ref bool fCancel) | ||
| 1522 | { | ||
| 1523 | PlanCompatibleMsiPackageBeginEventArgs args = new PlanCompatibleMsiPackageBeginEventArgs(wzPackageId, wzCompatiblePackageId, wzCompatiblePackageVersion, recommendedRemove, pRequestedRemove, fCancel); | ||
| 1524 | this.OnPlanCompatibleMsiPackageBegin(args); | ||
| 1525 | |||
| 1526 | pRequestedRemove = args.RequestRemove; | ||
| 1527 | fCancel = args.Cancel; | ||
| 1528 | return args.HResult; | ||
| 1529 | } | ||
| 1530 | |||
| 1531 | int IBootstrapperApplication.OnPlanCompatibleMsiPackageComplete(string wzPackageId, string wzCompatiblePackageId, int hrStatus, bool requestedRemove) | ||
| 1532 | { | ||
| 1533 | PlanCompatibleMsiPackageCompleteEventArgs args = new PlanCompatibleMsiPackageCompleteEventArgs(wzPackageId, wzCompatiblePackageId, hrStatus, requestedRemove); | ||
| 1534 | this.OnPlanCompatibleMsiPackageComplete(args); | ||
| 1535 | |||
| 1536 | return args.HResult; | ||
| 1537 | } | ||
| 1538 | |||
| 1448 | int IBootstrapperApplication.OnPlanPatchTarget(string wzPackageId, string wzProductCode, RequestState recommendedState, ref RequestState pRequestedState, ref bool fCancel) | 1539 | int IBootstrapperApplication.OnPlanPatchTarget(string wzPackageId, string wzProductCode, RequestState recommendedState, ref RequestState pRequestedState, ref bool fCancel) |
| 1449 | { | 1540 | { |
| 1450 | PlanPatchTargetEventArgs args = new PlanPatchTargetEventArgs(wzPackageId, wzProductCode, recommendedState, pRequestedState, fCancel); | 1541 | PlanPatchTargetEventArgs args = new PlanPatchTargetEventArgs(wzPackageId, wzProductCode, recommendedState, pRequestedState, fCancel); |
| @@ -1486,6 +1577,14 @@ namespace WixToolset.Mba.Core | |||
| 1486 | return args.HResult; | 1577 | return args.HResult; |
| 1487 | } | 1578 | } |
| 1488 | 1579 | ||
| 1580 | int IBootstrapperApplication.OnPlannedCompatiblePackage(string wzPackageId, string wzCompatiblePackageId, bool remove) | ||
| 1581 | { | ||
| 1582 | var args = new PlannedCompatiblePackageEventArgs(wzPackageId, wzCompatiblePackageId, remove); | ||
| 1583 | this.OnPlannedCompatiblePackage(args); | ||
| 1584 | |||
| 1585 | return args.HResult; | ||
| 1586 | } | ||
| 1587 | |||
| 1489 | int IBootstrapperApplication.OnPlannedPackage(string wzPackageId, ActionState execute, ActionState rollback, bool fPlannedCache, bool fPlannedUncache) | 1588 | int IBootstrapperApplication.OnPlannedPackage(string wzPackageId, ActionState execute, ActionState rollback, bool fPlannedCache, bool fPlannedUncache) |
| 1490 | { | 1589 | { |
| 1491 | var args = new PlannedPackageEventArgs(wzPackageId, execute, rollback, fPlannedCache, fPlannedUncache); | 1590 | var args = new PlannedPackageEventArgs(wzPackageId, execute, rollback, fPlannedCache, fPlannedUncache); |
