aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.Mba.Core
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-12-15 10:48:06 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-12-30 15:00:45 -0600
commit9e2cda60e3852660f235beb5e0af1c746d0045e6 (patch)
tree8fca357e80bf638750fe900c4803a081e16adee8 /src/api/burn/WixToolset.Mba.Core
parent07599b27596af68f0917c1afc6a748af3a3cda2f (diff)
downloadwix-9e2cda60e3852660f235beb5e0af1c746d0045e6.tar.gz
wix-9e2cda60e3852660f235beb5e0af1c746d0045e6.tar.bz2
wix-9e2cda60e3852660f235beb5e0af1c746d0045e6.zip
FilesInUse messages are too different to unify in the Burn engine.
Fixes #6348
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core')
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs4
-rw-r--r--src/api/burn/WixToolset.Mba.Core/EventArgs.cs8
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs26
3 files changed, 29 insertions, 9 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
index a78bf43f..b1fcaea4 100644
--- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
+++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
@@ -1712,9 +1712,9 @@ namespace WixToolset.Mba.Core
1712 return args.HResult; 1712 return args.HResult;
1713 } 1713 }
1714 1714
1715 int IBootstrapperApplication.OnExecuteFilesInUse(string wzPackageId, int cFiles, string[] rgwzFiles, Result nRecommendation, ref Result pResult) 1715 int IBootstrapperApplication.OnExecuteFilesInUse(string wzPackageId, int cFiles, string[] rgwzFiles, Result nRecommendation, FilesInUseType source, ref Result pResult)
1716 { 1716 {
1717 ExecuteFilesInUseEventArgs args = new ExecuteFilesInUseEventArgs(wzPackageId, rgwzFiles, nRecommendation, pResult); 1717 ExecuteFilesInUseEventArgs args = new ExecuteFilesInUseEventArgs(wzPackageId, rgwzFiles, nRecommendation, source, pResult);
1718 this.OnExecuteFilesInUse(args); 1718 this.OnExecuteFilesInUse(args);
1719 1719
1720 pResult = args.Result; 1720 pResult = args.Result;
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
index 55c9e74c..65169b25 100644
--- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
+++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
@@ -1613,11 +1613,12 @@ namespace WixToolset.Mba.Core
1613 public class ExecuteFilesInUseEventArgs : ResultEventArgs 1613 public class ExecuteFilesInUseEventArgs : ResultEventArgs
1614 { 1614 {
1615 /// <summary /> 1615 /// <summary />
1616 public ExecuteFilesInUseEventArgs(string packageId, string[] files, Result recommendation, Result result) 1616 public ExecuteFilesInUseEventArgs(string packageId, string[] files, Result recommendation, FilesInUseType source, Result result)
1617 : base(recommendation, result) 1617 : base(recommendation, result)
1618 { 1618 {
1619 this.PackageId = packageId; 1619 this.PackageId = packageId;
1620 this.Files = new ReadOnlyCollection<string>(files ?? new string[] { }); 1620 this.Files = new ReadOnlyCollection<string>(files ?? new string[] { });
1621 this.Source = source;
1621 } 1622 }
1622 1623
1623 /// <summary> 1624 /// <summary>
@@ -1629,6 +1630,11 @@ namespace WixToolset.Mba.Core
1629 /// Gets the list of files in use. 1630 /// Gets the list of files in use.
1630 /// </summary> 1631 /// </summary>
1631 public IList<string> Files { get; private set; } 1632 public IList<string> Files { get; private set; }
1633
1634 /// <summary>
1635 /// Gets the source of the message.
1636 /// </summary>
1637 public FilesInUseType Source { get; private set; }
1632 } 1638 }
1633 1639
1634 /// <summary> 1640 /// <summary>
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
index c6a8fc14..3df54bde 100644
--- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
@@ -777,12 +777,6 @@ namespace WixToolset.Mba.Core
777 /// <summary> 777 /// <summary>
778 /// See <see cref="IDefaultBootstrapperApplication.ExecuteFilesInUse"/>. 778 /// See <see cref="IDefaultBootstrapperApplication.ExecuteFilesInUse"/>.
779 /// </summary> 779 /// </summary>
780 /// <param name="wzPackageId"></param>
781 /// <param name="cFiles"></param>
782 /// <param name="rgwzFiles"></param>
783 /// <param name="nRecommendation"></param>
784 /// <param name="pResult"></param>
785 /// <returns></returns>
786 [PreserveSig] 780 [PreserveSig]
787 [return: MarshalAs(UnmanagedType.I4)] 781 [return: MarshalAs(UnmanagedType.I4)]
788 int OnExecuteFilesInUse( 782 int OnExecuteFilesInUse(
@@ -790,6 +784,7 @@ namespace WixToolset.Mba.Core
790 [MarshalAs(UnmanagedType.U4)] int cFiles, 784 [MarshalAs(UnmanagedType.U4)] int cFiles,
791 [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1, ArraySubType = UnmanagedType.LPWStr), In] string[] rgwzFiles, 785 [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1, ArraySubType = UnmanagedType.LPWStr), In] string[] rgwzFiles,
792 [MarshalAs(UnmanagedType.I4)] Result nRecommendation, 786 [MarshalAs(UnmanagedType.I4)] Result nRecommendation,
787 [MarshalAs(UnmanagedType.I4)] FilesInUseType source,
793 [MarshalAs(UnmanagedType.I4)] ref Result pResult 788 [MarshalAs(UnmanagedType.I4)] ref Result pResult
794 ); 789 );
795 790
@@ -1446,6 +1441,25 @@ namespace WixToolset.Mba.Core
1446 }; 1441 };
1447 1442
1448 /// <summary> 1443 /// <summary>
1444 /// Indicates the source of the FilesInUse message.
1445 /// </summary>
1446 public enum FilesInUseType
1447 {
1448 /// <summary>
1449 /// Generated from INSTALLMESSAGE_FILESINUSE.
1450 /// </summary>
1451 Msi,
1452 /// <summary>
1453 /// Generated from INSTALLMESSAGE_RMFILESINUSE.
1454 /// </summary>
1455 MsiRm,
1456 /// <summary>
1457 /// Generated from MMIO_CLOSE_APPS.
1458 /// </summary>
1459 Netfx,
1460 }
1461
1462 /// <summary>
1449 /// The calculated operation for the related bundle. 1463 /// The calculated operation for the related bundle.
1450 /// </summary> 1464 /// </summary>
1451 public enum RelatedOperation 1465 public enum RelatedOperation