aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.Mba.Core
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2023-01-19 00:18:26 -0600
committerSean Hall <r.sean.hall@gmail.com>2023-01-19 01:52:41 -0600
commita46ef0eebafea0e5b38c0c6e960be778c2dbb852 (patch)
tree8ae23b506375da6ff91e5f0743006a7ccd51ecc0 /src/api/burn/WixToolset.Mba.Core
parent7a0aa56131ba7fa3b63788908c164d0f8118e3fc (diff)
downloadwix-a46ef0eebafea0e5b38c0c6e960be778c2dbb852.tar.gz
wix-a46ef0eebafea0e5b38c0c6e960be778c2dbb852.tar.bz2
wix-a46ef0eebafea0e5b38c0c6e960be778c2dbb852.zip
Finish the XML documentation in WixToolset.Mba.Core.
4623
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core')
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BaseBootstrapperApplicationFactory.cs4
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs36
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BootstrapperApplicationData.cs4
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs13
-rw-r--r--src/api/burn/WixToolset.Mba.Core/Engine.cs83
-rw-r--r--src/api/burn/WixToolset.Mba.Core/EventArgs.cs483
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs283
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs2
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBootstrapperEngine.cs124
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBundleInfo.cs12
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs34
-rw-r--r--src/api/burn/WixToolset.Mba.Core/PackageInfo.cs69
-rw-r--r--src/api/burn/WixToolset.Mba.Core/VerUtil.cs18
13 files changed, 542 insertions, 623 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BaseBootstrapperApplicationFactory.cs b/src/api/burn/WixToolset.Mba.Core/BaseBootstrapperApplicationFactory.cs
index b215681e..339bfd8f 100644
--- a/src/api/burn/WixToolset.Mba.Core/BaseBootstrapperApplicationFactory.cs
+++ b/src/api/burn/WixToolset.Mba.Core/BaseBootstrapperApplicationFactory.cs
@@ -13,8 +13,8 @@ namespace WixToolset.Mba.Core
13 /// <summary> 13 /// <summary>
14 /// Default implementation of <see cref="IBootstrapperApplicationFactory.Create(IntPtr, IntPtr)"/> 14 /// Default implementation of <see cref="IBootstrapperApplicationFactory.Create(IntPtr, IntPtr)"/>
15 /// </summary> 15 /// </summary>
16 /// <param name="pArgs"></param> 16 /// <param name="pArgs">The args struct given by the engine when initially creating the BA.</param>
17 /// <param name="pResults"></param> 17 /// <param name="pResults">The results struct given by the engine when initially creating the BA</param>
18 public void Create(IntPtr pArgs, IntPtr pResults) 18 public void Create(IntPtr pArgs, IntPtr pResults)
19 { 19 {
20 InitializeFromCreateArgs(pArgs, out var engine, out var bootstrapperCommand); 20 InitializeFromCreateArgs(pArgs, out var engine, out var bootstrapperCommand);
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
index b23cb3b2..a0ec6ab9 100644
--- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
+++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
@@ -798,7 +798,7 @@ namespace WixToolset.Mba.Core
798 /// <summary> 798 /// <summary>
799 /// Called by the engine, raises the <see cref="CacheBegin"/> event. 799 /// Called by the engine, raises the <see cref="CacheBegin"/> event.
800 /// </summary> 800 /// </summary>
801 /// <param name="args"></param> 801 /// <param name="args">Additional arguments for this event.</param>
802 protected virtual void OnCacheBegin(CacheBeginEventArgs args) 802 protected virtual void OnCacheBegin(CacheBeginEventArgs args)
803 { 803 {
804 EventHandler<CacheBeginEventArgs> handler = this.CacheBegin; 804 EventHandler<CacheBeginEventArgs> handler = this.CacheBegin;
@@ -811,7 +811,7 @@ namespace WixToolset.Mba.Core
811 /// <summary> 811 /// <summary>
812 /// Called by the engine, raises the <see cref="CachePackageBegin"/> event. 812 /// Called by the engine, raises the <see cref="CachePackageBegin"/> event.
813 /// </summary> 813 /// </summary>
814 /// <param name="args"></param> 814 /// <param name="args">Additional arguments for this event.</param>
815 protected virtual void OnCachePackageBegin(CachePackageBeginEventArgs args) 815 protected virtual void OnCachePackageBegin(CachePackageBeginEventArgs args)
816 { 816 {
817 EventHandler<CachePackageBeginEventArgs> handler = this.CachePackageBegin; 817 EventHandler<CachePackageBeginEventArgs> handler = this.CachePackageBegin;
@@ -824,7 +824,7 @@ namespace WixToolset.Mba.Core
824 /// <summary> 824 /// <summary>
825 /// Called by the engine, raises the <see cref="CacheAcquireBegin"/> event. 825 /// Called by the engine, raises the <see cref="CacheAcquireBegin"/> event.
826 /// </summary> 826 /// </summary>
827 /// <param name="args"></param> 827 /// <param name="args">Additional arguments for this event.</param>
828 protected virtual void OnCacheAcquireBegin(CacheAcquireBeginEventArgs args) 828 protected virtual void OnCacheAcquireBegin(CacheAcquireBeginEventArgs args)
829 { 829 {
830 EventHandler<CacheAcquireBeginEventArgs> handler = this.CacheAcquireBegin; 830 EventHandler<CacheAcquireBeginEventArgs> handler = this.CacheAcquireBegin;
@@ -837,7 +837,7 @@ namespace WixToolset.Mba.Core
837 /// <summary> 837 /// <summary>
838 /// Called by the engine, raises the <see cref="CacheAcquireProgress"/> event. 838 /// Called by the engine, raises the <see cref="CacheAcquireProgress"/> event.
839 /// </summary> 839 /// </summary>
840 /// <param name="args"></param> 840 /// <param name="args">Additional arguments for this event.</param>
841 protected virtual void OnCacheAcquireProgress(CacheAcquireProgressEventArgs args) 841 protected virtual void OnCacheAcquireProgress(CacheAcquireProgressEventArgs args)
842 { 842 {
843 EventHandler<CacheAcquireProgressEventArgs> handler = this.CacheAcquireProgress; 843 EventHandler<CacheAcquireProgressEventArgs> handler = this.CacheAcquireProgress;
@@ -863,7 +863,7 @@ namespace WixToolset.Mba.Core
863 /// <summary> 863 /// <summary>
864 /// Called by the engine, raises the <see cref="CacheAcquireComplete"/> event. 864 /// Called by the engine, raises the <see cref="CacheAcquireComplete"/> event.
865 /// </summary> 865 /// </summary>
866 /// <param name="args"></param> 866 /// <param name="args">Additional arguments for this event.</param>
867 protected virtual void OnCacheAcquireComplete(CacheAcquireCompleteEventArgs args) 867 protected virtual void OnCacheAcquireComplete(CacheAcquireCompleteEventArgs args)
868 { 868 {
869 EventHandler<CacheAcquireCompleteEventArgs> handler = this.CacheAcquireComplete; 869 EventHandler<CacheAcquireCompleteEventArgs> handler = this.CacheAcquireComplete;
@@ -876,7 +876,7 @@ namespace WixToolset.Mba.Core
876 /// <summary> 876 /// <summary>
877 /// Called by the engine, raises the <see cref="CacheVerifyBegin"/> event. 877 /// Called by the engine, raises the <see cref="CacheVerifyBegin"/> event.
878 /// </summary> 878 /// </summary>
879 /// <param name="args"></param> 879 /// <param name="args">Additional arguments for this event.</param>
880 protected virtual void OnCacheVerifyBegin(CacheVerifyBeginEventArgs args) 880 protected virtual void OnCacheVerifyBegin(CacheVerifyBeginEventArgs args)
881 { 881 {
882 EventHandler<CacheVerifyBeginEventArgs> handler = this.CacheVerifyBegin; 882 EventHandler<CacheVerifyBeginEventArgs> handler = this.CacheVerifyBegin;
@@ -889,7 +889,7 @@ namespace WixToolset.Mba.Core
889 /// <summary> 889 /// <summary>
890 /// Called by the engine, raises the <see cref="CacheVerifyProgress"/> event. 890 /// Called by the engine, raises the <see cref="CacheVerifyProgress"/> event.
891 /// </summary> 891 /// </summary>
892 /// <param name="args"></param> 892 /// <param name="args">Additional arguments for this event.</param>
893 protected virtual void OnCacheVerifyProgress(CacheVerifyProgressEventArgs args) 893 protected virtual void OnCacheVerifyProgress(CacheVerifyProgressEventArgs args)
894 { 894 {
895 EventHandler<CacheVerifyProgressEventArgs> handler = this.CacheVerifyProgress; 895 EventHandler<CacheVerifyProgressEventArgs> handler = this.CacheVerifyProgress;
@@ -902,7 +902,7 @@ namespace WixToolset.Mba.Core
902 /// <summary> 902 /// <summary>
903 /// Called by the engine, raises the <see cref="CacheVerifyComplete"/> event. 903 /// Called by the engine, raises the <see cref="CacheVerifyComplete"/> event.
904 /// </summary> 904 /// </summary>
905 /// <param name="args"></param> 905 /// <param name="args">Additional arguments for this event.</param>
906 protected virtual void OnCacheVerifyComplete(CacheVerifyCompleteEventArgs args) 906 protected virtual void OnCacheVerifyComplete(CacheVerifyCompleteEventArgs args)
907 { 907 {
908 EventHandler<CacheVerifyCompleteEventArgs> handler = this.CacheVerifyComplete; 908 EventHandler<CacheVerifyCompleteEventArgs> handler = this.CacheVerifyComplete;
@@ -915,7 +915,7 @@ namespace WixToolset.Mba.Core
915 /// <summary> 915 /// <summary>
916 /// Called by the engine, raises the <see cref="CachePackageComplete"/> event. 916 /// Called by the engine, raises the <see cref="CachePackageComplete"/> event.
917 /// </summary> 917 /// </summary>
918 /// <param name="args"></param> 918 /// <param name="args">Additional arguments for this event.</param>
919 protected virtual void OnCachePackageComplete(CachePackageCompleteEventArgs args) 919 protected virtual void OnCachePackageComplete(CachePackageCompleteEventArgs args)
920 { 920 {
921 EventHandler<CachePackageCompleteEventArgs> handler = this.CachePackageComplete; 921 EventHandler<CachePackageCompleteEventArgs> handler = this.CachePackageComplete;
@@ -1227,6 +1227,7 @@ namespace WixToolset.Mba.Core
1227 /// <summary> 1227 /// <summary>
1228 /// Called by the engine, raises the <see cref="PlanForwardCompatibleBundle"/> event. 1228 /// Called by the engine, raises the <see cref="PlanForwardCompatibleBundle"/> event.
1229 /// </summary> 1229 /// </summary>
1230 /// <param name="args">Additional arguments for this event.</param>
1230 protected virtual void OnPlanForwardCompatibleBundle(PlanForwardCompatibleBundleEventArgs args) 1231 protected virtual void OnPlanForwardCompatibleBundle(PlanForwardCompatibleBundleEventArgs args)
1231 { 1232 {
1232 EventHandler<PlanForwardCompatibleBundleEventArgs> handler = this.PlanForwardCompatibleBundle; 1233 EventHandler<PlanForwardCompatibleBundleEventArgs> handler = this.PlanForwardCompatibleBundle;
@@ -1239,7 +1240,7 @@ namespace WixToolset.Mba.Core
1239 /// <summary> 1240 /// <summary>
1240 /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyBegin"/> event. 1241 /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyBegin"/> event.
1241 /// </summary> 1242 /// </summary>
1242 /// <param name="args"></param> 1243 /// <param name="args">Additional arguments for this event.</param>
1243 protected virtual void OnCacheContainerOrPayloadVerifyBegin(CacheContainerOrPayloadVerifyBeginEventArgs args) 1244 protected virtual void OnCacheContainerOrPayloadVerifyBegin(CacheContainerOrPayloadVerifyBeginEventArgs args)
1244 { 1245 {
1245 EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> handler = this.CacheContainerOrPayloadVerifyBegin; 1246 EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> handler = this.CacheContainerOrPayloadVerifyBegin;
@@ -1252,7 +1253,7 @@ namespace WixToolset.Mba.Core
1252 /// <summary> 1253 /// <summary>
1253 /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyProgress"/> event. 1254 /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyProgress"/> event.
1254 /// </summary> 1255 /// </summary>
1255 /// <param name="args"></param> 1256 /// <param name="args">Additional arguments for this event.</param>
1256 protected virtual void OnCacheContainerOrPayloadVerifyProgress(CacheContainerOrPayloadVerifyProgressEventArgs args) 1257 protected virtual void OnCacheContainerOrPayloadVerifyProgress(CacheContainerOrPayloadVerifyProgressEventArgs args)
1257 { 1258 {
1258 EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> handler = this.CacheContainerOrPayloadVerifyProgress; 1259 EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> handler = this.CacheContainerOrPayloadVerifyProgress;
@@ -1265,7 +1266,7 @@ namespace WixToolset.Mba.Core
1265 /// <summary> 1266 /// <summary>
1266 /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyComplete"/> event. 1267 /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyComplete"/> event.
1267 /// </summary> 1268 /// </summary>
1268 /// <param name="args"></param> 1269 /// <param name="args">Additional arguments for this event.</param>
1269 protected virtual void OnCacheContainerOrPayloadVerifyComplete(CacheContainerOrPayloadVerifyCompleteEventArgs args) 1270 protected virtual void OnCacheContainerOrPayloadVerifyComplete(CacheContainerOrPayloadVerifyCompleteEventArgs args)
1270 { 1271 {
1271 EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> handler = this.CacheContainerOrPayloadVerifyComplete; 1272 EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> handler = this.CacheContainerOrPayloadVerifyComplete;
@@ -1278,7 +1279,7 @@ namespace WixToolset.Mba.Core
1278 /// <summary> 1279 /// <summary>
1279 /// Called by the engine, raises the <see cref="CachePayloadExtractBegin"/> event. 1280 /// Called by the engine, raises the <see cref="CachePayloadExtractBegin"/> event.
1280 /// </summary> 1281 /// </summary>
1281 /// <param name="args"></param> 1282 /// <param name="args">Additional arguments for this event.</param>
1282 protected virtual void OnCachePayloadExtractBegin(CachePayloadExtractBeginEventArgs args) 1283 protected virtual void OnCachePayloadExtractBegin(CachePayloadExtractBeginEventArgs args)
1283 { 1284 {
1284 EventHandler<CachePayloadExtractBeginEventArgs> handler = this.CachePayloadExtractBegin; 1285 EventHandler<CachePayloadExtractBeginEventArgs> handler = this.CachePayloadExtractBegin;
@@ -1291,7 +1292,7 @@ namespace WixToolset.Mba.Core
1291 /// <summary> 1292 /// <summary>
1292 /// Called by the engine, raises the <see cref="CachePayloadExtractProgress"/> event. 1293 /// Called by the engine, raises the <see cref="CachePayloadExtractProgress"/> event.
1293 /// </summary> 1294 /// </summary>
1294 /// <param name="args"></param> 1295 /// <param name="args">Additional arguments for this event.</param>
1295 protected virtual void OnCachePayloadExtractProgress(CachePayloadExtractProgressEventArgs args) 1296 protected virtual void OnCachePayloadExtractProgress(CachePayloadExtractProgressEventArgs args)
1296 { 1297 {
1297 EventHandler<CachePayloadExtractProgressEventArgs> handler = this.CachePayloadExtractProgress; 1298 EventHandler<CachePayloadExtractProgressEventArgs> handler = this.CachePayloadExtractProgress;
@@ -1304,7 +1305,7 @@ namespace WixToolset.Mba.Core
1304 /// <summary> 1305 /// <summary>
1305 /// Called by the engine, raises the <see cref="CachePayloadExtractComplete"/> event. 1306 /// Called by the engine, raises the <see cref="CachePayloadExtractComplete"/> event.
1306 /// </summary> 1307 /// </summary>
1307 /// <param name="args"></param> 1308 /// <param name="args">Additional arguments for this event.</param>
1308 protected virtual void OnCachePayloadExtractComplete(CachePayloadExtractCompleteEventArgs args) 1309 protected virtual void OnCachePayloadExtractComplete(CachePayloadExtractCompleteEventArgs args)
1309 { 1310 {
1310 EventHandler<CachePayloadExtractCompleteEventArgs> handler = this.CachePayloadExtractComplete; 1311 EventHandler<CachePayloadExtractCompleteEventArgs> handler = this.CachePayloadExtractComplete;
@@ -1317,7 +1318,7 @@ namespace WixToolset.Mba.Core
1317 /// <summary> 1318 /// <summary>
1318 /// Called by the engine, raises the <see cref="SetUpdateBegin"/> event. 1319 /// Called by the engine, raises the <see cref="SetUpdateBegin"/> event.
1319 /// </summary> 1320 /// </summary>
1320 /// <param name="args"></param> 1321 /// <param name="args">Additional arguments for this event.</param>
1321 protected virtual void OnSetUpdateBegin(SetUpdateBeginEventArgs args) 1322 protected virtual void OnSetUpdateBegin(SetUpdateBeginEventArgs args)
1322 { 1323 {
1323 EventHandler<SetUpdateBeginEventArgs> handler = this.SetUpdateBegin; 1324 EventHandler<SetUpdateBeginEventArgs> handler = this.SetUpdateBegin;
@@ -1330,7 +1331,7 @@ namespace WixToolset.Mba.Core
1330 /// <summary> 1331 /// <summary>
1331 /// Called by the engine, raises the <see cref="SetUpdateComplete"/> event. 1332 /// Called by the engine, raises the <see cref="SetUpdateComplete"/> event.
1332 /// </summary> 1333 /// </summary>
1333 /// <param name="args"></param> 1334 /// <param name="args">Additional arguments for this event.</param>
1334 protected virtual void OnSetUpdateComplete(SetUpdateCompleteEventArgs args) 1335 protected virtual void OnSetUpdateComplete(SetUpdateCompleteEventArgs args)
1335 { 1336 {
1336 EventHandler<SetUpdateCompleteEventArgs> handler = this.SetUpdateComplete; 1337 EventHandler<SetUpdateCompleteEventArgs> handler = this.SetUpdateComplete;
@@ -1382,6 +1383,7 @@ namespace WixToolset.Mba.Core
1382 /// <summary> 1383 /// <summary>
1383 /// Called by the engine, raises the <see cref="CachePackageNonVitalValidationFailure"/> event. 1384 /// Called by the engine, raises the <see cref="CachePackageNonVitalValidationFailure"/> event.
1384 /// </summary> 1385 /// </summary>
1386 /// <param name="args">Additional arguments for this event.</param>
1385 protected virtual void OnCachePackageNonVitalValidationFailure(CachePackageNonVitalValidationFailureEventArgs args) 1387 protected virtual void OnCachePackageNonVitalValidationFailure(CachePackageNonVitalValidationFailureEventArgs args)
1386 { 1388 {
1387 EventHandler<CachePackageNonVitalValidationFailureEventArgs> handler = this.CachePackageNonVitalValidationFailure; 1389 EventHandler<CachePackageNonVitalValidationFailureEventArgs> handler = this.CachePackageNonVitalValidationFailure;
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplicationData.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplicationData.cs
index 739a08bb..13428493 100644
--- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplicationData.cs
+++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplicationData.cs
@@ -12,12 +12,12 @@ namespace WixToolset.Mba.Core
12 public class BootstrapperApplicationData : IBootstrapperApplicationData 12 public class BootstrapperApplicationData : IBootstrapperApplicationData
13 { 13 {
14 /// <summary> 14 /// <summary>
15 /// 15 /// The default file name for BootstrapperApplicationData.
16 /// </summary> 16 /// </summary>
17 public const string DefaultFileName = "BootstrapperApplicationData.xml"; 17 public const string DefaultFileName = "BootstrapperApplicationData.xml";
18 18
19 /// <summary> 19 /// <summary>
20 /// 20 /// The XML namespace for BootstrapperApplicationData.
21 /// </summary> 21 /// </summary>
22 public const string XMLNamespace = "http://wixtoolset.org/schemas/v4/BootstrapperApplicationData"; 22 public const string XMLNamespace = "http://wixtoolset.org/schemas/v4/BootstrapperApplicationData";
23 23
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs
index 88a9b9bb..ed1dc191 100644
--- a/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs
+++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs
@@ -13,19 +13,8 @@ namespace WixToolset.Mba.Core
13 public sealed class BootstrapperCommand : IBootstrapperCommand 13 public sealed class BootstrapperCommand : IBootstrapperCommand
14 { 14 {
15 /// <summary> 15 /// <summary>
16 /// 16 /// See <see cref="IBootstrapperCommand"/>.
17 /// </summary> 17 /// </summary>
18 /// <param name="action"></param>
19 /// <param name="display"></param>
20 /// <param name="commandLine"></param>
21 /// <param name="cmdShow"></param>
22 /// <param name="resume"></param>
23 /// <param name="splashScreen"></param>
24 /// <param name="relation"></param>
25 /// <param name="passthrough"></param>
26 /// <param name="layoutDirectory"></param>
27 /// <param name="bootstrapperWorkingFolder"></param>
28 /// <param name="bootstrapperApplicationDataPath"></param>
29 public BootstrapperCommand( 18 public BootstrapperCommand(
30 LaunchAction action, 19 LaunchAction action,
31 Display display, 20 Display display,
diff --git a/src/api/burn/WixToolset.Mba.Core/Engine.cs b/src/api/burn/WixToolset.Mba.Core/Engine.cs
index 3ff693c0..1120fb1c 100644
--- a/src/api/burn/WixToolset.Mba.Core/Engine.cs
+++ b/src/api/burn/WixToolset.Mba.Core/Engine.cs
@@ -6,21 +6,14 @@ namespace WixToolset.Mba.Core
6 using System.ComponentModel; 6 using System.ComponentModel;
7 using System.Runtime.InteropServices; 7 using System.Runtime.InteropServices;
8 using System.Security; 8 using System.Security;
9 using System.Text;
10 9
11 /// <summary> 10 /// <summary>
12 /// Default implementation of <see cref="IEngine"/>. 11 /// Default implementation of <see cref="IEngine"/>.
13 /// </summary> 12 /// </summary>
14 public sealed class Engine : IEngine 13 public sealed class Engine : IEngine
15 { 14 {
16 private static readonly string normalizeVersionFormatString = "{0} must be less than or equal to " + UInt16.MaxValue;
17
18 private IBootstrapperEngine engine; 15 private IBootstrapperEngine engine;
19 16
20 /// <summary>
21 /// Creates a new instance of the <see cref="Engine"/> container class.
22 /// </summary>
23 /// <param name="engine">The <see cref="IBootstrapperEngine"/> to contain.</param>
24 internal Engine(IBootstrapperEngine engine) 17 internal Engine(IBootstrapperEngine engine)
25 { 18 {
26 this.engine = engine; 19 this.engine = engine;
@@ -352,81 +345,5 @@ namespace WixToolset.Mba.Core
352 { 345 {
353 this.engine.Quit(exitCode); 346 this.engine.Quit(exitCode);
354 } 347 }
355
356 /// <summary>
357 /// Utility method for converting a <see cref="Version"/> into a <see cref="long"/>.
358 /// </summary>
359 /// <param name="version"></param>
360 /// <returns></returns>
361 public static long VersionToLong(Version version)
362 {
363 // In Windows, each version component has a max value of 65535,
364 // so we truncate the version before shifting it, which will overflow if invalid.
365 long major = (long)(ushort)version.Major << 48;
366 long minor = (long)(ushort)version.Minor << 32;
367 long build = (long)(ushort)version.Build << 16;
368 long revision = (long)(ushort)version.Revision;
369
370 return major | minor | build | revision;
371 }
372
373 /// <summary>
374 /// Utility method for converting a <see cref="long"/> into a <see cref="Version"/>.
375 /// </summary>
376 /// <param name="version"></param>
377 /// <returns></returns>
378 public static Version LongToVersion(long version)
379 {
380 int major = (int)((version & ((long)0xffff << 48)) >> 48);
381 int minor = (int)((version & ((long)0xffff << 32)) >> 32);
382 int build = (int)((version & ((long)0xffff << 16)) >> 16);
383 int revision = (int)(version & 0xffff);
384
385 return new Version(major, minor, build, revision);
386 }
387
388 /// <summary>
389 /// Verifies that Version can be represented in a <see cref="long"/>.
390 /// If the Build or Revision fields are undefined, they are set to zero.
391 /// </summary>
392 public static Version NormalizeVersion(Version version)
393 {
394 if (version == null)
395 {
396 throw new ArgumentNullException("version");
397 }
398
399 int major = version.Major;
400 int minor = version.Minor;
401 int build = version.Build;
402 int revision = version.Revision;
403
404 if (major > UInt16.MaxValue)
405 {
406 throw new ArgumentOutOfRangeException("version", String.Format(normalizeVersionFormatString, "Major"));
407 }
408 if (minor > UInt16.MaxValue)
409 {
410 throw new ArgumentOutOfRangeException("version", String.Format(normalizeVersionFormatString, "Minor"));
411 }
412 if (build > UInt16.MaxValue)
413 {
414 throw new ArgumentOutOfRangeException("version", String.Format(normalizeVersionFormatString, "Build"));
415 }
416 if (build == -1)
417 {
418 build = 0;
419 }
420 if (revision > UInt16.MaxValue)
421 {
422 throw new ArgumentOutOfRangeException("version", String.Format(normalizeVersionFormatString, "Revision"));
423 }
424 if (revision == -1)
425 {
426 revision = 0;
427 }
428
429 return new Version(major, minor, build, revision);
430 }
431 } 348 }
432} 349}
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
index 9d18c4eb..4b7f2245 100644
--- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
+++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
@@ -14,7 +14,8 @@ namespace WixToolset.Mba.Core
14 public abstract class HResultEventArgs : EventArgs 14 public abstract class HResultEventArgs : EventArgs
15 { 15 {
16 /// <summary> 16 /// <summary>
17 /// Creates a new instance of the <see cref="HResultEventArgs"/> class. 17 /// This class is for events raised by the engine.
18 /// It is not intended to be instantiated by user code.
18 /// </summary> 19 /// </summary>
19 public HResultEventArgs() 20 public HResultEventArgs()
20 { 21 {
@@ -33,7 +34,8 @@ namespace WixToolset.Mba.Core
33 public abstract class CancellableHResultEventArgs : HResultEventArgs 34 public abstract class CancellableHResultEventArgs : HResultEventArgs
34 { 35 {
35 /// <summary> 36 /// <summary>
36 /// Creates a new instance of the <see cref="CancellableHResultEventArgs"/> class. 37 /// This class is for events raised by the engine.
38 /// It is not intended to be instantiated by user code.
37 /// </summary> 39 /// </summary>
38 public CancellableHResultEventArgs(bool cancelRecommendation) 40 public CancellableHResultEventArgs(bool cancelRecommendation)
39 { 41 {
@@ -52,7 +54,10 @@ namespace WixToolset.Mba.Core
52 [Serializable] 54 [Serializable]
53 public abstract class ResultEventArgs : HResultEventArgs 55 public abstract class ResultEventArgs : HResultEventArgs
54 { 56 {
55 /// <summary /> 57 /// <summary>
58 /// This class is for events raised by the engine.
59 /// It is not intended to be instantiated by user code.
60 /// </summary>
56 public ResultEventArgs(Result recommendation, Result result) 61 public ResultEventArgs(Result recommendation, Result result)
57 { 62 {
58 this.Recommendation = recommendation; 63 this.Recommendation = recommendation;
@@ -77,9 +82,9 @@ namespace WixToolset.Mba.Core
77 public abstract class StatusEventArgs : HResultEventArgs 82 public abstract class StatusEventArgs : HResultEventArgs
78 { 83 {
79 /// <summary> 84 /// <summary>
80 /// Creates a new instance of the <see cref="StatusEventArgs"/> class. 85 /// This class is for events raised by the engine.
86 /// It is not intended to be instantiated by user code.
81 /// </summary> 87 /// </summary>
82 /// <param name="hrStatus">The return code of the operation.</param>
83 public StatusEventArgs(int hrStatus) 88 public StatusEventArgs(int hrStatus)
84 { 89 {
85 this.Status = hrStatus; 90 this.Status = hrStatus;
@@ -96,7 +101,10 @@ namespace WixToolset.Mba.Core
96 /// </summary> 101 /// </summary>
97 public abstract class ActionEventArgs<T> : StatusEventArgs 102 public abstract class ActionEventArgs<T> : StatusEventArgs
98 { 103 {
99 /// <summary /> 104 /// <summary>
105 /// This class is for events raised by the engine.
106 /// It is not intended to be instantiated by user code.
107 /// </summary>
100 public ActionEventArgs(int hrStatus, T recommendation, T action) 108 public ActionEventArgs(int hrStatus, T recommendation, T action)
101 : base(hrStatus) 109 : base(hrStatus)
102 { 110 {
@@ -121,7 +129,10 @@ namespace WixToolset.Mba.Core
121 [Serializable] 129 [Serializable]
122 public abstract class CancellableActionEventArgs<T> : CancellableHResultEventArgs 130 public abstract class CancellableActionEventArgs<T> : CancellableHResultEventArgs
123 { 131 {
124 /// <summary /> 132 /// <summary>
133 /// This class is for events raised by the engine.
134 /// It is not intended to be instantiated by user code.
135 /// </summary>
125 public CancellableActionEventArgs(bool cancelRecommendation, T recommendation, T action) 136 public CancellableActionEventArgs(bool cancelRecommendation, T recommendation, T action)
126 : base(cancelRecommendation) 137 : base(cancelRecommendation)
127 { 138 {
@@ -146,7 +157,10 @@ namespace WixToolset.Mba.Core
146 [Serializable] 157 [Serializable]
147 public abstract class CacheProgressBaseEventArgs : CancellableHResultEventArgs 158 public abstract class CacheProgressBaseEventArgs : CancellableHResultEventArgs
148 { 159 {
149 /// <summary /> 160 /// <summary>
161 /// This class is for events raised by the engine.
162 /// It is not intended to be instantiated by user code.
163 /// </summary>
150 public CacheProgressBaseEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) 164 public CacheProgressBaseEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation)
151 : base(cancelRecommendation) 165 : base(cancelRecommendation)
152 { 166 {
@@ -184,13 +198,14 @@ namespace WixToolset.Mba.Core
184 } 198 }
185 199
186 /// <summary> 200 /// <summary>
187 /// Additional arguments used when startup has begun. 201 /// Event arguments for <see cref="IDefaultBootstrapperApplication.Startup"/>.
188 /// </summary> 202 /// </summary>
189 [Serializable] 203 [Serializable]
190 public class StartupEventArgs : HResultEventArgs 204 public class StartupEventArgs : HResultEventArgs
191 { 205 {
192 /// <summary> 206 /// <summary>
193 /// Creates a new instance of the <see cref="StartupEventArgs"/> class. 207 /// This class is for events raised by the engine.
208 /// It is not intended to be instantiated by user code.
194 /// </summary> 209 /// </summary>
195 public StartupEventArgs() 210 public StartupEventArgs()
196 { 211 {
@@ -198,13 +213,14 @@ namespace WixToolset.Mba.Core
198 } 213 }
199 214
200 /// <summary> 215 /// <summary>
201 /// Additional arguments used when shutdown has begun. 216 /// Event arguments for <see cref="IDefaultBootstrapperApplication.Shutdown"/>.
202 /// </summary> 217 /// </summary>
203 [Serializable] 218 [Serializable]
204 public class ShutdownEventArgs : HResultEventArgs 219 public class ShutdownEventArgs : HResultEventArgs
205 { 220 {
206 /// <summary> 221 /// <summary>
207 /// Creates a new instance of the <see cref="ShutdownEventArgs"/> class. 222 /// This class is for events raised by the engine.
223 /// It is not intended to be instantiated by user code.
208 /// </summary> 224 /// </summary>
209 public ShutdownEventArgs(BOOTSTRAPPER_SHUTDOWN_ACTION action) 225 public ShutdownEventArgs(BOOTSTRAPPER_SHUTDOWN_ACTION action)
210 { 226 {
@@ -223,7 +239,10 @@ namespace WixToolset.Mba.Core
223 [Serializable] 239 [Serializable]
224 public class DetectBeginEventArgs : CancellableHResultEventArgs 240 public class DetectBeginEventArgs : CancellableHResultEventArgs
225 { 241 {
226 /// <summary /> 242 /// <summary>
243 /// This class is for events raised by the engine.
244 /// It is not intended to be instantiated by user code.
245 /// </summary>
227 public DetectBeginEventArgs(bool cached, RegistrationType registrationType, int packageCount, bool cancelRecommendation) 246 public DetectBeginEventArgs(bool cached, RegistrationType registrationType, int packageCount, bool cancelRecommendation)
228 : base(cancelRecommendation) 247 : base(cancelRecommendation)
229 { 248 {
@@ -254,7 +273,10 @@ namespace WixToolset.Mba.Core
254 [Serializable] 273 [Serializable]
255 public class DetectForwardCompatibleBundleEventArgs : CancellableHResultEventArgs 274 public class DetectForwardCompatibleBundleEventArgs : CancellableHResultEventArgs
256 { 275 {
257 /// <summary /> 276 /// <summary>
277 /// This class is for events raised by the engine.
278 /// It is not intended to be instantiated by user code.
279 /// </summary>
258 public DetectForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool missingFromCache, bool cancelRecommendation) 280 public DetectForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool missingFromCache, bool cancelRecommendation)
259 : base(cancelRecommendation) 281 : base(cancelRecommendation)
260 { 282 {
@@ -303,7 +325,10 @@ namespace WixToolset.Mba.Core
303 [Serializable] 325 [Serializable]
304 public class DetectUpdateBeginEventArgs : CancellableHResultEventArgs 326 public class DetectUpdateBeginEventArgs : CancellableHResultEventArgs
305 { 327 {
306 /// <summary /> 328 /// <summary>
329 /// This class is for events raised by the engine.
330 /// It is not intended to be instantiated by user code.
331 /// </summary>
307 public DetectUpdateBeginEventArgs(string updateLocation, bool cancelRecommendation, bool skipRecommendation) 332 public DetectUpdateBeginEventArgs(string updateLocation, bool cancelRecommendation, bool skipRecommendation)
308 : base(cancelRecommendation) 333 : base(cancelRecommendation)
309 { 334 {
@@ -328,7 +353,10 @@ namespace WixToolset.Mba.Core
328 [Serializable] 353 [Serializable]
329 public class DetectUpdateEventArgs : CancellableHResultEventArgs 354 public class DetectUpdateEventArgs : CancellableHResultEventArgs
330 { 355 {
331 /// <summary /> 356 /// <summary>
357 /// This class is for events raised by the engine.
358 /// It is not intended to be instantiated by user code.
359 /// </summary>
332 public DetectUpdateEventArgs(string updateLocation, long size, string hash, UpdateHashType hashAlgorithm, string version, string title, string summary, string contentType, string content, bool cancelRecommendation, bool stopRecommendation) 360 public DetectUpdateEventArgs(string updateLocation, long size, string hash, UpdateHashType hashAlgorithm, string version, string title, string summary, string contentType, string content, bool cancelRecommendation, bool stopRecommendation)
333 : base(cancelRecommendation) 361 : base(cancelRecommendation)
334 { 362 {
@@ -401,7 +429,10 @@ namespace WixToolset.Mba.Core
401 [Serializable] 429 [Serializable]
402 public class DetectUpdateCompleteEventArgs : StatusEventArgs 430 public class DetectUpdateCompleteEventArgs : StatusEventArgs
403 { 431 {
404 /// <summary /> 432 /// <summary>
433 /// This class is for events raised by the engine.
434 /// It is not intended to be instantiated by user code.
435 /// </summary>
405 public DetectUpdateCompleteEventArgs(int hrStatus, bool ignoreRecommendation) 436 public DetectUpdateCompleteEventArgs(int hrStatus, bool ignoreRecommendation)
406 : base(hrStatus) 437 : base(hrStatus)
407 { 438 {
@@ -420,7 +451,10 @@ namespace WixToolset.Mba.Core
420 [Serializable] 451 [Serializable]
421 public class DetectRelatedBundleEventArgs : CancellableHResultEventArgs 452 public class DetectRelatedBundleEventArgs : CancellableHResultEventArgs
422 { 453 {
423 /// <summary /> 454 /// <summary>
455 /// This class is for events raised by the engine.
456 /// It is not intended to be instantiated by user code.
457 /// </summary>
424 public DetectRelatedBundleEventArgs(string productCode, RelationType relationType, string bundleTag, bool perMachine, string version, bool missingFromCache, bool cancelRecommendation) 458 public DetectRelatedBundleEventArgs(string productCode, RelationType relationType, string bundleTag, bool perMachine, string version, bool missingFromCache, bool cancelRecommendation)
425 : base(cancelRecommendation) 459 : base(cancelRecommendation)
426 { 460 {
@@ -469,7 +503,10 @@ namespace WixToolset.Mba.Core
469 [Serializable] 503 [Serializable]
470 public class DetectPackageBeginEventArgs : CancellableHResultEventArgs 504 public class DetectPackageBeginEventArgs : CancellableHResultEventArgs
471 { 505 {
472 /// <summary /> 506 /// <summary>
507 /// This class is for events raised by the engine.
508 /// It is not intended to be instantiated by user code.
509 /// </summary>
473 public DetectPackageBeginEventArgs(string packageId, bool cancelRecommendation) 510 public DetectPackageBeginEventArgs(string packageId, bool cancelRecommendation)
474 : base(cancelRecommendation) 511 : base(cancelRecommendation)
475 { 512 {
@@ -488,7 +525,10 @@ namespace WixToolset.Mba.Core
488 [Serializable] 525 [Serializable]
489 public class DetectCompatibleMsiPackageEventArgs : CancellableHResultEventArgs 526 public class DetectCompatibleMsiPackageEventArgs : CancellableHResultEventArgs
490 { 527 {
491 /// <summary /> 528 /// <summary>
529 /// This class is for events raised by the engine.
530 /// It is not intended to be instantiated by user code.
531 /// </summary>
492 public DetectCompatibleMsiPackageEventArgs(string packageId, string compatiblePackageId, string compatiblePackageVersion, bool cancelRecommendation) 532 public DetectCompatibleMsiPackageEventArgs(string packageId, string compatiblePackageId, string compatiblePackageVersion, bool cancelRecommendation)
493 : base(cancelRecommendation) 533 : base(cancelRecommendation)
494 { 534 {
@@ -519,7 +559,10 @@ namespace WixToolset.Mba.Core
519 [Serializable] 559 [Serializable]
520 public class DetectRelatedMsiPackageEventArgs : CancellableHResultEventArgs 560 public class DetectRelatedMsiPackageEventArgs : CancellableHResultEventArgs
521 { 561 {
522 /// <summary /> 562 /// <summary>
563 /// This class is for events raised by the engine.
564 /// It is not intended to be instantiated by user code.
565 /// </summary>
523 public DetectRelatedMsiPackageEventArgs(string packageId, string upgradeCode, string productCode, bool perMachine, string version, RelatedOperation operation, bool cancelRecommendation) 566 public DetectRelatedMsiPackageEventArgs(string packageId, string upgradeCode, string productCode, bool perMachine, string version, RelatedOperation operation, bool cancelRecommendation)
524 : base(cancelRecommendation) 567 : base(cancelRecommendation)
525 { 568 {
@@ -568,12 +611,9 @@ namespace WixToolset.Mba.Core
568 public class DetectPatchTargetEventArgs : CancellableHResultEventArgs 611 public class DetectPatchTargetEventArgs : CancellableHResultEventArgs
569 { 612 {
570 /// <summary> 613 /// <summary>
571 /// 614 /// This class is for events raised by the engine.
615 /// It is not intended to be instantiated by user code.
572 /// </summary> 616 /// </summary>
573 /// <param name="packageId"></param>
574 /// <param name="productCode"></param>
575 /// <param name="state"></param>
576 /// <param name="cancelRecommendation"></param>
577 public DetectPatchTargetEventArgs(string packageId, string productCode, PackageState state, bool cancelRecommendation) 617 public DetectPatchTargetEventArgs(string packageId, string productCode, PackageState state, bool cancelRecommendation)
578 : base(cancelRecommendation) 618 : base(cancelRecommendation)
579 { 619 {
@@ -603,7 +643,10 @@ namespace WixToolset.Mba.Core
603 /// </summary> 643 /// </summary>
604 public class DetectMsiFeatureEventArgs : CancellableHResultEventArgs 644 public class DetectMsiFeatureEventArgs : CancellableHResultEventArgs
605 { 645 {
606 /// <summary /> 646 /// <summary>
647 /// This class is for events raised by the engine.
648 /// It is not intended to be instantiated by user code.
649 /// </summary>
607 public DetectMsiFeatureEventArgs(string packageId, string featureId, FeatureState state, bool cancelRecommendation) 650 public DetectMsiFeatureEventArgs(string packageId, string featureId, FeatureState state, bool cancelRecommendation)
608 : base(cancelRecommendation) 651 : base(cancelRecommendation)
609 { 652 {
@@ -629,12 +672,15 @@ namespace WixToolset.Mba.Core
629 } 672 }
630 673
631 /// <summary> 674 /// <summary>
632 /// Additional arguments for <see cref="IDefaultBootstrapperApplication.DetectPackageComplete"/>. 675 /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectPackageComplete"/>.
633 /// </summary> 676 /// </summary>
634 [Serializable] 677 [Serializable]
635 public class DetectPackageCompleteEventArgs : StatusEventArgs 678 public class DetectPackageCompleteEventArgs : StatusEventArgs
636 { 679 {
637 /// <summary /> 680 /// <summary>
681 /// This class is for events raised by the engine.
682 /// It is not intended to be instantiated by user code.
683 /// </summary>
638 public DetectPackageCompleteEventArgs(string packageId, int hrStatus, PackageState state, bool cached) 684 public DetectPackageCompleteEventArgs(string packageId, int hrStatus, PackageState state, bool cached)
639 : base(hrStatus) 685 : base(hrStatus)
640 { 686 {
@@ -660,16 +706,15 @@ namespace WixToolset.Mba.Core
660 } 706 }
661 707
662 /// <summary> 708 /// <summary>
663 /// Additional arguments used when the detection phase has completed. 709 /// Event arguments used when the detection phase has completed.
664 /// </summary> 710 /// </summary>
665 [Serializable] 711 [Serializable]
666 public class DetectCompleteEventArgs : StatusEventArgs 712 public class DetectCompleteEventArgs : StatusEventArgs
667 { 713 {
668 /// <summary> 714 /// <summary>
669 /// Creates a new instance of the <see cref="DetectCompleteEventArgs"/> class. 715 /// This class is for events raised by the engine.
716 /// It is not intended to be instantiated by user code.
670 /// </summary> 717 /// </summary>
671 /// <param name="hrStatus">The return code of the operation.</param>
672 /// <param name="eligibleForCleanup"></param>
673 public DetectCompleteEventArgs(int hrStatus, bool eligibleForCleanup) 718 public DetectCompleteEventArgs(int hrStatus, bool eligibleForCleanup)
674 : base(hrStatus) 719 : base(hrStatus)
675 { 720 {
@@ -688,7 +733,10 @@ namespace WixToolset.Mba.Core
688 [Serializable] 733 [Serializable]
689 public class PlanBeginEventArgs : CancellableHResultEventArgs 734 public class PlanBeginEventArgs : CancellableHResultEventArgs
690 { 735 {
691 /// <summary /> 736 /// <summary>
737 /// This class is for events raised by the engine.
738 /// It is not intended to be instantiated by user code.
739 /// </summary>
692 public PlanBeginEventArgs(int packageCount, bool cancelRecommendation) 740 public PlanBeginEventArgs(int packageCount, bool cancelRecommendation)
693 : base(cancelRecommendation) 741 : base(cancelRecommendation)
694 { 742 {
@@ -707,7 +755,10 @@ namespace WixToolset.Mba.Core
707 [Serializable] 755 [Serializable]
708 public class PlanRelatedBundleEventArgs : CancellableHResultEventArgs 756 public class PlanRelatedBundleEventArgs : CancellableHResultEventArgs
709 { 757 {
710 /// <summary /> 758 /// <summary>
759 /// This class is for events raised by the engine.
760 /// It is not intended to be instantiated by user code.
761 /// </summary>
711 public PlanRelatedBundleEventArgs(string bundleId, RequestState recommendedState, RequestState state, bool cancelRecommendation) 762 public PlanRelatedBundleEventArgs(string bundleId, RequestState recommendedState, RequestState state, bool cancelRecommendation)
712 : base(cancelRecommendation) 763 : base(cancelRecommendation)
713 { 764 {
@@ -738,7 +789,10 @@ namespace WixToolset.Mba.Core
738 [Serializable] 789 [Serializable]
739 public class PlanRelatedBundleTypeEventArgs : CancellableHResultEventArgs 790 public class PlanRelatedBundleTypeEventArgs : CancellableHResultEventArgs
740 { 791 {
741 /// <summary /> 792 /// <summary>
793 /// This class is for events raised by the engine.
794 /// It is not intended to be instantiated by user code.
795 /// </summary>
742 public PlanRelatedBundleTypeEventArgs(string bundleId, RelatedBundlePlanType recommendedType, RelatedBundlePlanType type, bool cancelRecommendation) 796 public PlanRelatedBundleTypeEventArgs(string bundleId, RelatedBundlePlanType recommendedType, RelatedBundlePlanType type, bool cancelRecommendation)
743 : base(cancelRecommendation) 797 : base(cancelRecommendation)
744 { 798 {
@@ -769,7 +823,10 @@ namespace WixToolset.Mba.Core
769 [Serializable] 823 [Serializable]
770 public class PlanPackageBeginEventArgs : CancellableHResultEventArgs 824 public class PlanPackageBeginEventArgs : CancellableHResultEventArgs
771 { 825 {
772 /// <summary /> 826 /// <summary>
827 /// This class is for events raised by the engine.
828 /// It is not intended to be instantiated by user code.
829 /// </summary>
773 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) 830 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)
774 : base(cancelRecommendation) 831 : base(cancelRecommendation)
775 { 832 {
@@ -836,7 +893,10 @@ namespace WixToolset.Mba.Core
836 [Serializable] 893 [Serializable]
837 public class PlanCompatibleMsiPackageBeginEventArgs : CancellableHResultEventArgs 894 public class PlanCompatibleMsiPackageBeginEventArgs : CancellableHResultEventArgs
838 { 895 {
839 /// <summary /> 896 /// <summary>
897 /// This class is for events raised by the engine.
898 /// It is not intended to be instantiated by user code.
899 /// </summary>
840 public PlanCompatibleMsiPackageBeginEventArgs(string packageId, string compatiblePackageId, string compatiblePackageVersion, bool recommendedRemove, bool requestRemove, bool cancelRecommendation) 900 public PlanCompatibleMsiPackageBeginEventArgs(string packageId, string compatiblePackageId, string compatiblePackageVersion, bool recommendedRemove, bool requestRemove, bool cancelRecommendation)
841 : base(cancelRecommendation) 901 : base(cancelRecommendation)
842 { 902 {
@@ -879,7 +939,10 @@ namespace WixToolset.Mba.Core
879 [Serializable] 939 [Serializable]
880 public class PlanCompatibleMsiPackageCompleteEventArgs : StatusEventArgs 940 public class PlanCompatibleMsiPackageCompleteEventArgs : StatusEventArgs
881 { 941 {
882 /// <summary /> 942 /// <summary>
943 /// This class is for events raised by the engine.
944 /// It is not intended to be instantiated by user code.
945 /// </summary>
883 public PlanCompatibleMsiPackageCompleteEventArgs(string packageId, string compatiblePackageId, int hrStatus, bool requestedRemove) 946 public PlanCompatibleMsiPackageCompleteEventArgs(string packageId, string compatiblePackageId, int hrStatus, bool requestedRemove)
884 : base(hrStatus) 947 : base(hrStatus)
885 { 948 {
@@ -910,7 +973,10 @@ namespace WixToolset.Mba.Core
910 [Serializable] 973 [Serializable]
911 public class PlanRollbackBoundaryEventArgs : CancellableHResultEventArgs 974 public class PlanRollbackBoundaryEventArgs : CancellableHResultEventArgs
912 { 975 {
913 /// <summary /> 976 /// <summary>
977 /// This class is for events raised by the engine.
978 /// It is not intended to be instantiated by user code.
979 /// </summary>
914 public PlanRollbackBoundaryEventArgs(string rollbackBoundaryId, bool recommendedTransaction, bool transaction, bool cancelRecommendation) 980 public PlanRollbackBoundaryEventArgs(string rollbackBoundaryId, bool recommendedTransaction, bool transaction, bool cancelRecommendation)
915 : base(cancelRecommendation) 981 : base(cancelRecommendation)
916 { 982 {
@@ -944,13 +1010,9 @@ namespace WixToolset.Mba.Core
944 public class PlanPatchTargetEventArgs : CancellableHResultEventArgs 1010 public class PlanPatchTargetEventArgs : CancellableHResultEventArgs
945 { 1011 {
946 /// <summary> 1012 /// <summary>
947 /// 1013 /// This class is for events raised by the engine.
1014 /// It is not intended to be instantiated by user code.
948 /// </summary> 1015 /// </summary>
949 /// <param name="packageId"></param>
950 /// <param name="productCode"></param>
951 /// <param name="recommendedState"></param>
952 /// <param name="state"></param>
953 /// <param name="cancelRecommendation"></param>
954 public PlanPatchTargetEventArgs(string packageId, string productCode, RequestState recommendedState, RequestState state, bool cancelRecommendation) 1016 public PlanPatchTargetEventArgs(string packageId, string productCode, RequestState recommendedState, RequestState state, bool cancelRecommendation)
955 : base(cancelRecommendation) 1017 : base(cancelRecommendation)
956 { 1018 {
@@ -987,7 +1049,10 @@ namespace WixToolset.Mba.Core
987 [Serializable] 1049 [Serializable]
988 public class PlanMsiFeatureEventArgs : CancellableHResultEventArgs 1050 public class PlanMsiFeatureEventArgs : CancellableHResultEventArgs
989 { 1051 {
990 /// <summary /> 1052 /// <summary>
1053 /// This class is for events raised by the engine.
1054 /// It is not intended to be instantiated by user code.
1055 /// </summary>
991 public PlanMsiFeatureEventArgs(string packageId, string featureId, FeatureState recommendedState, FeatureState state, bool cancelRecommendation) 1056 public PlanMsiFeatureEventArgs(string packageId, string featureId, FeatureState recommendedState, FeatureState state, bool cancelRecommendation)
992 : base(cancelRecommendation) 1057 : base(cancelRecommendation)
993 { 1058 {
@@ -1024,7 +1089,10 @@ namespace WixToolset.Mba.Core
1024 [Serializable] 1089 [Serializable]
1025 public class PlanMsiPackageEventArgs : CancellableHResultEventArgs 1090 public class PlanMsiPackageEventArgs : CancellableHResultEventArgs
1026 { 1091 {
1027 /// <summary /> 1092 /// <summary>
1093 /// This class is for events raised by the engine.
1094 /// It is not intended to be instantiated by user code.
1095 /// </summary>
1028 public PlanMsiPackageEventArgs(string packageId, bool shouldExecute, ActionState action, BOOTSTRAPPER_MSI_FILE_VERSIONING recommendedFileVersioning, bool cancelRecommendation, BURN_MSI_PROPERTY actionMsiProperty, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler, BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning) 1096 public PlanMsiPackageEventArgs(string packageId, bool shouldExecute, ActionState action, BOOTSTRAPPER_MSI_FILE_VERSIONING recommendedFileVersioning, bool cancelRecommendation, BURN_MSI_PROPERTY actionMsiProperty, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler, BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning)
1029 : base(cancelRecommendation) 1097 : base(cancelRecommendation)
1030 { 1098 {
@@ -1086,11 +1154,9 @@ namespace WixToolset.Mba.Core
1086 public class PlanPackageCompleteEventArgs : StatusEventArgs 1154 public class PlanPackageCompleteEventArgs : StatusEventArgs
1087 { 1155 {
1088 /// <summary> 1156 /// <summary>
1089 /// 1157 /// This class is for events raised by the engine.
1158 /// It is not intended to be instantiated by user code.
1090 /// </summary> 1159 /// </summary>
1091 /// <param name="packageId"></param>
1092 /// <param name="hrStatus"></param>
1093 /// <param name="requested"></param>
1094 public PlanPackageCompleteEventArgs(string packageId, int hrStatus, RequestState requested) 1160 public PlanPackageCompleteEventArgs(string packageId, int hrStatus, RequestState requested)
1095 : base(hrStatus) 1161 : base(hrStatus)
1096 { 1162 {
@@ -1115,7 +1181,10 @@ namespace WixToolset.Mba.Core
1115 [Serializable] 1181 [Serializable]
1116 public class PlannedCompatiblePackageEventArgs : HResultEventArgs 1182 public class PlannedCompatiblePackageEventArgs : HResultEventArgs
1117 { 1183 {
1118 /// <summary /> 1184 /// <summary>
1185 /// This class is for events raised by the engine.
1186 /// It is not intended to be instantiated by user code.
1187 /// </summary>
1119 public PlannedCompatiblePackageEventArgs(string packageId, string compatiblePackageId, bool remove) 1188 public PlannedCompatiblePackageEventArgs(string packageId, string compatiblePackageId, bool remove)
1120 { 1189 {
1121 this.PackageId = packageId; 1190 this.PackageId = packageId;
@@ -1145,7 +1214,10 @@ namespace WixToolset.Mba.Core
1145 [Serializable] 1214 [Serializable]
1146 public class PlannedPackageEventArgs : HResultEventArgs 1215 public class PlannedPackageEventArgs : HResultEventArgs
1147 { 1216 {
1148 /// <summary /> 1217 /// <summary>
1218 /// This class is for events raised by the engine.
1219 /// It is not intended to be instantiated by user code.
1220 /// </summary>
1149 public PlannedPackageEventArgs(string packageId, ActionState execute, ActionState rollback, bool cache, bool uncache) 1221 public PlannedPackageEventArgs(string packageId, ActionState execute, ActionState rollback, bool cache, bool uncache)
1150 { 1222 {
1151 this.PackageId = packageId; 1223 this.PackageId = packageId;
@@ -1182,15 +1254,15 @@ namespace WixToolset.Mba.Core
1182 } 1254 }
1183 1255
1184 /// <summary> 1256 /// <summary>
1185 /// Additional arguments used when the engine has completed planning the installation. 1257 /// Event arguments for <see cref="IDefaultBootstrapperApplication.PlanComplete"/>.
1186 /// </summary> 1258 /// </summary>
1187 [Serializable] 1259 [Serializable]
1188 public class PlanCompleteEventArgs : StatusEventArgs 1260 public class PlanCompleteEventArgs : StatusEventArgs
1189 { 1261 {
1190 /// <summary> 1262 /// <summary>
1191 /// Creates a new instance of the <see cref="PlanCompleteEventArgs"/> class. 1263 /// This class is for events raised by the engine.
1264 /// It is not intended to be instantiated by user code.
1192 /// </summary> 1265 /// </summary>
1193 /// <param name="hrStatus">The return code of the operation.</param>
1194 public PlanCompleteEventArgs(int hrStatus) 1266 public PlanCompleteEventArgs(int hrStatus)
1195 : base(hrStatus) 1267 : base(hrStatus)
1196 { 1268 {
@@ -1203,7 +1275,10 @@ namespace WixToolset.Mba.Core
1203 [Serializable] 1275 [Serializable]
1204 public class PlanForwardCompatibleBundleEventArgs : CancellableHResultEventArgs 1276 public class PlanForwardCompatibleBundleEventArgs : CancellableHResultEventArgs
1205 { 1277 {
1206 /// <summary /> 1278 /// <summary>
1279 /// This class is for events raised by the engine.
1280 /// It is not intended to be instantiated by user code.
1281 /// </summary>
1207 public PlanForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool recommendedIgnoreBundle, bool cancelRecommendation, bool ignoreBundle) 1282 public PlanForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool recommendedIgnoreBundle, bool cancelRecommendation, bool ignoreBundle)
1208 : base(cancelRecommendation) 1283 : base(cancelRecommendation)
1209 { 1284 {
@@ -1258,7 +1333,10 @@ namespace WixToolset.Mba.Core
1258 [Serializable] 1333 [Serializable]
1259 public class ApplyBeginEventArgs : CancellableHResultEventArgs 1334 public class ApplyBeginEventArgs : CancellableHResultEventArgs
1260 { 1335 {
1261 /// <summary /> 1336 /// <summary>
1337 /// This class is for events raised by the engine.
1338 /// It is not intended to be instantiated by user code.
1339 /// </summary>
1262 public ApplyBeginEventArgs(int phaseCount, bool cancelRecommendation) 1340 public ApplyBeginEventArgs(int phaseCount, bool cancelRecommendation)
1263 : base(cancelRecommendation) 1341 : base(cancelRecommendation)
1264 { 1342 {
@@ -1278,7 +1356,10 @@ namespace WixToolset.Mba.Core
1278 [Serializable] 1356 [Serializable]
1279 public class ElevateBeginEventArgs : CancellableHResultEventArgs 1357 public class ElevateBeginEventArgs : CancellableHResultEventArgs
1280 { 1358 {
1281 /// <summary /> 1359 /// <summary>
1360 /// This class is for events raised by the engine.
1361 /// It is not intended to be instantiated by user code.
1362 /// </summary>
1282 public ElevateBeginEventArgs(bool cancelRecommendation) 1363 public ElevateBeginEventArgs(bool cancelRecommendation)
1283 : base(cancelRecommendation) 1364 : base(cancelRecommendation)
1284 { 1365 {
@@ -1286,15 +1367,15 @@ namespace WixToolset.Mba.Core
1286 } 1367 }
1287 1368
1288 /// <summary> 1369 /// <summary>
1289 /// Additional arguments used when the engine has completed starting the elevated process. 1370 /// Event arguments for <see cref="IDefaultBootstrapperApplication.ElevateComplete"/>.
1290 /// </summary> 1371 /// </summary>
1291 [Serializable] 1372 [Serializable]
1292 public class ElevateCompleteEventArgs : StatusEventArgs 1373 public class ElevateCompleteEventArgs : StatusEventArgs
1293 { 1374 {
1294 /// <summary> 1375 /// <summary>
1295 /// Creates a new instance of the <see cref="ElevateCompleteEventArgs"/> class. 1376 /// This class is for events raised by the engine.
1377 /// It is not intended to be instantiated by user code.
1296 /// </summary> 1378 /// </summary>
1297 /// <param name="hrStatus">The return code of the operation.</param>
1298 public ElevateCompleteEventArgs(int hrStatus) 1379 public ElevateCompleteEventArgs(int hrStatus)
1299 : base(hrStatus) 1380 : base(hrStatus)
1300 { 1381 {
@@ -1307,7 +1388,10 @@ namespace WixToolset.Mba.Core
1307 [Serializable] 1388 [Serializable]
1308 public class ProgressEventArgs : CancellableHResultEventArgs 1389 public class ProgressEventArgs : CancellableHResultEventArgs
1309 { 1390 {
1310 /// <summary /> 1391 /// <summary>
1392 /// This class is for events raised by the engine.
1393 /// It is not intended to be instantiated by user code.
1394 /// </summary>
1311 public ProgressEventArgs(int progressPercentage, int overallPercentage, bool cancelRecommendation) 1395 public ProgressEventArgs(int progressPercentage, int overallPercentage, bool cancelRecommendation)
1312 : base(cancelRecommendation) 1396 : base(cancelRecommendation)
1313 { 1397 {
@@ -1332,7 +1416,10 @@ namespace WixToolset.Mba.Core
1332 [Serializable] 1416 [Serializable]
1333 public class ErrorEventArgs : ResultEventArgs 1417 public class ErrorEventArgs : ResultEventArgs
1334 { 1418 {
1335 /// <summary /> 1419 /// <summary>
1420 /// This class is for events raised by the engine.
1421 /// It is not intended to be instantiated by user code.
1422 /// </summary>
1336 public ErrorEventArgs(ErrorType errorType, string packageId, int errorCode, string errorMessage, int dwUIHint, string[] data, Result recommendation, Result result) 1423 public ErrorEventArgs(ErrorType errorType, string packageId, int errorCode, string errorMessage, int dwUIHint, string[] data, Result recommendation, Result result)
1337 : base(recommendation, result) 1424 : base(recommendation, result)
1338 { 1425 {
@@ -1381,7 +1468,10 @@ namespace WixToolset.Mba.Core
1381 [Serializable] 1468 [Serializable]
1382 public class RegisterBeginEventArgs : CancellableHResultEventArgs 1469 public class RegisterBeginEventArgs : CancellableHResultEventArgs
1383 { 1470 {
1384 /// <summary /> 1471 /// <summary>
1472 /// This class is for events raised by the engine.
1473 /// It is not intended to be instantiated by user code.
1474 /// </summary>
1385 public RegisterBeginEventArgs(RegistrationType recommendedRegistrationType, bool cancelRecommendation, RegistrationType registrationType) 1475 public RegisterBeginEventArgs(RegistrationType recommendedRegistrationType, bool cancelRecommendation, RegistrationType registrationType)
1386 : base(cancelRecommendation) 1476 : base(cancelRecommendation)
1387 { 1477 {
@@ -1406,7 +1496,10 @@ namespace WixToolset.Mba.Core
1406 [Serializable] 1496 [Serializable]
1407 public class RegisterCompleteEventArgs : StatusEventArgs 1497 public class RegisterCompleteEventArgs : StatusEventArgs
1408 { 1498 {
1409 /// <summary /> 1499 /// <summary>
1500 /// This class is for events raised by the engine.
1501 /// It is not intended to be instantiated by user code.
1502 /// </summary>
1410 public RegisterCompleteEventArgs(int hrStatus) 1503 public RegisterCompleteEventArgs(int hrStatus)
1411 : base(hrStatus) 1504 : base(hrStatus)
1412 { 1505 {
@@ -1419,7 +1512,10 @@ namespace WixToolset.Mba.Core
1419 [Serializable] 1512 [Serializable]
1420 public class UnregisterBeginEventArgs : HResultEventArgs 1513 public class UnregisterBeginEventArgs : HResultEventArgs
1421 { 1514 {
1422 /// <summary /> 1515 /// <summary>
1516 /// This class is for events raised by the engine.
1517 /// It is not intended to be instantiated by user code.
1518 /// </summary>
1423 public UnregisterBeginEventArgs(RegistrationType recommendedRegistrationType, RegistrationType registrationType) 1519 public UnregisterBeginEventArgs(RegistrationType recommendedRegistrationType, RegistrationType registrationType)
1424 { 1520 {
1425 this.RecommendedRegistrationType = recommendedRegistrationType; 1521 this.RecommendedRegistrationType = recommendedRegistrationType;
@@ -1443,7 +1539,10 @@ namespace WixToolset.Mba.Core
1443 [Serializable] 1539 [Serializable]
1444 public class UnregisterCompleteEventArgs : StatusEventArgs 1540 public class UnregisterCompleteEventArgs : StatusEventArgs
1445 { 1541 {
1446 /// <summary /> 1542 /// <summary>
1543 /// This class is for events raised by the engine.
1544 /// It is not intended to be instantiated by user code.
1545 /// </summary>
1447 public UnregisterCompleteEventArgs(int hrStatus) 1546 public UnregisterCompleteEventArgs(int hrStatus)
1448 : base(hrStatus) 1547 : base(hrStatus)
1449 { 1548 {
@@ -1456,7 +1555,10 @@ namespace WixToolset.Mba.Core
1456 [Serializable] 1555 [Serializable]
1457 public class CacheBeginEventArgs : CancellableHResultEventArgs 1556 public class CacheBeginEventArgs : CancellableHResultEventArgs
1458 { 1557 {
1459 /// <summary /> 1558 /// <summary>
1559 /// This class is for events raised by the engine.
1560 /// It is not intended to be instantiated by user code.
1561 /// </summary>
1460 public CacheBeginEventArgs(bool cancelRecommendation) 1562 public CacheBeginEventArgs(bool cancelRecommendation)
1461 : base(cancelRecommendation) 1563 : base(cancelRecommendation)
1462 { 1564 {
@@ -1469,7 +1571,10 @@ namespace WixToolset.Mba.Core
1469 [Serializable] 1571 [Serializable]
1470 public class CacheAcquireBeginEventArgs : CancellableActionEventArgs<CacheOperation> 1572 public class CacheAcquireBeginEventArgs : CancellableActionEventArgs<CacheOperation>
1471 { 1573 {
1472 /// <summary /> 1574 /// <summary>
1575 /// This class is for events raised by the engine.
1576 /// It is not intended to be instantiated by user code.
1577 /// </summary>
1473 public CacheAcquireBeginEventArgs(string packageOrContainerId, string payloadId, string source, string downloadUrl, string payloadContainerId, CacheOperation recommendation, CacheOperation action, bool cancelRecommendation) 1578 public CacheAcquireBeginEventArgs(string packageOrContainerId, string payloadId, string source, string downloadUrl, string payloadContainerId, CacheOperation recommendation, CacheOperation action, bool cancelRecommendation)
1474 : base(cancelRecommendation, recommendation, action) 1579 : base(cancelRecommendation, recommendation, action)
1475 { 1580 {
@@ -1512,7 +1617,10 @@ namespace WixToolset.Mba.Core
1512 [Serializable] 1617 [Serializable]
1513 public class CacheAcquireProgressEventArgs : CacheProgressBaseEventArgs 1618 public class CacheAcquireProgressEventArgs : CacheProgressBaseEventArgs
1514 { 1619 {
1515 /// <summary /> 1620 /// <summary>
1621 /// This class is for events raised by the engine.
1622 /// It is not intended to be instantiated by user code.
1623 /// </summary>
1516 public CacheAcquireProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) 1624 public CacheAcquireProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation)
1517 : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation) 1625 : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation)
1518 { 1626 {
@@ -1525,7 +1633,10 @@ namespace WixToolset.Mba.Core
1525 [Serializable] 1633 [Serializable]
1526 public class CacheAcquireCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION> 1634 public class CacheAcquireCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION>
1527 { 1635 {
1528 /// <summary /> 1636 /// <summary>
1637 /// This class is for events raised by the engine.
1638 /// It is not intended to be instantiated by user code.
1639 /// </summary>
1529 public CacheAcquireCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus, BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION action) 1640 public CacheAcquireCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus, BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION action)
1530 : base(hrStatus, recommendation, action) 1641 : base(hrStatus, recommendation, action)
1531 { 1642 {
@@ -1550,7 +1661,10 @@ namespace WixToolset.Mba.Core
1550 [Serializable] 1661 [Serializable]
1551 public class CacheVerifyBeginEventArgs : CancellableHResultEventArgs 1662 public class CacheVerifyBeginEventArgs : CancellableHResultEventArgs
1552 { 1663 {
1553 /// <summary /> 1664 /// <summary>
1665 /// This class is for events raised by the engine.
1666 /// It is not intended to be instantiated by user code.
1667 /// </summary>
1554 public CacheVerifyBeginEventArgs(string packageOrContainerId, string payloadId, bool cancelRecommendation) 1668 public CacheVerifyBeginEventArgs(string packageOrContainerId, string payloadId, bool cancelRecommendation)
1555 : base(cancelRecommendation) 1669 : base(cancelRecommendation)
1556 { 1670 {
@@ -1575,7 +1689,10 @@ namespace WixToolset.Mba.Core
1575 [Serializable] 1689 [Serializable]
1576 public class CacheVerifyProgressEventArgs : CacheProgressBaseEventArgs 1690 public class CacheVerifyProgressEventArgs : CacheProgressBaseEventArgs
1577 { 1691 {
1578 /// <summary /> 1692 /// <summary>
1693 /// This class is for events raised by the engine.
1694 /// It is not intended to be instantiated by user code.
1695 /// </summary>
1579 public CacheVerifyProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, CacheVerifyStep verifyStep, bool cancelRecommendation) 1696 public CacheVerifyProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, CacheVerifyStep verifyStep, bool cancelRecommendation)
1580 : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation) 1697 : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation)
1581 { 1698 {
@@ -1594,7 +1711,10 @@ namespace WixToolset.Mba.Core
1594 [Serializable] 1711 [Serializable]
1595 public class CacheVerifyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION> 1712 public class CacheVerifyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION>
1596 { 1713 {
1597 /// <summary /> 1714 /// <summary>
1715 /// This class is for events raised by the engine.
1716 /// It is not intended to be instantiated by user code.
1717 /// </summary>
1598 public CacheVerifyCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action) 1718 public CacheVerifyCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action)
1599 : base(hrStatus, recommendation, action) 1719 : base(hrStatus, recommendation, action)
1600 { 1720 {
@@ -1614,15 +1734,15 @@ namespace WixToolset.Mba.Core
1614 } 1734 }
1615 1735
1616 /// <summary> 1736 /// <summary>
1617 /// Additional arguments used after the engine has cached the installation sources. 1737 /// Event arguments for <see cref="IDefaultBootstrapperApplication.CacheComplete"/>.
1618 /// </summary> 1738 /// </summary>
1619 [Serializable] 1739 [Serializable]
1620 public class CacheCompleteEventArgs : StatusEventArgs 1740 public class CacheCompleteEventArgs : StatusEventArgs
1621 { 1741 {
1622 /// <summary> 1742 /// <summary>
1623 /// Creates a new instance of the <see cref="CacheCompleteEventArgs"/> class. 1743 /// This class is for events raised by the engine.
1744 /// It is not intended to be instantiated by user code.
1624 /// </summary> 1745 /// </summary>
1625 /// <param name="hrStatus">The return code of the operation.</param>
1626 public CacheCompleteEventArgs(int hrStatus) 1746 public CacheCompleteEventArgs(int hrStatus)
1627 : base(hrStatus) 1747 : base(hrStatus)
1628 { 1748 {
@@ -1635,7 +1755,10 @@ namespace WixToolset.Mba.Core
1635 [Serializable] 1755 [Serializable]
1636 public class ExecuteBeginEventArgs : CancellableHResultEventArgs 1756 public class ExecuteBeginEventArgs : CancellableHResultEventArgs
1637 { 1757 {
1638 /// <summary /> 1758 /// <summary>
1759 /// This class is for events raised by the engine.
1760 /// It is not intended to be instantiated by user code.
1761 /// </summary>
1639 public ExecuteBeginEventArgs(int packageCount, bool cancelRecommendation) 1762 public ExecuteBeginEventArgs(int packageCount, bool cancelRecommendation)
1640 : base(cancelRecommendation) 1763 : base(cancelRecommendation)
1641 { 1764 {
@@ -1654,7 +1777,10 @@ namespace WixToolset.Mba.Core
1654 [Serializable] 1777 [Serializable]
1655 public class ExecutePackageBeginEventArgs : CancellableHResultEventArgs 1778 public class ExecutePackageBeginEventArgs : CancellableHResultEventArgs
1656 { 1779 {
1657 /// <summary /> 1780 /// <summary>
1781 /// This class is for events raised by the engine.
1782 /// It is not intended to be instantiated by user code.
1783 /// </summary>
1658 public ExecutePackageBeginEventArgs(string packageId, bool shouldExecute, ActionState action, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler, bool cancelRecommendation) 1784 public ExecutePackageBeginEventArgs(string packageId, bool shouldExecute, ActionState action, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler, bool cancelRecommendation)
1659 : base(cancelRecommendation) 1785 : base(cancelRecommendation)
1660 { 1786 {
@@ -1697,7 +1823,10 @@ namespace WixToolset.Mba.Core
1697 [Serializable] 1823 [Serializable]
1698 public class ExecutePatchTargetEventArgs : CancellableHResultEventArgs 1824 public class ExecutePatchTargetEventArgs : CancellableHResultEventArgs
1699 { 1825 {
1700 /// <summary /> 1826 /// <summary>
1827 /// This class is for events raised by the engine.
1828 /// It is not intended to be instantiated by user code.
1829 /// </summary>
1701 public ExecutePatchTargetEventArgs(string packageId, string targetProductCode, bool cancelRecommendation) 1830 public ExecutePatchTargetEventArgs(string packageId, string targetProductCode, bool cancelRecommendation)
1702 : base(cancelRecommendation) 1831 : base(cancelRecommendation)
1703 { 1832 {
@@ -1722,7 +1851,10 @@ namespace WixToolset.Mba.Core
1722 [Serializable] 1851 [Serializable]
1723 public class ExecuteMsiMessageEventArgs : ResultEventArgs 1852 public class ExecuteMsiMessageEventArgs : ResultEventArgs
1724 { 1853 {
1725 /// <summary /> 1854 /// <summary>
1855 /// This class is for events raised by the engine.
1856 /// It is not intended to be instantiated by user code.
1857 /// </summary>
1726 public ExecuteMsiMessageEventArgs(string packageId, InstallMessage messageType, int dwUIHint, string message, string[] data, Result recommendation, Result result) 1858 public ExecuteMsiMessageEventArgs(string packageId, InstallMessage messageType, int dwUIHint, string message, string[] data, Result recommendation, Result result)
1727 : base(recommendation, result) 1859 : base(recommendation, result)
1728 { 1860 {
@@ -1765,7 +1897,10 @@ namespace WixToolset.Mba.Core
1765 [Serializable] 1897 [Serializable]
1766 public class ExecuteFilesInUseEventArgs : ResultEventArgs 1898 public class ExecuteFilesInUseEventArgs : ResultEventArgs
1767 { 1899 {
1768 /// <summary /> 1900 /// <summary>
1901 /// This class is for events raised by the engine.
1902 /// It is not intended to be instantiated by user code.
1903 /// </summary>
1769 public ExecuteFilesInUseEventArgs(string packageId, string[] files, Result recommendation, FilesInUseType source, Result result) 1904 public ExecuteFilesInUseEventArgs(string packageId, string[] files, Result recommendation, FilesInUseType source, Result result)
1770 : base(recommendation, result) 1905 : base(recommendation, result)
1771 { 1906 {
@@ -1792,12 +1927,14 @@ namespace WixToolset.Mba.Core
1792 1927
1793 /// <summary> 1928 /// <summary>
1794 /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/> 1929 /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>
1795 /// Additional arguments used when the engine has completed installing a specific package.
1796 /// </summary> 1930 /// </summary>
1797 [Serializable] 1931 [Serializable]
1798 public class ExecutePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION> 1932 public class ExecutePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION>
1799 { 1933 {
1800 /// <summary /> 1934 /// <summary>
1935 /// This class is for events raised by the engine.
1936 /// It is not intended to be instantiated by user code.
1937 /// </summary>
1801 public ExecutePackageCompleteEventArgs(string packageId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action) 1938 public ExecutePackageCompleteEventArgs(string packageId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action)
1802 : base(hrStatus, recommendation, action) 1939 : base(hrStatus, recommendation, action)
1803 { 1940 {
@@ -1817,15 +1954,15 @@ namespace WixToolset.Mba.Core
1817 } 1954 }
1818 1955
1819 /// <summary> 1956 /// <summary>
1820 /// Additional arguments used when the engine has completed installing packages. 1957 /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecuteComplete"/>.
1821 /// </summary> 1958 /// </summary>
1822 [Serializable] 1959 [Serializable]
1823 public class ExecuteCompleteEventArgs : StatusEventArgs 1960 public class ExecuteCompleteEventArgs : StatusEventArgs
1824 { 1961 {
1825 /// <summary> 1962 /// <summary>
1826 /// Creates a new instance of the <see cref="ExecuteCompleteEventArgs"/> class. 1963 /// This class is for events raised by the engine.
1964 /// It is not intended to be instantiated by user code.
1827 /// </summary> 1965 /// </summary>
1828 /// <param name="hrStatus">The return code of the operation.</param>
1829 public ExecuteCompleteEventArgs(int hrStatus) 1966 public ExecuteCompleteEventArgs(int hrStatus)
1830 : base(hrStatus) 1967 : base(hrStatus)
1831 { 1968 {
@@ -1838,7 +1975,10 @@ namespace WixToolset.Mba.Core
1838 [Serializable] 1975 [Serializable]
1839 public class ApplyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_APPLYCOMPLETE_ACTION> 1976 public class ApplyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_APPLYCOMPLETE_ACTION>
1840 { 1977 {
1841 /// <summary /> 1978 /// <summary>
1979 /// This class is for events raised by the engine.
1980 /// It is not intended to be instantiated by user code.
1981 /// </summary>
1842 public ApplyCompleteEventArgs(int hrStatus, ApplyRestart restart, BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_APPLYCOMPLETE_ACTION action) 1982 public ApplyCompleteEventArgs(int hrStatus, ApplyRestart restart, BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_APPLYCOMPLETE_ACTION action)
1843 : base(hrStatus, recommendation, action) 1983 : base(hrStatus, recommendation, action)
1844 { 1984 {
@@ -1857,7 +1997,10 @@ namespace WixToolset.Mba.Core
1857 [Serializable] 1997 [Serializable]
1858 public class ApplyDowngradeEventArgs : HResultEventArgs 1998 public class ApplyDowngradeEventArgs : HResultEventArgs
1859 { 1999 {
1860 /// <summary /> 2000 /// <summary>
2001 /// This class is for events raised by the engine.
2002 /// It is not intended to be instantiated by user code.
2003 /// </summary>
1861 public ApplyDowngradeEventArgs(int hrRecommendation, int hrStatus) 2004 public ApplyDowngradeEventArgs(int hrRecommendation, int hrStatus)
1862 { 2005 {
1863 this.Recommendation = hrRecommendation; 2006 this.Recommendation = hrRecommendation;
@@ -1881,7 +2024,10 @@ namespace WixToolset.Mba.Core
1881 [Serializable] 2024 [Serializable]
1882 public class CacheAcquireResolvingEventArgs : CancellableActionEventArgs<CacheResolveOperation> 2025 public class CacheAcquireResolvingEventArgs : CancellableActionEventArgs<CacheResolveOperation>
1883 { 2026 {
1884 /// <summary /> 2027 /// <summary>
2028 /// This class is for events raised by the engine.
2029 /// It is not intended to be instantiated by user code.
2030 /// </summary>
1885 public CacheAcquireResolvingEventArgs(string packageOrContainerId, string payloadId, string[] searchPaths, bool foundLocal, int recommendedSearchPath, string downloadUrl, string payloadContainerId, CacheResolveOperation recommendation, int chosenSearchPath, CacheResolveOperation action, bool cancel) 2031 public CacheAcquireResolvingEventArgs(string packageOrContainerId, string payloadId, string[] searchPaths, bool foundLocal, int recommendedSearchPath, string downloadUrl, string payloadContainerId, CacheResolveOperation recommendation, int chosenSearchPath, CacheResolveOperation action, bool cancel)
1886 : base(cancel, recommendation, action) 2032 : base(cancel, recommendation, action)
1887 { 2033 {
@@ -1942,7 +2088,10 @@ namespace WixToolset.Mba.Core
1942 [Serializable] 2088 [Serializable]
1943 public class CachePackageBeginEventArgs : CancellableHResultEventArgs 2089 public class CachePackageBeginEventArgs : CancellableHResultEventArgs
1944 { 2090 {
1945 /// <summary /> 2091 /// <summary>
2092 /// This class is for events raised by the engine.
2093 /// It is not intended to be instantiated by user code.
2094 /// </summary>
1946 public CachePackageBeginEventArgs(string packageId, int cachePayloads, long packageCacheSize, bool vital, bool cancelRecommendation) 2095 public CachePackageBeginEventArgs(string packageId, int cachePayloads, long packageCacheSize, bool vital, bool cancelRecommendation)
1947 : base(cancelRecommendation) 2096 : base(cancelRecommendation)
1948 { 2097 {
@@ -1979,7 +2128,10 @@ namespace WixToolset.Mba.Core
1979 [Serializable] 2128 [Serializable]
1980 public class CachePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION> 2129 public class CachePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION>
1981 { 2130 {
1982 /// <summary /> 2131 /// <summary>
2132 /// This class is for events raised by the engine.
2133 /// It is not intended to be instantiated by user code.
2134 /// </summary>
1983 public CachePackageCompleteEventArgs(string packageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action) 2135 public CachePackageCompleteEventArgs(string packageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action)
1984 : base(hrStatus, recommendation, action) 2136 : base(hrStatus, recommendation, action)
1985 { 2137 {
@@ -1998,7 +2150,10 @@ namespace WixToolset.Mba.Core
1998 [Serializable] 2150 [Serializable]
1999 public class ExecuteProgressEventArgs : CancellableHResultEventArgs 2151 public class ExecuteProgressEventArgs : CancellableHResultEventArgs
2000 { 2152 {
2001 /// <summary /> 2153 /// <summary>
2154 /// This class is for events raised by the engine.
2155 /// It is not intended to be instantiated by user code.
2156 /// </summary>
2002 public ExecuteProgressEventArgs(string packageId, int progressPercentage, int overallPercentage, bool cancelRecommendation) 2157 public ExecuteProgressEventArgs(string packageId, int progressPercentage, int overallPercentage, bool cancelRecommendation)
2003 : base(cancelRecommendation) 2158 : base(cancelRecommendation)
2004 { 2159 {
@@ -2024,12 +2179,15 @@ namespace WixToolset.Mba.Core
2024 } 2179 }
2025 2180
2026 /// <summary> 2181 /// <summary>
2027 /// Additional arguments passed by the engine before it tries to launch the preapproved executable. 2182 /// Event arguments for <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeBegin"/>.
2028 /// </summary> 2183 /// </summary>
2029 [Serializable] 2184 [Serializable]
2030 public class LaunchApprovedExeBeginEventArgs : CancellableHResultEventArgs 2185 public class LaunchApprovedExeBeginEventArgs : CancellableHResultEventArgs
2031 { 2186 {
2032 /// <summary /> 2187 /// <summary>
2188 /// This class is for events raised by the engine.
2189 /// It is not intended to be instantiated by user code.
2190 /// </summary>
2033 public LaunchApprovedExeBeginEventArgs(bool cancelRecommendation) 2191 public LaunchApprovedExeBeginEventArgs(bool cancelRecommendation)
2034 : base(cancelRecommendation) 2192 : base(cancelRecommendation)
2035 { 2193 {
@@ -2037,12 +2195,15 @@ namespace WixToolset.Mba.Core
2037 } 2195 }
2038 2196
2039 /// <summary> 2197 /// <summary>
2040 /// Additional arguments passed by the engine after it finished trying to launch the preapproved executable. 2198 /// Event arguments for <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeComplete"/>.
2041 /// </summary> 2199 /// </summary>
2042 [Serializable] 2200 [Serializable]
2043 public class LaunchApprovedExeCompleteEventArgs : StatusEventArgs 2201 public class LaunchApprovedExeCompleteEventArgs : StatusEventArgs
2044 { 2202 {
2045 /// <summary /> 2203 /// <summary>
2204 /// This class is for events raised by the engine.
2205 /// It is not intended to be instantiated by user code.
2206 /// </summary>
2046 public LaunchApprovedExeCompleteEventArgs(int hrStatus, int processId) 2207 public LaunchApprovedExeCompleteEventArgs(int hrStatus, int processId)
2047 : base(hrStatus) 2208 : base(hrStatus)
2048 { 2209 {
@@ -2057,12 +2218,15 @@ namespace WixToolset.Mba.Core
2057 } 2218 }
2058 2219
2059 /// <summary> 2220 /// <summary>
2060 /// Additional arguments passed by the engine before beginning an MSI transaction. 2221 /// Event arguments for <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionBegin"/>.
2061 /// </summary> 2222 /// </summary>
2062 [Serializable] 2223 [Serializable]
2063 public class BeginMsiTransactionBeginEventArgs : CancellableHResultEventArgs 2224 public class BeginMsiTransactionBeginEventArgs : CancellableHResultEventArgs
2064 { 2225 {
2065 /// <summary /> 2226 /// <summary>
2227 /// This class is for events raised by the engine.
2228 /// It is not intended to be instantiated by user code.
2229 /// </summary>
2066 public BeginMsiTransactionBeginEventArgs(string transactionId, bool cancelRecommendation) 2230 public BeginMsiTransactionBeginEventArgs(string transactionId, bool cancelRecommendation)
2067 : base(cancelRecommendation) 2231 : base(cancelRecommendation)
2068 { 2232 {
@@ -2076,12 +2240,15 @@ namespace WixToolset.Mba.Core
2076 } 2240 }
2077 2241
2078 /// <summary> 2242 /// <summary>
2079 /// Additional arguments passed by the engine after beginning an MSI transaction. 2243 /// Event arguments for <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionComplete"/>.
2080 /// </summary> 2244 /// </summary>
2081 [Serializable] 2245 [Serializable]
2082 public class BeginMsiTransactionCompleteEventArgs : StatusEventArgs 2246 public class BeginMsiTransactionCompleteEventArgs : StatusEventArgs
2083 { 2247 {
2084 /// <summary /> 2248 /// <summary>
2249 /// This class is for events raised by the engine.
2250 /// It is not intended to be instantiated by user code.
2251 /// </summary>
2085 public BeginMsiTransactionCompleteEventArgs(string transactionId, int hrStatus) 2252 public BeginMsiTransactionCompleteEventArgs(string transactionId, int hrStatus)
2086 : base(hrStatus) 2253 : base(hrStatus)
2087 { 2254 {
@@ -2095,12 +2262,15 @@ namespace WixToolset.Mba.Core
2095 } 2262 }
2096 2263
2097 /// <summary> 2264 /// <summary>
2098 /// Additional arguments passed by the engine before committing an MSI transaction. 2265 /// Event arguments for <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionBegin"/>.
2099 /// </summary> 2266 /// </summary>
2100 [Serializable] 2267 [Serializable]
2101 public class CommitMsiTransactionBeginEventArgs : CancellableHResultEventArgs 2268 public class CommitMsiTransactionBeginEventArgs : CancellableHResultEventArgs
2102 { 2269 {
2103 /// <summary /> 2270 /// <summary>
2271 /// This class is for events raised by the engine.
2272 /// It is not intended to be instantiated by user code.
2273 /// </summary>
2104 public CommitMsiTransactionBeginEventArgs(string transactionId, bool cancelRecommendation) 2274 public CommitMsiTransactionBeginEventArgs(string transactionId, bool cancelRecommendation)
2105 : base(cancelRecommendation) 2275 : base(cancelRecommendation)
2106 { 2276 {
@@ -2114,12 +2284,15 @@ namespace WixToolset.Mba.Core
2114 } 2284 }
2115 2285
2116 /// <summary> 2286 /// <summary>
2117 /// Additional arguments passed by the engine after committing an MSI transaction. 2287 /// Event arguments for <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionComplete"/>.
2118 /// </summary> 2288 /// </summary>
2119 [Serializable] 2289 [Serializable]
2120 public class CommitMsiTransactionCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION> 2290 public class CommitMsiTransactionCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION>
2121 { 2291 {
2122 /// <summary /> 2292 /// <summary>
2293 /// This class is for events raised by the engine.
2294 /// It is not intended to be instantiated by user code.
2295 /// </summary>
2123 public CommitMsiTransactionCompleteEventArgs(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action) 2296 public CommitMsiTransactionCompleteEventArgs(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action)
2124 : base(hrStatus, recommendation, action) 2297 : base(hrStatus, recommendation, action)
2125 { 2298 {
@@ -2139,12 +2312,15 @@ namespace WixToolset.Mba.Core
2139 } 2312 }
2140 2313
2141 /// <summary> 2314 /// <summary>
2142 /// Additional arguments passed by the engine before rolling back an MSI transaction. 2315 /// Event arguments for <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionBegin"/>.
2143 /// </summary> 2316 /// </summary>
2144 [Serializable] 2317 [Serializable]
2145 public class RollbackMsiTransactionBeginEventArgs : HResultEventArgs 2318 public class RollbackMsiTransactionBeginEventArgs : HResultEventArgs
2146 { 2319 {
2147 /// <summary /> 2320 /// <summary>
2321 /// This class is for events raised by the engine.
2322 /// It is not intended to be instantiated by user code.
2323 /// </summary>
2148 public RollbackMsiTransactionBeginEventArgs(string transactionId) 2324 public RollbackMsiTransactionBeginEventArgs(string transactionId)
2149 { 2325 {
2150 this.TransactionId = transactionId; 2326 this.TransactionId = transactionId;
@@ -2157,12 +2333,15 @@ namespace WixToolset.Mba.Core
2157 } 2333 }
2158 2334
2159 /// <summary> 2335 /// <summary>
2160 /// Additional arguments passed by the engine after rolling back an MSI transaction. 2336 /// Event arguments for <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionComplete"/>.
2161 /// </summary> 2337 /// </summary>
2162 [Serializable] 2338 [Serializable]
2163 public class RollbackMsiTransactionCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION> 2339 public class RollbackMsiTransactionCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION>
2164 { 2340 {
2165 /// <summary /> 2341 /// <summary>
2342 /// This class is for events raised by the engine.
2343 /// It is not intended to be instantiated by user code.
2344 /// </summary>
2166 public RollbackMsiTransactionCompleteEventArgs(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action) 2345 public RollbackMsiTransactionCompleteEventArgs(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action)
2167 : base(hrStatus, recommendation, action) 2346 : base(hrStatus, recommendation, action)
2168 { 2347 {
@@ -2182,13 +2361,14 @@ namespace WixToolset.Mba.Core
2182 } 2361 }
2183 2362
2184 /// <summary> 2363 /// <summary>
2185 /// Additional arguments passed by the engine before pausing Windows automatic updates. 2364 /// Event arguments for <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesBegin"/>.
2186 /// </summary> 2365 /// </summary>
2187 [Serializable] 2366 [Serializable]
2188 public class PauseAutomaticUpdatesBeginEventArgs : HResultEventArgs 2367 public class PauseAutomaticUpdatesBeginEventArgs : HResultEventArgs
2189 { 2368 {
2190 /// <summary> 2369 /// <summary>
2191 /// 2370 /// This class is for events raised by the engine.
2371 /// It is not intended to be instantiated by user code.
2192 /// </summary> 2372 /// </summary>
2193 public PauseAutomaticUpdatesBeginEventArgs() 2373 public PauseAutomaticUpdatesBeginEventArgs()
2194 { 2374 {
@@ -2196,15 +2376,15 @@ namespace WixToolset.Mba.Core
2196 } 2376 }
2197 2377
2198 /// <summary> 2378 /// <summary>
2199 /// Additional arguments passed by the engine after pausing Windows automatic updates. 2379 /// Event arguments for <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesComplete"/>.
2200 /// </summary> 2380 /// </summary>
2201 [Serializable] 2381 [Serializable]
2202 public class PauseAutomaticUpdatesCompleteEventArgs : StatusEventArgs 2382 public class PauseAutomaticUpdatesCompleteEventArgs : StatusEventArgs
2203 { 2383 {
2204 /// <summary> 2384 /// <summary>
2205 /// 2385 /// This class is for events raised by the engine.
2386 /// It is not intended to be instantiated by user code.
2206 /// </summary> 2387 /// </summary>
2207 /// <param name="hrStatus"></param>
2208 public PauseAutomaticUpdatesCompleteEventArgs(int hrStatus) 2388 public PauseAutomaticUpdatesCompleteEventArgs(int hrStatus)
2209 : base(hrStatus) 2389 : base(hrStatus)
2210 { 2390 {
@@ -2212,13 +2392,14 @@ namespace WixToolset.Mba.Core
2212 } 2392 }
2213 2393
2214 /// <summary> 2394 /// <summary>
2215 /// Additional arguments passed by the engine before taking a system restore point. 2395 /// Event arguments for <see cref="IDefaultBootstrapperApplication.SystemRestorePointBegin"/>.
2216 /// </summary> 2396 /// </summary>
2217 [Serializable] 2397 [Serializable]
2218 public class SystemRestorePointBeginEventArgs : HResultEventArgs 2398 public class SystemRestorePointBeginEventArgs : HResultEventArgs
2219 { 2399 {
2220 /// <summary> 2400 /// <summary>
2221 /// 2401 /// This class is for events raised by the engine.
2402 /// It is not intended to be instantiated by user code.
2222 /// </summary> 2403 /// </summary>
2223 public SystemRestorePointBeginEventArgs() 2404 public SystemRestorePointBeginEventArgs()
2224 { 2405 {
@@ -2226,15 +2407,15 @@ namespace WixToolset.Mba.Core
2226 } 2407 }
2227 2408
2228 /// <summary> 2409 /// <summary>
2229 /// Additional arguments passed by the engine after taking a system restore point. 2410 /// Event arguments for <see cref="IDefaultBootstrapperApplication.SystemRestorePointComplete"/>.
2230 /// </summary> 2411 /// </summary>
2231 [Serializable] 2412 [Serializable]
2232 public class SystemRestorePointCompleteEventArgs : StatusEventArgs 2413 public class SystemRestorePointCompleteEventArgs : StatusEventArgs
2233 { 2414 {
2234 /// <summary> 2415 /// <summary>
2235 /// 2416 /// This class is for events raised by the engine.
2417 /// It is not intended to be instantiated by user code.
2236 /// </summary> 2418 /// </summary>
2237 /// <param name="hrStatus"></param>
2238 public SystemRestorePointCompleteEventArgs(int hrStatus) 2419 public SystemRestorePointCompleteEventArgs(int hrStatus)
2239 : base(hrStatus) 2420 : base(hrStatus)
2240 { 2421 {
@@ -2247,7 +2428,10 @@ namespace WixToolset.Mba.Core
2247 [Serializable] 2428 [Serializable]
2248 public class CacheContainerOrPayloadVerifyBeginEventArgs : CancellableHResultEventArgs 2429 public class CacheContainerOrPayloadVerifyBeginEventArgs : CancellableHResultEventArgs
2249 { 2430 {
2250 /// <summary /> 2431 /// <summary>
2432 /// This class is for events raised by the engine.
2433 /// It is not intended to be instantiated by user code.
2434 /// </summary>
2251 public CacheContainerOrPayloadVerifyBeginEventArgs(string packageOrContainerId, string payloadId, bool cancelRecommendation) 2435 public CacheContainerOrPayloadVerifyBeginEventArgs(string packageOrContainerId, string payloadId, bool cancelRecommendation)
2252 : base(cancelRecommendation) 2436 : base(cancelRecommendation)
2253 { 2437 {
@@ -2272,7 +2456,10 @@ namespace WixToolset.Mba.Core
2272 [Serializable] 2456 [Serializable]
2273 public class CacheContainerOrPayloadVerifyProgressEventArgs : CacheProgressBaseEventArgs 2457 public class CacheContainerOrPayloadVerifyProgressEventArgs : CacheProgressBaseEventArgs
2274 { 2458 {
2275 /// <summary /> 2459 /// <summary>
2460 /// This class is for events raised by the engine.
2461 /// It is not intended to be instantiated by user code.
2462 /// </summary>
2276 public CacheContainerOrPayloadVerifyProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) 2463 public CacheContainerOrPayloadVerifyProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation)
2277 : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation) 2464 : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation)
2278 { 2465 {
@@ -2285,7 +2472,10 @@ namespace WixToolset.Mba.Core
2285 [Serializable] 2472 [Serializable]
2286 public class CacheContainerOrPayloadVerifyCompleteEventArgs : StatusEventArgs 2473 public class CacheContainerOrPayloadVerifyCompleteEventArgs : StatusEventArgs
2287 { 2474 {
2288 /// <summary /> 2475 /// <summary>
2476 /// This class is for events raised by the engine.
2477 /// It is not intended to be instantiated by user code.
2478 /// </summary>
2289 public CacheContainerOrPayloadVerifyCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus) 2479 public CacheContainerOrPayloadVerifyCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus)
2290 : base(hrStatus) 2480 : base(hrStatus)
2291 { 2481 {
@@ -2310,7 +2500,10 @@ namespace WixToolset.Mba.Core
2310 [Serializable] 2500 [Serializable]
2311 public class CachePayloadExtractBeginEventArgs : CancellableHResultEventArgs 2501 public class CachePayloadExtractBeginEventArgs : CancellableHResultEventArgs
2312 { 2502 {
2313 /// <summary /> 2503 /// <summary>
2504 /// This class is for events raised by the engine.
2505 /// It is not intended to be instantiated by user code.
2506 /// </summary>
2314 public CachePayloadExtractBeginEventArgs(string containerId, string payloadId, bool cancelRecommendation) 2507 public CachePayloadExtractBeginEventArgs(string containerId, string payloadId, bool cancelRecommendation)
2315 : base(cancelRecommendation) 2508 : base(cancelRecommendation)
2316 { 2509 {
@@ -2335,7 +2528,10 @@ namespace WixToolset.Mba.Core
2335 [Serializable] 2528 [Serializable]
2336 public class CachePayloadExtractProgressEventArgs : CacheProgressBaseEventArgs 2529 public class CachePayloadExtractProgressEventArgs : CacheProgressBaseEventArgs
2337 { 2530 {
2338 /// <summary /> 2531 /// <summary>
2532 /// This class is for events raised by the engine.
2533 /// It is not intended to be instantiated by user code.
2534 /// </summary>
2339 public CachePayloadExtractProgressEventArgs(string containerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) 2535 public CachePayloadExtractProgressEventArgs(string containerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation)
2340 : base(containerId, payloadId, progress, total, overallPercentage, cancelRecommendation) 2536 : base(containerId, payloadId, progress, total, overallPercentage, cancelRecommendation)
2341 { 2537 {
@@ -2348,7 +2544,10 @@ namespace WixToolset.Mba.Core
2348 [Serializable] 2544 [Serializable]
2349 public class CachePayloadExtractCompleteEventArgs : StatusEventArgs 2545 public class CachePayloadExtractCompleteEventArgs : StatusEventArgs
2350 { 2546 {
2351 /// <summary /> 2547 /// <summary>
2548 /// This class is for events raised by the engine.
2549 /// It is not intended to be instantiated by user code.
2550 /// </summary>
2352 public CachePayloadExtractCompleteEventArgs(string containerId, string payloadId, int hrStatus) 2551 public CachePayloadExtractCompleteEventArgs(string containerId, string payloadId, int hrStatus)
2353 : base(hrStatus) 2552 : base(hrStatus)
2354 { 2553 {
@@ -2373,7 +2572,10 @@ namespace WixToolset.Mba.Core
2373 [Serializable] 2572 [Serializable]
2374 public class SetUpdateBeginEventArgs : HResultEventArgs 2573 public class SetUpdateBeginEventArgs : HResultEventArgs
2375 { 2574 {
2376 /// <summary /> 2575 /// <summary>
2576 /// This class is for events raised by the engine.
2577 /// It is not intended to be instantiated by user code.
2578 /// </summary>
2377 public SetUpdateBeginEventArgs() 2579 public SetUpdateBeginEventArgs()
2378 { 2580 {
2379 } 2581 }
@@ -2385,7 +2587,10 @@ namespace WixToolset.Mba.Core
2385 [Serializable] 2587 [Serializable]
2386 public class SetUpdateCompleteEventArgs : StatusEventArgs 2588 public class SetUpdateCompleteEventArgs : StatusEventArgs
2387 { 2589 {
2388 /// <summary /> 2590 /// <summary>
2591 /// This class is for events raised by the engine.
2592 /// It is not intended to be instantiated by user code.
2593 /// </summary>
2389 public SetUpdateCompleteEventArgs(int hrStatus, string previousPackageId, string newPackageId) 2594 public SetUpdateCompleteEventArgs(int hrStatus, string previousPackageId, string newPackageId)
2390 : base(hrStatus) 2595 : base(hrStatus)
2391 { 2596 {
@@ -2410,7 +2615,10 @@ namespace WixToolset.Mba.Core
2410 [Serializable] 2615 [Serializable]
2411 public class PlanRestoreRelatedBundleEventArgs : CancellableHResultEventArgs 2616 public class PlanRestoreRelatedBundleEventArgs : CancellableHResultEventArgs
2412 { 2617 {
2413 /// <summary /> 2618 /// <summary>
2619 /// This class is for events raised by the engine.
2620 /// It is not intended to be instantiated by user code.
2621 /// </summary>
2414 public PlanRestoreRelatedBundleEventArgs(string bundleId, RequestState recommendedState, RequestState state, bool cancelRecommendation) 2622 public PlanRestoreRelatedBundleEventArgs(string bundleId, RequestState recommendedState, RequestState state, bool cancelRecommendation)
2415 : base(cancelRecommendation) 2623 : base(cancelRecommendation)
2416 { 2624 {
@@ -2441,7 +2649,10 @@ namespace WixToolset.Mba.Core
2441 [Serializable] 2649 [Serializable]
2442 public class ExecuteProcessCancelEventArgs : HResultEventArgs 2650 public class ExecuteProcessCancelEventArgs : HResultEventArgs
2443 { 2651 {
2444 /// <summary /> 2652 /// <summary>
2653 /// This class is for events raised by the engine.
2654 /// It is not intended to be instantiated by user code.
2655 /// </summary>
2445 public ExecuteProcessCancelEventArgs(string packageId, int processId, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action) 2656 public ExecuteProcessCancelEventArgs(string packageId, int processId, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action)
2446 { 2657 {
2447 this.PackageId = packageId; 2658 this.PackageId = packageId;
@@ -2477,7 +2688,10 @@ namespace WixToolset.Mba.Core
2477 [Serializable] 2688 [Serializable]
2478 public class DetectRelatedBundlePackageEventArgs : CancellableHResultEventArgs 2689 public class DetectRelatedBundlePackageEventArgs : CancellableHResultEventArgs
2479 { 2690 {
2480 /// <summary /> 2691 /// <summary>
2692 /// This class is for events raised by the engine.
2693 /// It is not intended to be instantiated by user code.
2694 /// </summary>
2481 public DetectRelatedBundlePackageEventArgs(string packageId, string productCode, RelationType relationType, bool perMachine, string version, bool cancelRecommendation) 2695 public DetectRelatedBundlePackageEventArgs(string packageId, string productCode, RelationType relationType, bool perMachine, string version, bool cancelRecommendation)
2482 : base(cancelRecommendation) 2696 : base(cancelRecommendation)
2483 { 2697 {
@@ -2520,7 +2734,10 @@ namespace WixToolset.Mba.Core
2520 [Serializable] 2734 [Serializable]
2521 public class CachePackageNonVitalValidationFailureEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION> 2735 public class CachePackageNonVitalValidationFailureEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION>
2522 { 2736 {
2523 /// <summary /> 2737 /// <summary>
2738 /// This class is for events raised by the engine.
2739 /// It is not intended to be instantiated by user code.
2740 /// </summary>
2524 public CachePackageNonVitalValidationFailureEventArgs(string packageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation, BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action) 2741 public CachePackageNonVitalValidationFailureEventArgs(string packageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation, BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action)
2525 : base(hrStatus, recommendation, action) 2742 : base(hrStatus, recommendation, action)
2526 { 2743 {
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
index 7bfabeb3..36c7fd33 100644
--- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
@@ -65,14 +65,6 @@ namespace WixToolset.Mba.Core
65 /// <summary> 65 /// <summary>
66 /// See <see cref="IDefaultBootstrapperApplication.DetectForwardCompatibleBundle"/>. 66 /// See <see cref="IDefaultBootstrapperApplication.DetectForwardCompatibleBundle"/>.
67 /// </summary> 67 /// </summary>
68 /// <param name="wzBundleId"></param>
69 /// <param name="relationType"></param>
70 /// <param name="wzBundleTag"></param>
71 /// <param name="fPerMachine"></param>
72 /// <param name="wzVersion"></param>
73 /// <param name="fMissingFromCache"></param>
74 /// <param name="fCancel"></param>
75 /// <returns></returns>
76 [PreserveSig] 68 [PreserveSig]
77 [return: MarshalAs(UnmanagedType.I4)] 69 [return: MarshalAs(UnmanagedType.I4)]
78 int OnDetectForwardCompatibleBundle( 70 int OnDetectForwardCompatibleBundle(
@@ -88,10 +80,6 @@ namespace WixToolset.Mba.Core
88 /// <summary> 80 /// <summary>
89 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdateBegin"/>. 81 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdateBegin"/>.
90 /// </summary> 82 /// </summary>
91 /// <param name="wzUpdateLocation"></param>
92 /// <param name="fCancel"></param>
93 /// <param name="fSkip"></param>
94 /// <returns></returns>
95 [PreserveSig] 83 [PreserveSig]
96 [return: MarshalAs(UnmanagedType.I4)] 84 [return: MarshalAs(UnmanagedType.I4)]
97 int OnDetectUpdateBegin( 85 int OnDetectUpdateBegin(
@@ -103,18 +91,6 @@ namespace WixToolset.Mba.Core
103 /// <summary> 91 /// <summary>
104 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdate"/>. 92 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdate"/>.
105 /// </summary> 93 /// </summary>
106 /// <param name="wzUpdateLocation"></param>
107 /// <param name="dw64Size"></param>
108 /// <param name="wzVersion"></param>
109 /// <param name="wzHash"></param>
110 /// <param name="hashAlgorithm"></param>
111 /// <param name="wzTitle"></param>
112 /// <param name="wzSummary"></param>
113 /// <param name="wzContentType"></param>
114 /// <param name="wzContent"></param>
115 /// <param name="fCancel"></param>
116 /// <param name="fStopProcessingUpdates"></param>
117 /// <returns></returns>
118 [PreserveSig] 94 [PreserveSig]
119 [return: MarshalAs(UnmanagedType.I4)] 95 [return: MarshalAs(UnmanagedType.I4)]
120 int OnDetectUpdate( 96 int OnDetectUpdate(
@@ -134,9 +110,6 @@ namespace WixToolset.Mba.Core
134 /// <summary> 110 /// <summary>
135 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdateComplete"/>. 111 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdateComplete"/>.
136 /// </summary> 112 /// </summary>
137 /// <param name="hrStatus"></param>
138 /// <param name="fIgnoreError"></param>
139 /// <returns></returns>
140 [PreserveSig] 113 [PreserveSig]
141 [return: MarshalAs(UnmanagedType.I4)] 114 [return: MarshalAs(UnmanagedType.I4)]
142 int OnDetectUpdateComplete( 115 int OnDetectUpdateComplete(
@@ -162,9 +135,6 @@ namespace WixToolset.Mba.Core
162 /// <summary> 135 /// <summary>
163 /// See <see cref="IDefaultBootstrapperApplication.DetectPackageBegin"/>. 136 /// See <see cref="IDefaultBootstrapperApplication.DetectPackageBegin"/>.
164 /// </summary> 137 /// </summary>
165 /// <param name="wzPackageId"></param>
166 /// <param name="fCancel"></param>
167 /// <returns></returns>
168 [PreserveSig] 138 [PreserveSig]
169 [return: MarshalAs(UnmanagedType.I4)] 139 [return: MarshalAs(UnmanagedType.I4)]
170 int OnDetectPackageBegin( 140 int OnDetectPackageBegin(
@@ -202,11 +172,6 @@ namespace WixToolset.Mba.Core
202 /// <summary> 172 /// <summary>
203 /// See <see cref="IDefaultBootstrapperApplication.DetectPatchTarget"/>. 173 /// See <see cref="IDefaultBootstrapperApplication.DetectPatchTarget"/>.
204 /// </summary> 174 /// </summary>
205 /// <param name="wzPackageId"></param>
206 /// <param name="wzProductCode"></param>
207 /// <param name="patchState"></param>
208 /// <param name="fCancel"></param>
209 /// <returns></returns>
210 [PreserveSig] 175 [PreserveSig]
211 [return: MarshalAs(UnmanagedType.I4)] 176 [return: MarshalAs(UnmanagedType.I4)]
212 int OnDetectPatchTarget( 177 int OnDetectPatchTarget(
@@ -219,11 +184,6 @@ namespace WixToolset.Mba.Core
219 /// <summary> 184 /// <summary>
220 /// See <see cref="IDefaultBootstrapperApplication.DetectMsiFeature"/>. 185 /// See <see cref="IDefaultBootstrapperApplication.DetectMsiFeature"/>.
221 /// </summary> 186 /// </summary>
222 /// <param name="wzPackageId"></param>
223 /// <param name="wzFeatureId"></param>
224 /// <param name="state"></param>
225 /// <param name="fCancel"></param>
226 /// <returns></returns>
227 [PreserveSig] 187 [PreserveSig]
228 [return: MarshalAs(UnmanagedType.I4)] 188 [return: MarshalAs(UnmanagedType.I4)]
229 int OnDetectMsiFeature( 189 int OnDetectMsiFeature(
@@ -248,9 +208,6 @@ namespace WixToolset.Mba.Core
248 /// <summary> 208 /// <summary>
249 /// See <see cref="IDefaultBootstrapperApplication.DetectComplete"/>. 209 /// See <see cref="IDefaultBootstrapperApplication.DetectComplete"/>.
250 /// </summary> 210 /// </summary>
251 /// <param name="hrStatus"></param>
252 /// <param name="fEligibleForCleanup"></param>
253 /// <returns></returns>
254 [PreserveSig] 211 [PreserveSig]
255 [return: MarshalAs(UnmanagedType.I4)] 212 [return: MarshalAs(UnmanagedType.I4)]
256 int OnDetectComplete( 213 int OnDetectComplete(
@@ -261,9 +218,6 @@ namespace WixToolset.Mba.Core
261 /// <summary> 218 /// <summary>
262 /// See <see cref="IDefaultBootstrapperApplication.PlanBegin"/>. 219 /// See <see cref="IDefaultBootstrapperApplication.PlanBegin"/>.
263 /// </summary> 220 /// </summary>
264 /// <param name="cPackages"></param>
265 /// <param name="fCancel"></param>
266 /// <returns></returns>
267 [PreserveSig] 221 [PreserveSig]
268 [return: MarshalAs(UnmanagedType.I4)] 222 [return: MarshalAs(UnmanagedType.I4)]
269 int OnPlanBegin( 223 int OnPlanBegin(
@@ -342,12 +296,6 @@ namespace WixToolset.Mba.Core
342 /// <summary> 296 /// <summary>
343 /// See <see cref="IDefaultBootstrapperApplication.PlanPatchTarget"/>. 297 /// See <see cref="IDefaultBootstrapperApplication.PlanPatchTarget"/>.
344 /// </summary> 298 /// </summary>
345 /// <param name="wzPackageId"></param>
346 /// <param name="wzProductCode"></param>
347 /// <param name="recommendedState"></param>
348 /// <param name="pRequestedState"></param>
349 /// <param name="fCancel"></param>
350 /// <returns></returns>
351 [PreserveSig] 299 [PreserveSig]
352 [return: MarshalAs(UnmanagedType.I4)] 300 [return: MarshalAs(UnmanagedType.I4)]
353 int OnPlanPatchTarget( 301 int OnPlanPatchTarget(
@@ -361,12 +309,6 @@ namespace WixToolset.Mba.Core
361 /// <summary> 309 /// <summary>
362 /// See <see cref="IDefaultBootstrapperApplication.PlanMsiFeature"/>. 310 /// See <see cref="IDefaultBootstrapperApplication.PlanMsiFeature"/>.
363 /// </summary> 311 /// </summary>
364 /// <param name="wzPackageId"></param>
365 /// <param name="wzFeatureId"></param>
366 /// <param name="recommendedState"></param>
367 /// <param name="pRequestedState"></param>
368 /// <param name="fCancel"></param>
369 /// <returns></returns>
370 [PreserveSig] 312 [PreserveSig]
371 [return: MarshalAs(UnmanagedType.I4)] 313 [return: MarshalAs(UnmanagedType.I4)]
372 int OnPlanMsiFeature( 314 int OnPlanMsiFeature(
@@ -397,10 +339,6 @@ namespace WixToolset.Mba.Core
397 /// <summary> 339 /// <summary>
398 /// See <see cref="IDefaultBootstrapperApplication.PlanPackageComplete"/>. 340 /// See <see cref="IDefaultBootstrapperApplication.PlanPackageComplete"/>.
399 /// </summary> 341 /// </summary>
400 /// <param name="wzPackageId"></param>
401 /// <param name="hrStatus"></param>
402 /// <param name="requested"></param>
403 /// <returns></returns>
404 [PreserveSig] 342 [PreserveSig]
405 [return: MarshalAs(UnmanagedType.I4)] 343 [return: MarshalAs(UnmanagedType.I4)]
406 int OnPlanPackageComplete( 344 int OnPlanPackageComplete(
@@ -436,8 +374,6 @@ namespace WixToolset.Mba.Core
436 /// <summary> 374 /// <summary>
437 /// See <see cref="IDefaultBootstrapperApplication.PlanComplete"/>. 375 /// See <see cref="IDefaultBootstrapperApplication.PlanComplete"/>.
438 /// </summary> 376 /// </summary>
439 /// <param name="hrStatus"></param>
440 /// <returns></returns>
441 [PreserveSig] 377 [PreserveSig]
442 [return: MarshalAs(UnmanagedType.I4)] 378 [return: MarshalAs(UnmanagedType.I4)]
443 int OnPlanComplete( 379 int OnPlanComplete(
@@ -447,9 +383,6 @@ namespace WixToolset.Mba.Core
447 /// <summary> 383 /// <summary>
448 /// See <see cref="IDefaultBootstrapperApplication.ApplyBegin"/>. 384 /// See <see cref="IDefaultBootstrapperApplication.ApplyBegin"/>.
449 /// </summary> 385 /// </summary>
450 /// <param name="dwPhaseCount"></param>
451 /// <param name="fCancel"></param>
452 /// <returns></returns>
453 [PreserveSig] 386 [PreserveSig]
454 [return: MarshalAs(UnmanagedType.I4)] 387 [return: MarshalAs(UnmanagedType.I4)]
455 int OnApplyBegin( 388 int OnApplyBegin(
@@ -460,8 +393,6 @@ namespace WixToolset.Mba.Core
460 /// <summary> 393 /// <summary>
461 /// See <see cref="IDefaultBootstrapperApplication.ElevateBegin"/>. 394 /// See <see cref="IDefaultBootstrapperApplication.ElevateBegin"/>.
462 /// </summary> 395 /// </summary>
463 /// <param name="fCancel"></param>
464 /// <returns></returns>
465 [PreserveSig] 396 [PreserveSig]
466 [return: MarshalAs(UnmanagedType.I4)] 397 [return: MarshalAs(UnmanagedType.I4)]
467 int OnElevateBegin( 398 int OnElevateBegin(
@@ -471,8 +402,6 @@ namespace WixToolset.Mba.Core
471 /// <summary> 402 /// <summary>
472 /// See <see cref="IDefaultBootstrapperApplication.ElevateComplete"/>. 403 /// See <see cref="IDefaultBootstrapperApplication.ElevateComplete"/>.
473 /// </summary> 404 /// </summary>
474 /// <param name="hrStatus"></param>
475 /// <returns></returns>
476 [PreserveSig] 405 [PreserveSig]
477 [return: MarshalAs(UnmanagedType.I4)] 406 [return: MarshalAs(UnmanagedType.I4)]
478 int OnElevateComplete( 407 int OnElevateComplete(
@@ -482,10 +411,6 @@ namespace WixToolset.Mba.Core
482 /// <summary> 411 /// <summary>
483 /// See <see cref="IDefaultBootstrapperApplication.Progress"/>. 412 /// See <see cref="IDefaultBootstrapperApplication.Progress"/>.
484 /// </summary> 413 /// </summary>
485 /// <param name="dwProgressPercentage"></param>
486 /// <param name="dwOverallPercentage"></param>
487 /// <param name="fCancel"></param>
488 /// <returns></returns>
489 [PreserveSig] 414 [PreserveSig]
490 [return: MarshalAs(UnmanagedType.I4)] 415 [return: MarshalAs(UnmanagedType.I4)]
491 int OnProgress( 416 int OnProgress(
@@ -497,16 +422,6 @@ namespace WixToolset.Mba.Core
497 /// <summary> 422 /// <summary>
498 /// See <see cref="IDefaultBootstrapperApplication.Error"/>. 423 /// See <see cref="IDefaultBootstrapperApplication.Error"/>.
499 /// </summary> 424 /// </summary>
500 /// <param name="errorType"></param>
501 /// <param name="wzPackageId"></param>
502 /// <param name="dwCode"></param>
503 /// <param name="wzError"></param>
504 /// <param name="dwUIHint"></param>
505 /// <param name="cData"></param>
506 /// <param name="rgwzData"></param>
507 /// <param name="nRecommendation"></param>
508 /// <param name="pResult"></param>
509 /// <returns></returns>
510 [PreserveSig] 425 [PreserveSig]
511 [return: MarshalAs(UnmanagedType.I4)] 426 [return: MarshalAs(UnmanagedType.I4)]
512 int OnError( 427 int OnError(
@@ -535,8 +450,6 @@ namespace WixToolset.Mba.Core
535 /// <summary> 450 /// <summary>
536 /// See <see cref="IDefaultBootstrapperApplication.RegisterComplete"/>. 451 /// See <see cref="IDefaultBootstrapperApplication.RegisterComplete"/>.
537 /// </summary> 452 /// </summary>
538 /// <param name="hrStatus"></param>
539 /// <returns></returns>
540 [PreserveSig] 453 [PreserveSig]
541 [return: MarshalAs(UnmanagedType.I4)] 454 [return: MarshalAs(UnmanagedType.I4)]
542 int OnRegisterComplete( 455 int OnRegisterComplete(
@@ -546,8 +459,6 @@ namespace WixToolset.Mba.Core
546 /// <summary> 459 /// <summary>
547 /// See <see cref="IDefaultBootstrapperApplication.CacheBegin"/>. 460 /// See <see cref="IDefaultBootstrapperApplication.CacheBegin"/>.
548 /// </summary> 461 /// </summary>
549 /// <param name="fCancel"></param>
550 /// <returns></returns>
551 [PreserveSig] 462 [PreserveSig]
552 [return: MarshalAs(UnmanagedType.I4)] 463 [return: MarshalAs(UnmanagedType.I4)]
553 int OnCacheBegin( 464 int OnCacheBegin(
@@ -695,9 +606,6 @@ namespace WixToolset.Mba.Core
695 /// <summary> 606 /// <summary>
696 /// See <see cref="IDefaultBootstrapperApplication.ExecuteBegin"/>. 607 /// See <see cref="IDefaultBootstrapperApplication.ExecuteBegin"/>.
697 /// </summary> 608 /// </summary>
698 /// <param name="cExecutingPackages"></param>
699 /// <param name="fCancel"></param>
700 /// <returns></returns>
701 [PreserveSig] 609 [PreserveSig]
702 [return: MarshalAs(UnmanagedType.I4)] 610 [return: MarshalAs(UnmanagedType.I4)]
703 int OnExecuteBegin( 611 int OnExecuteBegin(
@@ -708,13 +616,6 @@ namespace WixToolset.Mba.Core
708 /// <summary> 616 /// <summary>
709 /// See <see cref="IDefaultBootstrapperApplication.ExecutePackageBegin"/>. 617 /// See <see cref="IDefaultBootstrapperApplication.ExecutePackageBegin"/>.
710 /// </summary> 618 /// </summary>
711 /// <param name="wzPackageId"></param>
712 /// <param name="fExecute"></param>
713 /// <param name="action"></param>
714 /// <param name="uiLevel"></param>
715 /// <param name="fDisableExternalUiHandler"></param>
716 /// <param name="fCancel"></param>
717 /// <returns></returns>
718 [PreserveSig] 619 [PreserveSig]
719 [return: MarshalAs(UnmanagedType.I4)] 620 [return: MarshalAs(UnmanagedType.I4)]
720 int OnExecutePackageBegin( 621 int OnExecutePackageBegin(
@@ -729,10 +630,6 @@ namespace WixToolset.Mba.Core
729 /// <summary> 630 /// <summary>
730 /// See <see cref="IDefaultBootstrapperApplication.ExecutePatchTarget"/>. 631 /// See <see cref="IDefaultBootstrapperApplication.ExecutePatchTarget"/>.
731 /// </summary> 632 /// </summary>
732 /// <param name="wzPackageId"></param>
733 /// <param name="wzTargetProductCode"></param>
734 /// <param name="fCancel"></param>
735 /// <returns></returns>
736 [PreserveSig] 633 [PreserveSig]
737 [return: MarshalAs(UnmanagedType.I4)] 634 [return: MarshalAs(UnmanagedType.I4)]
738 int OnExecutePatchTarget( 635 int OnExecutePatchTarget(
@@ -744,11 +641,6 @@ namespace WixToolset.Mba.Core
744 /// <summary> 641 /// <summary>
745 /// See <see cref="IDefaultBootstrapperApplication.ExecuteProgress"/>. 642 /// See <see cref="IDefaultBootstrapperApplication.ExecuteProgress"/>.
746 /// </summary> 643 /// </summary>
747 /// <param name="wzPackageId"></param>
748 /// <param name="dwProgressPercentage"></param>
749 /// <param name="dwOverallPercentage"></param>
750 /// <param name="fCancel"></param>
751 /// <returns></returns>
752 [PreserveSig] 644 [PreserveSig]
753 [return: MarshalAs(UnmanagedType.I4)] 645 [return: MarshalAs(UnmanagedType.I4)]
754 int OnExecuteProgress( 646 int OnExecuteProgress(
@@ -761,15 +653,6 @@ namespace WixToolset.Mba.Core
761 /// <summary> 653 /// <summary>
762 /// See <see cref="IDefaultBootstrapperApplication.ExecuteMsiMessage"/>. 654 /// See <see cref="IDefaultBootstrapperApplication.ExecuteMsiMessage"/>.
763 /// </summary> 655 /// </summary>
764 /// <param name="wzPackageId"></param>
765 /// <param name="messageType"></param>
766 /// <param name="dwUIHint"></param>
767 /// <param name="wzMessage"></param>
768 /// <param name="cData"></param>
769 /// <param name="rgwzData"></param>
770 /// <param name="nRecommendation"></param>
771 /// <param name="pResult"></param>
772 /// <returns></returns>
773 [PreserveSig] 656 [PreserveSig]
774 [return: MarshalAs(UnmanagedType.I4)] 657 [return: MarshalAs(UnmanagedType.I4)]
775 int OnExecuteMsiMessage( 658 int OnExecuteMsiMessage(
@@ -800,12 +683,6 @@ namespace WixToolset.Mba.Core
800 /// <summary> 683 /// <summary>
801 /// See <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>. 684 /// See <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>.
802 /// </summary> 685 /// </summary>
803 /// <param name="wzPackageId"></param>
804 /// <param name="hrStatus"></param>
805 /// <param name="restart"></param>
806 /// <param name="recommendation"></param>
807 /// <param name="pAction"></param>
808 /// <returns></returns>
809 [PreserveSig] 686 [PreserveSig]
810 [return: MarshalAs(UnmanagedType.I4)] 687 [return: MarshalAs(UnmanagedType.I4)]
811 int OnExecutePackageComplete( 688 int OnExecutePackageComplete(
@@ -819,8 +696,6 @@ namespace WixToolset.Mba.Core
819 /// <summary> 696 /// <summary>
820 /// See <see cref="IDefaultBootstrapperApplication.ExecuteComplete"/>. 697 /// See <see cref="IDefaultBootstrapperApplication.ExecuteComplete"/>.
821 /// </summary> 698 /// </summary>
822 /// <param name="hrStatus"></param>
823 /// <returns></returns>
824 [PreserveSig] 699 [PreserveSig]
825 [return: MarshalAs(UnmanagedType.I4)] 700 [return: MarshalAs(UnmanagedType.I4)]
826 int OnExecuteComplete( 701 int OnExecuteComplete(
@@ -840,8 +715,6 @@ namespace WixToolset.Mba.Core
840 /// <summary> 715 /// <summary>
841 /// See <see cref="IDefaultBootstrapperApplication.UnregisterComplete"/>. 716 /// See <see cref="IDefaultBootstrapperApplication.UnregisterComplete"/>.
842 /// </summary> 717 /// </summary>
843 /// <param name="hrStatus"></param>
844 /// <returns></returns>
845 [PreserveSig] 718 [PreserveSig]
846 [return: MarshalAs(UnmanagedType.I4)] 719 [return: MarshalAs(UnmanagedType.I4)]
847 int OnUnregisterComplete( 720 int OnUnregisterComplete(
@@ -851,11 +724,6 @@ namespace WixToolset.Mba.Core
851 /// <summary> 724 /// <summary>
852 /// See <see cref="IDefaultBootstrapperApplication.ApplyComplete"/>. 725 /// See <see cref="IDefaultBootstrapperApplication.ApplyComplete"/>.
853 /// </summary> 726 /// </summary>
854 /// <param name="hrStatus"></param>
855 /// <param name="restart"></param>
856 /// <param name="recommendation"></param>
857 /// <param name="pAction"></param>
858 /// <returns></returns>
859 [PreserveSig] 727 [PreserveSig]
860 [return: MarshalAs(UnmanagedType.I4)] 728 [return: MarshalAs(UnmanagedType.I4)]
861 int OnApplyComplete( 729 int OnApplyComplete(
@@ -868,8 +736,6 @@ namespace WixToolset.Mba.Core
868 /// <summary> 736 /// <summary>
869 /// See <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeBegin"/>. 737 /// See <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeBegin"/>.
870 /// </summary> 738 /// </summary>
871 /// <param name="fCancel"></param>
872 /// <returns></returns>
873 [PreserveSig] 739 [PreserveSig]
874 [return: MarshalAs(UnmanagedType.I4)] 740 [return: MarshalAs(UnmanagedType.I4)]
875 int OnLaunchApprovedExeBegin( 741 int OnLaunchApprovedExeBegin(
@@ -879,9 +745,6 @@ namespace WixToolset.Mba.Core
879 /// <summary> 745 /// <summary>
880 /// See <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeComplete"/>. 746 /// See <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeComplete"/>.
881 /// </summary> 747 /// </summary>
882 /// <param name="hrStatus"></param>
883 /// <param name="processId"></param>
884 /// <returns></returns>
885 [PreserveSig] 748 [PreserveSig]
886 [return: MarshalAs(UnmanagedType.I4)] 749 [return: MarshalAs(UnmanagedType.I4)]
887 int OnLaunchApprovedExeComplete( 750 int OnLaunchApprovedExeComplete(
@@ -892,9 +755,6 @@ namespace WixToolset.Mba.Core
892 /// <summary> 755 /// <summary>
893 /// See <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionBegin"/>. 756 /// See <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionBegin"/>.
894 /// </summary> 757 /// </summary>
895 /// <param name="wzTransactionId"></param>
896 /// <param name="fCancel"></param>
897 /// <returns></returns>
898 [PreserveSig] 758 [PreserveSig]
899 [return: MarshalAs(UnmanagedType.I4)] 759 [return: MarshalAs(UnmanagedType.I4)]
900 int OnBeginMsiTransactionBegin( 760 int OnBeginMsiTransactionBegin(
@@ -905,9 +765,6 @@ namespace WixToolset.Mba.Core
905 /// <summary> 765 /// <summary>
906 /// See <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionComplete"/>. 766 /// See <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionComplete"/>.
907 /// </summary> 767 /// </summary>
908 /// <param name="wzTransactionId"></param>
909 /// <param name="hrStatus"></param>
910 /// <returns></returns>
911 [PreserveSig] 768 [PreserveSig]
912 [return: MarshalAs(UnmanagedType.I4)] 769 [return: MarshalAs(UnmanagedType.I4)]
913 int OnBeginMsiTransactionComplete( 770 int OnBeginMsiTransactionComplete(
@@ -918,9 +775,6 @@ namespace WixToolset.Mba.Core
918 /// <summary> 775 /// <summary>
919 /// See <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionBegin"/>. 776 /// See <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionBegin"/>.
920 /// </summary> 777 /// </summary>
921 /// <param name="wzTransactionId"></param>
922 /// <param name="fCancel"></param>
923 /// <returns></returns>
924 [PreserveSig] 778 [PreserveSig]
925 [return: MarshalAs(UnmanagedType.I4)] 779 [return: MarshalAs(UnmanagedType.I4)]
926 int OnCommitMsiTransactionBegin( 780 int OnCommitMsiTransactionBegin(
@@ -931,12 +785,6 @@ namespace WixToolset.Mba.Core
931 /// <summary> 785 /// <summary>
932 /// See <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionComplete"/>. 786 /// See <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionComplete"/>.
933 /// </summary> 787 /// </summary>
934 /// <param name="wzTransactionId"></param>
935 /// <param name="hrStatus"></param>
936 /// <param name="restart"></param>
937 /// <param name="recommendation"></param>
938 /// <param name="pAction"></param>
939 /// <returns></returns>
940 [PreserveSig] 788 [PreserveSig]
941 [return: MarshalAs(UnmanagedType.I4)] 789 [return: MarshalAs(UnmanagedType.I4)]
942 int OnCommitMsiTransactionComplete( 790 int OnCommitMsiTransactionComplete(
@@ -950,8 +798,6 @@ namespace WixToolset.Mba.Core
950 /// <summary> 798 /// <summary>
951 /// See <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionBegin"/>. 799 /// See <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionBegin"/>.
952 /// </summary> 800 /// </summary>
953 /// <param name="wzTransactionId"></param>
954 /// <returns></returns>
955 [PreserveSig] 801 [PreserveSig]
956 [return: MarshalAs(UnmanagedType.I4)] 802 [return: MarshalAs(UnmanagedType.I4)]
957 int OnRollbackMsiTransactionBegin( 803 int OnRollbackMsiTransactionBegin(
@@ -961,12 +807,6 @@ namespace WixToolset.Mba.Core
961 /// <summary> 807 /// <summary>
962 /// See <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionComplete"/>. 808 /// See <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionComplete"/>.
963 /// </summary> 809 /// </summary>
964 /// <param name="wzTransactionId"></param>
965 /// <param name="hrStatus"></param>
966 /// <param name="restart"></param>
967 /// <param name="recommendation"></param>
968 /// <param name="pAction"></param>
969 /// <returns></returns>
970 [PreserveSig] 810 [PreserveSig]
971 [return: MarshalAs(UnmanagedType.I4)] 811 [return: MarshalAs(UnmanagedType.I4)]
972 int OnRollbackMsiTransactionComplete( 812 int OnRollbackMsiTransactionComplete(
@@ -980,7 +820,6 @@ namespace WixToolset.Mba.Core
980 /// <summary> 820 /// <summary>
981 /// See <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesBegin"/>. 821 /// See <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesBegin"/>.
982 /// </summary> 822 /// </summary>
983 /// <returns></returns>
984 [PreserveSig] 823 [PreserveSig]
985 [return: MarshalAs(UnmanagedType.I4)] 824 [return: MarshalAs(UnmanagedType.I4)]
986 int OnPauseAutomaticUpdatesBegin( 825 int OnPauseAutomaticUpdatesBegin(
@@ -989,8 +828,6 @@ namespace WixToolset.Mba.Core
989 /// <summary> 828 /// <summary>
990 /// See <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesComplete"/>. 829 /// See <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesComplete"/>.
991 /// </summary> 830 /// </summary>
992 /// <param name="hrStatus"></param>
993 /// <returns></returns>
994 [PreserveSig] 831 [PreserveSig]
995 [return: MarshalAs(UnmanagedType.I4)] 832 [return: MarshalAs(UnmanagedType.I4)]
996 int OnPauseAutomaticUpdatesComplete( 833 int OnPauseAutomaticUpdatesComplete(
@@ -1000,7 +837,6 @@ namespace WixToolset.Mba.Core
1000 /// <summary> 837 /// <summary>
1001 /// See <see cref="IDefaultBootstrapperApplication.SystemRestorePointBegin"/>. 838 /// See <see cref="IDefaultBootstrapperApplication.SystemRestorePointBegin"/>.
1002 /// </summary> 839 /// </summary>
1003 /// <returns></returns>
1004 [PreserveSig] 840 [PreserveSig]
1005 [return: MarshalAs(UnmanagedType.I4)] 841 [return: MarshalAs(UnmanagedType.I4)]
1006 int OnSystemRestorePointBegin( 842 int OnSystemRestorePointBegin(
@@ -1009,8 +845,6 @@ namespace WixToolset.Mba.Core
1009 /// <summary> 845 /// <summary>
1010 /// See <see cref="IDefaultBootstrapperApplication.SystemRestorePointComplete"/>. 846 /// See <see cref="IDefaultBootstrapperApplication.SystemRestorePointComplete"/>.
1011 /// </summary> 847 /// </summary>
1012 /// <param name="hrStatus"></param>
1013 /// <returns></returns>
1014 [PreserveSig] 848 [PreserveSig]
1015 [return: MarshalAs(UnmanagedType.I4)] 849 [return: MarshalAs(UnmanagedType.I4)]
1016 int OnSystemRestorePointComplete( 850 int OnSystemRestorePointComplete(
@@ -1020,15 +854,6 @@ namespace WixToolset.Mba.Core
1020 /// <summary> 854 /// <summary>
1021 /// See <see cref="IDefaultBootstrapperApplication.PlanForwardCompatibleBundle"/>. 855 /// See <see cref="IDefaultBootstrapperApplication.PlanForwardCompatibleBundle"/>.
1022 /// </summary> 856 /// </summary>
1023 /// <param name="wzBundleId"></param>
1024 /// <param name="relationType"></param>
1025 /// <param name="wzBundleTag"></param>
1026 /// <param name="fPerMachine"></param>
1027 /// <param name="wzVersion"></param>
1028 /// <param name="fRecommendedIgnoreBundle"></param>
1029 /// <param name="fCancel"></param>
1030 /// <param name="fIgnoreBundle"></param>
1031 /// <returns></returns>
1032 [PreserveSig] 857 [PreserveSig]
1033 [return: MarshalAs(UnmanagedType.I4)] 858 [return: MarshalAs(UnmanagedType.I4)]
1034 int OnPlanForwardCompatibleBundle( 859 int OnPlanForwardCompatibleBundle(
@@ -1211,27 +1036,27 @@ namespace WixToolset.Mba.Core
1211 public enum Display 1036 public enum Display
1212 { 1037 {
1213 /// <summary> 1038 /// <summary>
1214 /// 1039 /// Invalid value.
1215 /// </summary> 1040 /// </summary>
1216 Unknown, 1041 Unknown,
1217 1042
1218 /// <summary> 1043 /// <summary>
1219 /// 1044 /// The bundle is being run through the Burn protocol by an external application.
1220 /// </summary> 1045 /// </summary>
1221 Embedded, 1046 Embedded,
1222 1047
1223 /// <summary> 1048 /// <summary>
1224 /// 1049 /// No UI should be shown.
1225 /// </summary> 1050 /// </summary>
1226 None, 1051 None,
1227 1052
1228 /// <summary> 1053 /// <summary>
1229 /// 1054 /// The UI should not require any interaction from the user.
1230 /// </summary> 1055 /// </summary>
1231 Passive, 1056 Passive,
1232 1057
1233 /// <summary> 1058 /// <summary>
1234 /// 1059 /// The UI should be fully interactive.
1235 /// </summary> 1060 /// </summary>
1236 Full, 1061 Full,
1237 } 1062 }
@@ -1343,27 +1168,27 @@ namespace WixToolset.Mba.Core
1343 public enum Restart 1168 public enum Restart
1344 { 1169 {
1345 /// <summary> 1170 /// <summary>
1346 /// 1171 /// Invalid value.
1347 /// </summary> 1172 /// </summary>
1348 Unknown, 1173 Unknown,
1349 1174
1350 /// <summary> 1175 /// <summary>
1351 /// 1176 /// The bundle should never initiate a restart.
1352 /// </summary> 1177 /// </summary>
1353 Never, 1178 Never,
1354 1179
1355 /// <summary> 1180 /// <summary>
1356 /// 1181 /// The bundle should prompt the user whether to restart.
1357 /// </summary> 1182 /// </summary>
1358 Prompt, 1183 Prompt,
1359 1184
1360 /// <summary> 1185 /// <summary>
1361 /// 1186 /// The bundle should restart if necessary.
1362 /// </summary> 1187 /// </summary>
1363 Automatic, 1188 Automatic,
1364 1189
1365 /// <summary> 1190 /// <summary>
1366 /// 1191 /// The bundle should always restart when given the option.
1367 /// </summary> 1192 /// </summary>
1368 Always, 1193 Always,
1369 } 1194 }
@@ -1396,67 +1221,67 @@ namespace WixToolset.Mba.Core
1396 public enum Result 1221 public enum Result
1397 { 1222 {
1398 /// <summary> 1223 /// <summary>
1399 /// 1224 /// An error occurred.
1400 /// </summary> 1225 /// </summary>
1401 Error = -1, 1226 Error = -1,
1402 1227
1403 /// <summary> 1228 /// <summary>
1404 /// 1229 /// Invalid value.
1405 /// </summary> 1230 /// </summary>
1406 None, 1231 None,
1407 1232
1408 /// <summary> 1233 /// <summary>
1409 /// 1234 /// IDOK
1410 /// </summary> 1235 /// </summary>
1411 Ok, 1236 Ok,
1412 1237
1413 /// <summary> 1238 /// <summary>
1414 /// 1239 /// IDCANCEL
1415 /// </summary> 1240 /// </summary>
1416 Cancel, 1241 Cancel,
1417 1242
1418 /// <summary> 1243 /// <summary>
1419 /// 1244 /// IDABORT
1420 /// </summary> 1245 /// </summary>
1421 Abort, 1246 Abort,
1422 1247
1423 /// <summary> 1248 /// <summary>
1424 /// 1249 /// IDRETRY
1425 /// </summary> 1250 /// </summary>
1426 Retry, 1251 Retry,
1427 1252
1428 /// <summary> 1253 /// <summary>
1429 /// 1254 /// IDIGNORE
1430 /// </summary> 1255 /// </summary>
1431 Ignore, 1256 Ignore,
1432 1257
1433 /// <summary> 1258 /// <summary>
1434 /// 1259 /// IDYES
1435 /// </summary> 1260 /// </summary>
1436 Yes, 1261 Yes,
1437 1262
1438 /// <summary> 1263 /// <summary>
1439 /// 1264 /// IDNO
1440 /// </summary> 1265 /// </summary>
1441 No, 1266 No,
1442 1267
1443 /// <summary> 1268 /// <summary>
1444 /// / 1269 /// IDCLOSE
1445 /// </summary> 1270 /// </summary>
1446 Close, 1271 Close,
1447 1272
1448 /// <summary> 1273 /// <summary>
1449 /// 1274 /// IDHELP
1450 /// </summary> 1275 /// </summary>
1451 Help, 1276 Help,
1452 1277
1453 /// <summary> 1278 /// <summary>
1454 /// 1279 /// IDTRYAGAIN
1455 /// </summary> 1280 /// </summary>
1456 TryAgain, 1281 TryAgain,
1457 1282
1458 /// <summary> 1283 /// <summary>
1459 /// 1284 /// IDCONTINUE
1460 /// </summary> 1285 /// </summary>
1461 Continue, 1286 Continue,
1462 } 1287 }
@@ -1467,7 +1292,7 @@ namespace WixToolset.Mba.Core
1467 public enum ResumeType 1292 public enum ResumeType
1468 { 1293 {
1469 /// <summary> 1294 /// <summary>
1470 /// 1295 /// No resume information.
1471 /// </summary> 1296 /// </summary>
1472 None, 1297 None,
1473 1298
@@ -1553,12 +1378,12 @@ namespace WixToolset.Mba.Core
1553 } 1378 }
1554 1379
1555 /// <summary> 1380 /// <summary>
1556 /// The calculated operation for the related bundle. 1381 /// The calculated operation for the related MSI package.
1557 /// </summary> 1382 /// </summary>
1558 public enum RelatedOperation 1383 public enum RelatedOperation
1559 { 1384 {
1560 /// <summary> 1385 /// <summary>
1561 /// 1386 /// No relation.
1562 /// </summary> 1387 /// </summary>
1563 None, 1388 None,
1564 1389
@@ -1697,47 +1522,55 @@ namespace WixToolset.Mba.Core
1697 public enum RelationType 1522 public enum RelationType
1698 { 1523 {
1699 /// <summary> 1524 /// <summary>
1700 /// 1525 /// No relation.
1701 /// </summary> 1526 /// </summary>
1702 None, 1527 None,
1703 1528
1704 /// <summary> 1529 /// <summary>
1705 /// 1530 /// The related bundle is detected by the running bundle.
1531 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1706 /// </summary> 1532 /// </summary>
1707 Detect, 1533 Detect,
1708 1534
1709 /// <summary> 1535 /// <summary>
1710 /// 1536 /// The related bundle shares an upgrade code with the running bundle.
1537 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1711 /// </summary> 1538 /// </summary>
1712 Upgrade, 1539 Upgrade,
1713 1540
1714 /// <summary> 1541 /// <summary>
1715 /// 1542 /// The related bundle is an add-on for the running bundle.
1543 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1716 /// </summary> 1544 /// </summary>
1717 Addon, 1545 Addon,
1718 1546
1719 /// <summary> 1547 /// <summary>
1720 /// 1548 /// The related bundle is a patch for the running bundle.
1549 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1721 /// </summary> 1550 /// </summary>
1722 Patch, 1551 Patch,
1723 1552
1724 /// <summary> 1553 /// <summary>
1725 /// 1554 /// The running bundle is an add-on for the related bundle.
1555 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1726 /// </summary> 1556 /// </summary>
1727 DependentAddon, 1557 DependentAddon,
1728 1558
1729 /// <summary> 1559 /// <summary>
1730 /// 1560 /// The running bundle is a patch for the related bundle.
1561 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1731 /// </summary> 1562 /// </summary>
1732 DependentPatch, 1563 DependentPatch,
1733 1564
1734 /// <summary> 1565 /// <summary>
1735 /// 1566 /// The related bundle is a newer version of the running bundle.
1567 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1736 /// </summary> 1568 /// </summary>
1737 Update, 1569 Update,
1738 1570
1739 /// <summary> 1571 /// <summary>
1740 /// 1572 /// The related bundle is in the running bundle's chain.
1573 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1741 /// </summary> 1574 /// </summary>
1742 ChainPackage, 1575 ChainPackage,
1743 } 1576 }
@@ -1748,37 +1581,37 @@ namespace WixToolset.Mba.Core
1748 public enum RelatedBundlePlanType 1581 public enum RelatedBundlePlanType
1749 { 1582 {
1750 /// <summary> 1583 /// <summary>
1751 /// 1584 /// Don't execute the related bundle.
1752 /// </summary> 1585 /// </summary>
1753 None, 1586 None,
1754 1587
1755 /// <summary> 1588 /// <summary>
1756 /// 1589 /// The running bundle is a downgrade for the related bundle.
1757 /// </summary> 1590 /// </summary>
1758 Downgrade, 1591 Downgrade,
1759 1592
1760 /// <summary> 1593 /// <summary>
1761 /// 1594 /// The running bundle is an upgrade for the related bundle.
1762 /// </summary> 1595 /// </summary>
1763 Upgrade, 1596 Upgrade,
1764 1597
1765 /// <summary> 1598 /// <summary>
1766 /// 1599 /// The related bundle is an add-on of the running bundle.
1767 /// </summary> 1600 /// </summary>
1768 Addon, 1601 Addon,
1769 1602
1770 /// <summary> 1603 /// <summary>
1771 /// 1604 /// The related bundle is a patch for the running bundle.
1772 /// </summary> 1605 /// </summary>
1773 Patch, 1606 Patch,
1774 1607
1775 /// <summary> 1608 /// <summary>
1776 /// 1609 /// The running bundle is an add-on for the related bundle.
1777 /// </summary> 1610 /// </summary>
1778 DependentAddon, 1611 DependentAddon,
1779 1612
1780 /// <summary> 1613 /// <summary>
1781 /// 1614 /// The running bundle is a patch for the related bundle.
1782 /// </summary> 1615 /// </summary>
1783 DependentPatch, 1616 DependentPatch,
1784 } 1617 }
@@ -1816,7 +1649,7 @@ namespace WixToolset.Mba.Core
1816 public enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION 1649 public enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION
1817 { 1650 {
1818 /// <summary> 1651 /// <summary>
1819 /// 1652 /// Instructs the engine to not take any special action.
1820 /// </summary> 1653 /// </summary>
1821 None, 1654 None,
1822 1655
@@ -1855,7 +1688,7 @@ namespace WixToolset.Mba.Core
1855 public enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION 1688 public enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION
1856 { 1689 {
1857 /// <summary> 1690 /// <summary>
1858 /// 1691 /// Instructs the engine to not take any special action.
1859 /// </summary> 1692 /// </summary>
1860 None, 1693 None,
1861 1694
@@ -1872,7 +1705,7 @@ namespace WixToolset.Mba.Core
1872 public enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION 1705 public enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION
1873 { 1706 {
1874 /// <summary> 1707 /// <summary>
1875 /// 1708 /// Instructs the engine to not take any special action.
1876 /// </summary> 1709 /// </summary>
1877 None, 1710 None,
1878 1711
@@ -1895,7 +1728,7 @@ namespace WixToolset.Mba.Core
1895 public enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION 1728 public enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION
1896 { 1729 {
1897 /// <summary> 1730 /// <summary>
1898 /// 1731 /// Instructs the engine to not take any special action.
1899 /// </summary> 1732 /// </summary>
1900 None, 1733 None,
1901 1734
@@ -1912,7 +1745,7 @@ namespace WixToolset.Mba.Core
1912 public enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION 1745 public enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION
1913 { 1746 {
1914 /// <summary> 1747 /// <summary>
1915 /// 1748 /// Instructs the engine to not take any special action.
1916 /// </summary> 1749 /// </summary>
1917 None, 1750 None,
1918 1751
@@ -1933,7 +1766,7 @@ namespace WixToolset.Mba.Core
1933 public enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION 1766 public enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION
1934 { 1767 {
1935 /// <summary> 1768 /// <summary>
1936 /// 1769 /// Instructs the engine to not take any special action.
1937 /// </summary> 1770 /// </summary>
1938 None, 1771 None,
1939 1772
@@ -1967,7 +1800,7 @@ namespace WixToolset.Mba.Core
1967 public enum BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION 1800 public enum BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION
1968 { 1801 {
1969 /// <summary> 1802 /// <summary>
1970 /// 1803 /// Instructs the engine to not take any special action.
1971 /// </summary> 1804 /// </summary>
1972 None, 1805 None,
1973 1806
@@ -2046,7 +1879,7 @@ namespace WixToolset.Mba.Core
2046 public enum BOOTSTRAPPER_SHUTDOWN_ACTION 1879 public enum BOOTSTRAPPER_SHUTDOWN_ACTION
2047 { 1880 {
2048 /// <summary> 1881 /// <summary>
2049 /// 1882 /// Instructs the engine to not take any special action.
2050 /// </summary> 1883 /// </summary>
2051 None, 1884 None,
2052 1885
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
index 64e25ff4..2e84de67 100644
--- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
@@ -7,7 +7,7 @@ namespace WixToolset.Mba.Core
7 using System.Runtime.InteropServices; 7 using System.Runtime.InteropServices;
8 8
9 /// <summary> 9 /// <summary>
10 /// Interface used by WixToolset.Mba.Host to dynamically load the BA. 10 /// Interface used by the native host to dynamically load the BA.
11 /// </summary> 11 /// </summary>
12 [ComVisible(true)] 12 [ComVisible(true)]
13 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 13 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperEngine.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperEngine.cs
index eca8dda1..25ce52df 100644
--- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperEngine.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperEngine.cs
@@ -19,7 +19,6 @@ namespace WixToolset.Mba.Core
19 /// <summary> 19 /// <summary>
20 /// See <see cref="IEngine.PackageCount"/>. 20 /// See <see cref="IEngine.PackageCount"/>.
21 /// </summary> 21 /// </summary>
22 /// <param name="pcPackages"></param>
23 void GetPackageCount( 22 void GetPackageCount(
24 [MarshalAs(UnmanagedType.U4)] out int pcPackages 23 [MarshalAs(UnmanagedType.U4)] out int pcPackages
25 ); 24 );
@@ -27,9 +26,6 @@ namespace WixToolset.Mba.Core
27 /// <summary> 26 /// <summary>
28 /// See <see cref="IEngine.GetVariableNumeric(string)"/>. 27 /// See <see cref="IEngine.GetVariableNumeric(string)"/>.
29 /// </summary> 28 /// </summary>
30 /// <param name="wzVariable"></param>
31 /// <param name="pllValue"></param>
32 /// <returns></returns>
33 [PreserveSig] 29 [PreserveSig]
34 int GetVariableNumeric( 30 int GetVariableNumeric(
35 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable, 31 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable,
@@ -79,8 +75,6 @@ namespace WixToolset.Mba.Core
79 /// <summary> 75 /// <summary>
80 /// See <see cref="IEngine.EvaluateCondition(string)"/>. 76 /// See <see cref="IEngine.EvaluateCondition(string)"/>.
81 /// </summary> 77 /// </summary>
82 /// <param name="wzCondition"></param>
83 /// <param name="pf"></param>
84 void EvaluateCondition( 78 void EvaluateCondition(
85 [MarshalAs(UnmanagedType.LPWStr)] string wzCondition, 79 [MarshalAs(UnmanagedType.LPWStr)] string wzCondition,
86 [MarshalAs(UnmanagedType.Bool)] out bool pf 80 [MarshalAs(UnmanagedType.Bool)] out bool pf
@@ -89,8 +83,6 @@ namespace WixToolset.Mba.Core
89 /// <summary> 83 /// <summary>
90 /// See <see cref="IEngine.Log(LogLevel, string)"/>. 84 /// See <see cref="IEngine.Log(LogLevel, string)"/>.
91 /// </summary> 85 /// </summary>
92 /// <param name="level"></param>
93 /// <param name="wzMessage"></param>
94 void Log( 86 void Log(
95 [MarshalAs(UnmanagedType.U4)] LogLevel level, 87 [MarshalAs(UnmanagedType.U4)] LogLevel level,
96 [MarshalAs(UnmanagedType.LPWStr)] string wzMessage 88 [MarshalAs(UnmanagedType.LPWStr)] string wzMessage
@@ -99,10 +91,6 @@ namespace WixToolset.Mba.Core
99 /// <summary> 91 /// <summary>
100 /// See <see cref="IEngine.SendEmbeddedError(int, string, int)"/>. 92 /// See <see cref="IEngine.SendEmbeddedError(int, string, int)"/>.
101 /// </summary> 93 /// </summary>
102 /// <param name="dwErrorCode"></param>
103 /// <param name="wzMessage"></param>
104 /// <param name="dwUIHint"></param>
105 /// <param name="pnResult"></param>
106 void SendEmbeddedError( 94 void SendEmbeddedError(
107 [MarshalAs(UnmanagedType.U4)] int dwErrorCode, 95 [MarshalAs(UnmanagedType.U4)] int dwErrorCode,
108 [MarshalAs(UnmanagedType.LPWStr)] string wzMessage, 96 [MarshalAs(UnmanagedType.LPWStr)] string wzMessage,
@@ -113,9 +101,6 @@ namespace WixToolset.Mba.Core
113 /// <summary> 101 /// <summary>
114 /// See <see cref="IEngine.SendEmbeddedProgress(int, int)"/>. 102 /// See <see cref="IEngine.SendEmbeddedProgress(int, int)"/>.
115 /// </summary> 103 /// </summary>
116 /// <param name="dwProgressPercentage"></param>
117 /// <param name="dwOverallProgressPercentage"></param>
118 /// <param name="pnResult"></param>
119 void SendEmbeddedProgress( 104 void SendEmbeddedProgress(
120 [MarshalAs(UnmanagedType.U4)] int dwProgressPercentage, 105 [MarshalAs(UnmanagedType.U4)] int dwProgressPercentage,
121 [MarshalAs(UnmanagedType.U4)] int dwOverallProgressPercentage, 106 [MarshalAs(UnmanagedType.U4)] int dwOverallProgressPercentage,
@@ -125,11 +110,6 @@ namespace WixToolset.Mba.Core
125 /// <summary> 110 /// <summary>
126 /// See <see cref="IEngine.SetUpdate(string, string, long, UpdateHashType, string)"/>. 111 /// See <see cref="IEngine.SetUpdate(string, string, long, UpdateHashType, string)"/>.
127 /// </summary> 112 /// </summary>
128 /// <param name="wzLocalSource"></param>
129 /// <param name="wzDownloadSource"></param>
130 /// <param name="qwValue"></param>
131 /// <param name="hashType"></param>
132 /// <param name="wzHash"></param>
133 void SetUpdate( 113 void SetUpdate(
134 [MarshalAs(UnmanagedType.LPWStr)] string wzLocalSource, 114 [MarshalAs(UnmanagedType.LPWStr)] string wzLocalSource,
135 [MarshalAs(UnmanagedType.LPWStr)] string wzDownloadSource, 115 [MarshalAs(UnmanagedType.LPWStr)] string wzDownloadSource,
@@ -141,9 +121,6 @@ namespace WixToolset.Mba.Core
141 /// <summary> 121 /// <summary>
142 /// See <see cref="IEngine.SetLocalSource(string, string, string)"/>. 122 /// See <see cref="IEngine.SetLocalSource(string, string, string)"/>.
143 /// </summary> 123 /// </summary>
144 /// <param name="wzPackageOrContainerId"></param>
145 /// <param name="wzPayloadId"></param>
146 /// <param name="wzPath"></param>
147 void SetLocalSource( 124 void SetLocalSource(
148 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, 125 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
149 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, 126 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
@@ -153,11 +130,6 @@ namespace WixToolset.Mba.Core
153 /// <summary> 130 /// <summary>
154 /// See <see cref="IEngine.SetDownloadSource(string, string, string, string, string)"/>. 131 /// See <see cref="IEngine.SetDownloadSource(string, string, string, string, string)"/>.
155 /// </summary> 132 /// </summary>
156 /// <param name="wzPackageOrContainerId"></param>
157 /// <param name="wzPayloadId"></param>
158 /// <param name="wzUrl"></param>
159 /// <param name="wzUser"></param>
160 /// <param name="wzPassword"></param>
161 void SetDownloadSource( 133 void SetDownloadSource(
162 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, 134 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
163 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, 135 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
@@ -169,8 +141,6 @@ namespace WixToolset.Mba.Core
169 /// <summary> 141 /// <summary>
170 /// See <see cref="IEngine.SetVariableNumeric(string, long)"/>. 142 /// See <see cref="IEngine.SetVariableNumeric(string, long)"/>.
171 /// </summary> 143 /// </summary>
172 /// <param name="wzVariable"></param>
173 /// <param name="llValue"></param>
174 void SetVariableNumeric( 144 void SetVariableNumeric(
175 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable, 145 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable,
176 long llValue 146 long llValue
@@ -179,9 +149,6 @@ namespace WixToolset.Mba.Core
179 /// <summary> 149 /// <summary>
180 /// See <see cref="IEngine.SetVariableString(string, string, bool)"/>. 150 /// See <see cref="IEngine.SetVariableString(string, string, bool)"/>.
181 /// </summary> 151 /// </summary>
182 /// <param name="wzVariable"></param>
183 /// <param name="wzValue"></param>
184 /// <param name="fFormatted"></param>
185 void SetVariableString( 152 void SetVariableString(
186 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable, 153 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable,
187 IntPtr wzValue, 154 IntPtr wzValue,
@@ -191,8 +158,6 @@ namespace WixToolset.Mba.Core
191 /// <summary> 158 /// <summary>
192 /// See <see cref="IEngine.SetVariableVersion(string, string)"/>. 159 /// See <see cref="IEngine.SetVariableVersion(string, string)"/>.
193 /// </summary> 160 /// </summary>
194 /// <param name="wzVariable"></param>
195 /// <param name="wzValue"></param>
196 void SetVariableVersion( 161 void SetVariableVersion(
197 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable, 162 [MarshalAs(UnmanagedType.LPWStr)] string wzVariable,
198 IntPtr wzValue 163 IntPtr wzValue
@@ -206,7 +171,6 @@ namespace WixToolset.Mba.Core
206 /// <summary> 171 /// <summary>
207 /// See <see cref="IEngine.Detect(IntPtr)"/>. 172 /// See <see cref="IEngine.Detect(IntPtr)"/>.
208 /// </summary> 173 /// </summary>
209 /// <param name="hwndParent"></param>
210 void Detect( 174 void Detect(
211 IntPtr hwndParent 175 IntPtr hwndParent
212 ); 176 );
@@ -214,7 +178,6 @@ namespace WixToolset.Mba.Core
214 /// <summary> 178 /// <summary>
215 /// See <see cref="IEngine.Plan(LaunchAction)"/>. 179 /// See <see cref="IEngine.Plan(LaunchAction)"/>.
216 /// </summary> 180 /// </summary>
217 /// <param name="action"></param>
218 void Plan( 181 void Plan(
219 [MarshalAs(UnmanagedType.U4)] LaunchAction action 182 [MarshalAs(UnmanagedType.U4)] LaunchAction action
220 ); 183 );
@@ -222,8 +185,6 @@ namespace WixToolset.Mba.Core
222 /// <summary> 185 /// <summary>
223 /// See <see cref="IEngine.Elevate(IntPtr)"/>. 186 /// See <see cref="IEngine.Elevate(IntPtr)"/>.
224 /// </summary> 187 /// </summary>
225 /// <param name="hwndParent"></param>
226 /// <returns></returns>
227 [PreserveSig] 188 [PreserveSig]
228 int Elevate( 189 int Elevate(
229 IntPtr hwndParent 190 IntPtr hwndParent
@@ -232,7 +193,6 @@ namespace WixToolset.Mba.Core
232 /// <summary> 193 /// <summary>
233 /// See <see cref="IEngine.Apply(IntPtr)"/>. 194 /// See <see cref="IEngine.Apply(IntPtr)"/>.
234 /// </summary> 195 /// </summary>
235 /// <param name="hwndParent"></param>
236 void Apply( 196 void Apply(
237 IntPtr hwndParent 197 IntPtr hwndParent
238 ); 198 );
@@ -240,7 +200,6 @@ namespace WixToolset.Mba.Core
240 /// <summary> 200 /// <summary>
241 /// See <see cref="IEngine.Quit(int)"/>. 201 /// See <see cref="IEngine.Quit(int)"/>.
242 /// </summary> 202 /// </summary>
243 /// <param name="dwExitCode"></param>
244 void Quit( 203 void Quit(
245 [MarshalAs(UnmanagedType.U4)] int dwExitCode 204 [MarshalAs(UnmanagedType.U4)] int dwExitCode
246 ); 205 );
@@ -248,10 +207,6 @@ namespace WixToolset.Mba.Core
248 /// <summary> 207 /// <summary>
249 /// See <see cref="IEngine.LaunchApprovedExe(IntPtr, string, string, int)"/>. 208 /// See <see cref="IEngine.LaunchApprovedExe(IntPtr, string, string, int)"/>.
250 /// </summary> 209 /// </summary>
251 /// <param name="hwndParent"></param>
252 /// <param name="wzApprovedExeForElevationId"></param>
253 /// <param name="wzArguments"></param>
254 /// <param name="dwWaitForInputIdleTimeout"></param>
255 void LaunchApprovedExe( 210 void LaunchApprovedExe(
256 IntPtr hwndParent, 211 IntPtr hwndParent,
257 [MarshalAs(UnmanagedType.LPWStr)] string wzApprovedExeForElevationId, 212 [MarshalAs(UnmanagedType.LPWStr)] string wzApprovedExeForElevationId,
@@ -262,7 +217,6 @@ namespace WixToolset.Mba.Core
262 /// <summary> 217 /// <summary>
263 /// Sets the URL to the update feed. 218 /// Sets the URL to the update feed.
264 /// </summary> 219 /// </summary>
265 /// <param name="url">URL of the update feed.</param>
266 void SetUpdateSource( 220 void SetUpdateSource(
267 [MarshalAs(UnmanagedType.LPWStr)] string url 221 [MarshalAs(UnmanagedType.LPWStr)] string url
268 ); 222 );
@@ -270,9 +224,6 @@ namespace WixToolset.Mba.Core
270 /// <summary> 224 /// <summary>
271 /// See <see cref="IEngine.CompareVersions(string, string)"/>. 225 /// See <see cref="IEngine.CompareVersions(string, string)"/>.
272 /// </summary> 226 /// </summary>
273 /// <param name="wzVersion1"></param>
274 /// <param name="wzVersion2"></param>
275 /// <param name="pnResult"></param>
276 void CompareVersions( 227 void CompareVersions(
277 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion1, 228 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion1,
278 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion2, 229 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion2,
@@ -297,93 +248,94 @@ namespace WixToolset.Mba.Core
297 public enum ActionState 248 public enum ActionState
298 { 249 {
299 /// <summary> 250 /// <summary>
300 /// 251 /// No action.
301 /// </summary> 252 /// </summary>
302 None, 253 None,
303 254
304 /// <summary> 255 /// <summary>
305 /// 256 /// Uninstall action.
306 /// </summary> 257 /// </summary>
307 Uninstall, 258 Uninstall,
308 259
309 /// <summary> 260 /// <summary>
310 /// 261 /// Install action.
311 /// </summary> 262 /// </summary>
312 Install, 263 Install,
313 264
314 /// <summary> 265 /// <summary>
315 /// 266 /// Modify action.
316 /// </summary> 267 /// </summary>
317 Modify, 268 Modify,
318 269
319 /// <summary> 270 /// <summary>
320 /// 271 /// Repair action.
321 /// </summary> 272 /// </summary>
322 Repair, 273 Repair,
323 274
324 /// <summary> 275 /// <summary>
325 /// 276 /// Minor upgrade action.
326 /// </summary> 277 /// </summary>
327 MinorUpgrade, 278 MinorUpgrade,
328 } 279 }
329 280
330 /// <summary> 281 /// <summary>
331 /// The action for the BA to perform. 282 /// The action for the bundle to perform.
332 /// </summary> 283 /// </summary>
333 public enum LaunchAction 284 public enum LaunchAction
334 { 285 {
335 /// <summary> 286 /// <summary>
336 /// 287 /// Invalid action.
337 /// </summary> 288 /// </summary>
338 Unknown, 289 Unknown,
339 290
340 /// <summary> 291 /// <summary>
341 /// 292 /// Provide help information.
342 /// </summary> 293 /// </summary>
343 Help, 294 Help,
344 295
345 /// <summary> 296 /// <summary>
346 /// 297 /// Layout the bundle on disk, normally to prepare for offline installation.
347 /// </summary> 298 /// </summary>
348 Layout, 299 Layout,
349 300
350 /// <summary> 301 /// <summary>
351 /// 302 /// Same as Uninstall, except it will always remove itself from the package cache and Add/Remove Programs.
303 /// This should only be used to remove corrupt bundles since it might not properly clean up its packages.
352 /// </summary> 304 /// </summary>
353 UnsafeUninstall, 305 UnsafeUninstall,
354 306
355 /// <summary> 307 /// <summary>
356 /// 308 /// Uninstall the bundle.
357 /// </summary> 309 /// </summary>
358 Uninstall, 310 Uninstall,
359 311
360 /// <summary> 312 /// <summary>
361 /// 313 /// Cache the bundle and its packages.
362 /// </summary> 314 /// </summary>
363 Cache, 315 Cache,
364 316
365 /// <summary> 317 /// <summary>
366 /// 318 /// Install the bundle.
367 /// </summary> 319 /// </summary>
368 Install, 320 Install,
369 321
370 /// <summary> 322 /// <summary>
371 /// 323 /// Modify the bundle.
372 /// </summary> 324 /// </summary>
373 Modify, 325 Modify,
374 326
375 /// <summary> 327 /// <summary>
376 /// 328 /// Repair the bundle
377 /// </summary> 329 /// </summary>
378 Repair, 330 Repair,
379 331
380 /// <summary> 332 /// <summary>
381 /// 333 /// Launch the update registered with <see cref="IEngine.SetUpdate(string, string, long, UpdateHashType, string)"/> and then exit without waiting for it to complete.
382 /// </summary> 334 /// </summary>
383 UpdateReplace, 335 UpdateReplace,
384 336
385 /// <summary> 337 /// <summary>
386 /// 338 /// Launch the update registered with <see cref="IEngine.SetUpdate(string, string, long, UpdateHashType, string)"/> as an embedded bundle.
387 /// </summary> 339 /// </summary>
388 UpdateReplaceEmbedded, 340 UpdateReplaceEmbedded,
389 } 341 }
@@ -441,32 +393,32 @@ namespace WixToolset.Mba.Core
441 public enum PackageState 393 public enum PackageState
442 { 394 {
443 /// <summary> 395 /// <summary>
444 /// 396 /// Invalid state.
445 /// </summary> 397 /// </summary>
446 Unknown, 398 Unknown,
447 399
448 /// <summary> 400 /// <summary>
449 /// 401 /// The package is not on the machine (except possibly MspPackage) and should not be installed.
450 /// </summary> 402 /// </summary>
451 Obsolete, 403 Obsolete,
452 404
453 /// <summary> 405 /// <summary>
454 /// 406 /// The package is not installed.
455 /// </summary> 407 /// </summary>
456 Absent, 408 Absent,
457 409
458 /// <summary> 410 /// <summary>
459 /// 411 /// The package is not installed but is in the package cache.
460 /// </summary> 412 /// </summary>
461 Cached, 413 Cached,
462 414
463 /// <summary> 415 /// <summary>
464 /// 416 /// The package is installed.
465 /// </summary> 417 /// </summary>
466 Present, 418 Present,
467 419
468 /// <summary> 420 /// <summary>
469 /// 421 /// The package is on the machine but not active, so only uninstall operations are allowed.
470 /// </summary> 422 /// </summary>
471 Superseded, 423 Superseded,
472 } 424 }
@@ -477,68 +429,70 @@ namespace WixToolset.Mba.Core
477 public enum RequestState 429 public enum RequestState
478 { 430 {
479 /// <summary> 431 /// <summary>
480 /// 432 /// No change requested.
481 /// </summary> 433 /// </summary>
482 None, 434 None,
483 435
484 /// <summary> 436 /// <summary>
485 /// / 437 /// As long as there are no dependents, the package will be uninstalled.
438 /// There are some packages that can't be uninstalled, such as an ExePackage without an UninstallCommand.
486 /// </summary> 439 /// </summary>
487 ForceAbsent, 440 ForceAbsent,
488 441
489 /// <summary> 442 /// <summary>
490 /// 443 /// Request the package to not be installed on the machine.
491 /// </summary> 444 /// </summary>
492 Absent, 445 Absent,
493 446
494 /// <summary> 447 /// <summary>
495 /// 448 /// Request the package to be cached and not be installed on the machine.
496 /// </summary> 449 /// </summary>
497 Cache, 450 Cache,
498 451
499 /// <summary> 452 /// <summary>
500 /// 453 /// Request the package to be installed on the machine.
501 /// </summary> 454 /// </summary>
502 Present, 455 Present,
503 456
504 /// <summary> 457 /// <summary>
505 /// 458 /// Force the bundle to install the package.
506 /// </summary> 459 /// </summary>
507 ForcePresent, 460 ForcePresent,
508 461
509 /// <summary> 462 /// <summary>
510 /// 463 /// Request the package to be repaired.
511 /// </summary> 464 /// </summary>
512 Repair, 465 Repair,
513 } 466 }
514 467
515 /// <summary> 468 /// <summary>
516 /// Indicates the state of a feature. 469 /// Indicates the state of a feature.
470 /// See https://learn.microsoft.com/en-us/windows/win32/api/msi/nf-msi-msiqueryfeaturestatew.
517 /// </summary> 471 /// </summary>
518 public enum FeatureState 472 public enum FeatureState
519 { 473 {
520 /// <summary> 474 /// <summary>
521 /// 475 /// Invalid state.
522 /// </summary> 476 /// </summary>
523 Unknown, 477 Unknown,
524 478
525 /// <summary> 479 /// <summary>
526 /// 480 /// INSTALLSTATE_ABSENT
527 /// </summary> 481 /// </summary>
528 Absent, 482 Absent,
529 483
530 /// <summary> 484 /// <summary>
531 /// 485 /// INSTALLSTATE_ADVERTISED
532 /// </summary> 486 /// </summary>
533 Advertised, 487 Advertised,
534 488
535 /// <summary> 489 /// <summary>
536 /// 490 /// INSTALLSTATE_LOCAL
537 /// </summary> 491 /// </summary>
538 Local, 492 Local,
539 493
540 /// <summary> 494 /// <summary>
541 /// 495 /// INSTALLSTATE_SOURCE
542 /// </summary> 496 /// </summary>
543 Source, 497 Source,
544 } 498 }
diff --git a/src/api/burn/WixToolset.Mba.Core/IBundleInfo.cs b/src/api/burn/WixToolset.Mba.Core/IBundleInfo.cs
index 3227b72d..951f511a 100644
--- a/src/api/burn/WixToolset.Mba.Core/IBundleInfo.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IBundleInfo.cs
@@ -10,27 +10,27 @@ namespace WixToolset.Mba.Core
10 public interface IBundleInfo 10 public interface IBundleInfo
11 { 11 {
12 /// <summary> 12 /// <summary>
13 /// 13 /// The name of the variable that contains the path to the bundle's log.
14 /// </summary> 14 /// </summary>
15 string LogVariable { get; } 15 string LogVariable { get; }
16 16
17 /// <summary> 17 /// <summary>
18 /// 18 /// Bundle/@Name
19 /// </summary> 19 /// </summary>
20 string Name { get; } 20 string Name { get; }
21 21
22 /// <summary> 22 /// <summary>
23 /// 23 /// Variables that were marked with bal:Overridable="yes".
24 /// </summary> 24 /// </summary>
25 IOverridableVariables OverridableVariables { get; } 25 IOverridableVariables OverridableVariables { get; }
26 26
27 /// <summary> 27 /// <summary>
28 /// 28 /// The packages in the bundle's chain.
29 /// </summary> 29 /// </summary>
30 IDictionary<string, IPackageInfo> Packages { get; } 30 IDictionary<string, IPackageInfo> Packages { get; }
31 31
32 /// <summary> 32 /// <summary>
33 /// 33 /// Whether the bundle is per-machine or per-user.
34 /// </summary> 34 /// </summary>
35 bool PerMachine { get; } 35 bool PerMachine { get; }
36 36
@@ -48,4 +48,4 @@ namespace WixToolset.Mba.Core
48 /// <returns>The created <see cref="IPackageInfo"/>.</returns> 48 /// <returns>The created <see cref="IPackageInfo"/>.</returns>
49 IPackageInfo AddUpdateBundleAsPackage(SetUpdateCompleteEventArgs e); 49 IPackageInfo AddUpdateBundleAsPackage(SetUpdateCompleteEventArgs e);
50 } 50 }
51} \ No newline at end of file 51}
diff --git a/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs b/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs
index c6285f03..b1036143 100644
--- a/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs
@@ -8,7 +8,7 @@ namespace WixToolset.Mba.Core
8 public interface IPackageInfo 8 public interface IPackageInfo
9 { 9 {
10 /// <summary> 10 /// <summary>
11 /// 11 /// The authored cache strategy for this package.
12 /// </summary> 12 /// </summary>
13 BOOTSTRAPPER_CACHE_TYPE CacheType { get; } 13 BOOTSTRAPPER_CACHE_TYPE CacheType { get; }
14 14
@@ -18,82 +18,82 @@ namespace WixToolset.Mba.Core
18 object CustomData { get; set; } 18 object CustomData { get; set; }
19 19
20 /// <summary> 20 /// <summary>
21 /// 21 /// The package's description.
22 /// </summary> 22 /// </summary>
23 string Description { get; } 23 string Description { get; }
24 24
25 /// <summary> 25 /// <summary>
26 /// 26 /// The authored bal:DisplayInternalUICondition.
27 /// </summary> 27 /// </summary>
28 string DisplayInternalUICondition { get; } 28 string DisplayInternalUICondition { get; }
29 29
30 /// <summary> 30 /// <summary>
31 /// 31 /// The package's display name.
32 /// </summary> 32 /// </summary>
33 string DisplayName { get; } 33 string DisplayName { get; }
34 34
35 /// <summary> 35 /// <summary>
36 /// 36 /// The package's Id.
37 /// </summary> 37 /// </summary>
38 string Id { get; } 38 string Id { get; }
39 39
40 /// <summary> 40 /// <summary>
41 /// 41 /// The authored InstallCondition.
42 /// </summary> 42 /// </summary>
43 string InstallCondition { get; } 43 string InstallCondition { get; }
44 44
45 /// <summary> 45 /// <summary>
46 /// 46 /// The authored RepairCondition.
47 /// </summary> 47 /// </summary>
48 string RepairCondition { get; } 48 string RepairCondition { get; }
49 49
50 /// <summary> 50 /// <summary>
51 /// 51 /// Whether the bundle should ever recommend the package to be uninstalled.
52 /// </summary> 52 /// </summary>
53 bool Permanent { get; } 53 bool Permanent { get; }
54 54
55 /// <summary> 55 /// <summary>
56 /// 56 /// Whether the package should be installed by the prereq BA for managed bootstrapper applications.
57 /// </summary> 57 /// </summary>
58 bool PrereqPackage { get; } 58 bool PrereqPackage { get; }
59 59
60 /// <summary> 60 /// <summary>
61 /// 61 /// The file name of the license file to be shown by the prereq BA.
62 /// </summary> 62 /// </summary>
63 string PrereqLicenseFile { get; } 63 string PrereqLicenseFile { get; }
64 64
65 /// <summary> 65 /// <summary>
66 /// 66 /// The URL of the license to be shown by the prereq BA.
67 /// </summary> 67 /// </summary>
68 string PrereqLicenseUrl { get; } 68 string PrereqLicenseUrl { get; }
69 69
70 /// <summary> 70 /// <summary>
71 /// See <see cref="PrimaryPackageType"/> 71 /// See <see cref="WixToolset.Mba.Core.PrimaryPackageType"/>
72 /// </summary> 72 /// </summary>
73 PrimaryPackageType PrimaryPackageType { get; } 73 PrimaryPackageType PrimaryPackageType { get; }
74 74
75 /// <summary> 75 /// <summary>
76 /// 76 /// The package's ProductCode.
77 /// </summary> 77 /// </summary>
78 string ProductCode { get; } 78 string ProductCode { get; }
79 79
80 /// <summary> 80 /// <summary>
81 /// 81 /// The type of the package.
82 /// </summary> 82 /// </summary>
83 PackageType Type { get; } 83 PackageType Type { get; }
84 84
85 /// <summary> 85 /// <summary>
86 /// 86 /// The package's UpgradeCode.
87 /// </summary> 87 /// </summary>
88 string UpgradeCode { get; } 88 string UpgradeCode { get; }
89 89
90 /// <summary> 90 /// <summary>
91 /// 91 /// The package's version.
92 /// </summary> 92 /// </summary>
93 string Version { get; } 93 string Version { get; }
94 94
95 /// <summary> 95 /// <summary>
96 /// 96 /// Whether the package's failure can be ignored while executing the chain.
97 /// </summary> 97 /// </summary>
98 bool Vital { get; } 98 bool Vital { get; }
99 } 99 }
diff --git a/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs b/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs
index 3fa1b49e..c6373647 100644
--- a/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs
+++ b/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs
@@ -8,57 +8,57 @@ namespace WixToolset.Mba.Core
8 using System.Xml.XPath; 8 using System.Xml.XPath;
9 9
10 /// <summary> 10 /// <summary>
11 /// 11 /// The type of package.
12 /// </summary> 12 /// </summary>
13 public enum PackageType 13 public enum PackageType
14 { 14 {
15 /// <summary> 15 /// <summary>
16 /// 16 /// Invalid type.
17 /// </summary> 17 /// </summary>
18 Unknown, 18 Unknown,
19 19
20 /// <summary> 20 /// <summary>
21 /// 21 /// ExePackage
22 /// </summary> 22 /// </summary>
23 Exe, 23 Exe,
24 24
25 /// <summary> 25 /// <summary>
26 /// 26 /// MsiPackage
27 /// </summary> 27 /// </summary>
28 Msi, 28 Msi,
29 29
30 /// <summary> 30 /// <summary>
31 /// 31 /// MspPackage
32 /// </summary> 32 /// </summary>
33 Msp, 33 Msp,
34 34
35 /// <summary> 35 /// <summary>
36 /// 36 /// MsuPackage
37 /// </summary> 37 /// </summary>
38 Msu, 38 Msu,
39 39
40 /// <summary> 40 /// <summary>
41 /// 41 /// Related bundle of type Upgrade
42 /// </summary> 42 /// </summary>
43 UpgradeBundle, 43 UpgradeBundle,
44 44
45 /// <summary> 45 /// <summary>
46 /// 46 /// Related bundle of type Addon
47 /// </summary> 47 /// </summary>
48 AddonBundle, 48 AddonBundle,
49 49
50 /// <summary> 50 /// <summary>
51 /// 51 /// Related bundle of type Patch
52 /// </summary> 52 /// </summary>
53 PatchBundle, 53 PatchBundle,
54 54
55 /// <summary> 55 /// <summary>
56 /// 56 /// Related bundle of type Update
57 /// </summary> 57 /// </summary>
58 UpdateBundle, 58 UpdateBundle,
59 59
60 /// <summary> 60 /// <summary>
61 /// 61 /// BundlePackage
62 /// </summary> 62 /// </summary>
63 ChainBundle, 63 ChainBundle,
64 } 64 }
@@ -156,10 +156,10 @@ namespace WixToolset.Mba.Core
156 internal PackageInfo() { } 156 internal PackageInfo() { }
157 157
158 /// <summary> 158 /// <summary>
159 /// 159 /// Parse packages from BootstrapperApplicationData.xml.
160 /// </summary> 160 /// </summary>
161 /// <param name="root"></param> 161 /// <param name="root">The root node.</param>
162 /// <returns></returns> 162 /// <returns>A dictionary of the packages by Id.</returns>
163 public static IDictionary<string, IPackageInfo> ParsePackagesFromXml(XPathNavigator root) 163 public static IDictionary<string, IPackageInfo> ParsePackagesFromXml(XPathNavigator root)
164 { 164 {
165 var packagesById = new Dictionary<string, IPackageInfo>(); 165 var packagesById = new Dictionary<string, IPackageInfo>();
@@ -213,6 +213,13 @@ namespace WixToolset.Mba.Core
213 213
214 package.RepairCondition = BootstrapperApplicationData.GetAttribute(node, "RepairCondition"); 214 package.RepairCondition = BootstrapperApplicationData.GetAttribute(node, "RepairCondition");
215 215
216 BOOTSTRAPPER_CACHE_TYPE? cacheType = GetCacheTypeAttribute(node, "Cache");
217 if (!cacheType.HasValue)
218 {
219 throw new Exception("Failed to get cache type for package.");
220 }
221 package.CacheType = cacheType.Value;
222
216 packagesById.Add(package.Id, package); 223 packagesById.Add(package.Id, package);
217 } 224 }
218 225
@@ -221,11 +228,11 @@ namespace WixToolset.Mba.Core
221 } 228 }
222 229
223 /// <summary> 230 /// <summary>
224 /// 231 /// Parse the cache type attribute.
225 /// </summary> 232 /// </summary>
226 /// <param name="node"></param> 233 /// <param name="node">Package node</param>
227 /// <param name="attributeName"></param> 234 /// <param name="attributeName">Attribute name</param>
228 /// <returns></returns> 235 /// <returns>The cache type</returns>
229 public static BOOTSTRAPPER_CACHE_TYPE? GetCacheTypeAttribute(XPathNavigator node, string attributeName) 236 public static BOOTSTRAPPER_CACHE_TYPE? GetCacheTypeAttribute(XPathNavigator node, string attributeName)
230 { 237 {
231 string attributeValue = BootstrapperApplicationData.GetAttribute(node, attributeName); 238 string attributeValue = BootstrapperApplicationData.GetAttribute(node, attributeName);
@@ -250,11 +257,11 @@ namespace WixToolset.Mba.Core
250 } 257 }
251 258
252 /// <summary> 259 /// <summary>
253 /// 260 /// Parse the package type attribute
254 /// </summary> 261 /// </summary>
255 /// <param name="node"></param> 262 /// <param name="node">Package node</param>
256 /// <param name="attributeName"></param> 263 /// <param name="attributeName">Attribute name</param>
257 /// <returns></returns> 264 /// <returns>The package type</returns>
258 public static PackageType? GetPackageTypeAttribute(XPathNavigator node, string attributeName) 265 public static PackageType? GetPackageTypeAttribute(XPathNavigator node, string attributeName)
259 { 266 {
260 string attributeValue = BootstrapperApplicationData.GetAttribute(node, attributeName); 267 string attributeValue = BootstrapperApplicationData.GetAttribute(node, attributeName);
@@ -291,13 +298,13 @@ namespace WixToolset.Mba.Core
291 } 298 }
292 299
293 /// <summary> 300 /// <summary>
294 /// 301 /// Create <see cref="IPackageInfo"/> from a related bundle.
295 /// </summary> 302 /// </summary>
296 /// <param name="id"></param> 303 /// <param name="id">Package id</param>
297 /// <param name="relationType"></param> 304 /// <param name="relationType">Relation type</param>
298 /// <param name="perMachine"></param> 305 /// <param name="perMachine">Whether the related bundle is per-machine</param>
299 /// <param name="version"></param> 306 /// <param name="version">The related bundle's version</param>
300 /// <returns></returns> 307 /// <returns>The package info</returns>
301 public static IPackageInfo GetRelatedBundleAsPackage(string id, RelationType relationType, bool perMachine, string version) 308 public static IPackageInfo GetRelatedBundleAsPackage(string id, RelationType relationType, bool perMachine, string version)
302 { 309 {
303 PackageInfo package = new PackageInfo(); 310 PackageInfo package = new PackageInfo();
@@ -323,10 +330,10 @@ namespace WixToolset.Mba.Core
323 } 330 }
324 331
325 /// <summary> 332 /// <summary>
326 /// 333 /// Create <see cref="IPackageInfo"/> from an update bundle.
327 /// </summary> 334 /// </summary>
328 /// <param name="id"></param> 335 /// <param name="id">Package id</param>
329 /// <returns></returns> 336 /// <returns>The package info</returns>
330 public static IPackageInfo GetUpdateBundleAsPackage(string id) 337 public static IPackageInfo GetUpdateBundleAsPackage(string id)
331 { 338 {
332 PackageInfo package = new PackageInfo(); 339 PackageInfo package = new PackageInfo();
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs
index 14552310..3573f9d3 100644
--- a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs
+++ b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs
@@ -110,10 +110,10 @@ namespace WixToolset.Mba.Core
110 } 110 }
111 111
112 /// <summary> 112 /// <summary>
113 /// 113 /// Clone the version.
114 /// </summary> 114 /// </summary>
115 /// <param name="version"></param> 115 /// <param name="version">Source version</param>
116 /// <returns></returns> 116 /// <returns>Cloned version</returns>
117 public static VerUtilVersion CopyVersion(VerUtilVersion version) 117 public static VerUtilVersion CopyVersion(VerUtilVersion version)
118 { 118 {
119 var handle = VerCopyVersion(version.GetHandle()); 119 var handle = VerCopyVersion(version.GetHandle());
@@ -121,11 +121,11 @@ namespace WixToolset.Mba.Core
121 } 121 }
122 122
123 /// <summary> 123 /// <summary>
124 /// 124 /// Parse a version.
125 /// </summary> 125 /// </summary>
126 /// <param name="version"></param> 126 /// <param name="version">Source version</param>
127 /// <param name="strict">Whether to throw exception on invalid version.</param> 127 /// <param name="strict">Whether to throw exception on invalid version.</param>
128 /// <returns></returns> 128 /// <returns>Parsed version</returns>
129 public static VerUtilVersion ParseVersion(string version, bool strict) 129 public static VerUtilVersion ParseVersion(string version, bool strict)
130 { 130 {
131 var handle = VerParseVersion(version, 0, strict); 131 var handle = VerParseVersion(version, 0, strict);
@@ -133,10 +133,10 @@ namespace WixToolset.Mba.Core
133 } 133 }
134 134
135 /// <summary> 135 /// <summary>
136 /// 136 /// Parse version from qword.
137 /// </summary> 137 /// </summary>
138 /// <param name="version"></param> 138 /// <param name="version">Source version</param>
139 /// <returns></returns> 139 /// <returns>Parsed version</returns>
140 public static VerUtilVersion VersionFromQword(long version) 140 public static VerUtilVersion VersionFromQword(long version)
141 { 141 {
142 var handle = VerVersionFromQword(version); 142 var handle = VerVersionFromQword(version);