diff options
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core')
3 files changed, 38 insertions, 12 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index b6fdca1e..0520463f 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | |||
| @@ -1433,15 +1433,16 @@ namespace WixToolset.Mba.Core | |||
| 1433 | return args.HResult; | 1433 | return args.HResult; |
| 1434 | } | 1434 | } |
| 1435 | 1435 | ||
| 1436 | int IBootstrapperApplication.OnPlanMsiPackage(string wzPackageId, bool fExecute, ActionState action, ref bool fCancel, ref BURN_MSI_PROPERTY actionMsiProperty, ref INSTALLUILEVEL uiLevel, ref bool fDisableExternalUiHandler) | 1436 | int IBootstrapperApplication.OnPlanMsiPackage(string wzPackageId, bool fExecute, ActionState action, BOOTSTRAPPER_MSI_FILE_VERSIONING recommendedFileVersioning, ref bool fCancel, ref BURN_MSI_PROPERTY actionMsiProperty, ref INSTALLUILEVEL uiLevel, ref bool fDisableExternalUiHandler, ref BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning) |
| 1437 | { | 1437 | { |
| 1438 | PlanMsiPackageEventArgs args = new PlanMsiPackageEventArgs(wzPackageId, fExecute, action, fCancel, actionMsiProperty, uiLevel, fDisableExternalUiHandler); | 1438 | PlanMsiPackageEventArgs args = new PlanMsiPackageEventArgs(wzPackageId, fExecute, action, recommendedFileVersioning, fCancel, actionMsiProperty, uiLevel, fDisableExternalUiHandler, fileVersioning); |
| 1439 | this.OnPlanMsiPackage(args); | 1439 | this.OnPlanMsiPackage(args); |
| 1440 | 1440 | ||
| 1441 | fCancel = args.Cancel; | 1441 | fCancel = args.Cancel; |
| 1442 | actionMsiProperty = args.ActionMsiProperty; | 1442 | actionMsiProperty = args.ActionMsiProperty; |
| 1443 | uiLevel = args.UiLevel; | 1443 | uiLevel = args.UiLevel; |
| 1444 | fDisableExternalUiHandler = args.DisableExternalUiHandler; | 1444 | fDisableExternalUiHandler = args.DisableExternalUiHandler; |
| 1445 | fileVersioning = args.FileVersioning; | ||
| 1445 | return args.HResult; | 1446 | return args.HResult; |
| 1446 | } | 1447 | } |
| 1447 | 1448 | ||
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs index 04e7b579..556db821 100644 --- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs +++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs | |||
| @@ -902,15 +902,17 @@ namespace WixToolset.Mba.Core | |||
| 902 | public class PlanMsiPackageEventArgs : CancellableHResultEventArgs | 902 | public class PlanMsiPackageEventArgs : CancellableHResultEventArgs |
| 903 | { | 903 | { |
| 904 | /// <summary /> | 904 | /// <summary /> |
| 905 | public PlanMsiPackageEventArgs(string packageId, bool shouldExecute, ActionState action, bool cancelRecommendation, BURN_MSI_PROPERTY actionMsiProperty, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler) | 905 | 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) |
| 906 | : base(cancelRecommendation) | 906 | : base(cancelRecommendation) |
| 907 | { | 907 | { |
| 908 | this.PackageId = packageId; | 908 | this.PackageId = packageId; |
| 909 | this.ShouldExecute = shouldExecute; | 909 | this.ShouldExecute = shouldExecute; |
| 910 | this.Action = action; | 910 | this.Action = action; |
| 911 | this.RecommendedFileVersioning = recommendedFileVersioning; | ||
| 911 | this.ActionMsiProperty = actionMsiProperty; | 912 | this.ActionMsiProperty = actionMsiProperty; |
| 912 | this.UiLevel = uiLevel; | 913 | this.UiLevel = uiLevel; |
| 913 | this.DisableExternalUiHandler = disableExternalUiHandler; | 914 | this.DisableExternalUiHandler = disableExternalUiHandler; |
| 915 | this.FileVersioning = fileVersioning; | ||
| 914 | } | 916 | } |
| 915 | 917 | ||
| 916 | /// <summary> | 918 | /// <summary> |
| @@ -929,6 +931,11 @@ namespace WixToolset.Mba.Core | |||
| 929 | public ActionState Action { get; private set; } | 931 | public ActionState Action { get; private set; } |
| 930 | 932 | ||
| 931 | /// <summary> | 933 | /// <summary> |
| 934 | /// Gets the recommended file versioning for the package. | ||
| 935 | /// </summary> | ||
| 936 | public BOOTSTRAPPER_MSI_FILE_VERSIONING RecommendedFileVersioning { get; private set; } | ||
| 937 | |||
| 938 | /// <summary> | ||
| 932 | /// Gets or sets the requested MSI property to add. | 939 | /// Gets or sets the requested MSI property to add. |
| 933 | /// </summary> | 940 | /// </summary> |
| 934 | public BURN_MSI_PROPERTY ActionMsiProperty { get; set; } | 941 | public BURN_MSI_PROPERTY ActionMsiProperty { get; set; } |
| @@ -942,6 +949,11 @@ namespace WixToolset.Mba.Core | |||
| 942 | /// Gets or sets whether Burn is requested to set up an external UI handler. | 949 | /// Gets or sets whether Burn is requested to set up an external UI handler. |
| 943 | /// </summary> | 950 | /// </summary> |
| 944 | public bool DisableExternalUiHandler { get; set; } | 951 | public bool DisableExternalUiHandler { get; set; } |
| 952 | |||
| 953 | /// <summary> | ||
| 954 | /// Gets or sets the requested file versioning. | ||
| 955 | /// </summary> | ||
| 956 | public BOOTSTRAPPER_MSI_FILE_VERSIONING FileVersioning { get; set; } | ||
| 945 | } | 957 | } |
| 946 | 958 | ||
| 947 | /// <summary> | 959 | /// <summary> |
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs index 07c1a23b..259c407f 100644 --- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs | |||
| @@ -373,24 +373,18 @@ namespace WixToolset.Mba.Core | |||
| 373 | /// <summary> | 373 | /// <summary> |
| 374 | /// See <see cref="IDefaultBootstrapperApplication.PlanMsiPackage"/>. | 374 | /// See <see cref="IDefaultBootstrapperApplication.PlanMsiPackage"/>. |
| 375 | /// </summary> | 375 | /// </summary> |
| 376 | /// <param name="wzPackageId"></param> | ||
| 377 | /// <param name="fExecute"></param> | ||
| 378 | /// <param name="action"></param> | ||
| 379 | /// <param name="fCancel"></param> | ||
| 380 | /// <param name="actionMsiProperty"></param> | ||
| 381 | /// <param name="uiLevel"></param> | ||
| 382 | /// <param name="fDisableExternalUiHandler"></param> | ||
| 383 | /// <returns></returns> | ||
| 384 | [PreserveSig] | 376 | [PreserveSig] |
| 385 | [return: MarshalAs(UnmanagedType.I4)] | 377 | [return: MarshalAs(UnmanagedType.I4)] |
| 386 | int OnPlanMsiPackage( | 378 | int OnPlanMsiPackage( |
| 387 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | 379 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, |
| 388 | [MarshalAs(UnmanagedType.Bool)] bool fExecute, | 380 | [MarshalAs(UnmanagedType.Bool)] bool fExecute, |
| 389 | [MarshalAs(UnmanagedType.U4)] ActionState action, | 381 | [MarshalAs(UnmanagedType.U4)] ActionState action, |
| 382 | [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_MSI_FILE_VERSIONING recommendedFileVersioning, | ||
| 390 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel, | 383 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel, |
| 391 | [MarshalAs(UnmanagedType.U4)] ref BURN_MSI_PROPERTY actionMsiProperty, | 384 | [MarshalAs(UnmanagedType.U4)] ref BURN_MSI_PROPERTY actionMsiProperty, |
| 392 | [MarshalAs(UnmanagedType.U4)] ref INSTALLUILEVEL uiLevel, | 385 | [MarshalAs(UnmanagedType.U4)] ref INSTALLUILEVEL uiLevel, |
| 393 | [MarshalAs(UnmanagedType.Bool)] ref bool fDisableExternalUiHandler | 386 | [MarshalAs(UnmanagedType.Bool)] ref bool fDisableExternalUiHandler, |
| 387 | [MarshalAs(UnmanagedType.U4)] ref BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning | ||
| 394 | ); | 388 | ); |
| 395 | 389 | ||
| 396 | /// <summary> | 390 | /// <summary> |
| @@ -1852,6 +1846,25 @@ namespace WixToolset.Mba.Core | |||
| 1852 | } | 1846 | } |
| 1853 | 1847 | ||
| 1854 | /// <summary> | 1848 | /// <summary> |
| 1849 | /// The file versioning options for REINSTALLMODE, see https://docs.microsoft.com/en-us/windows/win32/msi/reinstallmode. | ||
| 1850 | /// </summary> | ||
| 1851 | public enum BOOTSTRAPPER_MSI_FILE_VERSIONING | ||
| 1852 | { | ||
| 1853 | /// <summary> | ||
| 1854 | /// o | ||
| 1855 | /// </summary> | ||
| 1856 | Older, | ||
| 1857 | /// <summary> | ||
| 1858 | /// e | ||
| 1859 | /// </summary> | ||
| 1860 | Equal, | ||
| 1861 | /// <summary> | ||
| 1862 | /// a | ||
| 1863 | /// </summary> | ||
| 1864 | All, | ||
| 1865 | } | ||
| 1866 | |||
| 1867 | /// <summary> | ||
| 1855 | /// The property Burn will add so the MSI can know the planned action for the package. | 1868 | /// The property Burn will add so the MSI can know the planned action for the package. |
| 1856 | /// </summary> | 1869 | /// </summary> |
| 1857 | public enum BURN_MSI_PROPERTY | 1870 | public enum BURN_MSI_PROPERTY |
