diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-04-22 16:55:29 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-04-23 15:40:21 -0500 |
commit | 72e20f682c0d64102e86439ba5527dd0d71932ae (patch) | |
tree | c62618b0f6b99d3bffa3c6cd01251a29b84fcc05 /src/api/burn/WixToolset.Mba.Core | |
parent | b82c6a2b7d451212fb0b2e32ca4d5d86c953d81a (diff) | |
download | wix-72e20f682c0d64102e86439ba5527dd0d71932ae.tar.gz wix-72e20f682c0d64102e86439ba5527dd0d71932ae.tar.bz2 wix-72e20f682c0d64102e86439ba5527dd0d71932ae.zip |
Add RepairCondition.
Fixes 6758
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core')
5 files changed, 21 insertions, 4 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index 41738bf6..6738a4a6 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | |||
@@ -1598,9 +1598,9 @@ namespace WixToolset.Mba.Core | |||
1598 | return args.HResult; | 1598 | return args.HResult; |
1599 | } | 1599 | } |
1600 | 1600 | ||
1601 | int IBootstrapperApplication.OnPlanPackageBegin(string wzPackageId, PackageState state, bool fCached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, ref RequestState pRequestedState, ref BOOTSTRAPPER_CACHE_TYPE pRequestedCacheType, ref bool fCancel) | 1601 | int IBootstrapperApplication.OnPlanPackageBegin(string wzPackageId, PackageState state, bool fCached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, ref RequestState pRequestedState, ref BOOTSTRAPPER_CACHE_TYPE pRequestedCacheType, ref bool fCancel) |
1602 | { | 1602 | { |
1603 | PlanPackageBeginEventArgs args = new PlanPackageBeginEventArgs(wzPackageId, state, fCached, installCondition, recommendedState, recommendedCacheType, pRequestedState, pRequestedCacheType, fCancel); | 1603 | PlanPackageBeginEventArgs args = new PlanPackageBeginEventArgs(wzPackageId, state, fCached, installCondition, repairCondition, recommendedState, recommendedCacheType, pRequestedState, pRequestedCacheType, fCancel); |
1604 | this.OnPlanPackageBegin(args); | 1604 | this.OnPlanPackageBegin(args); |
1605 | 1605 | ||
1606 | pRequestedState = args.State; | 1606 | pRequestedState = args.State; |
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs index 07b14b3d..d79ac402 100644 --- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs +++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs | |||
@@ -783,13 +783,14 @@ namespace WixToolset.Mba.Core | |||
783 | public class PlanPackageBeginEventArgs : CancellableHResultEventArgs | 783 | public class PlanPackageBeginEventArgs : CancellableHResultEventArgs |
784 | { | 784 | { |
785 | /// <summary /> | 785 | /// <summary /> |
786 | public PlanPackageBeginEventArgs(string packageId, PackageState currentState, bool cached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, RequestState state, BOOTSTRAPPER_CACHE_TYPE cacheType, bool cancelRecommendation) | 786 | public PlanPackageBeginEventArgs(string packageId, PackageState currentState, bool cached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, RequestState state, BOOTSTRAPPER_CACHE_TYPE cacheType, bool cancelRecommendation) |
787 | : base(cancelRecommendation) | 787 | : base(cancelRecommendation) |
788 | { | 788 | { |
789 | this.PackageId = packageId; | 789 | this.PackageId = packageId; |
790 | this.CurrentState = currentState; | 790 | this.CurrentState = currentState; |
791 | this.Cached = cached; | 791 | this.Cached = cached; |
792 | this.InstallCondition = installCondition; | 792 | this.InstallCondition = installCondition; |
793 | this.RepairCondition = repairCondition; | ||
793 | this.RecommendedState = recommendedState; | 794 | this.RecommendedState = recommendedState; |
794 | this.RecommendedCacheType = recommendedCacheType; | 795 | this.RecommendedCacheType = recommendedCacheType; |
795 | this.State = state; | 796 | this.State = state; |
@@ -817,6 +818,11 @@ namespace WixToolset.Mba.Core | |||
817 | public BOOTSTRAPPER_PACKAGE_CONDITION_RESULT InstallCondition { get; private set; } | 818 | public BOOTSTRAPPER_PACKAGE_CONDITION_RESULT InstallCondition { get; private set; } |
818 | 819 | ||
819 | /// <summary> | 820 | /// <summary> |
821 | /// Gets the evaluated result of the package's repair condition. | ||
822 | /// </summary> | ||
823 | public BOOTSTRAPPER_PACKAGE_CONDITION_RESULT RepairCondition { get; private set; } | ||
824 | |||
825 | /// <summary> | ||
820 | /// Gets the recommended requested state for the package. | 826 | /// Gets the recommended requested state for the package. |
821 | /// </summary> | 827 | /// </summary> |
822 | public RequestState RecommendedState { get; private set; } | 828 | public RequestState RecommendedState { get; private set; } |
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs index ae642474..2877d4de 100644 --- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs | |||
@@ -314,6 +314,7 @@ namespace WixToolset.Mba.Core | |||
314 | [MarshalAs(UnmanagedType.U4)] PackageState state, | 314 | [MarshalAs(UnmanagedType.U4)] PackageState state, |
315 | [MarshalAs(UnmanagedType.Bool)] bool fCached, | 315 | [MarshalAs(UnmanagedType.Bool)] bool fCached, |
316 | [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, | 316 | [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, |
317 | [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, | ||
317 | [MarshalAs(UnmanagedType.U4)] RequestState recommendedState, | 318 | [MarshalAs(UnmanagedType.U4)] RequestState recommendedState, |
318 | [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, | 319 | [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, |
319 | [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState, | 320 | [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState, |
diff --git a/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs b/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs index a1d99b10..ee3be820 100644 --- a/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs +++ b/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs | |||
@@ -45,6 +45,11 @@ namespace WixToolset.Mba.Core | |||
45 | /// <summary> | 45 | /// <summary> |
46 | /// | 46 | /// |
47 | /// </summary> | 47 | /// </summary> |
48 | string RepairCondition { get; } | ||
49 | |||
50 | /// <summary> | ||
51 | /// | ||
52 | /// </summary> | ||
48 | bool Permanent { get; } | 53 | bool Permanent { get; } |
49 | 54 | ||
50 | /// <summary> | 55 | /// <summary> |
@@ -87,4 +92,4 @@ namespace WixToolset.Mba.Core | |||
87 | /// </summary> | 92 | /// </summary> |
88 | bool Vital { get; } | 93 | bool Vital { get; } |
89 | } | 94 | } |
90 | } \ No newline at end of file | 95 | } |
diff --git a/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs b/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs index 39fe4d73..e400cbe4 100644 --- a/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs +++ b/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs | |||
@@ -102,6 +102,9 @@ namespace WixToolset.Mba.Core | |||
102 | public string InstallCondition { get; internal set; } | 102 | public string InstallCondition { get; internal set; } |
103 | 103 | ||
104 | /// <inheritdoc/> | 104 | /// <inheritdoc/> |
105 | public string RepairCondition { get; internal set; } | ||
106 | |||
107 | /// <inheritdoc/> | ||
105 | public BOOTSTRAPPER_CACHE_TYPE CacheType { get; internal set; } | 108 | public BOOTSTRAPPER_CACHE_TYPE CacheType { get; internal set; } |
106 | 109 | ||
107 | /// <inheritdoc/> | 110 | /// <inheritdoc/> |
@@ -174,6 +177,8 @@ namespace WixToolset.Mba.Core | |||
174 | 177 | ||
175 | package.InstallCondition = BootstrapperApplicationData.GetAttribute(node, "InstallCondition"); | 178 | package.InstallCondition = BootstrapperApplicationData.GetAttribute(node, "InstallCondition"); |
176 | 179 | ||
180 | package.RepairCondition = BootstrapperApplicationData.GetAttribute(node, "RepairCondition"); | ||
181 | |||
177 | packagesById.Add(package.Id, package); | 182 | packagesById.Add(package.Id, package); |
178 | } | 183 | } |
179 | 184 | ||