diff options
| author | Rob Mensching <rob@firegiant.com> | 2022-02-03 16:41:21 -0800 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2022-02-08 09:42:04 -0800 |
| commit | 69e750b3e6cc6e91e2a24075e19d644143c852f9 (patch) | |
| tree | 2cc4b00abc89323dbc841f78b1cbac72bac3f3db /src | |
| parent | 647f6bc49ecf035add9d41bd2bc0625cd8cb27da (diff) | |
| download | wix-69e750b3e6cc6e91e2a24075e19d644143c852f9.tar.gz wix-69e750b3e6cc6e91e2a24075e19d644143c852f9.tar.bz2 wix-69e750b3e6cc6e91e2a24075e19d644143c852f9.zip | |
Fix MSI validation
Diffstat (limited to 'src')
| -rw-r--r-- | src/wix/WixToolset.Core.Native/Msi/Installer.cs | 3 | ||||
| -rw-r--r-- | src/wix/WixToolset.Core.Native/WindowsInstallerValidator.cs | 15 | ||||
| -rw-r--r-- | src/wix/WixToolset.Core.Native/cubes/darice.cub | bin | 684032 -> 694784 bytes | |||
| -rw-r--r-- | src/wix/WixToolset.Core.Native/cubes/mergemod.cub | bin | 483328 -> 501248 bytes |
4 files changed, 13 insertions, 5 deletions
diff --git a/src/wix/WixToolset.Core.Native/Msi/Installer.cs b/src/wix/WixToolset.Core.Native/Msi/Installer.cs index 8a45aaa8..b2c2c630 100644 --- a/src/wix/WixToolset.Core.Native/Msi/Installer.cs +++ b/src/wix/WixToolset.Core.Native/Msi/Installer.cs | |||
| @@ -4,6 +4,7 @@ namespace WixToolset.Core.Native.Msi | |||
| 4 | { | 4 | { |
| 5 | using System; | 5 | using System; |
| 6 | using System.Diagnostics; | 6 | using System.Diagnostics; |
| 7 | using System.Runtime.InteropServices; | ||
| 7 | using System.Text; | 8 | using System.Text; |
| 8 | 9 | ||
| 9 | /// <summary> | 10 | /// <summary> |
| @@ -15,7 +16,7 @@ namespace WixToolset.Core.Native.Msi | |||
| 15 | /// one message box icon type, one default button, and one installation message type.</param> | 16 | /// one message box icon type, one default button, and one installation message type.</param> |
| 16 | /// <param name="message">Specifies the message text.</param> | 17 | /// <param name="message">Specifies the message text.</param> |
| 17 | /// <returns>-1 for an error, 0 if no action was taken, 1 if OK, 3 to abort.</returns> | 18 | /// <returns>-1 for an error, 0 if no action was taken, 1 if OK, 3 to abort.</returns> |
| 18 | public delegate int InstallUIHandler(IntPtr context, uint messageType, string message); | 19 | public delegate int InstallUIHandler(IntPtr context, uint messageType, [MarshalAs(UnmanagedType.LPWStr)] string message); |
| 19 | 20 | ||
| 20 | /// <summary> | 21 | /// <summary> |
| 21 | /// Represents the Windows Installer, provides wrappers to | 22 | /// Represents the Windows Installer, provides wrappers to |
diff --git a/src/wix/WixToolset.Core.Native/WindowsInstallerValidator.cs b/src/wix/WixToolset.Core.Native/WindowsInstallerValidator.cs index 9f4b26a3..8f2adf54 100644 --- a/src/wix/WixToolset.Core.Native/WindowsInstallerValidator.cs +++ b/src/wix/WixToolset.Core.Native/WindowsInstallerValidator.cs | |||
| @@ -166,7 +166,7 @@ namespace WixToolset.Core.Native | |||
| 166 | { | 166 | { |
| 167 | var action = record.GetString(1); | 167 | var action = record.GetString(1); |
| 168 | 168 | ||
| 169 | if (!this.SuppressedIces.Contains(action) && this.Ices.Contains(action)) | 169 | if (!this.SuppressedIces.Contains(action) && (this.Ices.Count == 0 || this.Ices.Contains(action))) |
| 170 | { | 170 | { |
| 171 | actions.Add(action); | 171 | actions.Add(action); |
| 172 | } | 172 | } |
| @@ -281,11 +281,18 @@ namespace WixToolset.Core.Native | |||
| 281 | 281 | ||
| 282 | // If we're getting messges during the validation session, log them. | 282 | // If we're getting messges during the validation session, log them. |
| 283 | // Otherwise, ignore the messages. | 283 | // Otherwise, ignore the messages. |
| 284 | if (!this.ValidationSessionInProgress) | 284 | if (this.ValidationSessionInProgress) |
| 285 | { | 285 | { |
| 286 | var parsedMessage = ParseValidationMessage(message, this.CurrentIce); | 286 | try |
| 287 | { | ||
| 288 | var parsedMessage = ParseValidationMessage(message, this.CurrentIce); | ||
| 287 | 289 | ||
| 288 | continueValidation = this.Callback.ValidationMessage(parsedMessage); | 290 | continueValidation = this.Callback.ValidationMessage(parsedMessage); |
| 291 | } | ||
| 292 | catch | ||
| 293 | { | ||
| 294 | return - 1; | ||
| 295 | } | ||
| 289 | } | 296 | } |
| 290 | 297 | ||
| 291 | return continueValidation ? 1 : 3; | 298 | return continueValidation ? 1 : 3; |
diff --git a/src/wix/WixToolset.Core.Native/cubes/darice.cub b/src/wix/WixToolset.Core.Native/cubes/darice.cub index 4292fede..dab45677 100644 --- a/src/wix/WixToolset.Core.Native/cubes/darice.cub +++ b/src/wix/WixToolset.Core.Native/cubes/darice.cub | |||
| Binary files differ | |||
diff --git a/src/wix/WixToolset.Core.Native/cubes/mergemod.cub b/src/wix/WixToolset.Core.Native/cubes/mergemod.cub index def6dd1a..2042a99e 100644 --- a/src/wix/WixToolset.Core.Native/cubes/mergemod.cub +++ b/src/wix/WixToolset.Core.Native/cubes/mergemod.cub | |||
| Binary files differ | |||
