aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-02-04 21:19:55 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-02-04 22:35:09 -0600
commite619546617d6266645561428fbbe7a05d257eeba (patch)
tree0f6b9f06436f8ae9340694dbda244db998361664
parentae1f24b7bbb9c47fb773ecbd7b12632782bd1618 (diff)
downloadwix-e619546617d6266645561428fbbe7a05d257eeba.tar.gz
wix-e619546617d6266645561428fbbe7a05d257eeba.tar.bz2
wix-e619546617d6266645561428fbbe7a05d257eeba.zip
Update to latest Burn headers.
-rw-r--r--src/WixToolset.Mba.Core/BootstrapperApplication.cs79
-rw-r--r--src/WixToolset.Mba.Core/EventArgs.cs155
-rw-r--r--src/WixToolset.Mba.Core/IBootstrapperApplication.cs70
-rw-r--r--src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs15
-rw-r--r--src/balutil/balutil.vcxproj4
-rw-r--r--src/balutil/inc/BAFunctions.h3
-rw-r--r--src/balutil/inc/BalBaseBAFunctions.h38
-rw-r--r--src/balutil/inc/BalBaseBAFunctionsProc.h3
-rw-r--r--src/balutil/inc/BalBaseBootstrapperApplication.h40
-rw-r--r--src/balutil/inc/BalBaseBootstrapperApplicationProc.h38
-rw-r--r--src/balutil/inc/IBootstrapperApplication.h33
-rw-r--r--src/balutil/packages.config2
-rw-r--r--src/bextutil/bextutil.vcxproj4
-rw-r--r--src/bextutil/packages.config2
-rw-r--r--src/mbanative/mbanative.vcxproj4
-rw-r--r--src/mbanative/packages.config2
-rw-r--r--src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj4
-rw-r--r--src/test/BalUtilUnitTest/packages.config2
-rw-r--r--src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj4
-rw-r--r--src/test/BextUtilUnitTest/packages.config2
20 files changed, 40 insertions, 464 deletions
diff --git a/src/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/WixToolset.Mba.Core/BootstrapperApplication.cs
index 759e76b1..9f4f6330 100644
--- a/src/WixToolset.Mba.Core/BootstrapperApplication.cs
+++ b/src/WixToolset.Mba.Core/BootstrapperApplication.cs
@@ -63,9 +63,6 @@ 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;
69 66
70 /// <inheritdoc/> 67 /// <inheritdoc/>
71 public event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage; 68 public event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage;
@@ -92,12 +89,6 @@ namespace WixToolset.Mba.Core
92 public event EventHandler<PlanPackageBeginEventArgs> PlanPackageBegin; 89 public event EventHandler<PlanPackageBeginEventArgs> PlanPackageBegin;
93 90
94 /// <inheritdoc/> 91 /// <inheritdoc/>
95 public event EventHandler<PlanCompatibleMsiPackageBeginEventArgs> PlanCompatibleMsiPackageBegin;
96
97 /// <inheritdoc/>
98 public event EventHandler<PlanCompatibleMsiPackageCompleteEventArgs> PlanCompatibleMsiPackageComplete;
99
100 /// <inheritdoc/>
101 public event EventHandler<PlanTargetMsiPackageEventArgs> PlanTargetMsiPackage; 92 public event EventHandler<PlanTargetMsiPackageEventArgs> PlanTargetMsiPackage;
102 93
103 /// <inheritdoc/> 94 /// <inheritdoc/>
@@ -388,19 +379,6 @@ namespace WixToolset.Mba.Core
388 } 379 }
389 380
390 /// <summary> 381 /// <summary>
391 /// Called by the engine, raises the <see cref="DetectCompatibleMsiPackage"/> event.
392 /// </summary>
393 /// <param name="args">Additional arguments for this event.</param>
394 protected virtual void OnDetectCompatibleMsiPackage(DetectCompatibleMsiPackageEventArgs args)
395 {
396 EventHandler<DetectCompatibleMsiPackageEventArgs> handler = this.DetectCompatibleMsiPackage;
397 if (null != handler)
398 {
399 handler(this, args);
400 }
401 }
402
403 /// <summary>
404 /// Called by the engine, raises the <see cref="DetectRelatedMsiPackage"/> event. 382 /// Called by the engine, raises the <see cref="DetectRelatedMsiPackage"/> event.
405 /// </summary> 383 /// </summary>
406 /// <param name="args">Additional arguments for this event.</param> 384 /// <param name="args">Additional arguments for this event.</param>
@@ -505,32 +483,6 @@ namespace WixToolset.Mba.Core
505 } 483 }
506 484
507 /// <summary> 485 /// <summary>
508 /// Called by the engine, raises the <see cref="PlanCompatibleMsiPackageBegin"/> event.
509 /// </summary>
510 /// <param name="args">Additional arguments for this event.</param>
511 protected virtual void OnPlanCompatibleMsiPackageBegin(PlanCompatibleMsiPackageBeginEventArgs args)
512 {
513 EventHandler<PlanCompatibleMsiPackageBeginEventArgs> handler = this.PlanCompatibleMsiPackageBegin;
514 if (null != handler)
515 {
516 handler(this, args);
517 }
518 }
519
520 /// <summary>
521 /// Called by the engine, raises the <see cref="PlanCompatibleMsiPackageComplete"/> event.
522 /// </summary>
523 /// <param name="args">Additional arguments for this event.</param>
524 protected virtual void OnPlanCompatibleMsiPackageComplete(PlanCompatibleMsiPackageCompleteEventArgs args)
525 {
526 EventHandler<PlanCompatibleMsiPackageCompleteEventArgs> handler = this.PlanCompatibleMsiPackageComplete;
527 if (null != handler)
528 {
529 handler(this, args);
530 }
531 }
532
533 /// <summary>
534 /// Called by the engine, raises the <see cref="PlanTargetMsiPackage"/> event. 486 /// Called by the engine, raises the <see cref="PlanTargetMsiPackage"/> event.
535 /// </summary> 487 /// </summary>
536 /// <param name="args">Additional arguments for this event.</param> 488 /// <param name="args">Additional arguments for this event.</param>
@@ -1209,15 +1161,6 @@ namespace WixToolset.Mba.Core
1209 return args.HResult; 1161 return args.HResult;
1210 } 1162 }
1211 1163
1212 int IBootstrapperApplication.OnDetectCompatibleMsiPackage(string wzPackageId, string wzCompatiblePackageId, string wzCompatiblePackageVersion, ref bool fCancel)
1213 {
1214 DetectCompatibleMsiPackageEventArgs args = new DetectCompatibleMsiPackageEventArgs(wzPackageId, wzCompatiblePackageId, wzCompatiblePackageVersion, fCancel);
1215 this.OnDetectCompatibleMsiPackage(args);
1216
1217 fCancel = args.Cancel;
1218 return args.HResult;
1219 }
1220
1221 int IBootstrapperApplication.OnDetectRelatedMsiPackage(string wzPackageId, string wzUpgradeCode, string wzProductCode, bool fPerMachine, string wzVersion, RelatedOperation operation, ref bool fCancel) 1164 int IBootstrapperApplication.OnDetectRelatedMsiPackage(string wzPackageId, string wzUpgradeCode, string wzProductCode, bool fPerMachine, string wzVersion, RelatedOperation operation, ref bool fCancel)
1222 { 1165 {
1223 DetectRelatedMsiPackageEventArgs args = new DetectRelatedMsiPackageEventArgs(wzPackageId, wzUpgradeCode, wzProductCode, fPerMachine, wzVersion, operation, fCancel); 1166 DetectRelatedMsiPackageEventArgs args = new DetectRelatedMsiPackageEventArgs(wzPackageId, wzUpgradeCode, wzProductCode, fPerMachine, wzVersion, operation, fCancel);
@@ -1253,9 +1196,9 @@ namespace WixToolset.Mba.Core
1253 return args.HResult; 1196 return args.HResult;
1254 } 1197 }
1255 1198
1256 int IBootstrapperApplication.OnDetectComplete(int hrStatus) 1199 int IBootstrapperApplication.OnDetectComplete(int hrStatus, bool fEligibleForCleanup)
1257 { 1200 {
1258 DetectCompleteEventArgs args = new DetectCompleteEventArgs(hrStatus); 1201 DetectCompleteEventArgs args = new DetectCompleteEventArgs(hrStatus, fEligibleForCleanup);
1259 this.OnDetectComplete(args); 1202 this.OnDetectComplete(args);
1260 1203
1261 return args.HResult; 1204 return args.HResult;
@@ -1290,24 +1233,6 @@ namespace WixToolset.Mba.Core
1290 return args.HResult; 1233 return args.HResult;
1291 } 1234 }
1292 1235
1293 int IBootstrapperApplication.OnPlanCompatibleMsiPackageBegin(string wzPackageId, string wzCompatiblePackageId, string wzCompatiblePackageVersion, RequestState recommendedState, ref RequestState pRequestedState, ref bool fCancel)
1294 {
1295 PlanCompatibleMsiPackageBeginEventArgs args = new PlanCompatibleMsiPackageBeginEventArgs(wzPackageId, wzCompatiblePackageId, wzCompatiblePackageVersion, recommendedState, pRequestedState, fCancel);
1296 this.OnPlanCompatibleMsiPackageBegin(args);
1297
1298 pRequestedState = args.State;
1299 fCancel = args.Cancel;
1300 return args.HResult;
1301 }
1302
1303 int IBootstrapperApplication.OnPlanCompatibleMsiPackageComplete(string wzPackageId, string wzCompatiblePackageId, int hrStatus, PackageState state, RequestState requested, ActionState execute, ActionState rollback)
1304 {
1305 PlanCompatibleMsiPackageCompleteEventArgs args = new PlanCompatibleMsiPackageCompleteEventArgs(wzPackageId, wzCompatiblePackageId, hrStatus, state, requested, execute, rollback);
1306 this.OnPlanCompatibleMsiPackageComplete(args);
1307
1308 return args.HResult;
1309 }
1310
1311 int IBootstrapperApplication.OnPlanTargetMsiPackage(string wzPackageId, string wzProductCode, RequestState recommendedState, ref RequestState pRequestedState, ref bool fCancel) 1236 int IBootstrapperApplication.OnPlanTargetMsiPackage(string wzPackageId, string wzProductCode, RequestState recommendedState, ref RequestState pRequestedState, ref bool fCancel)
1312 { 1237 {
1313 PlanTargetMsiPackageEventArgs args = new PlanTargetMsiPackageEventArgs(wzPackageId, wzProductCode, recommendedState, pRequestedState, fCancel); 1238 PlanTargetMsiPackageEventArgs args = new PlanTargetMsiPackageEventArgs(wzPackageId, wzProductCode, recommendedState, pRequestedState, fCancel);
diff --git a/src/WixToolset.Mba.Core/EventArgs.cs b/src/WixToolset.Mba.Core/EventArgs.cs
index 4e59fd6f..2f21b50e 100644
--- a/src/WixToolset.Mba.Core/EventArgs.cs
+++ b/src/WixToolset.Mba.Core/EventArgs.cs
@@ -489,43 +489,6 @@ namespace WixToolset.Mba.Core
489 } 489 }
490 490
491 /// <summary> 491 /// <summary>
492 /// Additional arguments used when a package was not found but a newer package using the same provider key was.
493 /// </summary>
494 [Serializable]
495 public class DetectCompatibleMsiPackageEventArgs : CancellableHResultEventArgs
496 {
497 /// <summary>
498 /// Creates a new instance of the <see cref="DetectCompatibleMsiPackageEventArgs"/> class.
499 /// </summary>
500 /// <param name="packageId">The identity of the package that was not detected.</param>
501 /// <param name="compatiblePackageId">The identity of the compatible package that was detected.</param>
502 /// <param name="compatiblePackageVersion">The version of the compatible package that was detected.</param>
503 /// <param name="cancelRecommendation">The recommendation from the engine.</param>
504 public DetectCompatibleMsiPackageEventArgs(string packageId, string compatiblePackageId, string compatiblePackageVersion, bool cancelRecommendation)
505 : base(cancelRecommendation)
506 {
507 this.PackageId = packageId;
508 this.CompatiblePackageId = compatiblePackageId;
509 this.CompatiblePackageVersion = compatiblePackageVersion;
510 }
511
512 /// <summary>
513 /// Gets the identity of the package that was not detected.
514 /// </summary>
515 public string PackageId { get; private set; }
516
517 /// <summary>
518 /// Gets the identity of the compatible package that was detected.
519 /// </summary>
520 public string CompatiblePackageId { get; private set; }
521
522 /// <summary>
523 /// Gets the version of the compatible package that was detected.
524 /// </summary>
525 public string CompatiblePackageVersion { get; private set; }
526 }
527
528 /// <summary>
529 /// Additional arguments used when a related MSI package has been detected for a package. 492 /// Additional arguments used when a related MSI package has been detected for a package.
530 /// </summary> 493 /// </summary>
531 [Serializable] 494 [Serializable]
@@ -695,10 +658,17 @@ namespace WixToolset.Mba.Core
695 /// Creates a new instance of the <see cref="DetectCompleteEventArgs"/> class. 658 /// Creates a new instance of the <see cref="DetectCompleteEventArgs"/> class.
696 /// </summary> 659 /// </summary>
697 /// <param name="hrStatus">The return code of the operation.</param> 660 /// <param name="hrStatus">The return code of the operation.</param>
698 public DetectCompleteEventArgs(int hrStatus) 661 /// <param name="eligibleForCleanup"></param>
662 public DetectCompleteEventArgs(int hrStatus, bool eligibleForCleanup)
699 : base(hrStatus) 663 : base(hrStatus)
700 { 664 {
665 this.EligibleForCleanup = eligibleForCleanup;
701 } 666 }
667
668 /// <summary>
669 /// Indicates whether the engine will uninstall the bundle if shutdown without running Apply.
670 /// </summary>
671 public bool EligibleForCleanup { get; private set; }
702 } 672 }
703 673
704 /// <summary> 674 /// <summary>
@@ -799,115 +769,6 @@ namespace WixToolset.Mba.Core
799 } 769 }
800 770
801 /// <summary> 771 /// <summary>
802 /// Additional arguments used when the engine is about to plan a newer package using the same provider key.
803 /// </summary>
804 [Serializable]
805 public class PlanCompatibleMsiPackageBeginEventArgs : CancellableHResultEventArgs
806 {
807 /// <summary>
808 /// Creates a new instance of the <see cref="PlanCompatibleMsiPackageBeginEventArgs"/> class.
809 /// </summary>
810 /// <param name="packageId">The identity of the package that was not detected.</param>
811 /// <param name="compatiblePackageId">The identity of the compatible package that was detected.</param>
812 /// <param name="compatiblePackageVersion">The version of the compatible package that was detected.</param>
813 /// <param name="recommendedState">The recommended request state for the compatible package.</param>
814 /// <param name="state">The requested state for the compatible package.</param>
815 /// <param name="cancelRecommendation">The recommendation from the engine.</param>
816 public PlanCompatibleMsiPackageBeginEventArgs(string packageId, string compatiblePackageId, string compatiblePackageVersion, RequestState recommendedState, RequestState state, bool cancelRecommendation)
817 : base(cancelRecommendation)
818 {
819 this.PackageId = packageId;
820 this.CompatiblePackageId = compatiblePackageId;
821 this.CompatiblePackageVersion = compatiblePackageVersion;
822 this.RecommendedState = recommendedState;
823 this.State = state;
824 }
825
826 /// <summary>
827 /// Gets the identity of the package that was not detected.
828 /// </summary>
829 public string PackageId { get; private set; }
830
831 /// <summary>
832 /// Gets the identity of the compatible package detected.
833 /// </summary>
834 public string CompatiblePackageId { get; private set; }
835
836 /// <summary>
837 /// Gets the version of the compatible package detected.
838 /// </summary>
839 public string CompatiblePackageVersion { get; private set; }
840
841 /// <summary>
842 /// Gets the recommended state to use for the compatible package for planning.
843 /// </summary>
844 public RequestState RecommendedState { get; private set; }
845
846 /// <summary>
847 /// Gets or sets the state to use for the compatible package for planning.
848 /// </summary>
849 public RequestState State { get; set; }
850 }
851
852 /// <summary>
853 /// Additional arguments used when the engine has completed planning the installation of a specific package.
854 /// </summary>
855 [Serializable]
856 public class PlanCompatibleMsiPackageCompleteEventArgs : StatusEventArgs
857 {
858 /// <summary>
859 /// Creates a new instance of the <see cref="PlanCompatibleMsiPackageCompleteEventArgs"/> class.
860 /// </summary>
861 /// <param name="packageId">The identity of the package planned for.</param>
862 /// <param name="compatiblePackageId">The identity of the compatible package that was detected.</param>
863 /// <param name="hrStatus">The return code of the operation.</param>
864 /// <param name="state">The current state of the package.</param>
865 /// <param name="requested">The requested state for the package</param>
866 /// <param name="execute">The execution action to take.</param>
867 /// <param name="rollback">The rollback action to take.</param>
868 public PlanCompatibleMsiPackageCompleteEventArgs(string packageId, string compatiblePackageId, int hrStatus, PackageState state, RequestState requested, ActionState execute, ActionState rollback)
869 : base(hrStatus)
870 {
871 this.PackageId = packageId;
872 this.CompatiblePackageId = compatiblePackageId;
873 this.State = state;
874 this.Requested = requested;
875 this.Execute = execute;
876 this.Rollback = rollback;
877 }
878
879 /// <summary>
880 /// Gets the identity of the package planned for.
881 /// </summary>
882 public string PackageId { get; private set; }
883
884 /// <summary>
885 /// Gets the identity of the compatible package detected.
886 /// </summary>
887 public string CompatiblePackageId { get; private set; }
888
889 /// <summary>
890 /// Gets the current state of the package.
891 /// </summary>
892 public PackageState State { get; private set; }
893
894 /// <summary>
895 /// Gets the requested state for the package.
896 /// </summary>
897 public RequestState Requested { get; private set; }
898
899 /// <summary>
900 /// Gets the execution action to take.
901 /// </summary>
902 public ActionState Execute { get; private set; }
903
904 /// <summary>
905 /// Gets the rollback action to take.
906 /// </summary>
907 public ActionState Rollback { get; private set; }
908 }
909
910 /// <summary>
911 /// Additional arguments used when engine is about to plan a MSP applied to a target MSI package. 772 /// Additional arguments used when engine is about to plan a MSP applied to a target MSI package.
912 /// </summary> 773 /// </summary>
913 [Serializable] 774 [Serializable]
diff --git a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs
index 3c62370a..c1a32ed4 100644
--- a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs
+++ b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs
@@ -171,23 +171,6 @@ namespace WixToolset.Mba.Core
171 ); 171 );
172 172
173 /// <summary> 173 /// <summary>
174 /// See <see cref="IDefaultBootstrapperApplication.DetectCompatibleMsiPackage"/>.
175 /// </summary>
176 /// <param name="wzPackageId"></param>
177 /// <param name="wzCompatiblePackageId"></param>
178 /// <param name="wzCompatiblePackageVersion"></param>
179 /// <param name="fCancel"></param>
180 /// <returns></returns>
181 [PreserveSig]
182 [return: MarshalAs(UnmanagedType.I4)]
183 int OnDetectCompatibleMsiPackage(
184 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
185 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
186 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageVersion,
187 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
188 );
189
190 /// <summary>
191 /// See <see cref="IDefaultBootstrapperApplication.DetectRelatedMsiPackage"/>. 174 /// See <see cref="IDefaultBootstrapperApplication.DetectRelatedMsiPackage"/>.
192 /// </summary> 175 /// </summary>
193 /// <param name="wzPackageId"></param> 176 /// <param name="wzPackageId"></param>
@@ -263,11 +246,13 @@ namespace WixToolset.Mba.Core
263 /// See <see cref="IDefaultBootstrapperApplication.DetectComplete"/>. 246 /// See <see cref="IDefaultBootstrapperApplication.DetectComplete"/>.
264 /// </summary> 247 /// </summary>
265 /// <param name="hrStatus"></param> 248 /// <param name="hrStatus"></param>
249 /// <param name="fEligibleForCleanup"></param>
266 /// <returns></returns> 250 /// <returns></returns>
267 [PreserveSig] 251 [PreserveSig]
268 [return: MarshalAs(UnmanagedType.I4)] 252 [return: MarshalAs(UnmanagedType.I4)]
269 int OnDetectComplete( 253 int OnDetectComplete(
270 int hrStatus 254 int hrStatus,
255 [MarshalAs(UnmanagedType.Bool)] bool fEligibleForCleanup
271 ); 256 );
272 257
273 /// <summary> 258 /// <summary>
@@ -318,50 +303,6 @@ namespace WixToolset.Mba.Core
318 ); 303 );
319 304
320 /// <summary> 305 /// <summary>
321 /// See <see cref="IDefaultBootstrapperApplication.PlanCompatibleMsiPackageBegin"/>.
322 /// </summary>
323 /// <param name="wzPackageId"></param>
324 /// <param name="wzCompatiblePackageId"></param>
325 /// <param name="wzCompatiblePackageVersion"></param>
326 /// <param name="recommendedState"></param>
327 /// <param name="pRequestedState"></param>
328 /// <param name="fCancel"></param>
329 /// <returns></returns>
330 [PreserveSig]
331 [return: MarshalAs(UnmanagedType.I4)]
332 int OnPlanCompatibleMsiPackageBegin(
333 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
334 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
335 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageVersion,
336 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState,
337 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState,
338 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
339 );
340
341 /// <summary>
342 /// See <see cref="IDefaultBootstrapperApplication.PlanCompatibleMsiPackageComplete"/>.
343 /// </summary>
344 /// <param name="wzPackageId"></param>
345 /// <param name="wzCompatiblePackageId"></param>
346 /// <param name="hrStatus"></param>
347 /// <param name="state"></param>
348 /// <param name="requested"></param>
349 /// <param name="execute"></param>
350 /// <param name="rollback"></param>
351 /// <returns></returns>
352 [PreserveSig]
353 [return: MarshalAs(UnmanagedType.I4)]
354 int OnPlanCompatibleMsiPackageComplete(
355 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
356 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
357 int hrStatus,
358 [MarshalAs(UnmanagedType.U4)] PackageState state,
359 [MarshalAs(UnmanagedType.U4)] RequestState requested,
360 [MarshalAs(UnmanagedType.U4)] ActionState execute,
361 [MarshalAs(UnmanagedType.U4)] ActionState rollback
362 );
363
364 /// <summary>
365 /// See <see cref="IDefaultBootstrapperApplication.PlanTargetMsiPackage"/>. 306 /// See <see cref="IDefaultBootstrapperApplication.PlanTargetMsiPackage"/>.
366 /// </summary> 307 /// </summary>
367 /// <param name="wzPackageId"></param> 308 /// <param name="wzPackageId"></param>
@@ -1697,6 +1638,11 @@ namespace WixToolset.Mba.Core
1697 /// Typically used to switch from a native bootstrapper application to a managed one. 1638 /// Typically used to switch from a native bootstrapper application to a managed one.
1698 /// </summary> 1639 /// </summary>
1699 ReloadBootstrapper, 1640 ReloadBootstrapper,
1641
1642 /// <summary>
1643 /// Opts out of the engine behavior of trying to uninstall itself when no non-permanent packages are installed.
1644 /// </summary>
1645 SkipCleanup,
1700 } 1646 }
1701 1647
1702 /// <summary> 1648 /// <summary>
diff --git a/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs
index b7e4759c..9970dc3e 100644
--- a/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs
+++ b/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs
@@ -90,11 +90,6 @@ namespace WixToolset.Mba.Core
90 event EventHandler<DetectBeginEventArgs> DetectBegin; 90 event EventHandler<DetectBeginEventArgs> DetectBegin;
91 91
92 /// <summary> 92 /// <summary>
93 /// Fired when a package was not detected but a package using the same provider key was.
94 /// </summary>
95 event EventHandler<DetectCompatibleMsiPackageEventArgs> DetectCompatibleMsiPackage;
96
97 /// <summary>
98 /// Fired when the detection phase has completed. 93 /// Fired when the detection phase has completed.
99 /// </summary> 94 /// </summary>
100 event EventHandler<DetectCompleteEventArgs> DetectComplete; 95 event EventHandler<DetectCompleteEventArgs> DetectComplete;
@@ -230,16 +225,6 @@ namespace WixToolset.Mba.Core
230 event EventHandler<PlanBeginEventArgs> PlanBegin; 225 event EventHandler<PlanBeginEventArgs> PlanBegin;
231 226
232 /// <summary> 227 /// <summary>
233 /// Fired when the engine plans a new, compatible package using the same provider key.
234 /// </summary>
235 event EventHandler<PlanCompatibleMsiPackageBeginEventArgs> PlanCompatibleMsiPackageBegin;
236
237 /// <summary>
238 /// Fired when the engine has completed planning the installation of a specific package.
239 /// </summary>
240 event EventHandler<PlanCompatibleMsiPackageCompleteEventArgs> PlanCompatibleMsiPackageComplete;
241
242 /// <summary>
243 /// Fired when the engine has completed planning the installation. 228 /// Fired when the engine has completed planning the installation.
244 /// </summary> 229 /// </summary>
245 event EventHandler<PlanCompleteEventArgs> PlanComplete; 230 event EventHandler<PlanCompleteEventArgs> PlanComplete;
diff --git a/src/balutil/balutil.vcxproj b/src/balutil/balutil.vcxproj
index 2a6f4053..702a25c0 100644
--- a/src/balutil/balutil.vcxproj
+++ b/src/balutil/balutil.vcxproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" /> 5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" />
6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" /> 6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" />
7 7
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
@@ -98,7 +98,7 @@
98 <PropertyGroup> 98 <PropertyGroup>
99 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 99 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
100 </PropertyGroup> 100 </PropertyGroup>
101 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props'))" /> 101 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props'))" />
102 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" /> 102 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" />
103 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" /> 103 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" />
104 </Target> 104 </Target>
diff --git a/src/balutil/inc/BAFunctions.h b/src/balutil/inc/BAFunctions.h
index a95b7a03..eb6d96d8 100644
--- a/src/balutil/inc/BAFunctions.h
+++ b/src/balutil/inc/BAFunctions.h
@@ -22,15 +22,12 @@ enum BA_FUNCTIONS_MESSAGE
22 BA_FUNCTIONS_MESSAGE_ONDETECTUPDATECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE, 22 BA_FUNCTIONS_MESSAGE_ONDETECTUPDATECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE,
23 BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE, 23 BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE,
24 BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN, 24 BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN,
25 BA_FUNCTIONS_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE,
26 BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE, 25 BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE,
27 BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTTARGETMSIPACKAGE, 26 BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTTARGETMSIPACKAGE,
28 BA_FUNCTIONS_MESSAGE_ONDETECTMSIFEATURE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE, 27 BA_FUNCTIONS_MESSAGE_ONDETECTMSIFEATURE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE,
29 BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE, 28 BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE,
30 BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE, 29 BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE,
31 BA_FUNCTIONS_MESSAGE_ONPLANPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN, 30 BA_FUNCTIONS_MESSAGE_ONPLANPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN,
32 BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN,
33 BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE,
34 BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE, 31 BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE,
35 BA_FUNCTIONS_MESSAGE_ONPLANMSIFEATURE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE, 32 BA_FUNCTIONS_MESSAGE_ONPLANMSIFEATURE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE,
36 BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE, 33 BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE,
diff --git a/src/balutil/inc/BalBaseBAFunctions.h b/src/balutil/inc/BalBaseBAFunctions.h
index 39934128..10334a18 100644
--- a/src/balutil/inc/BalBaseBAFunctions.h
+++ b/src/balutil/inc/BalBaseBAFunctions.h
@@ -164,16 +164,6 @@ public: // IBootstrapperApplication
164 return S_OK; 164 return S_OK;
165 } 165 }
166 166
167 virtual STDMETHODIMP OnDetectCompatibleMsiPackage(
168 __in_z LPCWSTR /*wzPackageId*/,
169 __in_z LPCWSTR /*wzCompatiblePackageId*/,
170 __in LPCWSTR /*wzCompatiblePackageVersion*/,
171 __inout BOOL* /*pfCancel*/
172 )
173 {
174 return S_OK;
175 }
176
177 virtual STDMETHODIMP OnDetectRelatedMsiPackage( 167 virtual STDMETHODIMP OnDetectRelatedMsiPackage(
178 __in_z LPCWSTR /*wzPackageId*/, 168 __in_z LPCWSTR /*wzPackageId*/,
179 __in_z LPCWSTR /*wzUpgradeCode*/, 169 __in_z LPCWSTR /*wzUpgradeCode*/,
@@ -217,7 +207,8 @@ public: // IBootstrapperApplication
217 } 207 }
218 208
219 virtual STDMETHODIMP OnDetectComplete( 209 virtual STDMETHODIMP OnDetectComplete(
220 __in HRESULT /*hrStatus*/ 210 __in HRESULT /*hrStatus*/,
211 __in BOOL /*fEligibleForCleanup*/
221 ) 212 )
222 { 213 {
223 return S_OK; 214 return S_OK;
@@ -251,31 +242,6 @@ public: // IBootstrapperApplication
251 return S_OK; 242 return S_OK;
252 } 243 }
253 244
254 virtual STDMETHODIMP OnPlanCompatibleMsiPackageBegin(
255 __in_z LPCWSTR /*wzPackageId*/,
256 __in_z LPCWSTR /*wzCompatiblePackageId*/,
257 __in LPCWSTR /*wzCompatiblePackageVersion*/,
258 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
259 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/,
260 __inout BOOL* /*pfCancel*/
261 )
262 {
263 return S_OK;
264 }
265
266 virtual STDMETHODIMP OnPlanCompatibleMsiPackageComplete(
267 __in_z LPCWSTR /*wzPackageId*/,
268 __in_z LPCWSTR /*wzCompatiblePackageId*/,
269 __in HRESULT /*hrStatus*/,
270 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
271 __in BOOTSTRAPPER_REQUEST_STATE /*requested*/,
272 __in BOOTSTRAPPER_ACTION_STATE /*execute*/,
273 __in BOOTSTRAPPER_ACTION_STATE /*rollback*/
274 )
275 {
276 return S_OK;
277 }
278
279 virtual STDMETHODIMP OnPlanTargetMsiPackage( 245 virtual STDMETHODIMP OnPlanTargetMsiPackage(
280 __in_z LPCWSTR /*wzPackageId*/, 246 __in_z LPCWSTR /*wzPackageId*/,
281 __in_z LPCWSTR /*wzProductCode*/, 247 __in_z LPCWSTR /*wzProductCode*/,
diff --git a/src/balutil/inc/BalBaseBAFunctionsProc.h b/src/balutil/inc/BalBaseBAFunctionsProc.h
index 69843301..4f0906d2 100644
--- a/src/balutil/inc/BalBaseBAFunctionsProc.h
+++ b/src/balutil/inc/BalBaseBAFunctionsProc.h
@@ -57,15 +57,12 @@ static HRESULT WINAPI BalBaseBAFunctionsProc(
57 case BA_FUNCTIONS_MESSAGE_ONDETECTUPDATECOMPLETE: 57 case BA_FUNCTIONS_MESSAGE_ONDETECTUPDATECOMPLETE:
58 case BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDBUNDLE: 58 case BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDBUNDLE:
59 case BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGEBEGIN: 59 case BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGEBEGIN:
60 case BA_FUNCTIONS_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE:
61 case BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE: 60 case BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE:
62 case BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE: 61 case BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE:
63 case BA_FUNCTIONS_MESSAGE_ONDETECTMSIFEATURE: 62 case BA_FUNCTIONS_MESSAGE_ONDETECTMSIFEATURE:
64 case BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGECOMPLETE: 63 case BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGECOMPLETE:
65 case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLE: 64 case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLE:
66 case BA_FUNCTIONS_MESSAGE_ONPLANPACKAGEBEGIN: 65 case BA_FUNCTIONS_MESSAGE_ONPLANPACKAGEBEGIN:
67 case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN:
68 case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE:
69 case BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE: 66 case BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE:
70 case BA_FUNCTIONS_MESSAGE_ONPLANMSIFEATURE: 67 case BA_FUNCTIONS_MESSAGE_ONPLANMSIFEATURE:
71 case BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE: 68 case BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE:
diff --git a/src/balutil/inc/BalBaseBootstrapperApplication.h b/src/balutil/inc/BalBaseBootstrapperApplication.h
index ad0c60e5..1b0230de 100644
--- a/src/balutil/inc/BalBaseBootstrapperApplication.h
+++ b/src/balutil/inc/BalBaseBootstrapperApplication.h
@@ -167,17 +167,6 @@ public: // IBootstrapperApplication
167 return S_OK; 167 return S_OK;
168 } 168 }
169 169
170 virtual STDMETHODIMP OnDetectCompatibleMsiPackage(
171 __in_z LPCWSTR /*wzPackageId*/,
172 __in_z LPCWSTR /*wzCompatiblePackageId*/,
173 __in LPCWSTR /*wzCompatiblePackageVersion*/,
174 __inout BOOL* pfCancel
175 )
176 {
177 *pfCancel |= CheckCanceled();
178 return S_OK;
179 }
180
181 virtual STDMETHODIMP OnDetectRelatedMsiPackage( 170 virtual STDMETHODIMP OnDetectRelatedMsiPackage(
182 __in_z LPCWSTR /*wzPackageId*/, 171 __in_z LPCWSTR /*wzPackageId*/,
183 __in_z LPCWSTR /*wzUpgradeCode*/, 172 __in_z LPCWSTR /*wzUpgradeCode*/,
@@ -224,7 +213,8 @@ public: // IBootstrapperApplication
224 } 213 }
225 214
226 virtual STDMETHODIMP OnDetectComplete( 215 virtual STDMETHODIMP OnDetectComplete(
227 __in HRESULT /*hrStatus*/ 216 __in HRESULT /*hrStatus*/,
217 __in BOOL /*fEligibleForCleanup*/
228 ) 218 )
229 { 219 {
230 return S_OK; 220 return S_OK;
@@ -261,32 +251,6 @@ public: // IBootstrapperApplication
261 return S_OK; 251 return S_OK;
262 } 252 }
263 253
264 virtual STDMETHODIMP OnPlanCompatibleMsiPackageBegin(
265 __in_z LPCWSTR /*wzPackageId*/,
266 __in_z LPCWSTR /*wzCompatiblePackageId*/,
267 __in LPCWSTR /*wzCompatiblePackageVersion*/,
268 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
269 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/,
270 __inout BOOL* pfCancel
271 )
272 {
273 *pfCancel |= CheckCanceled();
274 return S_OK;
275 }
276
277 virtual STDMETHODIMP OnPlanCompatibleMsiPackageComplete(
278 __in_z LPCWSTR /*wzPackageId*/,
279 __in_z LPCWSTR /*wzCompatiblePackageId*/,
280 __in HRESULT /*hrStatus*/,
281 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
282 __in BOOTSTRAPPER_REQUEST_STATE /*requested*/,
283 __in BOOTSTRAPPER_ACTION_STATE /*execute*/,
284 __in BOOTSTRAPPER_ACTION_STATE /*rollback*/
285 )
286 {
287 return S_OK;
288 }
289
290 virtual STDMETHODIMP OnPlanTargetMsiPackage( 254 virtual STDMETHODIMP OnPlanTargetMsiPackage(
291 __in_z LPCWSTR /*wzPackageId*/, 255 __in_z LPCWSTR /*wzPackageId*/,
292 __in_z LPCWSTR /*wzProductCode*/, 256 __in_z LPCWSTR /*wzProductCode*/,
diff --git a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h
index 648252b5..e16640e5 100644
--- a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h
+++ b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h
@@ -24,7 +24,7 @@ static HRESULT BalBaseBAProcOnDetectComplete(
24 __inout BA_ONDETECTCOMPLETE_RESULTS* /*pResults*/ 24 __inout BA_ONDETECTCOMPLETE_RESULTS* /*pResults*/
25 ) 25 )
26{ 26{
27 return pBA->OnDetectComplete(pArgs->hrStatus); 27 return pBA->OnDetectComplete(pArgs->hrStatus, pArgs->fEligibleForCleanup);
28} 28}
29 29
30static HRESULT BalBaseBAProcOnPlanBegin( 30static HRESULT BalBaseBAProcOnPlanBegin(
@@ -126,15 +126,6 @@ static HRESULT BalBaseBAProcOnDetectPackageBegin(
126 return pBA->OnDetectPackageBegin(pArgs->wzPackageId, &pResults->fCancel); 126 return pBA->OnDetectPackageBegin(pArgs->wzPackageId, &pResults->fCancel);
127} 127}
128 128
129static HRESULT BalBaseBAProcOnDetectCompatiblePackage(
130 __in IBootstrapperApplication* pBA,
131 __in BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS* pArgs,
132 __inout BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS* pResults
133 )
134{
135 return pBA->OnDetectCompatibleMsiPackage(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->wzCompatiblePackageVersion, &pResults->fCancel);
136}
137
138static HRESULT BalBaseBAProcOnDetectRelatedMsiPackage( 129static HRESULT BalBaseBAProcOnDetectRelatedMsiPackage(
139 __in IBootstrapperApplication* pBA, 130 __in IBootstrapperApplication* pBA,
140 __in BA_ONDETECTRELATEDMSIPACKAGE_ARGS* pArgs, 131 __in BA_ONDETECTRELATEDMSIPACKAGE_ARGS* pArgs,
@@ -189,24 +180,6 @@ static HRESULT BalBaseBAProcOnPlanPackageBegin(
189 return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); 180 return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel);
190} 181}
191 182
192static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageBegin(
193 __in IBootstrapperApplication* pBA,
194 __in BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS* pArgs,
195 __inout BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS* pResults
196 )
197{
198 return pBA->OnPlanCompatibleMsiPackageBegin(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->wzCompatiblePackageVersion, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel);
199}
200
201static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageComplete(
202 __in IBootstrapperApplication* pBA,
203 __in BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS* pArgs,
204 __inout BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS* /*pResults*/
205 )
206{
207 return pBA->OnPlanCompatibleMsiPackageComplete(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->hrStatus, pArgs->state, pArgs->requested, pArgs->execute, pArgs->rollback);
208}
209
210static HRESULT BalBaseBAProcOnPlanTargetMsiPackage( 183static HRESULT BalBaseBAProcOnPlanTargetMsiPackage(
211 __in IBootstrapperApplication* pBA, 184 __in IBootstrapperApplication* pBA,
212 __in BA_ONPLANTARGETMSIPACKAGE_ARGS* pArgs, 185 __in BA_ONPLANTARGETMSIPACKAGE_ARGS* pArgs,
@@ -662,9 +635,6 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc(
662 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN: 635 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN:
663 hr = BalBaseBAProcOnDetectPackageBegin(pBA, reinterpret_cast<BA_ONDETECTPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTPACKAGEBEGIN_RESULTS*>(pvResults)); 636 hr = BalBaseBAProcOnDetectPackageBegin(pBA, reinterpret_cast<BA_ONDETECTPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTPACKAGEBEGIN_RESULTS*>(pvResults));
664 break; 637 break;
665 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE:
666 hr = BalBaseBAProcOnDetectCompatiblePackage(pBA, reinterpret_cast<BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS*>(pvResults));
667 break;
668 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE: 638 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE:
669 hr = BalBaseBAProcOnDetectRelatedMsiPackage(pBA, reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_RESULTS*>(pvResults)); 639 hr = BalBaseBAProcOnDetectRelatedMsiPackage(pBA, reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_RESULTS*>(pvResults));
670 break; 640 break;
@@ -683,12 +653,6 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc(
683 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN: 653 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN:
684 hr = BalBaseBAProcOnPlanPackageBegin(pBA, reinterpret_cast<BA_ONPLANPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANPACKAGEBEGIN_RESULTS*>(pvResults)); 654 hr = BalBaseBAProcOnPlanPackageBegin(pBA, reinterpret_cast<BA_ONPLANPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANPACKAGEBEGIN_RESULTS*>(pvResults));
685 break; 655 break;
686 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN:
687 hr = BalBaseBAProcOnPlanCompatibleMsiPackageBegin(pBA, reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS*>(pvResults));
688 break;
689 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE:
690 hr = BalBaseBAProcOnPlanCompatibleMsiPackageComplete(pBA, reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS*>(pvResults));
691 break;
692 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE: 656 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE:
693 hr = BalBaseBAProcOnPlanTargetMsiPackage(pBA, reinterpret_cast<BA_ONPLANTARGETMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANTARGETMSIPACKAGE_RESULTS*>(pvResults)); 657 hr = BalBaseBAProcOnPlanTargetMsiPackage(pBA, reinterpret_cast<BA_ONPLANTARGETMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANTARGETMSIPACKAGE_RESULTS*>(pvResults));
694 break; 658 break;
diff --git a/src/balutil/inc/IBootstrapperApplication.h b/src/balutil/inc/IBootstrapperApplication.h
index dd8f8024..4569cdab 100644
--- a/src/balutil/inc/IBootstrapperApplication.h
+++ b/src/balutil/inc/IBootstrapperApplication.h
@@ -80,14 +80,6 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
80 __inout BOOL* pfCancel 80 __inout BOOL* pfCancel
81 ) = 0; 81 ) = 0;
82 82
83 // OnDetectCompatibleMsiPackage - called when the engine detects that a package is not installed but a newer package using the same provider key is.
84 STDMETHOD(OnDetectCompatibleMsiPackage)(
85 __in_z LPCWSTR wzPackageId,
86 __in_z LPCWSTR wzCompatiblePackageId,
87 __in_z LPCWSTR wzCompatiblePackageVersion,
88 __inout BOOL* pfCancel
89 ) = 0;
90
91 // OnDetectRelatedMsiPackage - called when the engine begins detects a related package. 83 // OnDetectRelatedMsiPackage - called when the engine begins detects a related package.
92 STDMETHOD(OnDetectRelatedMsiPackage)( 84 STDMETHOD(OnDetectRelatedMsiPackage)(
93 __in_z LPCWSTR wzPackageId, 85 __in_z LPCWSTR wzPackageId,
@@ -127,7 +119,8 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
127 // OnDetectPackageComplete - called after the engine completes detection. 119 // OnDetectPackageComplete - called after the engine completes detection.
128 // 120 //
129 STDMETHOD(OnDetectComplete)( 121 STDMETHOD(OnDetectComplete)(
130 __in HRESULT hrStatus 122 __in HRESULT hrStatus,
123 __in BOOL fEligibleForCleanup
131 ) = 0; 124 ) = 0;
132 125
133 // OnPlanBegin - called when the engine begins planning. 126 // OnPlanBegin - called when the engine begins planning.
@@ -152,28 +145,6 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
152 __inout BOOL* pfCancel 145 __inout BOOL* pfCancel
153 ) = 0; 146 ) = 0;
154 147
155 // OnPlanCompatibleMsiPackageBegin - called when the engine plans a newer, compatible package using the same provider key.
156 STDMETHOD(OnPlanCompatibleMsiPackageBegin)(
157 __in_z LPCWSTR wzPackageId,
158 __in_z LPCWSTR wzCompatiblePackageId,
159 __in_z LPCWSTR wzCompatiblePackageVersion,
160 __in BOOTSTRAPPER_REQUEST_STATE recommendedState,
161 __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState,
162 __inout BOOL* pfCancel
163 ) = 0;
164
165 // OnPlanCompatibleMsiPackageComplete - called after the engine plans the package.
166 //
167 STDMETHOD(OnPlanCompatibleMsiPackageComplete)(
168 __in_z LPCWSTR wzPackageId,
169 __in_z LPCWSTR wzCompatiblePackageId,
170 __in HRESULT hrStatus,
171 __in BOOTSTRAPPER_PACKAGE_STATE state,
172 __in BOOTSTRAPPER_REQUEST_STATE requested,
173 __in BOOTSTRAPPER_ACTION_STATE execute,
174 __in BOOTSTRAPPER_ACTION_STATE rollback
175 ) = 0;
176
177 // OnPlanTargetMsiPackage - called when the engine plans an MSP package 148 // OnPlanTargetMsiPackage - called when the engine plans an MSP package
178 // to apply to an MSI package. 149 // to apply to an MSI package.
179 STDMETHOD(OnPlanTargetMsiPackage)( 150 STDMETHOD(OnPlanTargetMsiPackage)(
diff --git a/src/balutil/packages.config b/src/balutil/packages.config
index 15e2e31f..9a928742 100644
--- a/src/balutil/packages.config
+++ b/src/balutil/packages.config
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<packages> 2<packages>
3 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" /> 3 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" />
4 <package id="WixToolset.BootstrapperCore.Native" version="4.0.64" targetFramework="native" /> 4 <package id="WixToolset.BootstrapperCore.Native" version="4.0.75" targetFramework="native" />
5 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" /> 5 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" />
6</packages> \ No newline at end of file 6</packages> \ No newline at end of file
diff --git a/src/bextutil/bextutil.vcxproj b/src/bextutil/bextutil.vcxproj
index 140652c6..f81ce469 100644
--- a/src/bextutil/bextutil.vcxproj
+++ b/src/bextutil/bextutil.vcxproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" /> 5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" />
6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" /> 6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" />
7 7
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
@@ -87,7 +87,7 @@
87 <PropertyGroup> 87 <PropertyGroup>
88 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 88 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
89 </PropertyGroup> 89 </PropertyGroup>
90 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props'))" /> 90 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props'))" />
91 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" /> 91 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" />
92 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" /> 92 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" />
93 </Target> 93 </Target>
diff --git a/src/bextutil/packages.config b/src/bextutil/packages.config
index 15e2e31f..9a928742 100644
--- a/src/bextutil/packages.config
+++ b/src/bextutil/packages.config
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<packages> 2<packages>
3 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" /> 3 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" />
4 <package id="WixToolset.BootstrapperCore.Native" version="4.0.64" targetFramework="native" /> 4 <package id="WixToolset.BootstrapperCore.Native" version="4.0.75" targetFramework="native" />
5 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" /> 5 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" />
6</packages> \ No newline at end of file 6</packages> \ No newline at end of file
diff --git a/src/mbanative/mbanative.vcxproj b/src/mbanative/mbanative.vcxproj
index a8eda0b0..7132cf1a 100644
--- a/src/mbanative/mbanative.vcxproj
+++ b/src/mbanative/mbanative.vcxproj
@@ -5,7 +5,7 @@
5 <Import Project="..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" /> 5 <Import Project="..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" />
6 <Import Project="..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props')" /> 6 <Import Project="..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props')" />
7 <Import Project="..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props" Condition="Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props')" /> 7 <Import Project="..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props" Condition="Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props')" />
8 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" /> 8 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" />
9 <Import Project="..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" /> 9 <Import Project="..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" />
10 10
11 <ItemGroup Label="ProjectConfigurations"> 11 <ItemGroup Label="ProjectConfigurations">
@@ -94,7 +94,7 @@
94 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props'))" /> 94 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props'))" />
95 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets'))" /> 95 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets'))" />
96 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" /> 96 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" />
97 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props'))" /> 97 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props'))" />
98 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" /> 98 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" />
99 </Target> 99 </Target>
100</Project> \ No newline at end of file 100</Project> \ No newline at end of file
diff --git a/src/mbanative/packages.config b/src/mbanative/packages.config
index 9f0405eb..b60fbb82 100644
--- a/src/mbanative/packages.config
+++ b/src/mbanative/packages.config
@@ -4,6 +4,6 @@
4 <package id="Microsoft.SourceLink.Common" version="1.0.0" targetFramework="native" developmentDependency="true" /> 4 <package id="Microsoft.SourceLink.Common" version="1.0.0" targetFramework="native" developmentDependency="true" />
5 <package id="Microsoft.SourceLink.GitHub" version="1.0.0" targetFramework="native" developmentDependency="true" /> 5 <package id="Microsoft.SourceLink.GitHub" version="1.0.0" targetFramework="native" developmentDependency="true" />
6 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" /> 6 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" />
7 <package id="WixToolset.BootstrapperCore.Native" version="4.0.64" targetFramework="native" /> 7 <package id="WixToolset.BootstrapperCore.Native" version="4.0.75" targetFramework="native" />
8 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" /> 8 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" />
9</packages> \ No newline at end of file 9</packages> \ No newline at end of file
diff --git a/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj b/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj
index 4e14691e..5f250d39 100644
--- a/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj
+++ b/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj
@@ -4,7 +4,7 @@
4 4
5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" /> 6 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" />
7 <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" /> 7 <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" />
8 <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" /> 8 <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" />
9 <ItemGroup Label="ProjectConfigurations"> 9 <ItemGroup Label="ProjectConfigurations">
10 <ProjectConfiguration Include="Debug|Win32"> 10 <ProjectConfiguration Include="Debug|Win32">
@@ -67,7 +67,7 @@
67 </PropertyGroup> 67 </PropertyGroup>
68 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props'))" /> 68 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props'))" />
69 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets'))" /> 69 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets'))" />
70 <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props'))" /> 70 <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props'))" />
71 <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" /> 71 <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" />
72 </Target> 72 </Target>
73</Project> 73</Project>
diff --git a/src/test/BalUtilUnitTest/packages.config b/src/test/BalUtilUnitTest/packages.config
index cdbde0c8..273ae5d9 100644
--- a/src/test/BalUtilUnitTest/packages.config
+++ b/src/test/BalUtilUnitTest/packages.config
@@ -10,6 +10,6 @@
10 <package id="xunit.runner.visualstudio" version="2.4.1" /> 10 <package id="xunit.runner.visualstudio" version="2.4.1" />
11 <package id="WixBuildTools.TestSupport" version="4.0.47" /> 11 <package id="WixBuildTools.TestSupport" version="4.0.47" />
12 <package id="WixBuildTools.TestSupport.Native" version="4.0.47" /> 12 <package id="WixBuildTools.TestSupport.Native" version="4.0.47" />
13 <package id="WixToolset.BootstrapperCore.Native" version="4.0.64" targetFramework="native" /> 13 <package id="WixToolset.BootstrapperCore.Native" version="4.0.75" targetFramework="native" />
14 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" /> 14 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" />
15</packages> \ No newline at end of file 15</packages> \ No newline at end of file
diff --git a/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj b/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
index 0c170c02..c648b86b 100644
--- a/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
+++ b/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
@@ -4,7 +4,7 @@
4 4
5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" /> 6 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" />
7 <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" /> 7 <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" />
8 <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" /> 8 <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" />
9 <ItemGroup Label="ProjectConfigurations"> 9 <ItemGroup Label="ProjectConfigurations">
10 <ProjectConfiguration Include="Debug|Win32"> 10 <ProjectConfiguration Include="Debug|Win32">
@@ -66,7 +66,7 @@
66 </PropertyGroup> 66 </PropertyGroup>
67 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props'))" /> 67 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props'))" />
68 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets'))" /> 68 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets'))" />
69 <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.64\build\WixToolset.BootstrapperCore.Native.props'))" /> 69 <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.75\build\WixToolset.BootstrapperCore.Native.props'))" />
70 <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" /> 70 <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.59\build\WixToolset.DUtil.props'))" />
71 </Target> 71 </Target>
72</Project> 72</Project>
diff --git a/src/test/BextUtilUnitTest/packages.config b/src/test/BextUtilUnitTest/packages.config
index cdbde0c8..273ae5d9 100644
--- a/src/test/BextUtilUnitTest/packages.config
+++ b/src/test/BextUtilUnitTest/packages.config
@@ -10,6 +10,6 @@
10 <package id="xunit.runner.visualstudio" version="2.4.1" /> 10 <package id="xunit.runner.visualstudio" version="2.4.1" />
11 <package id="WixBuildTools.TestSupport" version="4.0.47" /> 11 <package id="WixBuildTools.TestSupport" version="4.0.47" />
12 <package id="WixBuildTools.TestSupport.Native" version="4.0.47" /> 12 <package id="WixBuildTools.TestSupport.Native" version="4.0.47" />
13 <package id="WixToolset.BootstrapperCore.Native" version="4.0.64" targetFramework="native" /> 13 <package id="WixToolset.BootstrapperCore.Native" version="4.0.75" targetFramework="native" />
14 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" /> 14 <package id="WixToolset.DUtil" version="4.0.59" targetFramework="native" />
15</packages> \ No newline at end of file 15</packages> \ No newline at end of file