aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-02-03 16:41:21 -0800
committerRob Mensching <rob@firegiant.com>2022-02-08 09:42:04 -0800
commit69e750b3e6cc6e91e2a24075e19d644143c852f9 (patch)
tree2cc4b00abc89323dbc841f78b1cbac72bac3f3db
parent647f6bc49ecf035add9d41bd2bc0625cd8cb27da (diff)
downloadwix-69e750b3e6cc6e91e2a24075e19d644143c852f9.tar.gz
wix-69e750b3e6cc6e91e2a24075e19d644143c852f9.tar.bz2
wix-69e750b3e6cc6e91e2a24075e19d644143c852f9.zip
Fix MSI validation
-rw-r--r--src/wix/WixToolset.Core.Native/Msi/Installer.cs3
-rw-r--r--src/wix/WixToolset.Core.Native/WindowsInstallerValidator.cs15
-rw-r--r--src/wix/WixToolset.Core.Native/cubes/darice.cubbin684032 -> 694784 bytes
-rw-r--r--src/wix/WixToolset.Core.Native/cubes/mergemod.cubbin483328 -> 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