diff options
author | Rob Mensching <rob@firegiant.com> | 2017-12-19 12:25:40 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2017-12-19 12:25:40 -0800 |
commit | 155a6e96346e0cb3d9ab6f5372fa29b46ebaee89 (patch) | |
tree | 59d1f151bfde8068b6014b05b5c8cfea3402c974 /src | |
parent | 6f1665ed759b31bd095f186f9239232c653597cd (diff) | |
download | wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.tar.gz wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.tar.bz2 wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.zip |
Integrate simplified message handling
Diffstat (limited to 'src')
104 files changed, 2055 insertions, 9192 deletions
diff --git a/src/WixToolset.BuildTasks/DoIt.cs b/src/WixToolset.BuildTasks/DoIt.cs index dddf433c..aabd92b5 100644 --- a/src/WixToolset.BuildTasks/DoIt.cs +++ b/src/WixToolset.BuildTasks/DoIt.cs | |||
@@ -9,6 +9,7 @@ namespace WixToolset.BuildTasks | |||
9 | using Microsoft.Build.Utilities; | 9 | using Microsoft.Build.Utilities; |
10 | using WixToolset.Core; | 10 | using WixToolset.Core; |
11 | using WixToolset.Data; | 11 | using WixToolset.Data; |
12 | using WixToolset.Extensibility; | ||
12 | using WixToolset.Extensibility.Services; | 13 | using WixToolset.Extensibility.Services; |
13 | 14 | ||
14 | /// <summary> | 15 | /// <summary> |
@@ -16,11 +17,13 @@ namespace WixToolset.BuildTasks | |||
16 | /// </summary> | 17 | /// </summary> |
17 | public sealed class DoIt : Task | 18 | public sealed class DoIt : Task |
18 | { | 19 | { |
19 | public DoIt() | 20 | public DoIt() : this(null) |
20 | { | 21 | { |
21 | Messaging.Instance.InitializeAppName("WIX", "wix.exe"); | 22 | } |
22 | 23 | ||
23 | Messaging.Instance.Display += this.DisplayMessage; | 24 | public DoIt(IMessageListener listener) |
25 | { | ||
26 | this.Listener = listener ?? new MsbuildMessageListener(this.Log, "WIX", "wix.exe"); | ||
24 | } | 27 | } |
25 | 28 | ||
26 | public string AdditionalOptions { get; set; } | 29 | public string AdditionalOptions { get; set; } |
@@ -112,6 +115,8 @@ namespace WixToolset.BuildTasks | |||
112 | public string[] SuppressIces { get; set; } | 115 | public string[] SuppressIces { get; set; } |
113 | public string AdditionalCub { get; set; } | 116 | public string AdditionalCub { get; set; } |
114 | 117 | ||
118 | private IMessageListener Listener { get; } | ||
119 | |||
115 | public override bool Execute() | 120 | public override bool Execute() |
116 | { | 121 | { |
117 | try | 122 | try |
@@ -168,7 +173,11 @@ namespace WixToolset.BuildTasks | |||
168 | var serviceProvider = new WixToolsetServiceProvider(); | 173 | var serviceProvider = new WixToolsetServiceProvider(); |
169 | 174 | ||
170 | var context = serviceProvider.GetService<ICommandLineContext>(); | 175 | var context = serviceProvider.GetService<ICommandLineContext>(); |
171 | context.Messaging = Messaging.Instance; | 176 | |
177 | var messaging = serviceProvider.GetService<IMessaging>(); | ||
178 | messaging.SetListener(this.Listener); | ||
179 | |||
180 | context.Messaging = messaging; | ||
172 | context.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider); | 181 | context.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider); |
173 | context.Arguments = commandLineString; | 182 | context.Arguments = commandLineString; |
174 | 183 | ||
@@ -284,5 +293,53 @@ namespace WixToolset.BuildTasks | |||
284 | // commandLineBuilder.AppendFileNamesIfNotNull(this.SourceFiles, " "); | 293 | // commandLineBuilder.AppendFileNamesIfNotNull(this.SourceFiles, " "); |
285 | // } | 294 | // } |
286 | //} | 295 | //} |
296 | |||
297 | private class MsbuildMessageListener : IMessageListener | ||
298 | { | ||
299 | public MsbuildMessageListener(TaskLoggingHelper logger, string longName, string shortName) | ||
300 | { | ||
301 | this.Logger = logger; | ||
302 | this.LongAppName = longName; | ||
303 | this.ShortAppName = shortName; | ||
304 | } | ||
305 | |||
306 | public string ShortAppName { get; } | ||
307 | |||
308 | public string LongAppName { get; } | ||
309 | |||
310 | private TaskLoggingHelper Logger { get; } | ||
311 | |||
312 | public void Write(Message message) | ||
313 | { | ||
314 | switch (message.Level) | ||
315 | { | ||
316 | case MessageLevel.Error: | ||
317 | this.Logger.LogError(null, this.ShortAppName + message.Id.ToString(), null, message.SourceLineNumbers?.FileName ?? this.LongAppName, message.SourceLineNumbers?.LineNumber ?? 0, 0, 0, 0, message.ResourceNameOrFormat, message.MessageArgs); | ||
318 | break; | ||
319 | |||
320 | case MessageLevel.Warning: | ||
321 | this.Logger.LogWarning(null, this.ShortAppName + message.Id.ToString(), null, message.SourceLineNumbers?.FileName ?? this.LongAppName, message.SourceLineNumbers?.LineNumber ?? 0, 0, 0, 0, message.ResourceNameOrFormat, message.MessageArgs); | ||
322 | break; | ||
323 | |||
324 | default: | ||
325 | // TODO: Revisit this because something is going horribly awry. The commented out LogMessage call is crashing saying that the "message" parameter is null. When you look at the call stack, the code | ||
326 | // is in the wrong LogMessage override and the "null" subcategory was passed in as the message. Not clear why it is picking the wrong overload. | ||
327 | //if (message.Id > 0) | ||
328 | //{ | ||
329 | // this.Logger.LogMessage(null, code, null, message.SourceLineNumber?.FileName, message.SourceLineNumber?.LineNumber ?? 0, 0, 0, 0, MessageImportance.Normal, message.Format, message.FormatData); | ||
330 | //} | ||
331 | //else | ||
332 | //{ | ||
333 | this.Logger.LogMessage(MessageImportance.Normal, message.ResourceNameOrFormat, message.MessageArgs); | ||
334 | //} | ||
335 | break; | ||
336 | } | ||
337 | } | ||
338 | |||
339 | public void Write(string message) | ||
340 | { | ||
341 | this.Logger.LogMessage(MessageImportance.Low, message); | ||
342 | } | ||
343 | } | ||
287 | } | 344 | } |
288 | } | 345 | } |
diff --git a/src/WixToolset.BuildTasks/WixToolTask.cs b/src/WixToolset.BuildTasks/WixToolTask.cs index 2e5e8705..69c837c3 100644 --- a/src/WixToolset.BuildTasks/WixToolTask.cs +++ b/src/WixToolset.BuildTasks/WixToolTask.cs | |||
@@ -184,8 +184,6 @@ namespace WixToolset.BuildTasks | |||
184 | this.messagesAvailable = new ManualResetEvent(false); | 184 | this.messagesAvailable = new ManualResetEvent(false); |
185 | this.toolExited = new ManualResetEvent(false); | 185 | this.toolExited = new ManualResetEvent(false); |
186 | 186 | ||
187 | Util.RunningInMsBuild = true; | ||
188 | |||
189 | WixToolTaskLogger logger = new WixToolTaskLogger(this.messageQueue, this.messagesAvailable); | 187 | WixToolTaskLogger logger = new WixToolTaskLogger(this.messageQueue, this.messagesAvailable); |
190 | TextWriter saveConsoleOut = Console.Out; | 188 | TextWriter saveConsoleOut = Console.Out; |
191 | TextWriter saveConsoleError = Console.Error; | 189 | TextWriter saveConsoleError = Console.Error; |
diff --git a/src/WixToolset.Core.Burn/Bundles/BurnCommon.cs b/src/WixToolset.Core.Burn/Bundles/BurnCommon.cs index 0baa6094..df328eb6 100644 --- a/src/WixToolset.Core.Burn/Bundles/BurnCommon.cs +++ b/src/WixToolset.Core.Burn/Bundles/BurnCommon.cs | |||
@@ -6,6 +6,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
6 | using System.Diagnostics; | 6 | using System.Diagnostics; |
7 | using System.IO; | 7 | using System.IO; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Extensibility.Services; | ||
9 | 10 | ||
10 | /// <summary> | 11 | /// <summary> |
11 | /// Common functionality for Burn PE Writer & Reader for the WiX toolset. | 12 | /// Common functionality for Burn PE Writer & Reader for the WiX toolset. |
@@ -77,7 +78,6 @@ namespace WixToolset.Core.Burn.Bundles | |||
77 | 78 | ||
78 | protected const UInt32 BURN_SECTION_MAGIC = 0x00f14300; | 79 | protected const UInt32 BURN_SECTION_MAGIC = 0x00f14300; |
79 | protected const UInt32 BURN_SECTION_VERSION = 0x00000002; | 80 | protected const UInt32 BURN_SECTION_VERSION = 0x00000002; |
80 | |||
81 | protected string fileExe; | 81 | protected string fileExe; |
82 | protected UInt32 peOffset = UInt32.MaxValue; | 82 | protected UInt32 peOffset = UInt32.MaxValue; |
83 | protected UInt16 sections = UInt16.MaxValue; | 83 | protected UInt16 sections = UInt16.MaxValue; |
@@ -103,8 +103,9 @@ namespace WixToolset.Core.Burn.Bundles | |||
103 | /// </summary> | 103 | /// </summary> |
104 | /// <param name="fileExe">File to modify in-place.</param> | 104 | /// <param name="fileExe">File to modify in-place.</param> |
105 | /// <param name="bundleGuid">GUID for the bundle.</param> | 105 | /// <param name="bundleGuid">GUID for the bundle.</param> |
106 | public BurnCommon(string fileExe) | 106 | public BurnCommon(IMessaging messaging, string fileExe) |
107 | { | 107 | { |
108 | this.messaging = messaging; | ||
108 | this.fileExe = fileExe; | 109 | this.fileExe = fileExe; |
109 | } | 110 | } |
110 | 111 | ||
@@ -123,6 +124,8 @@ namespace WixToolset.Core.Burn.Bundles | |||
123 | public UInt32 AttachedContainerAddress { get; protected set; } | 124 | public UInt32 AttachedContainerAddress { get; protected set; } |
124 | public UInt32 AttachedContainerSize { get; protected set; } | 125 | public UInt32 AttachedContainerSize { get; protected set; } |
125 | 126 | ||
127 | protected IMessaging messaging { get; } | ||
128 | |||
126 | public void Dispose() | 129 | public void Dispose() |
127 | { | 130 | { |
128 | Dispose(true); | 131 | Dispose(true); |
@@ -176,21 +179,21 @@ namespace WixToolset.Core.Burn.Bundles | |||
176 | uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_MAGIC); | 179 | uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_MAGIC); |
177 | if (BURN_SECTION_MAGIC != uint32) | 180 | if (BURN_SECTION_MAGIC != uint32) |
178 | { | 181 | { |
179 | Messaging.Instance.OnMessage(WixErrors.InvalidBundle(this.fileExe)); | 182 | this.messaging.Write(ErrorMessages.InvalidBundle(this.fileExe)); |
180 | return false; | 183 | return false; |
181 | } | 184 | } |
182 | 185 | ||
183 | this.Version = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_VERSION); | 186 | this.Version = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_VERSION); |
184 | if (BURN_SECTION_VERSION != this.Version) | 187 | if (BURN_SECTION_VERSION != this.Version) |
185 | { | 188 | { |
186 | Messaging.Instance.OnMessage(WixErrors.BundleTooNew(this.fileExe, this.Version)); | 189 | this.messaging.Write(ErrorMessages.BundleTooNew(this.fileExe, this.Version)); |
187 | return false; | 190 | return false; |
188 | } | 191 | } |
189 | 192 | ||
190 | uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_FORMAT); // We only know how to deal with CABs right now | 193 | uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_FORMAT); // We only know how to deal with CABs right now |
191 | if (1 != uint32) | 194 | if (1 != uint32) |
192 | { | 195 | { |
193 | Messaging.Instance.OnMessage(WixErrors.InvalidBundle(this.fileExe)); | 196 | this.messaging.Write(ErrorMessages.InvalidBundle(this.fileExe)); |
194 | return false; | 197 | return false; |
195 | } | 198 | } |
196 | 199 | ||
@@ -257,7 +260,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
257 | 260 | ||
258 | if (UInt32.MaxValue == wixburnSectionOffset) | 261 | if (UInt32.MaxValue == wixburnSectionOffset) |
259 | { | 262 | { |
260 | Messaging.Instance.OnMessage(WixErrors.StubMissingWixburnSection(this.fileExe)); | 263 | this.messaging.Write(ErrorMessages.StubMissingWixburnSection(this.fileExe)); |
261 | return false; | 264 | return false; |
262 | } | 265 | } |
263 | 266 | ||
@@ -265,7 +268,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
265 | // the smallest alignment (512 bytes), but just to be paranoid... | 268 | // the smallest alignment (512 bytes), but just to be paranoid... |
266 | if (BURN_SECTION_SIZE > BurnCommon.ReadUInt32(bytes, IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA)) | 269 | if (BURN_SECTION_SIZE > BurnCommon.ReadUInt32(bytes, IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA)) |
267 | { | 270 | { |
268 | Messaging.Instance.OnMessage(WixErrors.StubWixburnSectionTooSmall(this.fileExe)); | 271 | this.messaging.Write(ErrorMessages.StubWixburnSectionTooSmall(this.fileExe)); |
269 | return false; | 272 | return false; |
270 | } | 273 | } |
271 | 274 | ||
@@ -294,7 +297,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
294 | // Verify the NT signature... | 297 | // Verify the NT signature... |
295 | if (IMAGE_NT_SIGNATURE != BurnCommon.ReadUInt32(bytes, IMAGE_NT_HEADER_OFFSET_SIGNATURE)) | 298 | if (IMAGE_NT_SIGNATURE != BurnCommon.ReadUInt32(bytes, IMAGE_NT_HEADER_OFFSET_SIGNATURE)) |
296 | { | 299 | { |
297 | Messaging.Instance.OnMessage(WixErrors.InvalidStubExe(this.fileExe)); | 300 | this.messaging.Write(ErrorMessages.InvalidStubExe(this.fileExe)); |
298 | return false; | 301 | return false; |
299 | } | 302 | } |
300 | 303 | ||
@@ -329,7 +332,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
329 | // Verify the DOS 'MZ' signature. | 332 | // Verify the DOS 'MZ' signature. |
330 | if (IMAGE_DOS_SIGNATURE != BurnCommon.ReadUInt16(bytes, IMAGE_DOS_HEADER_OFFSET_MAGIC)) | 333 | if (IMAGE_DOS_SIGNATURE != BurnCommon.ReadUInt16(bytes, IMAGE_DOS_HEADER_OFFSET_MAGIC)) |
331 | { | 334 | { |
332 | Messaging.Instance.OnMessage(WixErrors.InvalidStubExe(this.fileExe)); | 335 | this.messaging.Write(ErrorMessages.InvalidStubExe(this.fileExe)); |
333 | return false; | 336 | return false; |
334 | } | 337 | } |
335 | 338 | ||
diff --git a/src/WixToolset.Core.Burn/Bundles/BurnReader.cs b/src/WixToolset.Core.Burn/Bundles/BurnReader.cs index 3b3076c4..b4e23623 100644 --- a/src/WixToolset.Core.Burn/Bundles/BurnReader.cs +++ b/src/WixToolset.Core.Burn/Bundles/BurnReader.cs | |||
@@ -8,6 +8,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
8 | using System.IO; | 8 | using System.IO; |
9 | using System.Xml; | 9 | using System.Xml; |
10 | using WixToolset.Core.Native; | 10 | using WixToolset.Core.Native; |
11 | using WixToolset.Extensibility.Services; | ||
11 | 12 | ||
12 | /// <summary> | 13 | /// <summary> |
13 | /// Burn PE reader for the WiX toolset. | 14 | /// Burn PE reader for the WiX toolset. |
@@ -32,8 +33,8 @@ namespace WixToolset.Core.Burn.Bundles | |||
32 | /// Creates a BurnReader for reading a PE file. | 33 | /// Creates a BurnReader for reading a PE file. |
33 | /// </summary> | 34 | /// </summary> |
34 | /// <param name="fileExe">File to read.</param> | 35 | /// <param name="fileExe">File to read.</param> |
35 | private BurnReader(string fileExe) | 36 | private BurnReader(IMessaging messaging, string fileExe) |
36 | : base(fileExe) | 37 | : base(messaging, fileExe) |
37 | { | 38 | { |
38 | this.attachedContainerPayloadNames = new List<DictionaryEntry>(); | 39 | this.attachedContainerPayloadNames = new List<DictionaryEntry>(); |
39 | } | 40 | } |
@@ -59,9 +60,9 @@ namespace WixToolset.Core.Burn.Bundles | |||
59 | /// </summary> | 60 | /// </summary> |
60 | /// <param name="fileExe">Path to file.</param> | 61 | /// <param name="fileExe">Path to file.</param> |
61 | /// <returns>Burn reader.</returns> | 62 | /// <returns>Burn reader.</returns> |
62 | public static BurnReader Open(string fileExe) | 63 | public static BurnReader Open(IMessaging messaging, string fileExe) |
63 | { | 64 | { |
64 | BurnReader reader = new BurnReader(fileExe); | 65 | BurnReader reader = new BurnReader(messaging, fileExe); |
65 | 66 | ||
66 | reader.binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete)); | 67 | reader.binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete)); |
67 | if (!reader.Initialize(reader.binaryReader)) | 68 | if (!reader.Initialize(reader.binaryReader)) |
diff --git a/src/WixToolset.Core.Burn/Bundles/BurnWriter.cs b/src/WixToolset.Core.Burn/Bundles/BurnWriter.cs index e7365212..08eeaa15 100644 --- a/src/WixToolset.Core.Burn/Bundles/BurnWriter.cs +++ b/src/WixToolset.Core.Burn/Bundles/BurnWriter.cs | |||
@@ -6,6 +6,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
6 | using System.Diagnostics; | 6 | using System.Diagnostics; |
7 | using System.IO; | 7 | using System.IO; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Extensibility.Services; | ||
9 | 10 | ||
10 | /// <summary> | 11 | /// <summary> |
11 | /// Burn PE writer for the WiX toolset. | 12 | /// Burn PE writer for the WiX toolset. |
@@ -30,8 +31,8 @@ namespace WixToolset.Core.Burn.Bundles | |||
30 | /// </summary> | 31 | /// </summary> |
31 | /// <param name="fileExe">File to modify in-place.</param> | 32 | /// <param name="fileExe">File to modify in-place.</param> |
32 | /// <param name="bundleGuid">GUID for the bundle.</param> | 33 | /// <param name="bundleGuid">GUID for the bundle.</param> |
33 | private BurnWriter(string fileExe) | 34 | private BurnWriter(IMessaging messaging, string fileExe) |
34 | : base(fileExe) | 35 | : base(messaging, fileExe) |
35 | { | 36 | { |
36 | } | 37 | } |
37 | 38 | ||
@@ -40,9 +41,9 @@ namespace WixToolset.Core.Burn.Bundles | |||
40 | /// </summary> | 41 | /// </summary> |
41 | /// <param name="fileExe">Path to file.</param> | 42 | /// <param name="fileExe">Path to file.</param> |
42 | /// <returns>Burn writer.</returns> | 43 | /// <returns>Burn writer.</returns> |
43 | public static BurnWriter Open(string fileExe) | 44 | public static BurnWriter Open(IMessaging messaging, string fileExe) |
44 | { | 45 | { |
45 | BurnWriter writer = new BurnWriter(fileExe); | 46 | BurnWriter writer = new BurnWriter(messaging, fileExe); |
46 | 47 | ||
47 | using (BinaryReader binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete))) | 48 | using (BinaryReader binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete))) |
48 | { | 49 | { |
@@ -76,7 +77,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
76 | this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_MAGIC, BURN_SECTION_MAGIC); | 77 | this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_MAGIC, BURN_SECTION_MAGIC); |
77 | this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_VERSION, BURN_SECTION_VERSION); | 78 | this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_VERSION, BURN_SECTION_VERSION); |
78 | 79 | ||
79 | Messaging.Instance.OnMessage(WixVerboses.BundleGuid(bundleId.ToString("B"))); | 80 | this.messaging.Write(VerboseMessages.BundleGuid(bundleId.ToString("B"))); |
80 | this.binaryWriter.BaseStream.Seek(this.wixburnDataOffset + BURN_SECTION_OFFSET_BUNDLEGUID, SeekOrigin.Begin); | 81 | this.binaryWriter.BaseStream.Seek(this.wixburnDataOffset + BURN_SECTION_OFFSET_BUNDLEGUID, SeekOrigin.Begin); |
81 | this.binaryWriter.Write(bundleId.ToByteArray()); | 82 | this.binaryWriter.Write(bundleId.ToByteArray()); |
82 | 83 | ||
diff --git a/src/WixToolset.Core.Burn/Inscribe/InscribeBundleCommand.cs b/src/WixToolset.Core.Burn/Inscribe/InscribeBundleCommand.cs index 5eb76479..0dea8b1d 100644 --- a/src/WixToolset.Core.Burn/Inscribe/InscribeBundleCommand.cs +++ b/src/WixToolset.Core.Burn/Inscribe/InscribeBundleCommand.cs | |||
@@ -29,7 +29,7 @@ namespace WixToolset.Core.Burn.Inscribe | |||
29 | { | 29 | { |
30 | reader.Stream.Seek(reader.AttachedContainerAddress, SeekOrigin.Begin); | 30 | reader.Stream.Seek(reader.AttachedContainerAddress, SeekOrigin.Begin); |
31 | 31 | ||
32 | using (BurnWriter writer = BurnWriter.Open(tempFile)) | 32 | using (BurnWriter writer = BurnWriter.Open(this.Context.Messaging, tempFile)) |
33 | { | 33 | { |
34 | writer.RememberThenResetSignature(); | 34 | writer.RememberThenResetSignature(); |
35 | writer.AppendContainer(reader.Stream, reader.AttachedContainerSize, BurnCommon.Container.Attached); | 35 | writer.AppendContainer(reader.Stream, reader.AttachedContainerSize, BurnCommon.Container.Attached); |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs index 1f2cee74..0f278640 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs | |||
@@ -8,22 +8,25 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
8 | using System.Linq; | 8 | using System.Linq; |
9 | using WixToolset.Core.Bind; | 9 | using WixToolset.Core.Bind; |
10 | using WixToolset.Data; | 10 | using WixToolset.Data; |
11 | using WixToolset.Data.Rows; | ||
12 | using WixToolset.Data.Tuples; | 11 | using WixToolset.Data.Tuples; |
12 | using WixToolset.Extensibility.Services; | ||
13 | 13 | ||
14 | /// <summary> | 14 | /// <summary> |
15 | /// AssignMediaCommand assigns files to cabs based on Media or MediaTemplate rows. | 15 | /// AssignMediaCommand assigns files to cabs based on Media or MediaTemplate rows. |
16 | /// </summary> | 16 | /// </summary> |
17 | internal class AssignMediaCommand | 17 | internal class AssignMediaCommand |
18 | { | 18 | { |
19 | public AssignMediaCommand(IntermediateSection section) | 19 | public AssignMediaCommand(IntermediateSection section, IMessaging messaging) |
20 | { | 20 | { |
21 | this.CabinetNameTemplate = "Cab{0}.cab"; | 21 | this.CabinetNameTemplate = "Cab{0}.cab"; |
22 | this.Section = section; | 22 | this.Section = section; |
23 | this.Messaging = messaging; | ||
23 | } | 24 | } |
24 | 25 | ||
25 | private IntermediateSection Section { get; } | 26 | private IntermediateSection Section { get; } |
26 | 27 | ||
28 | private IMessaging Messaging { get; } | ||
29 | |||
27 | public IEnumerable<FileFacade> FileFacades { private get; set; } | 30 | public IEnumerable<FileFacade> FileFacades { private get; set; } |
28 | 31 | ||
29 | public bool FilesCompressed { private get; set; } | 32 | public bool FilesCompressed { private get; set; } |
@@ -60,7 +63,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
60 | // If both tables are authored, it is an error. | 63 | // If both tables are authored, it is an error. |
61 | if (mediaTemplateTable.Count > 0 && mediaTable.Count > 1) | 64 | if (mediaTemplateTable.Count > 0 && mediaTable.Count > 1) |
62 | { | 65 | { |
63 | throw new WixException(WixErrors.MediaTableCollision(null)); | 66 | throw new WixException(ErrorMessages.MediaTableCollision(null)); |
64 | } | 67 | } |
65 | 68 | ||
66 | // When building merge module, all the files go to "#MergeModule.CABinet". | 69 | // When building merge module, all the files go to "#MergeModule.CABinet". |
@@ -144,11 +147,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
144 | } | 147 | } |
145 | catch (FormatException) | 148 | catch (FormatException) |
146 | { | 149 | { |
147 | throw new WixException(WixErrors.IllegalEnvironmentVariable("WIX_MUMS", mumsString)); | 150 | throw new WixException(ErrorMessages.IllegalEnvironmentVariable("WIX_MUMS", mumsString)); |
148 | } | 151 | } |
149 | catch (OverflowException) | 152 | catch (OverflowException) |
150 | { | 153 | { |
151 | throw new WixException(WixErrors.MaximumUncompressedMediaSizeTooLarge(null, maxPreCabSizeInMB)); | 154 | throw new WixException(ErrorMessages.MaximumUncompressedMediaSizeTooLarge(null, maxPreCabSizeInMB)); |
152 | } | 155 | } |
153 | 156 | ||
154 | foreach (FileFacade facade in this.FileFacades) | 157 | foreach (FileFacade facade in this.FileFacades) |
@@ -234,8 +237,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
234 | { | 237 | { |
235 | if (cabinetMediaRows.TryGetValue(mediaRow.Cabinet, out var existingRow)) | 238 | if (cabinetMediaRows.TryGetValue(mediaRow.Cabinet, out var existingRow)) |
236 | { | 239 | { |
237 | Messaging.Instance.OnMessage(WixErrors.DuplicateCabinetName(mediaRow.SourceLineNumbers, mediaRow.Cabinet)); | 240 | this.Messaging.Write(ErrorMessages.DuplicateCabinetName(mediaRow.SourceLineNumbers, mediaRow.Cabinet)); |
238 | Messaging.Instance.OnMessage(WixErrors.DuplicateCabinetName2(existingRow.SourceLineNumbers, existingRow.Cabinet)); | 241 | this.Messaging.Write(ErrorMessages.DuplicateCabinetName2(existingRow.SourceLineNumbers, existingRow.Cabinet)); |
239 | } | 242 | } |
240 | else | 243 | else |
241 | { | 244 | { |
@@ -259,7 +262,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
259 | { | 262 | { |
260 | if (!mediaRows.TryGetValue(facade.WixFile.DiskId, out var mediaRow)) | 263 | if (!mediaRows.TryGetValue(facade.WixFile.DiskId, out var mediaRow)) |
261 | { | 264 | { |
262 | Messaging.Instance.OnMessage(WixErrors.MissingMedia(facade.File.SourceLineNumbers, facade.WixFile.DiskId)); | 265 | this.Messaging.Write(ErrorMessages.MissingMedia(facade.File.SourceLineNumbers, facade.WixFile.DiskId)); |
263 | continue; | 266 | continue; |
264 | } | 267 | } |
265 | 268 | ||
@@ -279,7 +282,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
279 | } | 282 | } |
280 | else | 283 | else |
281 | { | 284 | { |
282 | Messaging.Instance.OnMessage(WixErrors.ExpectedMediaCabinet(facade.File.SourceLineNumbers, facade.File.File, facade.WixFile.DiskId)); | 285 | this.Messaging.Write(ErrorMessages.ExpectedMediaCabinet(facade.File.SourceLineNumbers, facade.File.File, facade.WixFile.DiskId)); |
283 | } | 286 | } |
284 | } | 287 | } |
285 | } | 288 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index 9e30aed2..410e462a 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |||
@@ -35,6 +35,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
35 | this.ExpectedEmbeddedFiles = context.ExpectedEmbeddedFiles; | 35 | this.ExpectedEmbeddedFiles = context.ExpectedEmbeddedFiles; |
36 | this.Extensions = context.Extensions; | 36 | this.Extensions = context.Extensions; |
37 | this.Intermediate = context.IntermediateRepresentation; | 37 | this.Intermediate = context.IntermediateRepresentation; |
38 | this.Messaging = context.Messaging; | ||
38 | this.OutputPath = context.OutputPath; | 39 | this.OutputPath = context.OutputPath; |
39 | this.PdbFile = context.OutputPdbPath; | 40 | this.PdbFile = context.OutputPdbPath; |
40 | this.IntermediateFolder = context.IntermediateFolder; | 41 | this.IntermediateFolder = context.IntermediateFolder; |
@@ -68,6 +69,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
68 | 69 | ||
69 | private Intermediate Intermediate { get; } | 70 | private Intermediate Intermediate { get; } |
70 | 71 | ||
72 | private IMessaging Messaging { get; } | ||
73 | |||
71 | private string OutputPath { get; } | 74 | private string OutputPath { get; } |
72 | 75 | ||
73 | private bool SuppressAddingValidationRows { get; } | 76 | private bool SuppressAddingValidationRows { get; } |
@@ -160,7 +163,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
160 | // Sequence all the actions. | 163 | // Sequence all the actions. |
161 | { | 164 | { |
162 | var command = new SequenceActionsCommand(section); | 165 | var command = new SequenceActionsCommand(section); |
163 | command.Messaging = Messaging.Instance; | 166 | command.Messaging = this.Messaging; |
164 | command.Execute(); | 167 | command.Execute(); |
165 | } | 168 | } |
166 | 169 | ||
@@ -191,12 +194,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
191 | ////} | 194 | ////} |
192 | #endif | 195 | #endif |
193 | 196 | ||
194 | if (Messaging.Instance.EncounteredError) | 197 | if (this.Messaging.EncounteredError) |
195 | { | 198 | { |
196 | return; | 199 | return; |
197 | } | 200 | } |
198 | 201 | ||
199 | Messaging.Instance.OnMessage(WixVerboses.UpdatingFileInformation()); | 202 | this.Messaging.Write(VerboseMessages.UpdatingFileInformation()); |
200 | 203 | ||
201 | // This must occur after all variables and source paths have been resolved. | 204 | // This must occur after all variables and source paths have been resolved. |
202 | List<FileFacade> fileFacades; | 205 | List<FileFacade> fileFacades; |
@@ -215,7 +218,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
215 | 218 | ||
216 | // Gather information about files that did not come from merge modules (i.e. rows with a reference to the File table). | 219 | // Gather information about files that did not come from merge modules (i.e. rows with a reference to the File table). |
217 | { | 220 | { |
218 | var command = new UpdateFileFacadesCommand(section); | 221 | var command = new UpdateFileFacadesCommand(this.Messaging, section); |
219 | command.FileFacades = fileFacades; | 222 | command.FileFacades = fileFacades; |
220 | command.UpdateFileFacades = fileFacades.Where(f => !f.FromModule); | 223 | command.UpdateFileFacades = fileFacades.Where(f => !f.FromModule); |
221 | command.OverwriteHash = true; | 224 | command.OverwriteHash = true; |
@@ -227,13 +230,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
227 | // Now that the variable cache is populated, resolve any delayed fields. | 230 | // Now that the variable cache is populated, resolve any delayed fields. |
228 | if (this.DelayedFields.Any()) | 231 | if (this.DelayedFields.Any()) |
229 | { | 232 | { |
230 | var command = new ResolveDelayedFieldsCommand(this.DelayedFields, variableCache); | 233 | var command = new ResolveDelayedFieldsCommand(this.Messaging, this.DelayedFields, variableCache); |
231 | command.Execute(); | 234 | command.Execute(); |
232 | } | 235 | } |
233 | 236 | ||
234 | // Set generated component guids. | 237 | // Set generated component guids. |
235 | { | 238 | { |
236 | var command = new CalculateComponentGuids(section); | 239 | var command = new CalculateComponentGuids(this.Messaging, section); |
237 | command.Execute(); | 240 | command.Execute(); |
238 | } | 241 | } |
239 | 242 | ||
@@ -244,7 +247,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
244 | 247 | ||
245 | if (wixMergeTuples.Any()) | 248 | if (wixMergeTuples.Any()) |
246 | { | 249 | { |
247 | var command = new ExtractMergeModuleFilesCommand(section, wixMergeTuples); | 250 | var command = new ExtractMergeModuleFilesCommand(this.Messaging, section, wixMergeTuples); |
248 | command.FileFacades = fileFacades; | 251 | command.FileFacades = fileFacades; |
249 | command.OutputInstallerVersion = installerVersion; | 252 | command.OutputInstallerVersion = installerVersion; |
250 | command.SuppressLayout = this.SuppressLayout; | 253 | command.SuppressLayout = this.SuppressLayout; |
@@ -265,7 +268,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
265 | #endif | 268 | #endif |
266 | 269 | ||
267 | // stop processing if an error previously occurred | 270 | // stop processing if an error previously occurred |
268 | if (Messaging.Instance.EncounteredError) | 271 | if (this.Messaging.EncounteredError) |
269 | { | 272 | { |
270 | return; | 273 | return; |
271 | } | 274 | } |
@@ -280,7 +283,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
280 | Dictionary<MediaTuple, IEnumerable<FileFacade>> filesByCabinetMedia; | 283 | Dictionary<MediaTuple, IEnumerable<FileFacade>> filesByCabinetMedia; |
281 | IEnumerable<FileFacade> uncompressedFiles; | 284 | IEnumerable<FileFacade> uncompressedFiles; |
282 | { | 285 | { |
283 | var command = new AssignMediaCommand(section); | 286 | var command = new AssignMediaCommand(section, this.Messaging); |
284 | command.FileFacades = fileFacades; | 287 | command.FileFacades = fileFacades; |
285 | command.FilesCompressed = compressed; | 288 | command.FilesCompressed = compressed; |
286 | command.Execute(); | 289 | command.Execute(); |
@@ -291,7 +294,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
291 | } | 294 | } |
292 | 295 | ||
293 | // stop processing if an error previously occurred | 296 | // stop processing if an error previously occurred |
294 | if (Messaging.Instance.EncounteredError) | 297 | if (this.Messaging.EncounteredError) |
295 | { | 298 | { |
296 | return; | 299 | return; |
297 | } | 300 | } |
@@ -355,7 +358,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
355 | #endif | 358 | #endif |
356 | 359 | ||
357 | // Stop processing if an error previously occurred. | 360 | // Stop processing if an error previously occurred. |
358 | if (Messaging.Instance.EncounteredError) | 361 | if (this.Messaging.EncounteredError) |
359 | { | 362 | { |
360 | return; | 363 | return; |
361 | } | 364 | } |
@@ -374,13 +377,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
374 | string layoutDirectory = Path.GetDirectoryName(this.OutputPath); | 377 | string layoutDirectory = Path.GetDirectoryName(this.OutputPath); |
375 | if (!this.SuppressLayout || OutputType.Module == output.Type) | 378 | if (!this.SuppressLayout || OutputType.Module == output.Type) |
376 | { | 379 | { |
377 | Messaging.Instance.OnMessage(WixVerboses.CreatingCabinetFiles()); | 380 | this.Messaging.Write(VerboseMessages.CreatingCabinetFiles()); |
378 | 381 | ||
379 | var command = new CreateCabinetsCommand(); | 382 | var command = new CreateCabinetsCommand(); |
380 | command.CabbingThreadCount = this.CabbingThreadCount; | 383 | command.CabbingThreadCount = this.CabbingThreadCount; |
381 | command.CabCachePath = this.CabCachePath; | 384 | command.CabCachePath = this.CabCachePath; |
382 | command.DefaultCompressionLevel = this.DefaultCompressionLevel; | 385 | command.DefaultCompressionLevel = this.DefaultCompressionLevel; |
383 | command.Output = output; | 386 | command.Output = output; |
387 | command.Messaging = this.Messaging; | ||
384 | command.BackendExtensions = this.BackendExtensions; | 388 | command.BackendExtensions = this.BackendExtensions; |
385 | command.LayoutDirectory = layoutDirectory; | 389 | command.LayoutDirectory = layoutDirectory; |
386 | command.Compressed = compressed; | 390 | command.Compressed = compressed; |
@@ -435,13 +439,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
435 | this.ValidateComponentGuids(output); | 439 | this.ValidateComponentGuids(output); |
436 | 440 | ||
437 | // stop processing if an error previously occurred | 441 | // stop processing if an error previously occurred |
438 | if (Messaging.Instance.EncounteredError) | 442 | if (this.Messaging.EncounteredError) |
439 | { | 443 | { |
440 | return; | 444 | return; |
441 | } | 445 | } |
442 | 446 | ||
443 | // Generate database file. | 447 | // Generate database file. |
444 | Messaging.Instance.OnMessage(WixVerboses.GeneratingDatabase()); | 448 | this.Messaging.Write(VerboseMessages.GeneratingDatabase()); |
445 | string tempDatabaseFile = Path.Combine(this.IntermediateFolder, Path.GetFileName(this.OutputPath)); | 449 | string tempDatabaseFile = Path.Combine(this.IntermediateFolder, Path.GetFileName(this.OutputPath)); |
446 | this.GenerateDatabase(output, tempDatabaseFile, false, false); | 450 | this.GenerateDatabase(output, tempDatabaseFile, false, false); |
447 | 451 | ||
@@ -452,7 +456,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
452 | } | 456 | } |
453 | 457 | ||
454 | // Stop processing if an error previously occurred. | 458 | // Stop processing if an error previously occurred. |
455 | if (Messaging.Instance.EncounteredError) | 459 | if (this.Messaging.EncounteredError) |
456 | { | 460 | { |
457 | return; | 461 | return; |
458 | } | 462 | } |
@@ -468,7 +472,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
468 | // Merge modules. | 472 | // Merge modules. |
469 | if (OutputType.Product == output.Type) | 473 | if (OutputType.Product == output.Type) |
470 | { | 474 | { |
471 | Messaging.Instance.OnMessage(WixVerboses.MergingModules()); | 475 | this.Messaging.Write(VerboseMessages.MergingModules()); |
472 | 476 | ||
473 | var command = new MergeModulesCommand(); | 477 | var command = new MergeModulesCommand(); |
474 | command.FileFacades = fileFacades; | 478 | command.FileFacades = fileFacades; |
@@ -478,7 +482,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
478 | command.Execute(); | 482 | command.Execute(); |
479 | } | 483 | } |
480 | 484 | ||
481 | if (Messaging.Instance.EncounteredError) | 485 | if (this.Messaging.EncounteredError) |
482 | { | 486 | { |
483 | return; | 487 | return; |
484 | } | 488 | } |
@@ -492,12 +496,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
492 | // set the output file for source line information | 496 | // set the output file for source line information |
493 | this.Validator.Output = this.Output; | 497 | this.Validator.Output = this.Output; |
494 | 498 | ||
495 | Messaging.Instance.OnMessage(WixVerboses.ValidatingDatabase()); | 499 | Messaging.Instance.Write(WixVerboses.ValidatingDatabase()); |
496 | 500 | ||
497 | this.Validator.Validate(tempDatabaseFile); | 501 | this.Validator.Validate(tempDatabaseFile); |
498 | 502 | ||
499 | stopwatch.Stop(); | 503 | stopwatch.Stop(); |
500 | Messaging.Instance.OnMessage(WixVerboses.ValidatedDatabase(stopwatch.ElapsedMilliseconds)); | 504 | Messaging.Instance.Write(WixVerboses.ValidatedDatabase(stopwatch.ElapsedMilliseconds)); |
501 | 505 | ||
502 | // Stop processing if an error occurred. | 506 | // Stop processing if an error occurred. |
503 | if (Messaging.Instance.EncounteredError) | 507 | if (Messaging.Instance.EncounteredError) |
@@ -508,7 +512,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
508 | #endif | 512 | #endif |
509 | 513 | ||
510 | // Process uncompressed files. | 514 | // Process uncompressed files. |
511 | if (!Messaging.Instance.EncounteredError && !this.SuppressLayout && uncompressedFiles.Any()) | 515 | if (!this.Messaging.EncounteredError && !this.SuppressLayout && uncompressedFiles.Any()) |
512 | { | 516 | { |
513 | var command = new ProcessUncompressedFilesCommand(section); | 517 | var command = new ProcessUncompressedFilesCommand(section); |
514 | command.Compressed = compressed; | 518 | command.Compressed = compressed; |
@@ -908,11 +912,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
908 | 912 | ||
909 | if (allComponentsHaveConditions) | 913 | if (allComponentsHaveConditions) |
910 | { | 914 | { |
911 | Messaging.Instance.OnMessage(WixWarnings.DuplicateComponentGuidsMustHaveMutuallyExclusiveConditions(row.SourceLineNumbers, row.Component, row.Guid)); | 915 | this.Messaging.Write(WarningMessages.DuplicateComponentGuidsMustHaveMutuallyExclusiveConditions(row.SourceLineNumbers, row.Component, row.Guid)); |
912 | } | 916 | } |
913 | else | 917 | else |
914 | { | 918 | { |
915 | Messaging.Instance.OnMessage(WixErrors.DuplicateComponentGuids(row.SourceLineNumbers, row.Component, row.Guid)); | 919 | this.Messaging.Write(ErrorMessages.DuplicateComponentGuids(row.SourceLineNumbers, row.Component, row.Guid)); |
916 | } | 920 | } |
917 | } | 921 | } |
918 | 922 | ||
@@ -929,6 +933,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
929 | private void UpdateControlText(Output output) | 933 | private void UpdateControlText(Output output) |
930 | { | 934 | { |
931 | var command = new UpdateControlTextCommand(); | 935 | var command = new UpdateControlTextCommand(); |
936 | command.Messaging = this.Messaging; | ||
932 | command.BBControlTable = output.Tables["BBControl"]; | 937 | command.BBControlTable = output.Tables["BBControl"]; |
933 | command.WixBBControlTable = output.Tables["WixBBControl"]; | 938 | command.WixBBControlTable = output.Tables["WixBBControl"]; |
934 | command.ControlTable = output.Tables["Control"]; | 939 | command.ControlTable = output.Tables["Control"]; |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs index 49440cea..800ebac0 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs | |||
@@ -6,11 +6,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using System.Globalization; | 7 | using System.Globalization; |
8 | using System.IO; | 8 | using System.IO; |
9 | using WixToolset.Core.Native; | ||
9 | using WixToolset.Data; | 10 | using WixToolset.Data; |
11 | using WixToolset.Data.WindowsInstaller; | ||
10 | using WixToolset.Extensibility; | 12 | using WixToolset.Extensibility; |
13 | using WixToolset.Extensibility.Services; | ||
11 | using WixToolset.Msi; | 14 | using WixToolset.Msi; |
12 | using WixToolset.Core.Native; | ||
13 | using WixToolset.Data.WindowsInstaller; | ||
14 | 15 | ||
15 | internal class BindTransformCommand | 16 | internal class BindTransformCommand |
16 | { | 17 | { |
@@ -22,6 +23,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
22 | 23 | ||
23 | public Output Transform { private get; set; } | 24 | public Output Transform { private get; set; } |
24 | 25 | ||
26 | public IMessaging Messaging { private get; set; } | ||
27 | |||
25 | public string OutputPath { private get; set; } | 28 | public string OutputPath { private get; set; } |
26 | 29 | ||
27 | public void Execute() | 30 | public void Execute() |
@@ -197,7 +200,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
197 | if (((int)TransformFlags.ValidateUpgradeCode & transformFlags) != 0 && | 200 | if (((int)TransformFlags.ValidateUpgradeCode & transformFlags) != 0 && |
198 | (String.IsNullOrEmpty(targetUpgradeCode) || String.IsNullOrEmpty(updatedUpgradeCode))) | 201 | (String.IsNullOrEmpty(targetUpgradeCode) || String.IsNullOrEmpty(updatedUpgradeCode))) |
199 | { | 202 | { |
200 | Messaging.Instance.OnMessage(WixErrors.BothUpgradeCodesRequired()); | 203 | this.Messaging.Write(ErrorMessages.BothUpgradeCodesRequired()); |
201 | } | 204 | } |
202 | 205 | ||
203 | string emptyFile = null; | 206 | string emptyFile = null; |
@@ -276,7 +279,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
276 | { | 279 | { |
277 | if (RowOperation.Add == fileRow.Operation) | 280 | if (RowOperation.Add == fileRow.Operation) |
278 | { | 281 | { |
279 | Messaging.Instance.OnMessage(WixErrors.InvalidAddedFileRowWithoutSequence(fileRow.SourceLineNumbers, (string)fileRow[0])); | 282 | this.Messaging.Write(ErrorMessages.InvalidAddedFileRowWithoutSequence(fileRow.SourceLineNumbers, (string)fileRow[0])); |
280 | break; | 283 | break; |
281 | } | 284 | } |
282 | 285 | ||
@@ -384,7 +387,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
384 | //} | 387 | //} |
385 | 388 | ||
386 | // Any errors encountered up to this point can cause errors during generation. | 389 | // Any errors encountered up to this point can cause errors during generation. |
387 | if (Messaging.Instance.EncounteredError) | 390 | if (this.Messaging.EncounteredError) |
388 | { | 391 | { |
389 | return; | 392 | return; |
390 | } | 393 | } |
@@ -419,7 +422,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
419 | } | 422 | } |
420 | else | 423 | else |
421 | { | 424 | { |
422 | Messaging.Instance.OnMessage(WixErrors.NoDifferencesInTransform(this.Transform.SourceLineNumbers)); | 425 | this.Messaging.Write(ErrorMessages.NoDifferencesInTransform(this.Transform.SourceLineNumbers)); |
423 | } | 426 | } |
424 | } | 427 | } |
425 | } | 428 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs index fde781a3..0c167699 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs | |||
@@ -4,13 +4,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections; | 6 | using System.Collections; |
7 | using System.Collections.Generic; | ||
8 | using System.IO; | 7 | using System.IO; |
9 | using System.Linq; | 8 | using System.Linq; |
10 | using System.Threading; | 9 | using System.Threading; |
11 | using WixToolset.Core.Bind; | 10 | using WixToolset.Core.Bind; |
12 | using WixToolset.Core.Native; | 11 | using WixToolset.Core.Native; |
13 | using WixToolset.Data; | 12 | using WixToolset.Data; |
13 | using WixToolset.Extensibility.Services; | ||
14 | 14 | ||
15 | /// <summary> | 15 | /// <summary> |
16 | /// Builds cabinets using multiple threads. This implements a thread pool that generates cabinets with multiple | 16 | /// Builds cabinets using multiple threads. This implements a thread pool that generates cabinets with multiple |
@@ -25,16 +25,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
25 | // Address of Binder's callback function for Cabinet Splitting | 25 | // Address of Binder's callback function for Cabinet Splitting |
26 | private IntPtr newCabNamesCallBackAddress; | 26 | private IntPtr newCabNamesCallBackAddress; |
27 | 27 | ||
28 | public int MaximumCabinetSizeForLargeFileSplitting { get; set; } | ||
29 | |||
30 | public int MaximumUncompressedMediaSize { get; set; } | ||
31 | |||
32 | /// <summary> | 28 | /// <summary> |
33 | /// Instantiate a new CabinetBuilder. | 29 | /// Instantiate a new CabinetBuilder. |
34 | /// </summary> | 30 | /// </summary> |
35 | /// <param name="threadCount">number of threads to use</param> | 31 | /// <param name="threadCount">number of threads to use</param> |
36 | /// <param name="newCabNamesCallBackAddress">Address of Binder's callback function for Cabinet Splitting</param> | 32 | /// <param name="newCabNamesCallBackAddress">Address of Binder's callback function for Cabinet Splitting</param> |
37 | public CabinetBuilder(int threadCount, IntPtr newCabNamesCallBackAddress) | 33 | public CabinetBuilder(IMessaging messaging, int threadCount, IntPtr newCabNamesCallBackAddress) |
38 | { | 34 | { |
39 | if (0 >= threadCount) | 35 | if (0 >= threadCount) |
40 | { | 36 | { |
@@ -43,13 +39,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
43 | 39 | ||
44 | this.cabinetWorkItems = new Queue(); | 40 | this.cabinetWorkItems = new Queue(); |
45 | this.lockObject = new object(); | 41 | this.lockObject = new object(); |
46 | 42 | this.Messaging = messaging; | |
47 | this.threadCount = threadCount; | 43 | this.threadCount = threadCount; |
48 | 44 | ||
49 | // Set Address of Binder's callback function for Cabinet Splitting | 45 | // Set Address of Binder's callback function for Cabinet Splitting |
50 | this.newCabNamesCallBackAddress = newCabNamesCallBackAddress; | 46 | this.newCabNamesCallBackAddress = newCabNamesCallBackAddress; |
51 | } | 47 | } |
52 | 48 | ||
49 | private IMessaging Messaging { get; } | ||
50 | |||
51 | public int MaximumCabinetSizeForLargeFileSplitting { get; set; } | ||
52 | |||
53 | public int MaximumUncompressedMediaSize { get; set; } | ||
54 | |||
53 | /// <summary> | 55 | /// <summary> |
54 | /// Enqueues a CabinetWorkItem to the queue. | 56 | /// Enqueues a CabinetWorkItem to the queue. |
55 | /// </summary> | 57 | /// </summary> |
@@ -119,11 +121,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
119 | } | 121 | } |
120 | catch (WixException we) | 122 | catch (WixException we) |
121 | { | 123 | { |
122 | Messaging.Instance.OnMessage(we.Error); | 124 | this.Messaging.Write(we.Error); |
123 | } | 125 | } |
124 | catch (Exception e) | 126 | catch (Exception e) |
125 | { | 127 | { |
126 | Messaging.Instance.OnMessage(WixErrors.UnexpectedException(e.Message, e.GetType().ToString(), e.StackTrace)); | 128 | this.Messaging.Write(ErrorMessages.UnexpectedException(e.Message, e.GetType().ToString(), e.StackTrace)); |
127 | } | 129 | } |
128 | } | 130 | } |
129 | 131 | ||
@@ -133,7 +135,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
133 | /// <param name="cabinetWorkItem">CabinetWorkItem containing information about the cabinet to create.</param> | 135 | /// <param name="cabinetWorkItem">CabinetWorkItem containing information about the cabinet to create.</param> |
134 | private void CreateCabinet(CabinetWorkItem cabinetWorkItem) | 136 | private void CreateCabinet(CabinetWorkItem cabinetWorkItem) |
135 | { | 137 | { |
136 | Messaging.Instance.OnMessage(WixVerboses.CreateCabinet(cabinetWorkItem.CabinetFile)); | 138 | this.Messaging.Write(VerboseMessages.CreateCabinet(cabinetWorkItem.CabinetFile)); |
137 | 139 | ||
138 | int maxCabinetSize = 0; // The value of 0 corresponds to default of 2GB which means no cabinet splitting | 140 | int maxCabinetSize = 0; // The value of 0 corresponds to default of 2GB which means no cabinet splitting |
139 | ulong maxPreCompressedSizeInBytes = 0; | 141 | ulong maxPreCompressedSizeInBytes = 0; |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs index 370d4b9c..cf8eb338 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs | |||
@@ -109,7 +109,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
109 | } | 109 | } |
110 | catch (ArgumentException) | 110 | catch (ArgumentException) |
111 | { | 111 | { |
112 | throw new WixException(WixErrors.IllegalCharactersInPath(path)); | 112 | throw new WixException(ErrorMessages.IllegalCharactersInPath(path)); |
113 | } | 113 | } |
114 | } | 114 | } |
115 | } | 115 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs index 0c0aea1f..056f92a7 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs | |||
@@ -10,17 +10,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
10 | using WixToolset.Core.Native; | 10 | using WixToolset.Core.Native; |
11 | using WixToolset.Data; | 11 | using WixToolset.Data; |
12 | using WixToolset.Data.Tuples; | 12 | using WixToolset.Data.Tuples; |
13 | using WixToolset.Extensibility.Services; | ||
13 | 14 | ||
14 | /// <summary> | 15 | /// <summary> |
15 | /// Set the guids for components with generatable guids. | 16 | /// Set the guids for components with generatable guids. |
16 | /// </summary> | 17 | /// </summary> |
17 | internal class CalculateComponentGuids | 18 | internal class CalculateComponentGuids |
18 | { | 19 | { |
19 | public CalculateComponentGuids(IntermediateSection section) | 20 | public CalculateComponentGuids(IMessaging messaging, IntermediateSection section) |
20 | { | 21 | { |
22 | this.Messaging = messaging; | ||
21 | this.Section = section; | 23 | this.Section = section; |
22 | } | 24 | } |
23 | 25 | ||
26 | private IMessaging Messaging { get; } | ||
27 | |||
24 | private IntermediateSection Section { get; } | 28 | private IntermediateSection Section { get; } |
25 | 29 | ||
26 | public void Execute() | 30 | public void Execute() |
@@ -43,7 +47,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
43 | 47 | ||
44 | if (String.IsNullOrEmpty(componentRow.KeyPath) || odbcDataSourceKeyPath) | 48 | if (String.IsNullOrEmpty(componentRow.KeyPath) || odbcDataSourceKeyPath) |
45 | { | 49 | { |
46 | Messaging.Instance.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(componentRow.SourceLineNumbers)); | 50 | this.Messaging.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(componentRow.SourceLineNumbers)); |
47 | continue; | 51 | continue; |
48 | } | 52 | } |
49 | 53 | ||
@@ -143,13 +147,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
143 | path.StartsWith(@"StartMenuFolder\programs", StringComparison.Ordinal) || | 147 | path.StartsWith(@"StartMenuFolder\programs", StringComparison.Ordinal) || |
144 | path.StartsWith(@"WindowsFolder\fonts", StringComparison.Ordinal)) | 148 | path.StartsWith(@"WindowsFolder\fonts", StringComparison.Ordinal)) |
145 | { | 149 | { |
146 | Messaging.Instance.OnMessage(WixErrors.IllegalPathForGeneratedComponentGuid(componentRow.SourceLineNumbers, fileRow.Component_, path)); | 150 | this.Messaging.Write(ErrorMessages.IllegalPathForGeneratedComponentGuid(componentRow.SourceLineNumbers, fileRow.Component_, path)); |
147 | } | 151 | } |
148 | 152 | ||
149 | // if component has more than one file, the key path must be versioned | 153 | // if component has more than one file, the key path must be versioned |
150 | if (1 < numFilesInComponent && String.IsNullOrEmpty(fileRow.Version)) | 154 | if (1 < numFilesInComponent && String.IsNullOrEmpty(fileRow.Version)) |
151 | { | 155 | { |
152 | Messaging.Instance.OnMessage(WixErrors.IllegalGeneratedGuidComponentUnversionedKeypath(componentRow.SourceLineNumbers)); | 156 | this.Messaging.Write(ErrorMessages.IllegalGeneratedGuidComponentUnversionedKeypath(componentRow.SourceLineNumbers)); |
153 | } | 157 | } |
154 | } | 158 | } |
155 | else | 159 | else |
@@ -157,13 +161,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
157 | // not a key path, so it must be an unversioned file if component has more than one file | 161 | // not a key path, so it must be an unversioned file if component has more than one file |
158 | if (1 < numFilesInComponent && !String.IsNullOrEmpty(fileRow.Version)) | 162 | if (1 < numFilesInComponent && !String.IsNullOrEmpty(fileRow.Version)) |
159 | { | 163 | { |
160 | Messaging.Instance.OnMessage(WixErrors.IllegalGeneratedGuidComponentVersionedNonkeypath(componentRow.SourceLineNumbers)); | 164 | this.Messaging.Write(ErrorMessages.IllegalGeneratedGuidComponentVersionedNonkeypath(componentRow.SourceLineNumbers)); |
161 | } | 165 | } |
162 | } | 166 | } |
163 | } | 167 | } |
164 | 168 | ||
165 | // if the rules were followed, reward with a generated guid | 169 | // if the rules were followed, reward with a generated guid |
166 | if (!Messaging.Instance.EncounteredError) | 170 | if (!this.Messaging.EncounteredError) |
167 | { | 171 | { |
168 | componentRow.ComponentId = Uuid.NewUuid(BindDatabaseCommand.WixComponentGuidNamespace, path).ToString("B").ToUpperInvariant(); | 172 | componentRow.ComponentId = Uuid.NewUuid(BindDatabaseCommand.WixComponentGuidNamespace, path).ToString("B").ToUpperInvariant(); |
169 | } | 173 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs index 559d440c..13408312 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs | |||
@@ -12,13 +12,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
12 | using WixToolset.Data.WindowsInstaller; | 12 | using WixToolset.Data.WindowsInstaller; |
13 | using WixToolset.Data.WindowsInstaller.Rows; | 13 | using WixToolset.Data.WindowsInstaller.Rows; |
14 | using WixToolset.Extensibility; | 14 | using WixToolset.Extensibility; |
15 | using WixToolset.Extensibility.Services; | ||
15 | 16 | ||
16 | internal class CopyTransformDataCommand | 17 | internal class CopyTransformDataCommand |
17 | { | 18 | { |
18 | public bool CopyOutFileRows { private get; set; } | 19 | public bool CopyOutFileRows { private get; set; } |
19 | 20 | ||
20 | public IEnumerable<IBinderExtension> Extensions { private get; set; } | 21 | public IEnumerable<IBinderExtension> Extensions { private get; set; } |
21 | 22 | ||
23 | public IMessaging Messaging { private get; set; } | ||
24 | |||
22 | public Output Output { private get; set; } | 25 | public Output Output { private get; set; } |
23 | 26 | ||
24 | public TableDefinitionCollection TableDefinitions { private get; set; } | 27 | public TableDefinitionCollection TableDefinitions { private get; set; } |
@@ -465,14 +468,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
465 | { | 468 | { |
466 | if (seqDuplicateFiles < seqInstallFiles) | 469 | if (seqDuplicateFiles < seqInstallFiles) |
467 | { | 470 | { |
468 | throw new WixException(WixErrors.InsertInvalidSequenceActionOrder(mainFileRow.SourceLineNumbers, iesTable.Name, "InstallFiles", "DuplicateFiles", wixPatchAction.Action)); | 471 | throw new WixException(ErrorMessages.InsertInvalidSequenceActionOrder(mainFileRow.SourceLineNumbers, iesTable.Name, "InstallFiles", "DuplicateFiles", wixPatchAction.Action)); |
469 | } | 472 | } |
470 | else | 473 | else |
471 | { | 474 | { |
472 | sequence = (seqDuplicateFiles + seqInstallFiles) / 2; | 475 | sequence = (seqDuplicateFiles + seqInstallFiles) / 2; |
473 | if (seqInstallFiles == sequence || seqDuplicateFiles == sequence) | 476 | if (seqInstallFiles == sequence || seqDuplicateFiles == sequence) |
474 | { | 477 | { |
475 | throw new WixException(WixErrors.InsertSequenceNoSpace(mainFileRow.SourceLineNumbers, iesTable.Name, "InstallFiles", "DuplicateFiles", wixPatchAction.Action)); | 478 | throw new WixException(ErrorMessages.InsertSequenceNoSpace(mainFileRow.SourceLineNumbers, iesTable.Name, "InstallFiles", "DuplicateFiles", wixPatchAction.Action)); |
476 | } | 479 | } |
477 | } | 480 | } |
478 | } | 481 | } |
@@ -579,7 +582,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
579 | // Make sure all changes to non keypath files also had a change in the keypath. | 582 | // Make sure all changes to non keypath files also had a change in the keypath. |
580 | if (!componentWithChangedKeyPath.ContainsKey(componentFile.Key) && componentKeyPath.ContainsKey(componentFile.Key)) | 583 | if (!componentWithChangedKeyPath.ContainsKey(componentFile.Key) && componentKeyPath.ContainsKey(componentFile.Key)) |
581 | { | 584 | { |
582 | Messaging.Instance.OnMessage(WixWarnings.UpdateOfNonKeyPathFile((string)componentFile.Value, (string)componentFile.Key, (string)componentKeyPath[componentFile.Key])); | 585 | this.Messaging.Write(WarningMessages.UpdateOfNonKeyPathFile((string)componentFile.Value, (string)componentFile.Key, (string)componentKeyPath[componentFile.Key])); |
583 | } | 586 | } |
584 | } | 587 | } |
585 | } | 588 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs index 0aa50bd9..28e7f6df 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs | |||
@@ -16,6 +16,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
16 | using WixToolset.Data.WindowsInstaller; | 16 | using WixToolset.Data.WindowsInstaller; |
17 | using WixToolset.Data.WindowsInstaller.Rows; | 17 | using WixToolset.Data.WindowsInstaller.Rows; |
18 | using WixToolset.Extensibility; | 18 | using WixToolset.Extensibility; |
19 | using WixToolset.Extensibility.Services; | ||
19 | 20 | ||
20 | /// <summary> | 21 | /// <summary> |
21 | /// Creates cabinet files. | 22 | /// Creates cabinet files. |
@@ -45,6 +46,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
45 | 46 | ||
46 | public string CabCachePath { private get; set; } | 47 | public string CabCachePath { private get; set; } |
47 | 48 | ||
49 | public IMessaging Messaging { private get; set; } | ||
50 | |||
48 | public string TempFilesLocation { private get; set; } | 51 | public string TempFilesLocation { private get; set; } |
49 | 52 | ||
50 | /// <summary> | 53 | /// <summary> |
@@ -85,7 +88,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
85 | this.SetCabbingThreadCount(); | 88 | this.SetCabbingThreadCount(); |
86 | 89 | ||
87 | // Send Binder object to Facilitate NewCabNamesCallBack Callback | 90 | // Send Binder object to Facilitate NewCabNamesCallBack Callback |
88 | CabinetBuilder cabinetBuilder = new CabinetBuilder(this.CabbingThreadCount, Marshal.GetFunctionPointerForDelegate(this.newCabNamesCallBack)); | 91 | CabinetBuilder cabinetBuilder = new CabinetBuilder(this.Messaging, this.CabbingThreadCount, Marshal.GetFunctionPointerForDelegate(this.newCabNamesCallBack)); |
89 | 92 | ||
90 | // Supply Compile MediaTemplate Attributes to Cabinet Builder | 93 | // Supply Compile MediaTemplate Attributes to Cabinet Builder |
91 | this.GetMediaTemplateAttributes(out var MaximumCabinetSizeForLargeFileSplitting, out var MaximumUncompressedMediaSize); | 94 | this.GetMediaTemplateAttributes(out var MaximumCabinetSizeForLargeFileSplitting, out var MaximumUncompressedMediaSize); |
@@ -120,14 +123,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
120 | } | 123 | } |
121 | 124 | ||
122 | // stop processing if an error previously occurred | 125 | // stop processing if an error previously occurred |
123 | if (Messaging.Instance.EncounteredError) | 126 | if (this.Messaging.EncounteredError) |
124 | { | 127 | { |
125 | return; | 128 | return; |
126 | } | 129 | } |
127 | 130 | ||
128 | // create queued cabinets with multiple threads | 131 | // create queued cabinets with multiple threads |
129 | cabinetBuilder.CreateQueuedCabinets(); | 132 | cabinetBuilder.CreateQueuedCabinets(); |
130 | if (Messaging.Instance.EncounteredError) | 133 | if (this.Messaging.EncounteredError) |
131 | { | 134 | { |
132 | return; | 135 | return; |
133 | } | 136 | } |
@@ -152,7 +155,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
152 | 155 | ||
153 | if (0 >= this.CabbingThreadCount) | 156 | if (0 >= this.CabbingThreadCount) |
154 | { | 157 | { |
155 | throw new WixException(WixErrors.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors)); | 158 | throw new WixException(ErrorMessages.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors)); |
156 | } | 159 | } |
157 | } | 160 | } |
158 | else // default to 1 if the environment variable is not set | 161 | else // default to 1 if the environment variable is not set |
@@ -160,15 +163,15 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
160 | this.CabbingThreadCount = 1; | 163 | this.CabbingThreadCount = 1; |
161 | } | 164 | } |
162 | 165 | ||
163 | Messaging.Instance.OnMessage(WixVerboses.SetCabbingThreadCount(this.CabbingThreadCount.ToString())); | 166 | this.Messaging.Write(VerboseMessages.SetCabbingThreadCount(this.CabbingThreadCount.ToString())); |
164 | } | 167 | } |
165 | catch (ArgumentException) | 168 | catch (ArgumentException) |
166 | { | 169 | { |
167 | throw new WixException(WixErrors.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors)); | 170 | throw new WixException(ErrorMessages.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors)); |
168 | } | 171 | } |
169 | catch (FormatException) | 172 | catch (FormatException) |
170 | { | 173 | { |
171 | throw new WixException(WixErrors.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors)); | 174 | throw new WixException(ErrorMessages.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors)); |
172 | } | 175 | } |
173 | } | 176 | } |
174 | } | 177 | } |
@@ -202,11 +205,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
202 | // If building a patch, remind them to run -p for torch. | 205 | // If building a patch, remind them to run -p for torch. |
203 | if (OutputType.Patch == output.Type) | 206 | if (OutputType.Patch == output.Type) |
204 | { | 207 | { |
205 | Messaging.Instance.OnMessage(WixWarnings.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName, true)); | 208 | this.Messaging.Write(WarningMessages.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName, true)); |
206 | } | 209 | } |
207 | else | 210 | else |
208 | { | 211 | { |
209 | Messaging.Instance.OnMessage(WixWarnings.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName)); | 212 | this.Messaging.Write(WarningMessages.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName)); |
210 | } | 213 | } |
211 | } | 214 | } |
212 | 215 | ||
@@ -223,7 +226,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
223 | } | 226 | } |
224 | else // reuse the cabinet from the cabinet cache. | 227 | else // reuse the cabinet from the cabinet cache. |
225 | { | 228 | { |
226 | Messaging.Instance.OnMessage(WixVerboses.ReusingCabCache(mediaRow.SourceLineNumbers, mediaRow.Cabinet, resolvedCabinet.Path)); | 229 | this.Messaging.Write(VerboseMessages.ReusingCabCache(mediaRow.SourceLineNumbers, mediaRow.Cabinet, resolvedCabinet.Path)); |
227 | 230 | ||
228 | try | 231 | try |
229 | { | 232 | { |
@@ -237,7 +240,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
237 | } | 240 | } |
238 | catch (Exception e) | 241 | catch (Exception e) |
239 | { | 242 | { |
240 | Messaging.Instance.OnMessage(WixWarnings.CannotUpdateCabCache(mediaRow.SourceLineNumbers, resolvedCabinet.Path, e.Message)); | 243 | this.Messaging.Write(WarningMessages.CannotUpdateCabCache(mediaRow.SourceLineNumbers, resolvedCabinet.Path, e.Message)); |
241 | } | 244 | } |
242 | } | 245 | } |
243 | 246 | ||
@@ -303,7 +306,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
303 | if (!mutex.WaitOne(0, false)) // Check if you can get the lock | 306 | if (!mutex.WaitOne(0, false)) // Check if you can get the lock |
304 | { | 307 | { |
305 | // Cound not get the Lock | 308 | // Cound not get the Lock |
306 | Messaging.Instance.OnMessage(WixVerboses.CabinetsSplitInParallel()); | 309 | this.Messaging.Write(VerboseMessages.CabinetsSplitInParallel()); |
307 | mutex.WaitOne(); // Wait on other thread | 310 | mutex.WaitOne(); // Wait on other thread |
308 | } | 311 | } |
309 | 312 | ||
@@ -333,7 +336,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
333 | // Check if File Transfer was added | 336 | // Check if File Transfer was added |
334 | if (!transferAdded) | 337 | if (!transferAdded) |
335 | { | 338 | { |
336 | throw new WixException(WixErrors.SplitCabinetCopyRegistrationFailed(newCabinetName, firstCabinetName)); | 339 | throw new WixException(ErrorMessages.SplitCabinetCopyRegistrationFailed(newCabinetName, firstCabinetName)); |
337 | } | 340 | } |
338 | 341 | ||
339 | // Add the new Cabinets to media table using LastSequence of Base Cabinet | 342 | // Add the new Cabinets to media table using LastSequence of Base Cabinet |
@@ -365,14 +368,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
365 | if (newCabinetName.Equals(mediaRow.Cabinet, StringComparison.InvariantCultureIgnoreCase)) | 368 | if (newCabinetName.Equals(mediaRow.Cabinet, StringComparison.InvariantCultureIgnoreCase)) |
366 | { | 369 | { |
367 | // Name Collision of generated Split Cabinet Name and user Specified Cab name for current row | 370 | // Name Collision of generated Split Cabinet Name and user Specified Cab name for current row |
368 | throw new WixException(WixErrors.SplitCabinetNameCollision(newCabinetName, firstCabinetName)); | 371 | throw new WixException(ErrorMessages.SplitCabinetNameCollision(newCabinetName, firstCabinetName)); |
369 | } | 372 | } |
370 | } | 373 | } |
371 | 374 | ||
372 | // Check if the last Split Cabinet was found in the Media Table | 375 | // Check if the last Split Cabinet was found in the Media Table |
373 | if (!lastSplitCabinetFound) | 376 | if (!lastSplitCabinetFound) |
374 | { | 377 | { |
375 | throw new WixException(WixErrors.SplitCabinetInsertionFailed(newCabinetName, firstCabinetName, lastCabinetOfThisSequence)); | 378 | throw new WixException(ErrorMessages.SplitCabinetInsertionFailed(newCabinetName, firstCabinetName, lastCabinetOfThisSequence)); |
376 | } | 379 | } |
377 | 380 | ||
378 | // The new Row has to be inserted just after the last cab in this cabinet split chain according to DiskID Sort | 381 | // The new Row has to be inserted just after the last cab in this cabinet split chain according to DiskID Sort |
@@ -454,11 +457,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
454 | } | 457 | } |
455 | catch (FormatException) | 458 | catch (FormatException) |
456 | { | 459 | { |
457 | throw new WixException(WixErrors.IllegalEnvironmentVariable("WIX_MCSLFS", mcslfsString)); | 460 | throw new WixException(ErrorMessages.IllegalEnvironmentVariable("WIX_MCSLFS", mcslfsString)); |
458 | } | 461 | } |
459 | catch (OverflowException) | 462 | catch (OverflowException) |
460 | { | 463 | { |
461 | throw new WixException(WixErrors.MaximumCabinetSizeForLargeFileSplittingTooLarge(null, maxCabSizeForLargeFileInMB, MaxValueOfMaxCabSizeForLargeFileSplitting)); | 464 | throw new WixException(ErrorMessages.MaximumCabinetSizeForLargeFileSplittingTooLarge(null, maxCabSizeForLargeFileInMB, MaxValueOfMaxCabSizeForLargeFileSplitting)); |
462 | } | 465 | } |
463 | 466 | ||
464 | try | 467 | try |
@@ -476,11 +479,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
476 | } | 479 | } |
477 | catch (FormatException) | 480 | catch (FormatException) |
478 | { | 481 | { |
479 | throw new WixException(WixErrors.IllegalEnvironmentVariable("WIX_MUMS", mumsString)); | 482 | throw new WixException(ErrorMessages.IllegalEnvironmentVariable("WIX_MUMS", mumsString)); |
480 | } | 483 | } |
481 | catch (OverflowException) | 484 | catch (OverflowException) |
482 | { | 485 | { |
483 | throw new WixException(WixErrors.MaximumUncompressedMediaSizeTooLarge(null, maxPreCompressedSizeInMB)); | 486 | throw new WixException(ErrorMessages.MaximumUncompressedMediaSizeTooLarge(null, maxPreCompressedSizeInMB)); |
484 | } | 487 | } |
485 | 488 | ||
486 | maxCabSizeForLargeFileSplitting = maxCabSizeForLargeFileInMB; | 489 | maxCabSizeForLargeFileSplitting = maxCabSizeForLargeFileInMB; |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateIdtFileCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateIdtFileCommand.cs index 1fc7d068..9afb3260 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateIdtFileCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateIdtFileCommand.cs | |||
@@ -8,17 +8,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
8 | using System.Text; | 8 | using System.Text; |
9 | using WixToolset.Data; | 9 | using WixToolset.Data; |
10 | using WixToolset.Data.WindowsInstaller; | 10 | using WixToolset.Data.WindowsInstaller; |
11 | using WixToolset.Extensibility.Services; | ||
11 | 12 | ||
12 | internal class CreateIdtFileCommand | 13 | internal class CreateIdtFileCommand |
13 | { | 14 | { |
14 | public CreateIdtFileCommand(Table table, int codepage, string intermediateFolder, bool keepAddedColumns) | 15 | public CreateIdtFileCommand(IMessaging messaging, Table table, int codepage, string intermediateFolder, bool keepAddedColumns) |
15 | { | 16 | { |
17 | this.Messaging = messaging; | ||
16 | this.Table = table; | 18 | this.Table = table; |
17 | this.Codepage = codepage; | 19 | this.Codepage = codepage; |
18 | this.IntermediateFolder = intermediateFolder; | 20 | this.IntermediateFolder = intermediateFolder; |
19 | this.KeepAddedColumns = keepAddedColumns; | 21 | this.KeepAddedColumns = keepAddedColumns; |
20 | } | 22 | } |
21 | 23 | ||
24 | private IMessaging Messaging { get; } | ||
25 | |||
22 | private Table Table { get; } | 26 | private Table Table { get; } |
23 | 27 | ||
24 | private int Codepage { get; set; } | 28 | private int Codepage { get; set; } |
@@ -67,7 +71,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
67 | 71 | ||
68 | if (TableDefinition.MaxColumnsInRealTable < table.Definition.Columns.Count) | 72 | if (TableDefinition.MaxColumnsInRealTable < table.Definition.Columns.Count) |
69 | { | 73 | { |
70 | throw new WixException(WixDataErrors.TooManyColumnsInRealTable(table.Definition.Name, table.Definition.Columns.Count, TableDefinition.MaxColumnsInRealTable)); | 74 | throw new WixException(ErrorMessages.TooManyColumnsInRealTable(table.Definition.Name, table.Definition.Columns.Count, TableDefinition.MaxColumnsInRealTable)); |
71 | } | 75 | } |
72 | 76 | ||
73 | // Tack on the table header, and flush before we start writing bytes directly to the stream. | 77 | // Tack on the table header, and flush before we start writing bytes directly to the stream. |
@@ -98,7 +102,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
98 | } | 102 | } |
99 | catch (EncoderFallbackException) | 103 | catch (EncoderFallbackException) |
100 | { | 104 | { |
101 | Messaging.Instance.OnMessage(WixDataErrors.InvalidStringForCodepage(row.SourceLineNumbers, Convert.ToString(writer.Encoding.WindowsCodePage, CultureInfo.InvariantCulture))); | 105 | this.Messaging.Write(ErrorMessages.InvalidStringForCodepage(row.SourceLineNumbers, Convert.ToString(writer.Encoding.WindowsCodePage, CultureInfo.InvariantCulture))); |
102 | 106 | ||
103 | rowBytes = convertEncoding.GetBytes(rowString); | 107 | rowBytes = convertEncoding.GetBytes(rowString); |
104 | } | 108 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs index a31c8079..e1777246 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs | |||
@@ -15,18 +15,22 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
15 | using WixToolset.Core.Native; | 15 | using WixToolset.Core.Native; |
16 | using WixToolset.Core.Bind; | 16 | using WixToolset.Core.Bind; |
17 | using WixToolset.Data.Tuples; | 17 | using WixToolset.Data.Tuples; |
18 | using WixToolset.Extensibility.Services; | ||
18 | 19 | ||
19 | /// <summary> | 20 | /// <summary> |
20 | /// Retrieve files information and extract them from merge modules. | 21 | /// Retrieve files information and extract them from merge modules. |
21 | /// </summary> | 22 | /// </summary> |
22 | internal class ExtractMergeModuleFilesCommand | 23 | internal class ExtractMergeModuleFilesCommand |
23 | { | 24 | { |
24 | public ExtractMergeModuleFilesCommand(IntermediateSection section, List<WixMergeTuple> wixMergeTuples) | 25 | public ExtractMergeModuleFilesCommand(IMessaging messaging, IntermediateSection section, List<WixMergeTuple> wixMergeTuples) |
25 | { | 26 | { |
27 | this.Messaging = messaging; | ||
26 | this.Section = section; | 28 | this.Section = section; |
27 | this.WixMergeTuples = wixMergeTuples; | 29 | this.WixMergeTuples = wixMergeTuples; |
28 | } | 30 | } |
29 | 31 | ||
32 | private IMessaging Messaging { get; } | ||
33 | |||
30 | private IntermediateSection Section { get; } | 34 | private IntermediateSection Section { get; } |
31 | 35 | ||
32 | private List<WixMergeTuple> WixMergeTuples { get; } | 36 | private List<WixMergeTuple> WixMergeTuples { get; } |
@@ -121,11 +125,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
121 | // If case-sensitive collision with another merge module or a user-authored file identifier. | 125 | // If case-sensitive collision with another merge module or a user-authored file identifier. |
122 | if (indexedFileFacades.TryGetValue(mergeModuleFileFacade.File.File, out var collidingFacade)) | 126 | if (indexedFileFacades.TryGetValue(mergeModuleFileFacade.File.File, out var collidingFacade)) |
123 | { | 127 | { |
124 | Messaging.Instance.OnMessage(WixErrors.DuplicateModuleFileIdentifier(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, collidingFacade.File.File)); | 128 | this.Messaging.Write(ErrorMessages.DuplicateModuleFileIdentifier(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, collidingFacade.File.File)); |
125 | } | 129 | } |
126 | else if (uniqueModuleFileIdentifiers.TryGetValue(mergeModuleFileFacade.File.File, out collidingFacade)) // case-insensitive collision with another file identifier in the same merge module | 130 | else if (uniqueModuleFileIdentifiers.TryGetValue(mergeModuleFileFacade.File.File, out collidingFacade)) // case-insensitive collision with another file identifier in the same merge module |
127 | { | 131 | { |
128 | Messaging.Instance.OnMessage(WixErrors.DuplicateModuleCaseInsensitiveFileIdentifier(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, mergeModuleFileFacade.File.File, collidingFacade.File.File)); | 132 | this.Messaging.Write(ErrorMessages.DuplicateModuleCaseInsensitiveFileIdentifier(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, mergeModuleFileFacade.File.File, collidingFacade.File.File)); |
129 | } | 133 | } |
130 | else // no collision | 134 | else // no collision |
131 | { | 135 | { |
@@ -152,23 +156,23 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
152 | int moduleInstallerVersion = Convert.ToInt32(moduleInstallerVersionString, CultureInfo.InvariantCulture); | 156 | int moduleInstallerVersion = Convert.ToInt32(moduleInstallerVersionString, CultureInfo.InvariantCulture); |
153 | if (moduleInstallerVersion > this.OutputInstallerVersion) | 157 | if (moduleInstallerVersion > this.OutputInstallerVersion) |
154 | { | 158 | { |
155 | Messaging.Instance.OnMessage(WixWarnings.InvalidHigherInstallerVersionInModule(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, moduleInstallerVersion, this.OutputInstallerVersion)); | 159 | this.Messaging.Write(WarningMessages.InvalidHigherInstallerVersionInModule(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, moduleInstallerVersion, this.OutputInstallerVersion)); |
156 | } | 160 | } |
157 | } | 161 | } |
158 | catch (FormatException) | 162 | catch (FormatException) |
159 | { | 163 | { |
160 | throw new WixException(WixErrors.MissingOrInvalidModuleInstallerVersion(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, wixMergeRow.SourceFile, moduleInstallerVersionString)); | 164 | throw new WixException(ErrorMessages.MissingOrInvalidModuleInstallerVersion(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, wixMergeRow.SourceFile, moduleInstallerVersionString)); |
161 | } | 165 | } |
162 | } | 166 | } |
163 | } | 167 | } |
164 | } | 168 | } |
165 | catch (FileNotFoundException) | 169 | catch (FileNotFoundException) |
166 | { | 170 | { |
167 | throw new WixException(WixErrors.FileNotFound(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile)); | 171 | throw new WixException(ErrorMessages.FileNotFound(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile)); |
168 | } | 172 | } |
169 | catch (Win32Exception) | 173 | catch (Win32Exception) |
170 | { | 174 | { |
171 | throw new WixException(WixErrors.CannotOpenMergeModule(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, wixMergeRow.SourceFile)); | 175 | throw new WixException(ErrorMessages.CannotOpenMergeModule(wixMergeRow.SourceLineNumbers, wixMergeRow.Id.Id, wixMergeRow.SourceFile)); |
172 | } | 176 | } |
173 | 177 | ||
174 | return containsFiles; | 178 | return containsFiles; |
@@ -187,7 +191,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
187 | } | 191 | } |
188 | catch (FormatException) | 192 | catch (FormatException) |
189 | { | 193 | { |
190 | Messaging.Instance.OnMessage(WixErrors.InvalidMergeLanguage(wixMergeRow.SourceLineNumbers, mergeId, wixMergeRow.Language.ToString())); | 194 | this.Messaging.Write(ErrorMessages.InvalidMergeLanguage(wixMergeRow.SourceLineNumbers, mergeId, wixMergeRow.Language.ToString())); |
191 | return; | 195 | return; |
192 | } | 196 | } |
193 | 197 | ||
@@ -210,16 +214,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
210 | } | 214 | } |
211 | catch (FileNotFoundException) | 215 | catch (FileNotFoundException) |
212 | { | 216 | { |
213 | throw new WixException(WixErrors.CabFileDoesNotExist(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); | 217 | throw new WixException(ErrorMessages.CabFileDoesNotExist(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); |
214 | } | 218 | } |
215 | catch | 219 | catch |
216 | { | 220 | { |
217 | throw new WixException(WixErrors.CabExtractionFailed(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); | 221 | throw new WixException(ErrorMessages.CabExtractionFailed(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath)); |
218 | } | 222 | } |
219 | } | 223 | } |
220 | catch (COMException ce) | 224 | catch (COMException ce) |
221 | { | 225 | { |
222 | throw new WixException(WixErrors.UnableToOpenModule(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile, ce.Message)); | 226 | throw new WixException(ErrorMessages.UnableToOpenModule(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile, ce.Message)); |
223 | } | 227 | } |
224 | finally | 228 | finally |
225 | { | 229 | { |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs index e4e66559..ee7cc61b 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs | |||
@@ -13,6 +13,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
13 | using WixToolset.Msi; | 13 | using WixToolset.Msi; |
14 | using WixToolset.Core.Native; | 14 | using WixToolset.Core.Native; |
15 | using WixToolset.Data.WindowsInstaller; | 15 | using WixToolset.Data.WindowsInstaller; |
16 | using WixToolset.Extensibility.Services; | ||
16 | 17 | ||
17 | internal class GenerateDatabaseCommand | 18 | internal class GenerateDatabaseCommand |
18 | { | 19 | { |
@@ -25,6 +26,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
25 | /// </summary> | 26 | /// </summary> |
26 | public bool KeepAddedColumns { private get; set; } | 27 | public bool KeepAddedColumns { private get; set; } |
27 | 28 | ||
29 | public IMessaging Messaging { private get; set; } | ||
30 | |||
28 | public Output Output { private get; set; } | 31 | public Output Output { private get; set; } |
29 | 32 | ||
30 | public string OutputPath { private get; set; } | 33 | public string OutputPath { private get; set; } |
@@ -177,7 +180,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
177 | try | 180 | try |
178 | { | 181 | { |
179 | //db.ImportTable(this.Output.Codepage, importTable, baseDirectory, this.KeepAddedColumns); | 182 | //db.ImportTable(this.Output.Codepage, importTable, baseDirectory, this.KeepAddedColumns); |
180 | var command = new CreateIdtFileCommand(importTable, this.Output.Codepage, baseDirectory, this.KeepAddedColumns); | 183 | var command = new CreateIdtFileCommand(this.Messaging, importTable, this.Output.Codepage, baseDirectory, this.KeepAddedColumns); |
181 | command.Execute(); | 184 | command.Execute(); |
182 | 185 | ||
183 | db.Import(command.IdtPath); | 186 | db.Import(command.IdtPath); |
@@ -262,11 +265,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
262 | { | 265 | { |
263 | if (0xA1 == e.NativeErrorCode) // ERROR_BAD_PATHNAME | 266 | if (0xA1 == e.NativeErrorCode) // ERROR_BAD_PATHNAME |
264 | { | 267 | { |
265 | throw new WixException(WixErrors.FileNotFound(row.SourceLineNumbers, (string)row[i])); | 268 | throw new WixException(ErrorMessages.FileNotFound(row.SourceLineNumbers, (string)row[i])); |
266 | } | 269 | } |
267 | else | 270 | else |
268 | { | 271 | { |
269 | throw new WixException(WixErrors.Win32Exception(e.NativeErrorCode, e.Message)); | 272 | throw new WixException(ErrorMessages.Win32Exception(e.NativeErrorCode, e.Message)); |
270 | } | 273 | } |
271 | } | 274 | } |
272 | } | 275 | } |
@@ -279,7 +282,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
279 | // check for a stream name that is more than 62 characters long (the maximum allowed length) | 282 | // check for a stream name that is more than 62 characters long (the maximum allowed length) |
280 | if (needStream && MsiInterop.MsiMaxStreamNameLength < streamName.Length) | 283 | if (needStream && MsiInterop.MsiMaxStreamNameLength < streamName.Length) |
281 | { | 284 | { |
282 | Messaging.Instance.OnMessage(WixErrors.StreamNameTooLong(row.SourceLineNumbers, table.Name, streamName.ToString(), streamName.Length)); | 285 | this.Messaging.Write(ErrorMessages.StreamNameTooLong(row.SourceLineNumbers, table.Name, streamName.ToString(), streamName.Length)); |
283 | } | 286 | } |
284 | else // add the row to the database | 287 | else // add the row to the database |
285 | { | 288 | { |
@@ -309,7 +312,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
309 | // Bind the transform. | 312 | // Bind the transform. |
310 | this.BindTransform(subStorage.Data, transformFile); | 313 | this.BindTransform(subStorage.Data, transformFile); |
311 | 314 | ||
312 | if (Messaging.Instance.EncounteredError) | 315 | if (this.Messaging.EncounteredError) |
313 | { | 316 | { |
314 | continue; | 317 | continue; |
315 | } | 318 | } |
@@ -338,7 +341,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
338 | 341 | ||
339 | private void BindTransform(Output transform, string outputPath) | 342 | private void BindTransform(Output transform, string outputPath) |
340 | { | 343 | { |
341 | BindTransformCommand command = new BindTransformCommand(); | 344 | var command = new BindTransformCommand(); |
345 | command.Messaging = this.Messaging; | ||
342 | command.Extensions = this.Extensions; | 346 | command.Extensions = this.Extensions; |
343 | command.TempFilesLocation = this.TempFilesLocation; | 347 | command.TempFilesLocation = this.TempFilesLocation; |
344 | command.Transform = transform; | 348 | command.Transform = transform; |
@@ -372,7 +376,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
372 | catch (WixInvalidIdtException) | 376 | catch (WixInvalidIdtException) |
373 | { | 377 | { |
374 | // the IDT should be valid, so an invalid code page was given | 378 | // the IDT should be valid, so an invalid code page was given |
375 | throw new WixException(WixErrors.IllegalCodepage(codepage)); | 379 | throw new WixException(ErrorMessages.IllegalCodepage(codepage)); |
376 | } | 380 | } |
377 | } | 381 | } |
378 | } | 382 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs index 32a05d93..8d1edb41 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs | |||
@@ -13,6 +13,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
13 | using WixToolset.Data; | 13 | using WixToolset.Data; |
14 | using WixToolset.Data.WindowsInstaller; | 14 | using WixToolset.Data.WindowsInstaller; |
15 | using WixToolset.Data.WindowsInstaller.Rows; | 15 | using WixToolset.Data.WindowsInstaller.Rows; |
16 | using WixToolset.Extensibility.Services; | ||
16 | using WixToolset.MergeMod; | 17 | using WixToolset.MergeMod; |
17 | using WixToolset.Msi; | 18 | using WixToolset.Msi; |
18 | 19 | ||
@@ -23,6 +24,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
23 | { | 24 | { |
24 | public IEnumerable<FileFacade> FileFacades { private get; set; } | 25 | public IEnumerable<FileFacade> FileFacades { private get; set; } |
25 | 26 | ||
27 | public IMessaging Messaging { private get; set; } | ||
28 | |||
26 | public Output Output { private get; set; } | 29 | public Output Output { private get; set; } |
27 | 30 | ||
28 | public string OutputPath { private get; set; } | 31 | public string OutputPath { private get; set; } |
@@ -73,11 +76,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
73 | } | 76 | } |
74 | catch (FormatException) | 77 | catch (FormatException) |
75 | { | 78 | { |
76 | Messaging.Instance.OnMessage(WixErrors.InvalidMergeLanguage(wixMergeRow.SourceLineNumbers, wixMergeRow.Id, wixMergeRow.Language)); | 79 | this.Messaging.Write(ErrorMessages.InvalidMergeLanguage(wixMergeRow.SourceLineNumbers, wixMergeRow.Id, wixMergeRow.Language)); |
77 | continue; | 80 | continue; |
78 | } | 81 | } |
79 | 82 | ||
80 | Messaging.Instance.OnMessage(WixVerboses.OpeningMergeModule(wixMergeRow.SourceFile, mergeLanguage)); | 83 | this.Messaging.Write(VerboseMessages.OpeningMergeModule(wixMergeRow.SourceFile, mergeLanguage)); |
81 | merge.OpenModule(wixMergeRow.SourceFile, mergeLanguage); | 84 | merge.OpenModule(wixMergeRow.SourceFile, mergeLanguage); |
82 | moduleOpen = true; | 85 | moduleOpen = true; |
83 | 86 | ||
@@ -89,7 +92,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
89 | } | 92 | } |
90 | 93 | ||
91 | // merge the module into the database that's being built | 94 | // merge the module into the database that's being built |
92 | Messaging.Instance.OnMessage(WixVerboses.MergingMergeModule(wixMergeRow.SourceFile)); | 95 | this.Messaging.Write(VerboseMessages.MergingMergeModule(wixMergeRow.SourceFile)); |
93 | merge.MergeEx(wixMergeRow.Feature, wixMergeRow.Directory, callback); | 96 | merge.MergeEx(wixMergeRow.Feature, wixMergeRow.Directory, callback); |
94 | 97 | ||
95 | // connect any non-primary features | 98 | // connect any non-primary features |
@@ -99,7 +102,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
99 | { | 102 | { |
100 | if (wixMergeRow.Id == (string)row[1]) | 103 | if (wixMergeRow.Id == (string)row[1]) |
101 | { | 104 | { |
102 | Messaging.Instance.OnMessage(WixVerboses.ConnectingMergeModule(wixMergeRow.SourceFile, (string)row[0])); | 105 | this.Messaging.Write(VerboseMessages.ConnectingMergeModule(wixMergeRow.SourceFile, (string)row[0])); |
103 | merge.Connect((string)row[0]); | 106 | merge.Connect((string)row[0]); |
104 | } | 107 | } |
105 | } | 108 | } |
@@ -144,38 +147,38 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
144 | switch (mergeError.Type) | 147 | switch (mergeError.Type) |
145 | { | 148 | { |
146 | case MsmErrorType.msmErrorExclusion: | 149 | case MsmErrorType.msmErrorExclusion: |
147 | Messaging.Instance.OnMessage(WixErrors.MergeExcludedModule(wixMergeRow.SourceLineNumbers, wixMergeRow.Id, moduleKeys.ToString())); | 150 | this.Messaging.Write(ErrorMessages.MergeExcludedModule(wixMergeRow.SourceLineNumbers, wixMergeRow.Id, moduleKeys.ToString())); |
148 | break; | 151 | break; |
149 | case MsmErrorType.msmErrorFeatureRequired: | 152 | case MsmErrorType.msmErrorFeatureRequired: |
150 | Messaging.Instance.OnMessage(WixErrors.MergeFeatureRequired(wixMergeRow.SourceLineNumbers, mergeError.ModuleTable, moduleKeys.ToString(), wixMergeRow.SourceFile, wixMergeRow.Id)); | 153 | this.Messaging.Write(ErrorMessages.MergeFeatureRequired(wixMergeRow.SourceLineNumbers, mergeError.ModuleTable, moduleKeys.ToString(), wixMergeRow.SourceFile, wixMergeRow.Id)); |
151 | break; | 154 | break; |
152 | case MsmErrorType.msmErrorLanguageFailed: | 155 | case MsmErrorType.msmErrorLanguageFailed: |
153 | Messaging.Instance.OnMessage(WixErrors.MergeLanguageFailed(wixMergeRow.SourceLineNumbers, mergeError.Language, wixMergeRow.SourceFile)); | 156 | this.Messaging.Write(ErrorMessages.MergeLanguageFailed(wixMergeRow.SourceLineNumbers, mergeError.Language, wixMergeRow.SourceFile)); |
154 | break; | 157 | break; |
155 | case MsmErrorType.msmErrorLanguageUnsupported: | 158 | case MsmErrorType.msmErrorLanguageUnsupported: |
156 | Messaging.Instance.OnMessage(WixErrors.MergeLanguageUnsupported(wixMergeRow.SourceLineNumbers, mergeError.Language, wixMergeRow.SourceFile)); | 159 | this.Messaging.Write(ErrorMessages.MergeLanguageUnsupported(wixMergeRow.SourceLineNumbers, mergeError.Language, wixMergeRow.SourceFile)); |
157 | break; | 160 | break; |
158 | case MsmErrorType.msmErrorResequenceMerge: | 161 | case MsmErrorType.msmErrorResequenceMerge: |
159 | Messaging.Instance.OnMessage(WixWarnings.MergeRescheduledAction(wixMergeRow.SourceLineNumbers, mergeError.DatabaseTable, databaseKeys.ToString(), wixMergeRow.SourceFile)); | 162 | this.Messaging.Write(WarningMessages.MergeRescheduledAction(wixMergeRow.SourceLineNumbers, mergeError.DatabaseTable, databaseKeys.ToString(), wixMergeRow.SourceFile)); |
160 | break; | 163 | break; |
161 | case MsmErrorType.msmErrorTableMerge: | 164 | case MsmErrorType.msmErrorTableMerge: |
162 | if ("_Validation" != mergeError.DatabaseTable) // ignore merge errors in the _Validation table | 165 | if ("_Validation" != mergeError.DatabaseTable) // ignore merge errors in the _Validation table |
163 | { | 166 | { |
164 | Messaging.Instance.OnMessage(WixWarnings.MergeTableFailed(wixMergeRow.SourceLineNumbers, mergeError.DatabaseTable, databaseKeys.ToString(), wixMergeRow.SourceFile)); | 167 | this.Messaging.Write(WarningMessages.MergeTableFailed(wixMergeRow.SourceLineNumbers, mergeError.DatabaseTable, databaseKeys.ToString(), wixMergeRow.SourceFile)); |
165 | } | 168 | } |
166 | break; | 169 | break; |
167 | case MsmErrorType.msmErrorPlatformMismatch: | 170 | case MsmErrorType.msmErrorPlatformMismatch: |
168 | Messaging.Instance.OnMessage(WixErrors.MergePlatformMismatch(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile)); | 171 | this.Messaging.Write(ErrorMessages.MergePlatformMismatch(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile)); |
169 | break; | 172 | break; |
170 | default: | 173 | default: |
171 | Messaging.Instance.OnMessage(WixErrors.UnexpectedException(String.Format(CultureInfo.CurrentUICulture, WixStrings.EXP_UnexpectedMergerErrorWithType, Enum.GetName(typeof(MsmErrorType), mergeError.Type), logPath), "InvalidOperationException", Environment.StackTrace)); | 174 | this.Messaging.Write(ErrorMessages.UnexpectedException(String.Format(CultureInfo.CurrentUICulture, WixStrings.EXP_UnexpectedMergerErrorWithType, Enum.GetName(typeof(MsmErrorType), mergeError.Type), logPath), "InvalidOperationException", Environment.StackTrace)); |
172 | break; | 175 | break; |
173 | } | 176 | } |
174 | } | 177 | } |
175 | 178 | ||
176 | if (0 >= mergeErrors.Count && !commit) | 179 | if (0 >= mergeErrors.Count && !commit) |
177 | { | 180 | { |
178 | Messaging.Instance.OnMessage(WixErrors.UnexpectedException(String.Format(CultureInfo.CurrentUICulture, WixStrings.EXP_UnexpectedMergerErrorInSourceFile, wixMergeRow.SourceFile, logPath), "InvalidOperationException", Environment.StackTrace)); | 181 | this.Messaging.Write(ErrorMessages.UnexpectedException(String.Format(CultureInfo.CurrentUICulture, WixStrings.EXP_UnexpectedMergerErrorInSourceFile, wixMergeRow.SourceFile, logPath), "InvalidOperationException", Environment.StackTrace)); |
179 | } | 182 | } |
180 | 183 | ||
181 | if (moduleOpen) | 184 | if (moduleOpen) |
@@ -199,7 +202,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
199 | } | 202 | } |
200 | 203 | ||
201 | // stop processing if an error previously occurred | 204 | // stop processing if an error previously occurred |
202 | if (Messaging.Instance.EncounteredError) | 205 | if (this.Messaging.EncounteredError) |
203 | { | 206 | { |
204 | return; | 207 | return; |
205 | } | 208 | } |
@@ -223,7 +226,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
223 | { | 226 | { |
224 | if (null != record) | 227 | if (null != record) |
225 | { | 228 | { |
226 | Messaging.Instance.OnMessage(WixWarnings.SuppressMergedAction((string)row[1], row[0].ToString())); | 229 | this.Messaging.Write(WarningMessages.SuppressMergedAction((string)row[1], row[0].ToString())); |
227 | view.Modify(ModifyView.Delete, record); | 230 | view.Modify(ModifyView.Delete, record); |
228 | } | 231 | } |
229 | } | 232 | } |
@@ -251,7 +254,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
251 | break; | 254 | break; |
252 | } | 255 | } |
253 | 256 | ||
254 | Messaging.Instance.OnMessage(WixWarnings.SuppressMergedAction(resultRecord.GetString(1), tableName)); | 257 | this.Messaging.Write(WarningMessages.SuppressMergedAction(resultRecord.GetString(1), tableName)); |
255 | } | 258 | } |
256 | } | 259 | } |
257 | } | 260 | } |
@@ -273,7 +276,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
273 | } | 276 | } |
274 | 277 | ||
275 | // now update the Attributes column for the files from the Merge Modules | 278 | // now update the Attributes column for the files from the Merge Modules |
276 | Messaging.Instance.OnMessage(WixVerboses.ResequencingMergeModuleFiles()); | 279 | this.Messaging.Write(VerboseMessages.ResequencingMergeModuleFiles()); |
277 | using (View view = db.OpenView("SELECT `Sequence`, `Attributes` FROM `File` WHERE `File`=?")) | 280 | using (View view = db.OpenView("SELECT `Sequence`, `Attributes` FROM `File` WHERE `File`=?")) |
278 | { | 281 | { |
279 | foreach (var file in this.FileFacades) | 282 | foreach (var file in this.FileFacades) |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs index aa4382f5..e1a26a67 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs | |||
@@ -97,7 +97,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
97 | { | 97 | { |
98 | if (null == fileRecord) | 98 | if (null == fileRecord) |
99 | { | 99 | { |
100 | throw new WixException(WixErrors.FileIdentifierNotFound(facade.File.SourceLineNumbers, facade.File.File)); | 100 | throw new WixException(ErrorMessages.FileIdentifierNotFound(facade.File.SourceLineNumbers, facade.File.File)); |
101 | } | 101 | } |
102 | 102 | ||
103 | relativeFileLayoutPath = Binder.GetFileSourcePath(directories, fileRecord[1], fileRecord[2], this.Compressed, this.LongNamesInImage); | 103 | relativeFileLayoutPath = Binder.GetFileSourcePath(directories, fileRecord[1], fileRecord[2], this.Compressed, this.LongNamesInImage); |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs index cf9c0332..47eb9408 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs | |||
@@ -9,6 +9,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
9 | using WixToolset.Core.Native; | 9 | using WixToolset.Core.Native; |
10 | using WixToolset.Data; | 10 | using WixToolset.Data; |
11 | using WixToolset.Data.Tuples; | 11 | using WixToolset.Data.Tuples; |
12 | using WixToolset.Extensibility.Services; | ||
12 | 13 | ||
13 | internal class SequenceActionsCommand | 14 | internal class SequenceActionsCommand |
14 | { | 15 | { |
@@ -27,7 +28,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
27 | 28 | ||
28 | private Dictionary<string, WixActionTuple> StandardActionsById { get; } | 29 | private Dictionary<string, WixActionTuple> StandardActionsById { get; } |
29 | 30 | ||
30 | public Messaging Messaging { private get; set; } | 31 | public IMessaging Messaging { private get; set; } |
31 | 32 | ||
32 | public void Execute() | 33 | public void Execute() |
33 | { | 34 | { |
@@ -64,10 +65,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
64 | { | 65 | { |
65 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) | 66 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) |
66 | { | 67 | { |
67 | this.Messaging.OnMessage(WixErrors.OverridableActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 68 | this.Messaging.Write(ErrorMessages.OverridableActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
68 | if (null != collidingActionRow.SourceLineNumbers) | 69 | if (null != collidingActionRow.SourceLineNumbers) |
69 | { | 70 | { |
70 | this.Messaging.OnMessage(WixErrors.OverridableActionCollision2(collidingActionRow.SourceLineNumbers)); | 71 | this.Messaging.Write(ErrorMessages.OverridableActionCollision2(collidingActionRow.SourceLineNumbers)); |
71 | } | 72 | } |
72 | } | 73 | } |
73 | else | 74 | else |
@@ -93,10 +94,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
93 | 94 | ||
94 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) | 95 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) |
95 | { | 96 | { |
96 | this.Messaging.OnMessage(WixErrors.ActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 97 | this.Messaging.Write(ErrorMessages.ActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
97 | if (null != collidingActionRow.SourceLineNumbers) | 98 | if (null != collidingActionRow.SourceLineNumbers) |
98 | { | 99 | { |
99 | this.Messaging.OnMessage(WixErrors.ActionCollision2(collidingActionRow.SourceLineNumbers)); | 100 | this.Messaging.Write(ErrorMessages.ActionCollision2(collidingActionRow.SourceLineNumbers)); |
100 | } | 101 | } |
101 | } | 102 | } |
102 | else | 103 | else |
@@ -127,20 +128,20 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
127 | { | 128 | { |
128 | if (requiredActionRow.Overridable) | 129 | if (requiredActionRow.Overridable) |
129 | { | 130 | { |
130 | this.Messaging.OnMessage(WixWarnings.SuppressAction(suppressActionRow.SourceLineNumbers, suppressActionRow.Action, suppressActionRow.SequenceTable.ToString())); | 131 | this.Messaging.Write(WarningMessages.SuppressAction(suppressActionRow.SourceLineNumbers, suppressActionRow.Action, suppressActionRow.SequenceTable.ToString())); |
131 | if (null != requiredActionRow.SourceLineNumbers) | 132 | if (null != requiredActionRow.SourceLineNumbers) |
132 | { | 133 | { |
133 | this.Messaging.OnMessage(WixWarnings.SuppressAction2(requiredActionRow.SourceLineNumbers)); | 134 | this.Messaging.Write(WarningMessages.SuppressAction2(requiredActionRow.SourceLineNumbers)); |
134 | } | 135 | } |
135 | 136 | ||
136 | requiredActionRows.Remove(key); | 137 | requiredActionRows.Remove(key); |
137 | } | 138 | } |
138 | else // suppressing a non-overridable action row | 139 | else // suppressing a non-overridable action row |
139 | { | 140 | { |
140 | this.Messaging.OnMessage(WixErrors.SuppressNonoverridableAction(suppressActionRow.SourceLineNumbers, suppressActionRow.SequenceTable.ToString(), suppressActionRow.Action)); | 141 | this.Messaging.Write(ErrorMessages.SuppressNonoverridableAction(suppressActionRow.SourceLineNumbers, suppressActionRow.SequenceTable.ToString(), suppressActionRow.Action)); |
141 | if (null != requiredActionRow.SourceLineNumbers) | 142 | if (null != requiredActionRow.SourceLineNumbers) |
142 | { | 143 | { |
143 | this.Messaging.OnMessage(WixErrors.SuppressNonoverridableAction2(requiredActionRow.SourceLineNumbers)); | 144 | this.Messaging.Write(ErrorMessages.SuppressNonoverridableAction2(requiredActionRow.SourceLineNumbers)); |
144 | } | 145 | } |
145 | } | 146 | } |
146 | } | 147 | } |
@@ -156,14 +157,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
156 | // check for standard actions that don't have a sequence number in a merge module | 157 | // check for standard actions that don't have a sequence number in a merge module |
157 | if (SectionType.Module == this.Section.Type && WindowsInstallerStandard.IsStandardAction(actionRow.Action)) | 158 | if (SectionType.Module == this.Section.Type && WindowsInstallerStandard.IsStandardAction(actionRow.Action)) |
158 | { | 159 | { |
159 | this.Messaging.OnMessage(WixErrors.StandardActionRelativelyScheduledInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 160 | this.Messaging.Write(ErrorMessages.StandardActionRelativelyScheduledInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
160 | } | 161 | } |
161 | 162 | ||
162 | this.SequenceActionRow(actionRow, requiredActionRows); | 163 | this.SequenceActionRow(actionRow, requiredActionRows); |
163 | } | 164 | } |
164 | else if (SectionType.Module == this.Section.Type && 0 < actionRow.Sequence && !WindowsInstallerStandard.IsStandardAction(actionRow.Action)) // check for custom actions and dialogs that have a sequence number | 165 | else if (SectionType.Module == this.Section.Type && 0 < actionRow.Sequence && !WindowsInstallerStandard.IsStandardAction(actionRow.Action)) // check for custom actions and dialogs that have a sequence number |
165 | { | 166 | { |
166 | this.Messaging.OnMessage(WixErrors.CustomActionSequencedInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 167 | this.Messaging.Write(ErrorMessages.CustomActionSequencedInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
167 | } | 168 | } |
168 | } | 169 | } |
169 | 170 | ||
@@ -231,10 +232,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
231 | { | 232 | { |
232 | if (sequenceScheduledActionRow.Sequence == actionRow.Sequence) | 233 | if (sequenceScheduledActionRow.Sequence == actionRow.Sequence) |
233 | { | 234 | { |
234 | this.Messaging.OnMessage(WixWarnings.ActionSequenceCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, sequenceScheduledActionRow.Action, actionRow.Sequence)); | 235 | this.Messaging.Write(WarningMessages.ActionSequenceCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, sequenceScheduledActionRow.Action, actionRow.Sequence)); |
235 | if (null != sequenceScheduledActionRow.SourceLineNumbers) | 236 | if (null != sequenceScheduledActionRow.SourceLineNumbers) |
236 | { | 237 | { |
237 | this.Messaging.OnMessage(WixWarnings.ActionSequenceCollision2(sequenceScheduledActionRow.SourceLineNumbers)); | 238 | this.Messaging.Write(WarningMessages.ActionSequenceCollision2(sequenceScheduledActionRow.SourceLineNumbers)); |
238 | } | 239 | } |
239 | } | 240 | } |
240 | } | 241 | } |
@@ -262,19 +263,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
262 | // Create errors for all the before actions. | 263 | // Create errors for all the before actions. |
263 | foreach (var actionRow in relativeActions.PreviousActions) | 264 | foreach (var actionRow in relativeActions.PreviousActions) |
264 | { | 265 | { |
265 | this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); | 266 | this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); |
266 | } | 267 | } |
267 | 268 | ||
268 | // Create errors for all the after actions. | 269 | // Create errors for all the after actions. |
269 | foreach (var actionRow in relativeActions.NextActions) | 270 | foreach (var actionRow in relativeActions.NextActions) |
270 | { | 271 | { |
271 | this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); | 272 | this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); |
272 | } | 273 | } |
273 | 274 | ||
274 | // If there is source line information for the absolutely scheduled action display it | 275 | // If there is source line information for the absolutely scheduled action display it |
275 | if (absoluteActionRow.SourceLineNumbers != null) | 276 | if (absoluteActionRow.SourceLineNumbers != null) |
276 | { | 277 | { |
277 | this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction2(absoluteActionRow.SourceLineNumbers)); | 278 | this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction2(absoluteActionRow.SourceLineNumbers)); |
278 | } | 279 | } |
279 | 280 | ||
280 | continue; | 281 | continue; |
@@ -289,10 +290,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
289 | // look for collisions | 290 | // look for collisions |
290 | if (unusedSequence == previousUsedSequence) | 291 | if (unusedSequence == previousUsedSequence) |
291 | { | 292 | { |
292 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); | 293 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); |
293 | if (absoluteActionRow.SourceLineNumbers != null) | 294 | if (absoluteActionRow.SourceLineNumbers != null) |
294 | { | 295 | { |
295 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); | 296 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); |
296 | } | 297 | } |
297 | 298 | ||
298 | unusedSequence++; | 299 | unusedSequence++; |
@@ -319,10 +320,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
319 | 320 | ||
320 | if (unusedSequence == nextUsedSequence) | 321 | if (unusedSequence == nextUsedSequence) |
321 | { | 322 | { |
322 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); | 323 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); |
323 | if (absoluteActionRow.SourceLineNumbers != null) | 324 | if (absoluteActionRow.SourceLineNumbers != null) |
324 | { | 325 | { |
325 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); | 326 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); |
326 | } | 327 | } |
327 | 328 | ||
328 | unusedSequence--; | 329 | unusedSequence--; |
@@ -596,7 +597,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
596 | } | 597 | } |
597 | else if (actionRow == parentActionRow || this.ContainsChildActionRow(actionRow, parentActionRow)) // cycle detected | 598 | else if (actionRow == parentActionRow || this.ContainsChildActionRow(actionRow, parentActionRow)) // cycle detected |
598 | { | 599 | { |
599 | throw new WixException(WixErrors.ActionCircularDependency(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, parentActionRow.Action)); | 600 | throw new WixException(ErrorMessages.ActionCircularDependency(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, parentActionRow.Action)); |
600 | } | 601 | } |
601 | 602 | ||
602 | // Add this action to the appropriate list of dependent action rows. | 603 | // Add this action to the appropriate list of dependent action rows. |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateControlTextCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateControlTextCommand.cs index dddc9380..3ad2470f 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateControlTextCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateControlTextCommand.cs | |||
@@ -7,9 +7,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
8 | using WixToolset.Data.WindowsInstaller; | 8 | using WixToolset.Data.WindowsInstaller; |
9 | using WixToolset.Data.WindowsInstaller.Rows; | 9 | using WixToolset.Data.WindowsInstaller.Rows; |
10 | using WixToolset.Extensibility.Services; | ||
10 | 11 | ||
11 | internal class UpdateControlTextCommand | 12 | internal class UpdateControlTextCommand |
12 | { | 13 | { |
14 | public IMessaging Messaging { private get; set; } | ||
15 | |||
13 | public Table BBControlTable { private get; set; } | 16 | public Table BBControlTable { private get; set; } |
14 | 17 | ||
15 | public Table WixBBControlTable { private get; set; } | 18 | public Table WixBBControlTable { private get; set; } |
@@ -60,19 +63,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
60 | } | 63 | } |
61 | catch (DirectoryNotFoundException e) | 64 | catch (DirectoryNotFoundException e) |
62 | { | 65 | { |
63 | Messaging.Instance.OnMessage(WixErrors.BinderFileManagerMissingFile(sourceLineNumbers, e.Message)); | 66 | this.Messaging.Write(ErrorMessages.BinderFileManagerMissingFile(sourceLineNumbers, e.Message)); |
64 | } | 67 | } |
65 | catch (FileNotFoundException e) | 68 | catch (FileNotFoundException e) |
66 | { | 69 | { |
67 | Messaging.Instance.OnMessage(WixErrors.BinderFileManagerMissingFile(sourceLineNumbers, e.Message)); | 70 | this.Messaging.Write(ErrorMessages.BinderFileManagerMissingFile(sourceLineNumbers, e.Message)); |
68 | } | 71 | } |
69 | catch (IOException e) | 72 | catch (IOException e) |
70 | { | 73 | { |
71 | Messaging.Instance.OnMessage(WixErrors.BinderFileManagerMissingFile(sourceLineNumbers, e.Message)); | 74 | this.Messaging.Write(ErrorMessages.BinderFileManagerMissingFile(sourceLineNumbers, e.Message)); |
72 | } | 75 | } |
73 | catch (NotSupportedException) | 76 | catch (NotSupportedException) |
74 | { | 77 | { |
75 | Messaging.Instance.OnMessage(WixErrors.FileNotFound(sourceLineNumbers, source)); | 78 | this.Messaging.Write(ErrorMessages.FileNotFound(sourceLineNumbers, source)); |
76 | } | 79 | } |
77 | 80 | ||
78 | return text; | 81 | return text; |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs index cf620e72..10eae8f8 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs | |||
@@ -15,6 +15,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
15 | using WixToolset.Data; | 15 | using WixToolset.Data; |
16 | using WixToolset.Data.Tuples; | 16 | using WixToolset.Data.Tuples; |
17 | using WixToolset.Data.WindowsInstaller; | 17 | using WixToolset.Data.WindowsInstaller; |
18 | using WixToolset.Extensibility.Services; | ||
18 | using WixToolset.Msi; | 19 | using WixToolset.Msi; |
19 | 20 | ||
20 | /// <summary> | 21 | /// <summary> |
@@ -22,11 +23,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
22 | /// </summary> | 23 | /// </summary> |
23 | internal class UpdateFileFacadesCommand | 24 | internal class UpdateFileFacadesCommand |
24 | { | 25 | { |
25 | public UpdateFileFacadesCommand(IntermediateSection section) | 26 | public UpdateFileFacadesCommand(IMessaging messaging, IntermediateSection section) |
26 | { | 27 | { |
28 | this.Messaging = messaging; | ||
27 | this.Section = section; | 29 | this.Section = section; |
28 | } | 30 | } |
29 | 31 | ||
32 | private IMessaging Messaging { get; } | ||
33 | |||
30 | private IntermediateSection Section { get; } | 34 | private IntermediateSection Section { get; } |
31 | 35 | ||
32 | public IEnumerable<FileFacade> FileFacades { private get; set; } | 36 | public IEnumerable<FileFacade> FileFacades { private get; set; } |
@@ -62,23 +66,23 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
62 | } | 66 | } |
63 | catch (ArgumentException) | 67 | catch (ArgumentException) |
64 | { | 68 | { |
65 | Messaging.Instance.OnMessage(WixDataErrors.InvalidFileName(file.File.SourceLineNumbers, file.WixFile.Source.Path)); | 69 | this.Messaging.Write(ErrorMessages.InvalidFileName(file.File.SourceLineNumbers, file.WixFile.Source.Path)); |
66 | return; | 70 | return; |
67 | } | 71 | } |
68 | catch (PathTooLongException) | 72 | catch (PathTooLongException) |
69 | { | 73 | { |
70 | Messaging.Instance.OnMessage(WixDataErrors.InvalidFileName(file.File.SourceLineNumbers, file.WixFile.Source.Path)); | 74 | this.Messaging.Write(ErrorMessages.InvalidFileName(file.File.SourceLineNumbers, file.WixFile.Source.Path)); |
71 | return; | 75 | return; |
72 | } | 76 | } |
73 | catch (NotSupportedException) | 77 | catch (NotSupportedException) |
74 | { | 78 | { |
75 | Messaging.Instance.OnMessage(WixDataErrors.InvalidFileName(file.File.SourceLineNumbers, file.WixFile.Source.Path)); | 79 | this.Messaging.Write(ErrorMessages.InvalidFileName(file.File.SourceLineNumbers, file.WixFile.Source.Path)); |
76 | return; | 80 | return; |
77 | } | 81 | } |
78 | 82 | ||
79 | if (!fileInfo.Exists) | 83 | if (!fileInfo.Exists) |
80 | { | 84 | { |
81 | Messaging.Instance.OnMessage(WixErrors.CannotFindFile(file.File.SourceLineNumbers, file.File.File, file.File.LongFileName, file.WixFile.Source.Path)); | 85 | this.Messaging.Write(ErrorMessages.CannotFindFile(file.File.SourceLineNumbers, file.File.File, file.File.LongFileName, file.WixFile.Source.Path)); |
82 | return; | 86 | return; |
83 | } | 87 | } |
84 | 88 | ||
@@ -86,7 +90,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
86 | { | 90 | { |
87 | if (Int32.MaxValue < fileStream.Length) | 91 | if (Int32.MaxValue < fileStream.Length) |
88 | { | 92 | { |
89 | throw new WixException(WixErrors.FileTooLarge(file.File.SourceLineNumbers, file.WixFile.Source.Path)); | 93 | throw new WixException(ErrorMessages.FileTooLarge(file.File.SourceLineNumbers, file.WixFile.Source.Path)); |
90 | } | 94 | } |
91 | 95 | ||
92 | file.File.FileSize = Convert.ToInt32(fileStream.Length, CultureInfo.InvariantCulture); | 96 | file.File.FileSize = Convert.ToInt32(fileStream.Length, CultureInfo.InvariantCulture); |
@@ -102,11 +106,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
102 | { | 106 | { |
103 | if (0x2 == e.NativeErrorCode) // ERROR_FILE_NOT_FOUND | 107 | if (0x2 == e.NativeErrorCode) // ERROR_FILE_NOT_FOUND |
104 | { | 108 | { |
105 | throw new WixException(WixErrors.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName)); | 109 | throw new WixException(ErrorMessages.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName)); |
106 | } | 110 | } |
107 | else | 111 | else |
108 | { | 112 | { |
109 | throw new WixException(WixErrors.Win32Exception(e.NativeErrorCode, e.Message)); | 113 | throw new WixException(ErrorMessages.Win32Exception(e.NativeErrorCode, e.Message)); |
110 | } | 114 | } |
111 | } | 115 | } |
112 | 116 | ||
@@ -128,14 +132,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
128 | // for unversioned file. That's allowed but generally a dangerous thing to do so let's point that out to the user. | 132 | // for unversioned file. That's allowed but generally a dangerous thing to do so let's point that out to the user. |
129 | if (!this.FileFacades.Any(r => file.File.Version.Equals(r.File.File, StringComparison.Ordinal))) | 133 | if (!this.FileFacades.Any(r => file.File.Version.Equals(r.File.File, StringComparison.Ordinal))) |
130 | { | 134 | { |
131 | Messaging.Instance.OnMessage(WixWarnings.DefaultVersionUsedForUnversionedFile(file.File.SourceLineNumbers, file.File.Version, file.File.File)); | 135 | this.Messaging.Write(WarningMessages.DefaultVersionUsedForUnversionedFile(file.File.SourceLineNumbers, file.File.Version, file.File.File)); |
132 | } | 136 | } |
133 | } | 137 | } |
134 | else | 138 | else |
135 | { | 139 | { |
136 | if (null != file.File.Language) | 140 | if (null != file.File.Language) |
137 | { | 141 | { |
138 | Messaging.Instance.OnMessage(WixWarnings.DefaultLanguageUsedForUnversionedFile(file.File.SourceLineNumbers, file.File.Language, file.File.File)); | 142 | this.Messaging.Write(WarningMessages.DefaultLanguageUsedForUnversionedFile(file.File.SourceLineNumbers, file.File.Language, file.File.File)); |
139 | } | 143 | } |
140 | 144 | ||
141 | int[] hash; | 145 | int[] hash; |
@@ -147,11 +151,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
147 | { | 151 | { |
148 | if (0x2 == e.NativeErrorCode) // ERROR_FILE_NOT_FOUND | 152 | if (0x2 == e.NativeErrorCode) // ERROR_FILE_NOT_FOUND |
149 | { | 153 | { |
150 | throw new WixException(WixErrors.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName)); | 154 | throw new WixException(ErrorMessages.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName)); |
151 | } | 155 | } |
152 | else | 156 | else |
153 | { | 157 | { |
154 | throw new WixException(WixErrors.Win32Exception(e.NativeErrorCode, fileInfo.FullName, e.Message)); | 158 | throw new WixException(ErrorMessages.Win32Exception(e.NativeErrorCode, fileInfo.FullName, e.Message)); |
155 | } | 159 | } |
156 | } | 160 | } |
157 | 161 | ||
@@ -193,7 +197,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
193 | 197 | ||
194 | if (!String.IsNullOrEmpty(file.File.Language) && String.IsNullOrEmpty(language)) | 198 | if (!String.IsNullOrEmpty(file.File.Language) && String.IsNullOrEmpty(language)) |
195 | { | 199 | { |
196 | Messaging.Instance.OnMessage(WixWarnings.DefaultLanguageUsedForVersionedFile(file.File.SourceLineNumbers, file.File.Language, file.File.File)); | 200 | this.Messaging.Write(WarningMessages.DefaultLanguageUsedForVersionedFile(file.File.SourceLineNumbers, file.File.Language, file.File.File)); |
197 | } | 201 | } |
198 | else // override the default provided by the user (usually nothing) with the actual language from the file itself. | 202 | else // override the default provided by the user (usually nothing) with the actual language from the file itself. |
199 | { | 203 | { |
@@ -260,7 +264,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
260 | } | 264 | } |
261 | else if (file.WixFile.File_AssemblyApplication == null) | 265 | else if (file.WixFile.File_AssemblyApplication == null) |
262 | { | 266 | { |
263 | throw new WixException(WixErrors.GacAssemblyNoStrongName(file.File.SourceLineNumbers, fileInfo.FullName, file.File.Component_)); | 267 | throw new WixException(ErrorMessages.GacAssemblyNoStrongName(file.File.SourceLineNumbers, fileInfo.FullName, file.File.Component_)); |
264 | } | 268 | } |
265 | 269 | ||
266 | string assemblyVersion = referenceIdentity.GetAttribute(null, "Version"); | 270 | string assemblyVersion = referenceIdentity.GetAttribute(null, "Version"); |
@@ -271,7 +275,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
271 | } | 275 | } |
272 | else | 276 | else |
273 | { | 277 | { |
274 | Messaging.Instance.OnMessage(WixErrors.InvalidAssemblyFile(file.File.SourceLineNumbers, fileInfo.FullName, String.Format(CultureInfo.InvariantCulture, "HRESULT: 0x{0:x8}", result))); | 278 | this.Messaging.Write(ErrorMessages.InvalidAssemblyFile(file.File.SourceLineNumbers, fileInfo.FullName, String.Format(CultureInfo.InvariantCulture, "HRESULT: 0x{0:x8}", result))); |
275 | return; | 279 | return; |
276 | } | 280 | } |
277 | 281 | ||
@@ -360,7 +364,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
360 | FileFacade fileManifest = this.FileFacades.SingleOrDefault(r => r.File.File.Equals(file.WixFile.File_AssemblyManifest, StringComparison.Ordinal)); | 364 | FileFacade fileManifest = this.FileFacades.SingleOrDefault(r => r.File.File.Equals(file.WixFile.File_AssemblyManifest, StringComparison.Ordinal)); |
361 | if (null == fileManifest) | 365 | if (null == fileManifest) |
362 | { | 366 | { |
363 | Messaging.Instance.OnMessage(WixErrors.MissingManifestForWin32Assembly(file.File.SourceLineNumbers, file.File.File, file.WixFile.File_AssemblyManifest)); | 367 | this.Messaging.Write(ErrorMessages.MissingManifestForWin32Assembly(file.File.SourceLineNumbers, file.File.File, file.WixFile.File_AssemblyManifest)); |
364 | } | 368 | } |
365 | 369 | ||
366 | string win32Type = null; | 370 | string win32Type = null; |
@@ -397,7 +401,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
397 | } | 401 | } |
398 | if (!hasNextSibling) | 402 | if (!hasNextSibling) |
399 | { | 403 | { |
400 | Messaging.Instance.OnMessage(WixErrors.InvalidManifestContent(file.File.SourceLineNumbers, fileManifest.WixFile.Source.Path)); | 404 | this.Messaging.Write(ErrorMessages.InvalidManifestContent(file.File.SourceLineNumbers, fileManifest.WixFile.Source.Path)); |
401 | return; | 405 | return; |
402 | } | 406 | } |
403 | 407 | ||
@@ -435,11 +439,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
435 | } | 439 | } |
436 | catch (FileNotFoundException fe) | 440 | catch (FileNotFoundException fe) |
437 | { | 441 | { |
438 | Messaging.Instance.OnMessage(WixErrors.FileNotFound(new SourceLineNumber(fileManifest.WixFile.Source.Path), fe.FileName, "AssemblyManifest")); | 442 | this.Messaging.Write(ErrorMessages.FileNotFound(new SourceLineNumber(fileManifest.WixFile.Source.Path), fe.FileName, "AssemblyManifest")); |
439 | } | 443 | } |
440 | catch (XmlException xe) | 444 | catch (XmlException xe) |
441 | { | 445 | { |
442 | Messaging.Instance.OnMessage(WixErrors.InvalidXml(new SourceLineNumber(fileManifest.WixFile.Source.Path), "manifest", xe.Message)); | 446 | this.Messaging.Write(ErrorMessages.InvalidXml(new SourceLineNumber(fileManifest.WixFile.Source.Path), "manifest", xe.Message)); |
443 | } | 447 | } |
444 | 448 | ||
445 | if (!String.IsNullOrEmpty(win32Name)) | 449 | if (!String.IsNullOrEmpty(win32Name)) |
@@ -482,7 +486,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
482 | // check for null value (this can occur when grabbing the file version from an assembly without one) | 486 | // check for null value (this can occur when grabbing the file version from an assembly without one) |
483 | if (String.IsNullOrEmpty(value)) | 487 | if (String.IsNullOrEmpty(value)) |
484 | { | 488 | { |
485 | Messaging.Instance.OnMessage(WixWarnings.NullMsiAssemblyNameValue(file.File.SourceLineNumbers, file.File.Component_, name)); | 489 | this.Messaging.Write(WarningMessages.NullMsiAssemblyNameValue(file.File.SourceLineNumbers, file.File.Component_, name)); |
486 | } | 490 | } |
487 | else | 491 | else |
488 | { | 492 | { |
@@ -491,7 +495,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
491 | String.IsNullOrEmpty(file.WixFile.File_AssemblyApplication) && | 495 | String.IsNullOrEmpty(file.WixFile.File_AssemblyApplication) && |
492 | !String.Equals(Path.GetFileNameWithoutExtension(file.File.LongFileName), value, StringComparison.OrdinalIgnoreCase)) | 496 | !String.Equals(Path.GetFileNameWithoutExtension(file.File.LongFileName), value, StringComparison.OrdinalIgnoreCase)) |
493 | { | 497 | { |
494 | Messaging.Instance.OnMessage(WixErrors.GACAssemblyIdentityWarning(file.File.SourceLineNumbers, Path.GetFileNameWithoutExtension(file.File.LongFileName), value)); | 498 | this.Messaging.Write(ErrorMessages.GACAssemblyIdentityWarning(file.File.SourceLineNumbers, Path.GetFileNameWithoutExtension(file.File.LongFileName), value)); |
495 | } | 499 | } |
496 | 500 | ||
497 | // override directly authored value | 501 | // override directly authored value |
diff --git a/src/WixToolset.Core.WindowsInstaller/Data/Xsd/actions.xsd b/src/WixToolset.Core.WindowsInstaller/Data/Xsd/actions.xsd new file mode 100644 index 00000000..bf0ccb95 --- /dev/null +++ b/src/WixToolset.Core.WindowsInstaller/Data/Xsd/actions.xsd | |||
@@ -0,0 +1,73 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | |||
5 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | ||
6 | targetNamespace="http://wixtoolset.org/schemas/v4/wi/actions" | ||
7 | xmlns="http://wixtoolset.org/schemas/v4/wi/actions"> | ||
8 | <xs:annotation> | ||
9 | <xs:documentation> | ||
10 | Schema for describing standard actions in the Windows Installer. | ||
11 | </xs:documentation> | ||
12 | </xs:annotation> | ||
13 | |||
14 | <xs:element name="actions"> | ||
15 | <xs:complexType> | ||
16 | <xs:sequence maxOccurs="unbounded"> | ||
17 | <xs:element ref="action" /> | ||
18 | </xs:sequence> | ||
19 | </xs:complexType> | ||
20 | </xs:element> | ||
21 | |||
22 | <xs:element name="action"> | ||
23 | <xs:complexType> | ||
24 | <xs:attribute name="name" type="xs:string" use="required"> | ||
25 | <xs:annotation> | ||
26 | <xs:documentation>Name of action</xs:documentation> | ||
27 | </xs:annotation> | ||
28 | </xs:attribute> | ||
29 | <xs:attribute name="condition" type="xs:string"> | ||
30 | <xs:annotation> | ||
31 | <xs:documentation>Default condition for action</xs:documentation> | ||
32 | </xs:annotation> | ||
33 | </xs:attribute> | ||
34 | <xs:attribute name="sequence" type="xs:integer" use="required"> | ||
35 | <xs:annotation> | ||
36 | <xs:documentation>Sequence of action</xs:documentation> | ||
37 | </xs:annotation> | ||
38 | </xs:attribute> | ||
39 | <xs:attribute name="AdminExecuteSequence" type="ActionsYesNoType"> | ||
40 | <xs:annotation> | ||
41 | <xs:documentation>Specifies if action is allowed in AdminExecuteSequence</xs:documentation> | ||
42 | </xs:annotation> | ||
43 | </xs:attribute> | ||
44 | <xs:attribute name="AdminUISequence" type="ActionsYesNoType"> | ||
45 | <xs:annotation> | ||
46 | <xs:documentation>Specifies if action is allowed in AdminUISequence</xs:documentation> | ||
47 | </xs:annotation> | ||
48 | </xs:attribute> | ||
49 | <xs:attribute name="AdvtExecuteSequence" type="ActionsYesNoType"> | ||
50 | <xs:annotation> | ||
51 | <xs:documentation>Specifies if action is allowed in AdvtExecuteSequence</xs:documentation> | ||
52 | </xs:annotation> | ||
53 | </xs:attribute> | ||
54 | <xs:attribute name="InstallExecuteSequence" type="ActionsYesNoType"> | ||
55 | <xs:annotation> | ||
56 | <xs:documentation>Specifies if action is allowed in InstallExecuteSequence</xs:documentation> | ||
57 | </xs:annotation> | ||
58 | </xs:attribute> | ||
59 | <xs:attribute name="InstallUISequence" type="ActionsYesNoType"> | ||
60 | <xs:annotation> | ||
61 | <xs:documentation>Specifies if action is allowed in InstallUISequence</xs:documentation> | ||
62 | </xs:annotation> | ||
63 | </xs:attribute> | ||
64 | </xs:complexType> | ||
65 | </xs:element> | ||
66 | |||
67 | <xs:simpleType name="ActionsYesNoType"> | ||
68 | <xs:restriction base="xs:NMTOKEN"> | ||
69 | <xs:enumeration value="no" /> | ||
70 | <xs:enumeration value="yes" /> | ||
71 | </xs:restriction> | ||
72 | </xs:simpleType> | ||
73 | </xs:schema> | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Data/Xsd/tables.xsd b/src/WixToolset.Core.WindowsInstaller/Data/Xsd/tables.xsd new file mode 100644 index 00000000..f87471bb --- /dev/null +++ b/src/WixToolset.Core.WindowsInstaller/Data/Xsd/tables.xsd | |||
@@ -0,0 +1,248 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | |||
5 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | ||
6 | targetNamespace="http://wixtoolset.org/schemas/v4/wi/tables" | ||
7 | xmlns="http://wixtoolset.org/schemas/v4/wi/tables"> | ||
8 | <xs:annotation> | ||
9 | <xs:documentation> | ||
10 | Schema for describing table definitions in Windows Installer. | ||
11 | </xs:documentation> | ||
12 | </xs:annotation> | ||
13 | |||
14 | <xs:element name="tableDefinitions"> | ||
15 | <xs:complexType> | ||
16 | <xs:sequence maxOccurs="unbounded"> | ||
17 | <xs:element ref="tableDefinition" /> | ||
18 | </xs:sequence> | ||
19 | </xs:complexType> | ||
20 | </xs:element> | ||
21 | |||
22 | <xs:element name="tableDefinition"> | ||
23 | <xs:complexType> | ||
24 | <xs:sequence maxOccurs="unbounded"> | ||
25 | <xs:element ref="columnDefinition" /> | ||
26 | </xs:sequence> | ||
27 | <xs:attribute name="createSymbols" type="TablesYesNoType"> | ||
28 | <xs:annotation> | ||
29 | <xs:documentation>Boolean whether rows in this table create symbols</xs:documentation> | ||
30 | </xs:annotation> | ||
31 | </xs:attribute> | ||
32 | <xs:attribute name="name" type="NameType" use="required"> | ||
33 | <xs:annotation> | ||
34 | <xs:documentation>Name of table in Windows Installer database</xs:documentation> | ||
35 | </xs:annotation> | ||
36 | </xs:attribute> | ||
37 | <xs:attribute name="unreal" type="TablesYesNoType"> | ||
38 | <xs:annotation> | ||
39 | <xs:documentation>Specifies if table is virtual or not</xs:documentation> | ||
40 | </xs:annotation> | ||
41 | </xs:attribute> | ||
42 | <xs:attribute name="bootstrapperApplicationData" type="TablesYesNoType"> | ||
43 | <xs:annotation> | ||
44 | <xs:documentation>Specifies if the table is a part of the Bootstrapper Application Data manifest</xs:documentation> | ||
45 | </xs:annotation> | ||
46 | </xs:attribute> | ||
47 | </xs:complexType> | ||
48 | </xs:element> | ||
49 | |||
50 | <xs:element name="columnDefinition"> | ||
51 | <xs:complexType> | ||
52 | <xs:attribute name="name" type="NameType" use="required"> | ||
53 | <xs:annotation> | ||
54 | <xs:documentation>Name of column in Windows Installer table</xs:documentation> | ||
55 | </xs:annotation> | ||
56 | </xs:attribute> | ||
57 | |||
58 | <xs:attribute name="added" type="TablesYesNoType"> | ||
59 | <xs:annotation> | ||
60 | <xs:documentation>Whether this column was added by a transform.</xs:documentation> | ||
61 | </xs:annotation> | ||
62 | </xs:attribute> | ||
63 | |||
64 | <xs:attribute name="type" type="ColumnDefinitionType" use="required"> | ||
65 | <xs:annotation> | ||
66 | <xs:documentation>Type of column in Windows Installer table</xs:documentation> | ||
67 | </xs:annotation> | ||
68 | </xs:attribute> | ||
69 | |||
70 | <xs:attribute name="length" use="required"> | ||
71 | <xs:annotation> | ||
72 | <xs:documentation>Type of column in Windows Installer table</xs:documentation> | ||
73 | </xs:annotation> | ||
74 | <xs:simpleType> | ||
75 | <xs:restriction base="xs:integer"> | ||
76 | <xs:minInclusive value="0" /> | ||
77 | <xs:maxInclusive value="255" /> | ||
78 | </xs:restriction> | ||
79 | </xs:simpleType> | ||
80 | </xs:attribute> | ||
81 | |||
82 | <xs:attribute name="primaryKey" type="TablesYesNoType"> | ||
83 | <xs:annotation> | ||
84 | <xs:documentation>Boolean whether column is primary key of Windows Installer table</xs:documentation> | ||
85 | </xs:annotation> | ||
86 | </xs:attribute> | ||
87 | |||
88 | <xs:attribute name="nullable" type="TablesYesNoType"> | ||
89 | <xs:annotation> | ||
90 | <xs:documentation>Boolean whether column is nullable in Windows Installer table</xs:documentation> | ||
91 | </xs:annotation> | ||
92 | </xs:attribute> | ||
93 | |||
94 | <xs:attribute name="unreal" type="TablesYesNoType"> | ||
95 | <xs:annotation> | ||
96 | <xs:documentation>Boolean whether column is virtual in Windows Installer table</xs:documentation> | ||
97 | </xs:annotation> | ||
98 | </xs:attribute> | ||
99 | |||
100 | <xs:attribute name="modularize" type="TablesModularizeType"> | ||
101 | <xs:annotation> | ||
102 | <xs:documentation>Enumeration specifying how column should have the ModuleId appended</xs:documentation> | ||
103 | </xs:annotation> | ||
104 | </xs:attribute> | ||
105 | |||
106 | <xs:attribute name="localizable" type="TablesYesNoType"> | ||
107 | <xs:annotation> | ||
108 | <xs:documentation>Set to "yes" in order to allow substitution for localized variables.</xs:documentation> | ||
109 | </xs:annotation> | ||
110 | </xs:attribute> | ||
111 | |||
112 | <xs:attribute name="minValue" type="xs:long"> | ||
113 | <xs:annotation> | ||
114 | <xs:documentation>Minimum value for column in Windows Installer table</xs:documentation> | ||
115 | </xs:annotation> | ||
116 | </xs:attribute> | ||
117 | |||
118 | <xs:attribute name="maxValue" type="xs:long"> | ||
119 | <xs:annotation> | ||
120 | <xs:documentation>Maximum value for column in Windows Installer table</xs:documentation> | ||
121 | </xs:annotation> | ||
122 | </xs:attribute> | ||
123 | |||
124 | <xs:attribute name="keyTable" type="NameType"> | ||
125 | <xs:annotation> | ||
126 | <xs:documentation>Foreign key table for column in Windows Installer table</xs:documentation> | ||
127 | </xs:annotation> | ||
128 | </xs:attribute> | ||
129 | |||
130 | <xs:attribute name="keyColumn"> | ||
131 | <xs:annotation> | ||
132 | <xs:documentation>Maximum value for column in Windows Installer table</xs:documentation> | ||
133 | </xs:annotation> | ||
134 | <xs:simpleType> | ||
135 | <xs:restriction base="xs:integer"> | ||
136 | <xs:minInclusive value="1" /> | ||
137 | <xs:maxInclusive value="32" /> | ||
138 | </xs:restriction> | ||
139 | </xs:simpleType> | ||
140 | </xs:attribute> | ||
141 | |||
142 | <xs:attribute name="category" type="TablesCategoryType"> | ||
143 | <xs:annotation> | ||
144 | <xs:documentation>Specific column data types for column</xs:documentation> | ||
145 | </xs:annotation> | ||
146 | </xs:attribute> | ||
147 | |||
148 | <xs:attribute name="set" type="TablesSetType"> | ||
149 | <xs:annotation> | ||
150 | <xs:documentation>List of permissible values for the column</xs:documentation> | ||
151 | </xs:annotation> | ||
152 | </xs:attribute> | ||
153 | |||
154 | <xs:attribute name="description" type="xs:string"> | ||
155 | <xs:annotation> | ||
156 | <xs:documentation>Description of column</xs:documentation> | ||
157 | </xs:annotation> | ||
158 | </xs:attribute> | ||
159 | |||
160 | <xs:attribute name="escapeIdtCharacters" type="TablesYesNoType"> | ||
161 | <xs:annotation> | ||
162 | <xs:documentation>Set to "yes" in order to make the idt exporter escape whitespace characters \r, \n, and \t.</xs:documentation> | ||
163 | </xs:annotation> | ||
164 | </xs:attribute> | ||
165 | |||
166 | <xs:attribute name="useCData" type="TablesYesNoType"> | ||
167 | <xs:annotation> | ||
168 | <xs:documentation>Set to "yes" in order to make the Intermediate and Output objects wrap their data in a CDATA element to preserve whitespace.</xs:documentation> | ||
169 | </xs:annotation> | ||
170 | </xs:attribute> | ||
171 | </xs:complexType> | ||
172 | </xs:element> | ||
173 | |||
174 | <xs:simpleType name="NameType"> | ||
175 | <xs:restriction base="xs:string"> | ||
176 | <xs:minLength value="1" /> | ||
177 | <xs:maxLength value="64" /> | ||
178 | </xs:restriction> | ||
179 | </xs:simpleType> | ||
180 | |||
181 | <xs:simpleType name="ColumnDefinitionType"> | ||
182 | <xs:restriction base="xs:NMTOKEN"> | ||
183 | <xs:enumeration value="string" /> | ||
184 | <xs:enumeration value="localized" /> | ||
185 | <xs:enumeration value="number" /> | ||
186 | <xs:enumeration value="object" /> | ||
187 | <xs:enumeration value="preserved" /> | ||
188 | </xs:restriction> | ||
189 | </xs:simpleType> | ||
190 | |||
191 | <xs:simpleType name="TablesYesNoType"> | ||
192 | <xs:restriction base="xs:NMTOKEN"> | ||
193 | <xs:enumeration value="yes" /> | ||
194 | <xs:enumeration value="no" /> | ||
195 | </xs:restriction> | ||
196 | </xs:simpleType> | ||
197 | |||
198 | <xs:simpleType name="TablesModularizeType"> | ||
199 | <xs:restriction base="xs:NMTOKEN"> | ||
200 | <xs:enumeration value="column" /> | ||
201 | <xs:enumeration value="companionFile" /> | ||
202 | <xs:enumeration value="condition" /> | ||
203 | <xs:enumeration value="controlEventArgument" /> | ||
204 | <xs:enumeration value="controlText" /> | ||
205 | <xs:enumeration value="icon" /> | ||
206 | <xs:enumeration value="none" /> | ||
207 | <xs:enumeration value="property" /> | ||
208 | <xs:enumeration value="semicolonDelimited" /> | ||
209 | </xs:restriction> | ||
210 | </xs:simpleType> | ||
211 | |||
212 | <xs:simpleType name="TablesCategoryType"> | ||
213 | <xs:restriction base="xs:NMTOKEN"> | ||
214 | <xs:enumeration value="text" /> | ||
215 | <xs:enumeration value="upperCase" /> | ||
216 | <xs:enumeration value="lowerCase" /> | ||
217 | <xs:enumeration value="integer" /> | ||
218 | <xs:enumeration value="doubleInteger" /> | ||
219 | <xs:enumeration value="timeDate" /> | ||
220 | <xs:enumeration value="identifier" /> | ||
221 | <xs:enumeration value="property" /> | ||
222 | <xs:enumeration value="filename" /> | ||
223 | <xs:enumeration value="wildCardFilename" /> | ||
224 | <xs:enumeration value="path" /> | ||
225 | <xs:enumeration value="paths" /> | ||
226 | <xs:enumeration value="anyPath" /> | ||
227 | <xs:enumeration value="defaultDir" /> | ||
228 | <xs:enumeration value="regPath" /> | ||
229 | <xs:enumeration value="formatted" /> | ||
230 | <xs:enumeration value="formattedSddl" /> | ||
231 | <xs:enumeration value="template" /> | ||
232 | <xs:enumeration value="condition" /> | ||
233 | <xs:enumeration value="guid" /> | ||
234 | <xs:enumeration value="version" /> | ||
235 | <xs:enumeration value="language" /> | ||
236 | <xs:enumeration value="binary" /> | ||
237 | <xs:enumeration value="customSource" /> | ||
238 | <xs:enumeration value="cabinet" /> | ||
239 | <xs:enumeration value="shortcut" /> | ||
240 | </xs:restriction> | ||
241 | </xs:simpleType> | ||
242 | |||
243 | <xs:simpleType name="TablesSetType"> | ||
244 | <xs:restriction base="xs:string"> | ||
245 | <xs:pattern value="\w+(;\w+)*" /> | ||
246 | </xs:restriction> | ||
247 | </xs:simpleType> | ||
248 | </xs:schema> | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Differ.cs b/src/WixToolset.Core.WindowsInstaller/Differ.cs index 9bbde302..7cc204f9 100644 --- a/src/WixToolset.Core.WindowsInstaller/Differ.cs +++ b/src/WixToolset.Core.WindowsInstaller/Differ.cs | |||
@@ -10,26 +10,29 @@ namespace WixToolset.Core.WindowsInstaller | |||
10 | using WixToolset.Data.WindowsInstaller; | 10 | using WixToolset.Data.WindowsInstaller; |
11 | using WixToolset.Data.WindowsInstaller.Rows; | 11 | using WixToolset.Data.WindowsInstaller.Rows; |
12 | using WixToolset.Extensibility; | 12 | using WixToolset.Extensibility; |
13 | using WixToolset.Extensibility.Services; | ||
13 | using WixToolset.Msi; | 14 | using WixToolset.Msi; |
14 | 15 | ||
15 | /// <summary> | 16 | /// <summary> |
16 | /// Creates a transform by diffing two outputs. | 17 | /// Creates a transform by diffing two outputs. |
17 | /// </summary> | 18 | /// </summary> |
18 | public sealed class Differ : IMessageHandler | 19 | public sealed class Differ |
19 | { | 20 | { |
20 | private List<IInspectorExtension> inspectorExtensions; | 21 | private List<IInspectorExtension> inspectorExtensions; |
21 | private bool showPedanticMessages; | 22 | private bool showPedanticMessages; |
22 | private bool suppressKeepingSpecialRows; | 23 | private bool suppressKeepingSpecialRows; |
23 | private bool preserveUnchangedRows; | 24 | private bool preserveUnchangedRows; |
24 | private const char sectionDelimiter = '/'; | 25 | private const char sectionDelimiter = '/'; |
26 | private readonly IMessaging messaging; | ||
25 | private SummaryInformationStreams transformSummaryInfo; | 27 | private SummaryInformationStreams transformSummaryInfo; |
26 | 28 | ||
27 | /// <summary> | 29 | /// <summary> |
28 | /// Instantiates a new Differ class. | 30 | /// Instantiates a new Differ class. |
29 | /// </summary> | 31 | /// </summary> |
30 | public Differ() | 32 | public Differ(IMessaging messaging) |
31 | { | 33 | { |
32 | this.inspectorExtensions = new List<IInspectorExtension>(); | 34 | this.inspectorExtensions = new List<IInspectorExtension>(); |
35 | this.messaging = messaging; | ||
33 | } | 36 | } |
34 | 37 | ||
35 | /// <summary> | 38 | /// <summary> |
@@ -99,17 +102,17 @@ namespace WixToolset.Core.WindowsInstaller | |||
99 | // compare the codepages | 102 | // compare the codepages |
100 | if (targetOutput.Codepage != updatedOutput.Codepage && 0 == (TransformFlags.ErrorChangeCodePage & validationFlags)) | 103 | if (targetOutput.Codepage != updatedOutput.Codepage && 0 == (TransformFlags.ErrorChangeCodePage & validationFlags)) |
101 | { | 104 | { |
102 | this.OnMessage(WixErrors.OutputCodepageMismatch(targetOutput.SourceLineNumbers, targetOutput.Codepage, updatedOutput.Codepage)); | 105 | this.messaging.Write(ErrorMessages.OutputCodepageMismatch(targetOutput.SourceLineNumbers, targetOutput.Codepage, updatedOutput.Codepage)); |
103 | if (null != updatedOutput.SourceLineNumbers) | 106 | if (null != updatedOutput.SourceLineNumbers) |
104 | { | 107 | { |
105 | this.OnMessage(WixErrors.OutputCodepageMismatch2(updatedOutput.SourceLineNumbers)); | 108 | this.messaging.Write(ErrorMessages.OutputCodepageMismatch2(updatedOutput.SourceLineNumbers)); |
106 | } | 109 | } |
107 | } | 110 | } |
108 | 111 | ||
109 | // compare the output types | 112 | // compare the output types |
110 | if (targetOutput.Type != updatedOutput.Type) | 113 | if (targetOutput.Type != updatedOutput.Type) |
111 | { | 114 | { |
112 | throw new WixException(WixErrors.OutputTypeMismatch(targetOutput.SourceLineNumbers, targetOutput.Type.ToString(), updatedOutput.Type.ToString())); | 115 | throw new WixException(ErrorMessages.OutputTypeMismatch(targetOutput.SourceLineNumbers, targetOutput.Type.ToString(), updatedOutput.Type.ToString())); |
113 | } | 116 | } |
114 | 117 | ||
115 | // compare the contents of the tables | 118 | // compare the contents of the tables |
@@ -160,15 +163,6 @@ namespace WixToolset.Core.WindowsInstaller | |||
160 | } | 163 | } |
161 | 164 | ||
162 | /// <summary> | 165 | /// <summary> |
163 | /// Sends a message to the message delegate if there is one. | ||
164 | /// </summary> | ||
165 | /// <param name="mea">Message event arguments.</param> | ||
166 | public void OnMessage(MessageEventArgs e) | ||
167 | { | ||
168 | Messaging.Instance.OnMessage(e); | ||
169 | } | ||
170 | |||
171 | /// <summary> | ||
172 | /// Add a row to the <paramref name="index"/> using the primary key. | 166 | /// Add a row to the <paramref name="index"/> using the primary key. |
173 | /// </summary> | 167 | /// </summary> |
174 | /// <param name="index">The indexed rows.</param> | 168 | /// <param name="index">The indexed rows.</param> |
@@ -210,7 +204,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
210 | } | 204 | } |
211 | else if (this.showPedanticMessages) | 205 | else if (this.showPedanticMessages) |
212 | { | 206 | { |
213 | this.OnMessage(WixWarnings.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, row.Table.Name)); | 207 | this.messaging.Write(ErrorMessages.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, row.Table.Name)); |
214 | } | 208 | } |
215 | } | 209 | } |
216 | else // use the string representation of the row as its primary key (it may not be unique) | 210 | else // use the string representation of the row as its primary key (it may not be unique) |
@@ -370,7 +364,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
370 | if (0 != targetTable.Definition.CompareTo(updatedTable.Definition)) | 364 | if (0 != targetTable.Definition.CompareTo(updatedTable.Definition)) |
371 | { | 365 | { |
372 | // continue to the next table; may be more mismatches | 366 | // continue to the next table; may be more mismatches |
373 | this.OnMessage(WixErrors.DatabaseSchemaMismatch(targetOutput.SourceLineNumbers, targetTable.Name)); | 367 | this.messaging.Write(ErrorMessages.DatabaseSchemaMismatch(targetOutput.SourceLineNumbers, targetTable.Name)); |
374 | } | 368 | } |
375 | else | 369 | else |
376 | { | 370 | { |
@@ -425,7 +419,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
425 | this.transformSummaryInfo.TargetProductCode = (string)row[1]; | 419 | this.transformSummaryInfo.TargetProductCode = (string)row[1]; |
426 | if ("*" == this.transformSummaryInfo.TargetProductCode) | 420 | if ("*" == this.transformSummaryInfo.TargetProductCode) |
427 | { | 421 | { |
428 | this.OnMessage(WixErrors.ProductCodeInvalidForTransform(row.SourceLineNumbers)); | 422 | this.messaging.Write(ErrorMessages.ProductCodeInvalidForTransform(row.SourceLineNumbers)); |
429 | } | 423 | } |
430 | } | 424 | } |
431 | else if ("ProductVersion" == (string)row[0]) | 425 | else if ("ProductVersion" == (string)row[0]) |
@@ -466,7 +460,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
466 | this.transformSummaryInfo.UpdatedProductCode = (string)row[1]; | 460 | this.transformSummaryInfo.UpdatedProductCode = (string)row[1]; |
467 | if ("*" == this.transformSummaryInfo.UpdatedProductCode) | 461 | if ("*" == this.transformSummaryInfo.UpdatedProductCode) |
468 | { | 462 | { |
469 | this.OnMessage(WixErrors.ProductCodeInvalidForTransform(row.SourceLineNumbers)); | 463 | this.messaging.Write(ErrorMessages.ProductCodeInvalidForTransform(row.SourceLineNumbers)); |
470 | } | 464 | } |
471 | } | 465 | } |
472 | else if ("ProductVersion" == (string)row[0]) | 466 | else if ("ProductVersion" == (string)row[0]) |
diff --git a/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs b/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs index 5c56d9aa..93dd9d3b 100644 --- a/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs | |||
@@ -36,7 +36,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe | |||
36 | FileAttributes attributes = File.GetAttributes(this.Context.InputFilePath); | 36 | FileAttributes attributes = File.GetAttributes(this.Context.InputFilePath); |
37 | if (FileAttributes.ReadOnly == (attributes & FileAttributes.ReadOnly)) | 37 | if (FileAttributes.ReadOnly == (attributes & FileAttributes.ReadOnly)) |
38 | { | 38 | { |
39 | this.Context.Messaging.OnMessage(WixErrors.ReadOnlyOutputFile(this.Context.InputFilePath)); | 39 | this.Context.Messaging.Write(ErrorMessages.ReadOnlyOutputFile(this.Context.InputFilePath)); |
40 | return shouldCommit; | 40 | return shouldCommit; |
41 | } | 41 | } |
42 | 42 | ||
@@ -179,7 +179,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe | |||
179 | // If the cabs aren't there, throw an error but continue to catch the other errors | 179 | // If the cabs aren't there, throw an error but continue to catch the other errors |
180 | if (!File.Exists(cabPath)) | 180 | if (!File.Exists(cabPath)) |
181 | { | 181 | { |
182 | this.Context.Messaging.OnMessage(WixErrors.WixFileNotFound(cabPath)); | 182 | this.Context.Messaging.Write(ErrorMessages.WixFileNotFound(cabPath)); |
183 | continue; | 183 | continue; |
184 | } | 184 | } |
185 | 185 | ||
@@ -205,11 +205,11 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe | |||
205 | if ((5 == Environment.OSVersion.Version.Major && 2 == Environment.OSVersion.Version.Minor) || // W2K3 | 205 | if ((5 == Environment.OSVersion.Version.Major && 2 == Environment.OSVersion.Version.Minor) || // W2K3 |
206 | (5 == Environment.OSVersion.Version.Major && 1 == Environment.OSVersion.Version.Minor)) // XP | 206 | (5 == Environment.OSVersion.Version.Major && 1 == Environment.OSVersion.Version.Minor)) // XP |
207 | { | 207 | { |
208 | this.Context.Messaging.OnMessage(WixErrors.UnableToGetAuthenticodeCertOfFileDownlevelOS(cabPath, String.Format(CultureInfo.InvariantCulture, "HRESULT: 0x{0:x8}", HResult))); | 208 | this.Context.Messaging.Write(ErrorMessages.UnableToGetAuthenticodeCertOfFileDownlevelOS(cabPath, String.Format(CultureInfo.InvariantCulture, "HRESULT: 0x{0:x8}", HResult))); |
209 | } | 209 | } |
210 | else // otherwise, generic error | 210 | else // otherwise, generic error |
211 | { | 211 | { |
212 | this.Context.Messaging.OnMessage(WixErrors.UnableToGetAuthenticodeCertOfFile(cabPath, String.Format(CultureInfo.InvariantCulture, "HRESULT: 0x{0:x8}", HResult))); | 212 | this.Context.Messaging.Write(ErrorMessages.UnableToGetAuthenticodeCertOfFile(cabPath, String.Format(CultureInfo.InvariantCulture, "HRESULT: 0x{0:x8}", HResult))); |
213 | } | 213 | } |
214 | } | 214 | } |
215 | 215 | ||
@@ -252,7 +252,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe | |||
252 | 252 | ||
253 | if (digitalCertificateTable.Rows.Count > 0) | 253 | if (digitalCertificateTable.Rows.Count > 0) |
254 | { | 254 | { |
255 | var command = new CreateIdtFileCommand(digitalCertificateTable, codepage, this.Context.IntermediateFolder, true); | 255 | var command = new CreateIdtFileCommand(this.Context.Messaging, digitalCertificateTable, codepage, this.Context.IntermediateFolder, true); |
256 | command.Execute(); | 256 | command.Execute(); |
257 | 257 | ||
258 | database.Import(command.IdtPath); | 258 | database.Import(command.IdtPath); |
@@ -261,7 +261,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe | |||
261 | 261 | ||
262 | if (digitalSignatureTable.Rows.Count > 0) | 262 | if (digitalSignatureTable.Rows.Count > 0) |
263 | { | 263 | { |
264 | var command = new CreateIdtFileCommand(digitalSignatureTable, codepage, this.Context.IntermediateFolder, true); | 264 | var command = new CreateIdtFileCommand(this.Context.Messaging, digitalSignatureTable, codepage, this.Context.IntermediateFolder, true); |
265 | command.Execute(); | 265 | command.Execute(); |
266 | 266 | ||
267 | database.Import(command.IdtPath); | 267 | database.Import(command.IdtPath); |
@@ -275,7 +275,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe | |||
275 | // If we did find external cabs but none of them were signed, give a warning | 275 | // If we did find external cabs but none of them were signed, give a warning |
276 | if (foundUnsignedExternals) | 276 | if (foundUnsignedExternals) |
277 | { | 277 | { |
278 | this.Context.Messaging.OnMessage(WixWarnings.ExternalCabsAreNotSigned(this.Context.InputFilePath)); | 278 | this.Context.Messaging.Write(WarningMessages.ExternalCabsAreNotSigned(this.Context.InputFilePath)); |
279 | } | 279 | } |
280 | 280 | ||
281 | if (shouldCommit) | 281 | if (shouldCommit) |
diff --git a/src/WixToolset.Core.WindowsInstaller/MelterCore.cs b/src/WixToolset.Core.WindowsInstaller/MelterCore.cs index 75d43619..034c9465 100644 --- a/src/WixToolset.Core.WindowsInstaller/MelterCore.cs +++ b/src/WixToolset.Core.WindowsInstaller/MelterCore.cs | |||
@@ -7,8 +7,9 @@ namespace WixToolset | |||
7 | /// <summary> | 7 | /// <summary> |
8 | /// Melts a Module Wix document into a ComponentGroup representation. | 8 | /// Melts a Module Wix document into a ComponentGroup representation. |
9 | /// </summary> | 9 | /// </summary> |
10 | public sealed class MelterCore : IMessageHandler | 10 | public sealed class MelterCore |
11 | { | 11 | { |
12 | #if TODO_MELT | ||
12 | /// <summary> | 13 | /// <summary> |
13 | /// Gets whether the melter core encountered an error while processing. | 14 | /// Gets whether the melter core encountered an error while processing. |
14 | /// </summary> | 15 | /// </summary> |
@@ -26,5 +27,6 @@ namespace WixToolset | |||
26 | { | 27 | { |
27 | Messaging.Instance.OnMessage(e); | 28 | Messaging.Instance.OnMessage(e); |
28 | } | 29 | } |
30 | #endif | ||
29 | } | 31 | } |
30 | } | 32 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Msi/WixInvalidIdtException.cs b/src/WixToolset.Core.WindowsInstaller/Msi/WixInvalidIdtException.cs index a603d5a7..589da648 100644 --- a/src/WixToolset.Core.WindowsInstaller/Msi/WixInvalidIdtException.cs +++ b/src/WixToolset.Core.WindowsInstaller/Msi/WixInvalidIdtException.cs | |||
@@ -16,7 +16,7 @@ namespace WixToolset.Msi | |||
16 | /// </summary> | 16 | /// </summary> |
17 | /// <param name="idtFile">The invalid idt file.</param> | 17 | /// <param name="idtFile">The invalid idt file.</param> |
18 | public WixInvalidIdtException(string idtFile) : | 18 | public WixInvalidIdtException(string idtFile) : |
19 | base(WixDataErrors.InvalidIdt(new SourceLineNumber(idtFile), idtFile)) | 19 | base(ErrorMessages.InvalidIdt(new SourceLineNumber(idtFile), idtFile)) |
20 | { | 20 | { |
21 | } | 21 | } |
22 | 22 | ||
@@ -26,7 +26,7 @@ namespace WixToolset.Msi | |||
26 | /// <param name="idtFile">The invalid idt file.</param> | 26 | /// <param name="idtFile">The invalid idt file.</param> |
27 | /// <param name="tableName">The table name of the invalid idt file.</param> | 27 | /// <param name="tableName">The table name of the invalid idt file.</param> |
28 | public WixInvalidIdtException(string idtFile, string tableName) : | 28 | public WixInvalidIdtException(string idtFile, string tableName) : |
29 | base(WixDataErrors.InvalidIdt(new SourceLineNumber(idtFile), idtFile, tableName)) | 29 | base(ErrorMessages.InvalidIdt(new SourceLineNumber(idtFile), idtFile, tableName)) |
30 | { | 30 | { |
31 | } | 31 | } |
32 | } | 32 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Patch.cs b/src/WixToolset.Core.WindowsInstaller/Patch.cs index 24a54859..c1914aca 100644 --- a/src/WixToolset.Core.WindowsInstaller/Patch.cs +++ b/src/WixToolset.Core.WindowsInstaller/Patch.cs | |||
@@ -1232,14 +1232,5 @@ namespace WixToolset.Data | |||
1232 | #endif | 1232 | #endif |
1233 | throw new NotImplementedException(); | 1233 | throw new NotImplementedException(); |
1234 | } | 1234 | } |
1235 | |||
1236 | /// <summary> | ||
1237 | /// Sends a message to the message delegate if there is one. | ||
1238 | /// </summary> | ||
1239 | /// <param name="mea">Message event arguments.</param> | ||
1240 | public void OnMessage(MessageEventArgs mea) | ||
1241 | { | ||
1242 | Messaging.Instance.OnMessage(mea); | ||
1243 | } | ||
1244 | } | 1235 | } |
1245 | } | 1236 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/PatchTransform.cs b/src/WixToolset.Core.WindowsInstaller/PatchTransform.cs index 9ba14843..0dc1e874 100644 --- a/src/WixToolset.Core.WindowsInstaller/PatchTransform.cs +++ b/src/WixToolset.Core.WindowsInstaller/PatchTransform.cs | |||
@@ -10,7 +10,7 @@ namespace WixToolset | |||
10 | using WixToolset.Data; | 10 | using WixToolset.Data; |
11 | using WixToolset.Extensibility; | 11 | using WixToolset.Extensibility; |
12 | 12 | ||
13 | public class PatchTransform : IMessageHandler | 13 | public class PatchTransform |
14 | { | 14 | { |
15 | private string baseline; | 15 | private string baseline; |
16 | private Intermediate transform; | 16 | private Intermediate transform; |
@@ -264,14 +264,5 @@ namespace WixToolset | |||
264 | #endif | 264 | #endif |
265 | throw new NotImplementedException(); | 265 | throw new NotImplementedException(); |
266 | } | 266 | } |
267 | |||
268 | /// <summary> | ||
269 | /// Sends a message to the message delegate if there is one. | ||
270 | /// </summary> | ||
271 | /// <param name="mea">Message event arguments.</param> | ||
272 | public void OnMessage(MessageEventArgs e) | ||
273 | { | ||
274 | Messaging.Instance.OnMessage(e); | ||
275 | } | ||
276 | } | 267 | } |
277 | } | 268 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs index 1757e06f..ed3161ef 100644 --- a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs | |||
@@ -136,7 +136,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
136 | } | 136 | } |
137 | catch (FileNotFoundException) | 137 | catch (FileNotFoundException) |
138 | { | 138 | { |
139 | throw new WixException(WixErrors.FileNotFound(new SourceLineNumber(this.InputFilePath), cabinetFile)); | 139 | throw new WixException(ErrorMessages.FileNotFound(new SourceLineNumber(this.InputFilePath), cabinetFile)); |
140 | } | 140 | } |
141 | } | 141 | } |
142 | } | 142 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs index 72e0c3c8..5d24d08a 100644 --- a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs | |||
@@ -12,11 +12,12 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
12 | using WixToolset.Data; | 12 | using WixToolset.Data; |
13 | using WixToolset.Data.WindowsInstaller; | 13 | using WixToolset.Data.WindowsInstaller; |
14 | using WixToolset.Data.WindowsInstaller.Rows; | 14 | using WixToolset.Data.WindowsInstaller.Rows; |
15 | using WixToolset.Extensibility.Services; | ||
15 | using WixToolset.Msi; | 16 | using WixToolset.Msi; |
16 | 17 | ||
17 | internal class UnbindDatabaseCommand | 18 | internal class UnbindDatabaseCommand |
18 | { | 19 | { |
19 | public UnbindDatabaseCommand(Messaging messaging, Database database, string databasePath, OutputType outputType, string exportBasePath, string intermediateFolder, bool isAdminImage, bool suppressDemodularization, bool skipSummaryInfo) | 20 | public UnbindDatabaseCommand(IMessaging messaging, Database database, string databasePath, OutputType outputType, string exportBasePath, string intermediateFolder, bool isAdminImage, bool suppressDemodularization, bool skipSummaryInfo) |
20 | { | 21 | { |
21 | this.Messaging = messaging; | 22 | this.Messaging = messaging; |
22 | this.Database = database; | 23 | this.Database = database; |
@@ -31,7 +32,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
31 | this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); | 32 | this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); |
32 | } | 33 | } |
33 | 34 | ||
34 | public Messaging Messaging { get; } | 35 | public IMessaging Messaging { get; } |
35 | 36 | ||
36 | public Database Database { get; } | 37 | public Database Database { get; } |
37 | 38 | ||
@@ -316,7 +317,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
316 | 317 | ||
317 | if (!success) | 318 | if (!success) |
318 | { | 319 | { |
319 | this.Messaging.OnMessage(WixWarnings.BadColumnDataIgnored(row.SourceLineNumbers, Convert.ToString(intValue, CultureInfo.InvariantCulture), tableName, row.Fields[i].Column.Name)); | 320 | this.Messaging.Write(WarningMessages.BadColumnDataIgnored(row.SourceLineNumbers, Convert.ToString(intValue, CultureInfo.InvariantCulture), tableName, row.Fields[i].Column.Name)); |
320 | } | 321 | } |
321 | break; | 322 | break; |
322 | case ColumnType.Object: | 323 | case ColumnType.Object: |
@@ -480,7 +481,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
480 | 481 | ||
481 | if (!File.Exists(wixFileRow.Source)) | 482 | if (!File.Exists(wixFileRow.Source)) |
482 | { | 483 | { |
483 | throw new WixException(WixErrors.WixFileNotFound(wixFileRow.Source)); | 484 | throw new WixException(ErrorMessages.WixFileNotFound(wixFileRow.Source)); |
484 | } | 485 | } |
485 | 486 | ||
486 | wixFileTable.Rows.Add(wixFileRow); | 487 | wixFileTable.Rows.Add(wixFileRow); |
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs index 70f751f5..2b018013 100644 --- a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs | |||
@@ -13,11 +13,12 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
13 | using WixToolset.Data; | 13 | using WixToolset.Data; |
14 | using WixToolset.Data.WindowsInstaller; | 14 | using WixToolset.Data.WindowsInstaller; |
15 | using WixToolset.Extensibility; | 15 | using WixToolset.Extensibility; |
16 | using WixToolset.Extensibility.Services; | ||
16 | using WixToolset.Msi; | 17 | using WixToolset.Msi; |
17 | 18 | ||
18 | internal class UnbindTransformCommand | 19 | internal class UnbindTransformCommand |
19 | { | 20 | { |
20 | public UnbindTransformCommand(Messaging messaging, string transformFile, string exportBasePath, string intermediateFolder) | 21 | public UnbindTransformCommand(IMessaging messaging, string transformFile, string exportBasePath, string intermediateFolder) |
21 | { | 22 | { |
22 | this.Messaging = messaging; | 23 | this.Messaging = messaging; |
23 | this.TransformFile = transformFile; | 24 | this.TransformFile = transformFile; |
@@ -27,7 +28,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
27 | this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); | 28 | this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); |
28 | } | 29 | } |
29 | 30 | ||
30 | private Messaging Messaging { get; } | 31 | private IMessaging Messaging { get; } |
31 | 32 | ||
32 | private string TransformFile { get; } | 33 | private string TransformFile { get; } |
33 | 34 | ||
@@ -152,7 +153,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind | |||
152 | // this commonly happens when the transform was built | 153 | // this commonly happens when the transform was built |
153 | // against a database schema different from the internal | 154 | // against a database schema different from the internal |
154 | // table definitions | 155 | // table definitions |
155 | throw new WixException(WixErrors.TransformSchemaMismatch()); | 156 | throw new WixException(ErrorMessages.TransformSchemaMismatch()); |
156 | } | 157 | } |
157 | } | 158 | } |
158 | 159 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs b/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs index ed55f312..ff71bea4 100644 --- a/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs +++ b/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs | |||
@@ -2,12 +2,15 @@ | |||
2 | 2 | ||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
4 | { | 4 | { |
5 | using WixToolset.Data; | 5 | using System; |
6 | using WixToolset.Extensibility; | 6 | using WixToolset.Extensibility; |
7 | using WixToolset.Extensibility.Services; | ||
7 | 8 | ||
8 | internal class UnbindContext : IUnbindContext | 9 | internal class UnbindContext : IUnbindContext |
9 | { | 10 | { |
10 | public Messaging Messaging { get; } = Messaging.Instance; | 11 | public IServiceProvider ServiceProvider { get; } |
12 | |||
13 | public IMessaging Messaging { get; set; } | ||
11 | 14 | ||
12 | public string ExportBasePath { get; set; } | 15 | public string ExportBasePath { get; set; } |
13 | 16 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbinder.cs b/src/WixToolset.Core.WindowsInstaller/Unbinder.cs index d2d27d45..db121fc0 100644 --- a/src/WixToolset.Core.WindowsInstaller/Unbinder.cs +++ b/src/WixToolset.Core.WindowsInstaller/Unbinder.cs | |||
@@ -53,11 +53,11 @@ namespace WixToolset.Core | |||
53 | { | 53 | { |
54 | if (OutputType.Transform == outputType) | 54 | if (OutputType.Transform == outputType) |
55 | { | 55 | { |
56 | throw new WixException(WixErrors.FileNotFound(null, file, "Transform")); | 56 | throw new WixException(ErrorMessages.FileNotFound(null, file, "Transform")); |
57 | } | 57 | } |
58 | else | 58 | else |
59 | { | 59 | { |
60 | throw new WixException(WixErrors.FileNotFound(null, file, "Database")); | 60 | throw new WixException(ErrorMessages.FileNotFound(null, file, "Database")); |
61 | } | 61 | } |
62 | } | 62 | } |
63 | 63 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Validator.cs b/src/WixToolset.Core.WindowsInstaller/Validator.cs index eb17d8af..d553cc71 100644 --- a/src/WixToolset.Core.WindowsInstaller/Validator.cs +++ b/src/WixToolset.Core.WindowsInstaller/Validator.cs | |||
@@ -22,7 +22,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
22 | /// <summary> | 22 | /// <summary> |
23 | /// Runs internal consistency evaluators (ICEs) from cub files against a database. | 23 | /// Runs internal consistency evaluators (ICEs) from cub files against a database. |
24 | /// </summary> | 24 | /// </summary> |
25 | public sealed class Validator : IMessageHandler | 25 | public sealed class Validator |
26 | { | 26 | { |
27 | private string actionName; | 27 | private string actionName; |
28 | private StringCollection cubeFiles; | 28 | private StringCollection cubeFiles; |
@@ -30,15 +30,17 @@ namespace WixToolset.Core.WindowsInstaller | |||
30 | private Output output; | 30 | private Output output; |
31 | private InstallUIHandler validationUIHandler; | 31 | private InstallUIHandler validationUIHandler; |
32 | private bool validationSessionComplete; | 32 | private bool validationSessionComplete; |
33 | private readonly IMessaging messaging; | ||
33 | 34 | ||
34 | /// <summary> | 35 | /// <summary> |
35 | /// Instantiate a new Validator. | 36 | /// Instantiate a new Validator. |
36 | /// </summary> | 37 | /// </summary> |
37 | public Validator() | 38 | public Validator(IMessaging messaging) |
38 | { | 39 | { |
39 | this.cubeFiles = new StringCollection(); | 40 | this.cubeFiles = new StringCollection(); |
40 | this.extension = new ValidatorExtension(); | 41 | this.extension = new ValidatorExtension(messaging); |
41 | this.validationUIHandler = new InstallUIHandler(this.ValidationUIHandler); | 42 | this.validationUIHandler = new InstallUIHandler(this.ValidationUIHandler); |
43 | this.messaging = messaging; | ||
42 | } | 44 | } |
43 | 45 | ||
44 | /// <summary> | 46 | /// <summary> |
@@ -127,7 +129,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
127 | { | 129 | { |
128 | if (!mutex.WaitOne(0, false)) | 130 | if (!mutex.WaitOne(0, false)) |
129 | { | 131 | { |
130 | this.OnMessage(WixVerboses.ValidationSerialized()); | 132 | this.messaging.Write(VerboseMessages.ValidationSerialized()); |
131 | mutex.WaitOne(); | 133 | mutex.WaitOne(); |
132 | } | 134 | } |
133 | 135 | ||
@@ -176,7 +178,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
176 | { | 178 | { |
177 | if (0x6E == e.NativeErrorCode) // ERROR_OPEN_FAILED | 179 | if (0x6E == e.NativeErrorCode) // ERROR_OPEN_FAILED |
178 | { | 180 | { |
179 | throw new WixException(WixErrors.CubeFileNotFound(cubeFile)); | 181 | throw new WixException(ErrorMessages.CubeFileNotFound(cubeFile)); |
180 | } | 182 | } |
181 | 183 | ||
182 | throw; | 184 | throw; |
@@ -248,7 +250,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
248 | } | 250 | } |
249 | catch (Win32Exception e) | 251 | catch (Win32Exception e) |
250 | { | 252 | { |
251 | if (!Messaging.Instance.EncounteredError) | 253 | if (!this.messaging.EncounteredError) |
252 | { | 254 | { |
253 | throw e; | 255 | throw e; |
254 | } | 256 | } |
@@ -270,7 +272,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
270 | catch (Win32Exception e) | 272 | catch (Win32Exception e) |
271 | { | 273 | { |
272 | // avoid displaying errors twice since one may have already occurred in the UI handler | 274 | // avoid displaying errors twice since one may have already occurred in the UI handler |
273 | if (!Messaging.Instance.EncounteredError) | 275 | if (!this.messaging.EncounteredError) |
274 | { | 276 | { |
275 | if (0x6E == e.NativeErrorCode) // ERROR_OPEN_FAILED | 277 | if (0x6E == e.NativeErrorCode) // ERROR_OPEN_FAILED |
276 | { | 278 | { |
@@ -278,23 +280,23 @@ namespace WixToolset.Core.WindowsInstaller | |||
278 | // this would be the temporary copy and there would be | 280 | // this would be the temporary copy and there would be |
279 | // no final output since the error occured; during smoke | 281 | // no final output since the error occured; during smoke |
280 | // they should know the path passed into smoke | 282 | // they should know the path passed into smoke |
281 | this.OnMessage(WixErrors.ValidationFailedToOpenDatabase()); | 283 | this.messaging.Write(ErrorMessages.ValidationFailedToOpenDatabase()); |
282 | } | 284 | } |
283 | else if (0x64D == e.NativeErrorCode) | 285 | else if (0x64D == e.NativeErrorCode) |
284 | { | 286 | { |
285 | this.OnMessage(WixErrors.ValidationFailedDueToLowMsiEngine()); | 287 | this.messaging.Write(ErrorMessages.ValidationFailedDueToLowMsiEngine()); |
286 | } | 288 | } |
287 | else if (0x654 == e.NativeErrorCode) | 289 | else if (0x654 == e.NativeErrorCode) |
288 | { | 290 | { |
289 | this.OnMessage(WixErrors.ValidationFailedDueToInvalidPackage()); | 291 | this.messaging.Write(ErrorMessages.ValidationFailedDueToInvalidPackage()); |
290 | } | 292 | } |
291 | else if (0x658 == e.NativeErrorCode) | 293 | else if (0x658 == e.NativeErrorCode) |
292 | { | 294 | { |
293 | this.OnMessage(WixErrors.ValidationFailedDueToMultilanguageMergeModule()); | 295 | this.messaging.Write(ErrorMessages.ValidationFailedDueToMultilanguageMergeModule()); |
294 | } | 296 | } |
295 | else if (0x659 == e.NativeErrorCode) | 297 | else if (0x659 == e.NativeErrorCode) |
296 | { | 298 | { |
297 | this.OnMessage(WixWarnings.ValidationFailedDueToSystemPolicy()); | 299 | this.messaging.Write(WarningMessages.ValidationFailedDueToSystemPolicy()); |
298 | } | 300 | } |
299 | else | 301 | else |
300 | { | 302 | { |
@@ -305,7 +307,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
305 | msgTemp = String.Concat("Action - '", this.actionName, "' ", e.Message); | 307 | msgTemp = String.Concat("Action - '", this.actionName, "' ", e.Message); |
306 | } | 308 | } |
307 | 309 | ||
308 | this.OnMessage(WixErrors.Win32Exception(e.NativeErrorCode, msgTemp)); | 310 | this.messaging.Write(ErrorMessages.Win32Exception(e.NativeErrorCode, msgTemp)); |
309 | } | 311 | } |
310 | } | 312 | } |
311 | } | 313 | } |
@@ -322,16 +324,6 @@ namespace WixToolset.Core.WindowsInstaller | |||
322 | } | 324 | } |
323 | } | 325 | } |
324 | 326 | ||
325 | /// <summary> | ||
326 | /// Sends a message to the message delegate if there is one. | ||
327 | /// </summary> | ||
328 | /// <param name="mea">Message event arguments.</param> | ||
329 | public void OnMessage(MessageEventArgs e) | ||
330 | { | ||
331 | Messaging.Instance.OnMessage(e); | ||
332 | this.extension.OnMessage(e); | ||
333 | } | ||
334 | |||
335 | public static Validator CreateFromContext(IBindContext context, string cubeFilename) | 327 | public static Validator CreateFromContext(IBindContext context, string cubeFilename) |
336 | { | 328 | { |
337 | Validator validator = null; | 329 | Validator validator = null; |
@@ -339,7 +331,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
339 | // Tell the binder about the validator if validation isn't suppressed | 331 | // Tell the binder about the validator if validation isn't suppressed |
340 | if (!context.SuppressValidation) | 332 | if (!context.SuppressValidation) |
341 | { | 333 | { |
342 | validator = new Validator(); | 334 | validator = new Validator(context.Messaging); |
343 | validator.IntermediateFolder = Path.Combine(context.IntermediateFolder, "validate"); | 335 | validator.IntermediateFolder = Path.Combine(context.IntermediateFolder, "validate"); |
344 | 336 | ||
345 | // set the default cube file | 337 | // set the default cube file |
@@ -378,7 +370,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
378 | } | 370 | } |
379 | catch (WixException ex) | 371 | catch (WixException ex) |
380 | { | 372 | { |
381 | this.OnMessage(ex.Error); | 373 | this.messaging.Write(ex.Error); |
382 | } | 374 | } |
383 | 375 | ||
384 | return 1; | 376 | return 1; |
diff --git a/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs b/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs index 67f5962c..48f73bf2 100644 --- a/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs +++ b/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs | |||
@@ -6,23 +6,26 @@ namespace WixToolset.Extensibility | |||
6 | using System.Collections; | 6 | using System.Collections; |
7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
8 | using WixToolset.Data.WindowsInstaller; | 8 | using WixToolset.Data.WindowsInstaller; |
9 | using WixToolset.Extensibility.Services; | ||
9 | 10 | ||
10 | /// <summary> | 11 | /// <summary> |
11 | /// Base class for creating a validator extension. This default implementation | 12 | /// Base class for creating a validator extension. This default implementation |
12 | /// will fire and event with the ICE name and description. | 13 | /// will fire and event with the ICE name and description. |
13 | /// </summary> | 14 | /// </summary> |
14 | public class ValidatorExtension : IMessageHandler | 15 | public class ValidatorExtension |
15 | { | 16 | { |
16 | private string databaseFile; | 17 | private string databaseFile; |
17 | private Hashtable indexedSourceLineNumbers; | 18 | private Hashtable indexedSourceLineNumbers; |
18 | private Output output; | 19 | private Output output; |
19 | private SourceLineNumber sourceLineNumbers; | 20 | private SourceLineNumber sourceLineNumbers; |
21 | private readonly IMessaging messaging; | ||
20 | 22 | ||
21 | /// <summary> | 23 | /// <summary> |
22 | /// Instantiate a new <see cref="ValidatorExtension"/>. | 24 | /// Instantiate a new <see cref="ValidatorExtension"/>. |
23 | /// </summary> | 25 | /// </summary> |
24 | public ValidatorExtension() | 26 | public ValidatorExtension(IMessaging messaging) |
25 | { | 27 | { |
28 | this.messaging = messaging; | ||
26 | } | 29 | } |
27 | 30 | ||
28 | /// <summary> | 31 | /// <summary> |
@@ -183,11 +186,11 @@ namespace WixToolset.Extensibility | |||
183 | { | 186 | { |
184 | if (null == action) | 187 | if (null == action) |
185 | { | 188 | { |
186 | throw new WixException(WixErrors.UnexpectedExternalUIMessage(message)); | 189 | throw new WixException(ErrorMessages.UnexpectedExternalUIMessage(message)); |
187 | } | 190 | } |
188 | else | 191 | else |
189 | { | 192 | { |
190 | throw new WixException(WixErrors.UnexpectedExternalUIMessage(message, action)); | 193 | throw new WixException(ErrorMessages.UnexpectedExternalUIMessage(message, action)); |
191 | } | 194 | } |
192 | } | 195 | } |
193 | 196 | ||
@@ -209,16 +212,16 @@ namespace WixToolset.Extensibility | |||
209 | { | 212 | { |
210 | case "0": | 213 | case "0": |
211 | case "1": | 214 | case "1": |
212 | this.OnMessage(WixErrors.ValidationError(messageSourceLineNumbers, messageParts[0], messageParts[2])); | 215 | this.messaging.Write(ErrorMessages.ValidationError(messageSourceLineNumbers, messageParts[0], messageParts[2])); |
213 | break; | 216 | break; |
214 | case "2": | 217 | case "2": |
215 | this.OnMessage(WixWarnings.ValidationWarning(messageSourceLineNumbers, messageParts[0], messageParts[2])); | 218 | this.messaging.Write(WarningMessages.ValidationWarning(messageSourceLineNumbers, messageParts[0], messageParts[2])); |
216 | break; | 219 | break; |
217 | case "3": | 220 | case "3": |
218 | this.OnMessage(WixVerboses.ValidationInfo(messageParts[0], messageParts[2])); | 221 | this.messaging.Write(VerboseMessages.ValidationInfo(messageParts[0], messageParts[2])); |
219 | break; | 222 | break; |
220 | default: | 223 | default: |
221 | throw new WixException(WixErrors.InvalidValidatorMessageType(messageParts[1])); | 224 | throw new WixException(ErrorMessages.InvalidValidatorMessageType(messageParts[1])); |
222 | } | 225 | } |
223 | } | 226 | } |
224 | 227 | ||
@@ -264,7 +267,7 @@ namespace WixToolset.Extensibility | |||
264 | 267 | ||
265 | if (this.indexedSourceLineNumbers.ContainsKey(key)) | 268 | if (this.indexedSourceLineNumbers.ContainsKey(key)) |
266 | { | 269 | { |
267 | this.OnMessage(WixWarnings.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, table.Name)); | 270 | this.messaging.Write(WarningMessages.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, table.Name)); |
268 | } | 271 | } |
269 | else | 272 | else |
270 | { | 273 | { |
@@ -281,20 +284,5 @@ namespace WixToolset.Extensibility | |||
281 | // use the file name as the source line information | 284 | // use the file name as the source line information |
282 | return this.sourceLineNumbers; | 285 | return this.sourceLineNumbers; |
283 | } | 286 | } |
284 | |||
285 | /// <summary> | ||
286 | /// Sends a message to the <see cref="Message"/> delegate if there is one. | ||
287 | /// </summary> | ||
288 | /// <param name="e">Message event arguments.</param> | ||
289 | /// <remarks> | ||
290 | /// <para><b>Notes to Inheritors:</b> When overriding <b>OnMessage</b> | ||
291 | /// in a derived class, be sure to call the base class's | ||
292 | /// <b>OnMessage</b> method so that registered delegates recieve | ||
293 | /// the event.</para> | ||
294 | /// </remarks> | ||
295 | public virtual void OnMessage(MessageEventArgs e) | ||
296 | { | ||
297 | Messaging.Instance.OnMessage(e); | ||
298 | } | ||
299 | } | 287 | } |
300 | } | 288 | } |
diff --git a/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs b/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs index 3b4721a6..759bda14 100644 --- a/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs +++ b/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs | |||
@@ -16,7 +16,9 @@ namespace WixToolset.Core.WindowsInstaller | |||
16 | private static readonly object lockObject = new object(); | 16 | private static readonly object lockObject = new object(); |
17 | 17 | ||
18 | private static TableDefinitionCollection tableDefinitions; | 18 | private static TableDefinitionCollection tableDefinitions; |
19 | #if REVISIT_FOR_PATCHING | ||
19 | private static WixActionRowCollection standardActions; | 20 | private static WixActionRowCollection standardActions; |
21 | #endif | ||
20 | 22 | ||
21 | /// <summary> | 23 | /// <summary> |
22 | /// Gets the table definitions stored in this assembly. | 24 | /// Gets the table definitions stored in this assembly. |
@@ -57,7 +59,7 @@ namespace WixToolset.Core.WindowsInstaller | |||
57 | } | 59 | } |
58 | 60 | ||
59 | return WindowsInstallerStandardInternal.standardActions; | 61 | return WindowsInstallerStandardInternal.standardActions; |
60 | #endif | 62 | #endif |
61 | throw new NotImplementedException(); | 63 | throw new NotImplementedException(); |
62 | } | 64 | } |
63 | } | 65 | } |
diff --git a/src/WixToolset.Core/AppCommon.cs b/src/WixToolset.Core/AppCommon.cs index 7716155a..3ea09f08 100644 --- a/src/WixToolset.Core/AppCommon.cs +++ b/src/WixToolset.Core/AppCommon.cs | |||
@@ -3,13 +3,7 @@ | |||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections.Specialized; | ||
7 | using System.Globalization; | ||
8 | using System.IO; | ||
9 | using System.Reflection; | 6 | using System.Reflection; |
10 | using System.Text; | ||
11 | using System.Threading; | ||
12 | using WixToolset.Data; | ||
13 | 7 | ||
14 | /// <summary> | 8 | /// <summary> |
15 | /// Common utilities for Wix applications. | 9 | /// Common utilities for Wix applications. |
@@ -17,102 +11,6 @@ namespace WixToolset.Core | |||
17 | public static class AppCommon | 11 | public static class AppCommon |
18 | { | 12 | { |
19 | /// <summary> | 13 | /// <summary> |
20 | /// Read the configuration file (*.exe.config). | ||
21 | /// </summary> | ||
22 | /// <param name="extensions">Extensions to load.</param> | ||
23 | public static void ReadConfiguration(StringCollection extensions) | ||
24 | { | ||
25 | if (null == extensions) | ||
26 | { | ||
27 | throw new ArgumentNullException("extensions"); | ||
28 | } | ||
29 | |||
30 | #if REDO_IN_NETCORE | ||
31 | // Don't use the default AppSettings reader because | ||
32 | // the tool may be called from within another process. | ||
33 | // Instead, read the .exe.config file from the tool location. | ||
34 | string toolPath = (new System.Uri(Assembly.GetCallingAssembly().CodeBase)).LocalPath; | ||
35 | Configuration config = ConfigurationManager.OpenExeConfiguration(toolPath); | ||
36 | if (config.HasFile) | ||
37 | { | ||
38 | KeyValueConfigurationElement configVal = config.AppSettings.Settings["extensions"]; | ||
39 | if (configVal != null) | ||
40 | { | ||
41 | string extensionTypes = configVal.Value; | ||
42 | foreach (string extensionType in extensionTypes.Split(";".ToCharArray())) | ||
43 | { | ||
44 | extensions.Add(extensionType); | ||
45 | } | ||
46 | } | ||
47 | } | ||
48 | #endif | ||
49 | } | ||
50 | |||
51 | /// <summary> | ||
52 | /// Gets a unique temporary location or uses the provided temporary location. | ||
53 | /// </summary> | ||
54 | /// <param name="tempLocation">Optional temporary location to use.</param> | ||
55 | /// <returns>Temporary location.</returns> | ||
56 | public static string GetTempLocation(string tempLocation = null) | ||
57 | { | ||
58 | if (String.IsNullOrEmpty(tempLocation)) | ||
59 | { | ||
60 | tempLocation = Environment.GetEnvironmentVariable("WIX_TEMP") ?? Path.GetTempPath(); | ||
61 | |||
62 | do | ||
63 | { | ||
64 | tempLocation = Path.Combine(tempLocation, DateTime.Now.ToString("wixyyMMddTHHmmssffff")); | ||
65 | } while (Directory.Exists(tempLocation)); | ||
66 | } | ||
67 | |||
68 | return tempLocation; | ||
69 | } | ||
70 | |||
71 | /// <summary> | ||
72 | /// Delete a directory with retries and best-effort cleanup. | ||
73 | /// </summary> | ||
74 | /// <param name="path">The directory to delete.</param> | ||
75 | /// <param name="messageHandler">The message handler.</param> | ||
76 | /// <returns>True if all files were deleted, false otherwise.</returns> | ||
77 | public static bool DeleteDirectory(string path, IMessageHandler messageHandler) | ||
78 | { | ||
79 | return Common.DeleteTempFiles(path, messageHandler); | ||
80 | } | ||
81 | |||
82 | /// <summary> | ||
83 | /// Prepares the console for localization. | ||
84 | /// </summary> | ||
85 | public static void PrepareConsoleForLocalization() | ||
86 | { | ||
87 | Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture.GetConsoleFallbackUICulture(); | ||
88 | if ((Console.OutputEncoding.CodePage != Encoding.UTF8.CodePage) && | ||
89 | (Console.OutputEncoding.CodePage != Thread.CurrentThread.CurrentUICulture.TextInfo.OEMCodePage) && | ||
90 | (Console.OutputEncoding.CodePage != Thread.CurrentThread.CurrentUICulture.TextInfo.ANSICodePage)) | ||
91 | { | ||
92 | Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); | ||
93 | } | ||
94 | } | ||
95 | |||
96 | /// <summary> | ||
97 | /// Handler for display message events. | ||
98 | /// </summary> | ||
99 | /// <param name="sender">Sender of message.</param> | ||
100 | /// <param name="e">Event arguments containing message to display.</param> | ||
101 | public static void ConsoleDisplayMessage(object sender, DisplayEventArgs e) | ||
102 | { | ||
103 | switch (e.Level) | ||
104 | { | ||
105 | case MessageLevel.Warning: | ||
106 | case MessageLevel.Error: | ||
107 | Console.Error.WriteLine(e.Message); | ||
108 | break; | ||
109 | default: | ||
110 | Console.WriteLine(e.Message); | ||
111 | break; | ||
112 | } | ||
113 | } | ||
114 | |||
115 | /// <summary> | ||
116 | /// Creates and returns the string for CreatingApplication field (MSI Summary Information Stream). | 14 | /// Creates and returns the string for CreatingApplication field (MSI Summary Information Stream). |
117 | /// </summary> | 15 | /// </summary> |
118 | /// <remarks>It reads the AssemblyProductAttribute and AssemblyVersionAttribute of executing assembly | 16 | /// <remarks>It reads the AssemblyProductAttribute and AssemblyVersionAttribute of executing assembly |
diff --git a/src/WixToolset.Core/BackendContext.cs b/src/WixToolset.Core/BackendContext.cs deleted file mode 100644 index 7166a3a3..00000000 --- a/src/WixToolset.Core/BackendContext.cs +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Core | ||
4 | { | ||
5 | using WixToolset.Data; | ||
6 | |||
7 | public class BackendContext | ||
8 | { | ||
9 | internal BackendContext() | ||
10 | { | ||
11 | this.Messaging = Messaging.Instance; | ||
12 | } | ||
13 | |||
14 | public Messaging Messaging { get; } | ||
15 | } | ||
16 | } | ||
diff --git a/src/WixToolset.Core/Bind/FileResolver.cs b/src/WixToolset.Core/Bind/FileResolver.cs index 8d624e6f..2142d261 100644 --- a/src/WixToolset.Core/Bind/FileResolver.cs +++ b/src/WixToolset.Core/Bind/FileResolver.cs | |||
@@ -221,7 +221,7 @@ namespace WixToolset.Core.Bind | |||
221 | } | 221 | } |
222 | catch (ArgumentException) | 222 | catch (ArgumentException) |
223 | { | 223 | { |
224 | throw new WixException(WixErrors.IllegalCharactersInPath(path)); | 224 | throw new WixException(ErrorMessages.IllegalCharactersInPath(path)); |
225 | } | 225 | } |
226 | } | 226 | } |
227 | 227 | ||
diff --git a/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs b/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs index 4585b71a..3ded9a87 100644 --- a/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs +++ b/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs | |||
@@ -7,6 +7,7 @@ namespace WixToolset.Core.Bind | |||
7 | using System.Globalization; | 7 | using System.Globalization; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Extensibility; | 9 | using WixToolset.Extensibility; |
10 | using WixToolset.Extensibility.Services; | ||
10 | 11 | ||
11 | /// <summary> | 12 | /// <summary> |
12 | /// Resolves the fields which had variables that needed to be resolved after the file information | 13 | /// Resolves the fields which had variables that needed to be resolved after the file information |
@@ -19,12 +20,15 @@ namespace WixToolset.Core.Bind | |||
19 | /// </summary> | 20 | /// </summary> |
20 | /// <param name="delayedFields">The fields which had resolution delayed.</param> | 21 | /// <param name="delayedFields">The fields which had resolution delayed.</param> |
21 | /// <param name="variableCache">The file information to use when resolving variables.</param> | 22 | /// <param name="variableCache">The file information to use when resolving variables.</param> |
22 | public ResolveDelayedFieldsCommand(IEnumerable<IDelayedField> delayedFields, Dictionary<string, string> variableCache) | 23 | public ResolveDelayedFieldsCommand(IMessaging messaging, IEnumerable<IDelayedField> delayedFields, Dictionary<string, string> variableCache) |
23 | { | 24 | { |
25 | this.Messaging = messaging; | ||
24 | this.DelayedFields = delayedFields; | 26 | this.DelayedFields = delayedFields; |
25 | this.VariableCache = variableCache; | 27 | this.VariableCache = variableCache; |
26 | } | 28 | } |
27 | 29 | ||
30 | private IMessaging Messaging { get; } | ||
31 | |||
28 | private IEnumerable<IDelayedField> DelayedFields { get;} | 32 | private IEnumerable<IDelayedField> DelayedFields { get;} |
29 | 33 | ||
30 | private IDictionary<string, string> VariableCache { get; } | 34 | private IDictionary<string, string> VariableCache { get; } |
@@ -58,7 +62,7 @@ namespace WixToolset.Core.Bind | |||
58 | } | 62 | } |
59 | catch (WixException we) | 63 | catch (WixException we) |
60 | { | 64 | { |
61 | Messaging.Instance.OnMessage(we.Error); | 65 | this.Messaging.Write(we.Error); |
62 | continue; | 66 | continue; |
63 | } | 67 | } |
64 | } | 68 | } |
@@ -103,7 +107,7 @@ namespace WixToolset.Core.Bind | |||
103 | } | 107 | } |
104 | catch (WixException we) | 108 | catch (WixException we) |
105 | { | 109 | { |
106 | Messaging.Instance.OnMessage(we.Error); | 110 | this.Messaging.Write(we.Error); |
107 | } | 111 | } |
108 | } | 112 | } |
109 | } | 113 | } |
diff --git a/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs b/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs index 9253f352..e8c90956 100644 --- a/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs +++ b/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs | |||
@@ -7,12 +7,15 @@ namespace WixToolset.Core.Bind | |||
7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
8 | using WixToolset.Data.Bind; | 8 | using WixToolset.Data.Bind; |
9 | using WixToolset.Extensibility; | 9 | using WixToolset.Extensibility; |
10 | using WixToolset.Extensibility.Services; | ||
10 | 11 | ||
11 | /// <summary> | 12 | /// <summary> |
12 | /// Resolve source fields in the tables included in the output | 13 | /// Resolve source fields in the tables included in the output |
13 | /// </summary> | 14 | /// </summary> |
14 | internal class ResolveFieldsCommand | 15 | internal class ResolveFieldsCommand |
15 | { | 16 | { |
17 | public IMessaging Messaging { private get; set; } | ||
18 | |||
16 | public bool BuildingPatch { private get; set; } | 19 | public bool BuildingPatch { private get; set; } |
17 | 20 | ||
18 | public IBindVariableResolver BindVariableResolver { private get; set; } | 21 | public IBindVariableResolver BindVariableResolver { private get; set; } |
@@ -75,7 +78,7 @@ namespace WixToolset.Core.Bind | |||
75 | } | 78 | } |
76 | 79 | ||
77 | // Move to next row if we've hit an error resolving variables. | 80 | // Move to next row if we've hit an error resolving variables. |
78 | if (Messaging.Instance.EncounteredError) // TODO: make this error handling more specific to just the failure to resolve variables in this field. | 81 | if (this.Messaging.EncounteredError) // TODO: make this error handling more specific to just the failure to resolve variables in this field. |
79 | { | 82 | { |
80 | continue; | 83 | continue; |
81 | } | 84 | } |
@@ -151,7 +154,7 @@ namespace WixToolset.Core.Bind | |||
151 | catch (WixFileNotFoundException) | 154 | catch (WixFileNotFoundException) |
152 | { | 155 | { |
153 | // display the error with source line information | 156 | // display the error with source line information |
154 | Messaging.Instance.OnMessage(WixErrors.FileNotFound(row.SourceLineNumbers, objectField.Path)); | 157 | this.Messaging.Write(ErrorMessages.FileNotFound(row.SourceLineNumbers, objectField.Path)); |
155 | } | 158 | } |
156 | } | 159 | } |
157 | 160 | ||
@@ -208,7 +211,7 @@ namespace WixToolset.Core.Bind | |||
208 | catch (WixFileNotFoundException) | 211 | catch (WixFileNotFoundException) |
209 | { | 212 | { |
210 | // display the error with source line information | 213 | // display the error with source line information |
211 | Messaging.Instance.OnMessage(WixErrors.FileNotFound(row.SourceLineNumbers, (string)objectField.PreviousData)); | 214 | Messaging.Instance.Write(WixErrors.FileNotFound(row.SourceLineNumbers, (string)objectField.PreviousData)); |
212 | } | 215 | } |
213 | } | 216 | } |
214 | } | 217 | } |
diff --git a/src/WixToolset.Core/Bind/TransferFilesCommand.cs b/src/WixToolset.Core/Bind/TransferFilesCommand.cs index f116569c..68d8b129 100644 --- a/src/WixToolset.Core/Bind/TransferFilesCommand.cs +++ b/src/WixToolset.Core/Bind/TransferFilesCommand.cs | |||
@@ -9,18 +9,22 @@ namespace WixToolset.Core.Bind | |||
9 | using WixToolset.Data; | 9 | using WixToolset.Data; |
10 | using WixToolset.Data.Bind; | 10 | using WixToolset.Data.Bind; |
11 | using WixToolset.Extensibility; | 11 | using WixToolset.Extensibility; |
12 | using WixToolset.Extensibility.Services; | ||
12 | 13 | ||
13 | internal class TransferFilesCommand | 14 | internal class TransferFilesCommand |
14 | { | 15 | { |
15 | public TransferFilesCommand(IEnumerable<BindPath> bindPaths, IEnumerable<IBinderExtension> extensions, IEnumerable<FileTransfer> fileTransfers, bool suppressAclReset) | 16 | public TransferFilesCommand(IMessaging messaging, IEnumerable<BindPath> bindPaths, IEnumerable<IBinderExtension> extensions, IEnumerable<FileTransfer> fileTransfers, bool suppressAclReset) |
16 | { | 17 | { |
17 | this.FileResolver = new FileResolver(bindPaths, extensions); | 18 | this.FileResolver = new FileResolver(bindPaths, extensions); |
19 | this.Messaging = messaging; | ||
18 | this.FileTransfers = fileTransfers; | 20 | this.FileTransfers = fileTransfers; |
19 | this.SuppressAclReset = suppressAclReset; | 21 | this.SuppressAclReset = suppressAclReset; |
20 | } | 22 | } |
21 | 23 | ||
22 | private FileResolver FileResolver { get; } | 24 | private FileResolver FileResolver { get; } |
23 | 25 | ||
26 | private IMessaging Messaging { get; } | ||
27 | |||
24 | private IEnumerable<FileTransfer> FileTransfers { get; } | 28 | private IEnumerable<FileTransfer> FileTransfers { get; } |
25 | 29 | ||
26 | private bool SuppressAclReset { get; } | 30 | private bool SuppressAclReset { get; } |
@@ -47,12 +51,12 @@ namespace WixToolset.Core.Bind | |||
47 | { | 51 | { |
48 | if (fileTransfer.Move) | 52 | if (fileTransfer.Move) |
49 | { | 53 | { |
50 | Messaging.Instance.OnMessage(WixVerboses.MoveFile(fileSource, fileTransfer.Destination)); | 54 | this.Messaging.Write(VerboseMessages.MoveFile(fileSource, fileTransfer.Destination)); |
51 | this.TransferFile(true, fileSource, fileTransfer.Destination); | 55 | this.TransferFile(true, fileSource, fileTransfer.Destination); |
52 | } | 56 | } |
53 | else | 57 | else |
54 | { | 58 | { |
55 | Messaging.Instance.OnMessage(WixVerboses.CopyFile(fileSource, fileTransfer.Destination)); | 59 | this.Messaging.Write(VerboseMessages.CopyFile(fileSource, fileTransfer.Destination)); |
56 | this.TransferFile(false, fileSource, fileTransfer.Destination); | 60 | this.TransferFile(false, fileSource, fileTransfer.Destination); |
57 | } | 61 | } |
58 | 62 | ||
@@ -61,7 +65,7 @@ namespace WixToolset.Core.Bind | |||
61 | } | 65 | } |
62 | catch (FileNotFoundException e) | 66 | catch (FileNotFoundException e) |
63 | { | 67 | { |
64 | throw new WixFileNotFoundException(e.FileName); | 68 | throw new WixFileNotFoundException(fileTransfer.SourceLineNumbers, e.FileName); |
65 | } | 69 | } |
66 | catch (DirectoryNotFoundException) | 70 | catch (DirectoryNotFoundException) |
67 | { | 71 | { |
@@ -72,7 +76,7 @@ namespace WixToolset.Core.Bind | |||
72 | } | 76 | } |
73 | 77 | ||
74 | string directory = Path.GetDirectoryName(fileTransfer.Destination); | 78 | string directory = Path.GetDirectoryName(fileTransfer.Destination); |
75 | Messaging.Instance.OnMessage(WixVerboses.CreateDirectory(directory)); | 79 | this.Messaging.Write(VerboseMessages.CreateDirectory(directory)); |
76 | Directory.CreateDirectory(directory); | 80 | Directory.CreateDirectory(directory); |
77 | retry = true; | 81 | retry = true; |
78 | } | 82 | } |
@@ -86,7 +90,7 @@ namespace WixToolset.Core.Bind | |||
86 | 90 | ||
87 | if (File.Exists(fileTransfer.Destination)) | 91 | if (File.Exists(fileTransfer.Destination)) |
88 | { | 92 | { |
89 | Messaging.Instance.OnMessage(WixVerboses.RemoveDestinationFile(fileTransfer.Destination)); | 93 | this.Messaging.Write(VerboseMessages.RemoveDestinationFile(fileTransfer.Destination)); |
90 | 94 | ||
91 | // try to ensure the file is not read-only | 95 | // try to ensure the file is not read-only |
92 | FileAttributes attributes = File.GetAttributes(fileTransfer.Destination); | 96 | FileAttributes attributes = File.GetAttributes(fileTransfer.Destination); |
@@ -96,7 +100,7 @@ namespace WixToolset.Core.Bind | |||
96 | } | 100 | } |
97 | catch (ArgumentException) // thrown for unauthorized access errors | 101 | catch (ArgumentException) // thrown for unauthorized access errors |
98 | { | 102 | { |
99 | throw new WixException(WixErrors.UnauthorizedAccess(fileTransfer.Destination)); | 103 | throw new WixException(ErrorMessages.UnauthorizedAccess(fileTransfer.Destination)); |
100 | } | 104 | } |
101 | 105 | ||
102 | // try to delete the file | 106 | // try to delete the file |
@@ -106,7 +110,7 @@ namespace WixToolset.Core.Bind | |||
106 | } | 110 | } |
107 | catch (IOException) | 111 | catch (IOException) |
108 | { | 112 | { |
109 | throw new WixException(WixErrors.FileInUse(null, fileTransfer.Destination)); | 113 | throw new WixException(ErrorMessages.FileInUse(null, fileTransfer.Destination)); |
110 | } | 114 | } |
111 | 115 | ||
112 | retry = true; | 116 | retry = true; |
@@ -126,7 +130,7 @@ namespace WixToolset.Core.Bind | |||
126 | 130 | ||
127 | if (File.Exists(fileTransfer.Destination)) | 131 | if (File.Exists(fileTransfer.Destination)) |
128 | { | 132 | { |
129 | Messaging.Instance.OnMessage(WixVerboses.RemoveDestinationFile(fileTransfer.Destination)); | 133 | this.Messaging.Write(VerboseMessages.RemoveDestinationFile(fileTransfer.Destination)); |
130 | 134 | ||
131 | // ensure the file is not read-only, then delete it | 135 | // ensure the file is not read-only, then delete it |
132 | FileAttributes attributes = File.GetAttributes(fileTransfer.Destination); | 136 | FileAttributes attributes = File.GetAttributes(fileTransfer.Destination); |
@@ -137,7 +141,7 @@ namespace WixToolset.Core.Bind | |||
137 | } | 141 | } |
138 | catch (IOException) | 142 | catch (IOException) |
139 | { | 143 | { |
140 | throw new WixException(WixErrors.FileInUse(null, fileTransfer.Destination)); | 144 | throw new WixException(ErrorMessages.FileInUse(null, fileTransfer.Destination)); |
141 | } | 145 | } |
142 | 146 | ||
143 | retry = true; | 147 | retry = true; |
@@ -168,7 +172,7 @@ namespace WixToolset.Core.Bind | |||
168 | } | 172 | } |
169 | catch | 173 | catch |
170 | { | 174 | { |
171 | Messaging.Instance.OnMessage(WixWarnings.UnableToResetAcls()); | 175 | this.Messaging.Write(WarningMessages.UnableToResetAcls()); |
172 | } | 176 | } |
173 | } | 177 | } |
174 | } | 178 | } |
diff --git a/src/WixToolset.Core/BindContext.cs b/src/WixToolset.Core/BindContext.cs index 7ef7ddd4..41d0ddf9 100644 --- a/src/WixToolset.Core/BindContext.cs +++ b/src/WixToolset.Core/BindContext.cs | |||
@@ -17,7 +17,7 @@ namespace WixToolset.Core | |||
17 | 17 | ||
18 | public IServiceProvider ServiceProvider { get; } | 18 | public IServiceProvider ServiceProvider { get; } |
19 | 19 | ||
20 | public Messaging Messaging { get; set; } | 20 | public IMessaging Messaging { get; set; } |
21 | 21 | ||
22 | public IEnumerable<BindPath> BindPaths { get; set; } | 22 | public IEnumerable<BindPath> BindPaths { get; set; } |
23 | 23 | ||
diff --git a/src/WixToolset.Core/Binder.cs b/src/WixToolset.Core/Binder.cs index e282ead8..2369b600 100644 --- a/src/WixToolset.Core/Binder.cs +++ b/src/WixToolset.Core/Binder.cs | |||
@@ -215,7 +215,7 @@ namespace WixToolset.Core | |||
215 | this.Layout(bindResult); | 215 | this.Layout(bindResult); |
216 | } | 216 | } |
217 | 217 | ||
218 | return Messaging.Instance.EncounteredError; | 218 | return this.Context.Messaging.EncounteredError; |
219 | } | 219 | } |
220 | 220 | ||
221 | private ResolveResult Resolve() | 221 | private ResolveResult Resolve() |
@@ -227,6 +227,7 @@ namespace WixToolset.Core | |||
227 | IEnumerable<DelayedField> delayedFields; | 227 | IEnumerable<DelayedField> delayedFields; |
228 | { | 228 | { |
229 | var command = new ResolveFieldsCommand(); | 229 | var command = new ResolveFieldsCommand(); |
230 | command.Messaging = this.Context.Messaging; | ||
230 | command.BuildingPatch = buildingPatch; | 231 | command.BuildingPatch = buildingPatch; |
231 | command.BindVariableResolver = this.Context.WixVariableResolver; | 232 | command.BindVariableResolver = this.Context.WixVariableResolver; |
232 | command.BindPaths = this.Context.BindPaths; | 233 | command.BindPaths = this.Context.BindPaths; |
@@ -437,12 +438,12 @@ namespace WixToolset.Core | |||
437 | { | 438 | { |
438 | if (!this.DeleteTempFiles()) | 439 | if (!this.DeleteTempFiles()) |
439 | { | 440 | { |
440 | this.Context.Messaging.OnMessage(WixWarnings.FailedToDeleteTempDir(this.TempFilesLocation)); | 441 | this.Context.Messaging.Write(WarningMessages.FailedToDeleteTempDir(this.TempFilesLocation)); |
441 | } | 442 | } |
442 | } | 443 | } |
443 | else | 444 | else |
444 | { | 445 | { |
445 | this.Context.Messaging.OnMessage(WixVerboses.BinderTempDirLocatedAt(this.TempFilesLocation)); | 446 | this.Context.Messaging.Write(VerboseMessages.BinderTempDirLocatedAt(this.TempFilesLocation)); |
446 | } | 447 | } |
447 | } | 448 | } |
448 | 449 | ||
@@ -594,9 +595,9 @@ namespace WixToolset.Core | |||
594 | { | 595 | { |
595 | if (null != transfers && transfers.Any()) | 596 | if (null != transfers && transfers.Any()) |
596 | { | 597 | { |
597 | this.Context.Messaging.OnMessage(WixVerboses.LayingOutMedia()); | 598 | this.Context.Messaging.Write(VerboseMessages.LayingOutMedia()); |
598 | 599 | ||
599 | var command = new TransferFilesCommand(this.Context.BindPaths, this.Context.Extensions, transfers, this.Context.SuppressAclReset); | 600 | var command = new TransferFilesCommand(this.Context.Messaging, this.Context.BindPaths, this.Context.Extensions, transfers, this.Context.SuppressAclReset); |
600 | command.Execute(); | 601 | command.Execute(); |
601 | } | 602 | } |
602 | } | 603 | } |
@@ -613,7 +614,7 @@ namespace WixToolset.Core | |||
613 | { | 614 | { |
614 | if (!directories.ContainsKey(directory)) | 615 | if (!directories.ContainsKey(directory)) |
615 | { | 616 | { |
616 | throw new WixException(WixErrors.ExpectedDirectory(directory)); | 617 | throw new WixException(ErrorMessages.ExpectedDirectory(directory)); |
617 | } | 618 | } |
618 | 619 | ||
619 | ResolvedDirectory resolvedDirectory = (ResolvedDirectory)directories[directory]; | 620 | ResolvedDirectory resolvedDirectory = (ResolvedDirectory)directories[directory]; |
diff --git a/src/WixToolset.Core/BinderFileManagerCore.cs b/src/WixToolset.Core/BinderFileManagerCore.cs index 5780983a..e699f0ce 100644 --- a/src/WixToolset.Core/BinderFileManagerCore.cs +++ b/src/WixToolset.Core/BinderFileManagerCore.cs | |||
@@ -96,14 +96,5 @@ namespace WixToolset | |||
96 | 96 | ||
97 | return Enumerable.Empty<string>(); | 97 | return Enumerable.Empty<string>(); |
98 | } | 98 | } |
99 | |||
100 | /// <summary> | ||
101 | /// Sends a message to the message delegate if there is one. | ||
102 | /// </summary> | ||
103 | /// <param name="e">Message event arguments.</param> | ||
104 | public void OnMessage(MessageEventArgs e) | ||
105 | { | ||
106 | Messaging.Instance.OnMessage(e); | ||
107 | } | ||
108 | } | 99 | } |
109 | } | 100 | } |
diff --git a/src/WixToolset.Core/CommandLine/BuildCommand.cs b/src/WixToolset.Core/CommandLine/BuildCommand.cs index 7a63b869..43b75f33 100644 --- a/src/WixToolset.Core/CommandLine/BuildCommand.cs +++ b/src/WixToolset.Core/CommandLine/BuildCommand.cs | |||
@@ -13,9 +13,10 @@ namespace WixToolset.Core | |||
13 | 13 | ||
14 | internal class BuildCommand : ICommandLineCommand | 14 | internal class BuildCommand : ICommandLineCommand |
15 | { | 15 | { |
16 | public BuildCommand(IServiceProvider serviceProvider, IExtensionManager extensions, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables, IEnumerable<string> locFiles, IEnumerable<string> libraryFiles, string outputPath, OutputType outputType, string cabCachePath, IEnumerable<string> cultures, bool bindFiles, IEnumerable<BindPath> bindPaths, string intermediateFolder, string contentsFile, string outputsFile, string builtOutputsFile, string wixProjectFile) | 16 | public BuildCommand(IServiceProvider serviceProvider, IMessaging messaging, IExtensionManager extensions, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables, IEnumerable<string> locFiles, IEnumerable<string> libraryFiles, string outputPath, OutputType outputType, string cabCachePath, IEnumerable<string> cultures, bool bindFiles, IEnumerable<BindPath> bindPaths, string intermediateFolder, string contentsFile, string outputsFile, string builtOutputsFile, string wixProjectFile) |
17 | { | 17 | { |
18 | this.ServiceProvider = serviceProvider; | 18 | this.ServiceProvider = serviceProvider; |
19 | this.Messaging = messaging; | ||
19 | this.ExtensionManager = extensions; | 20 | this.ExtensionManager = extensions; |
20 | this.LocFiles = locFiles; | 21 | this.LocFiles = locFiles; |
21 | this.LibraryFiles = libraryFiles; | 22 | this.LibraryFiles = libraryFiles; |
@@ -38,6 +39,8 @@ namespace WixToolset.Core | |||
38 | 39 | ||
39 | public IServiceProvider ServiceProvider { get; } | 40 | public IServiceProvider ServiceProvider { get; } |
40 | 41 | ||
42 | public IMessaging Messaging { get; } | ||
43 | |||
41 | public IExtensionManager ExtensionManager { get; } | 44 | public IExtensionManager ExtensionManager { get; } |
42 | 45 | ||
43 | public IEnumerable<string> IncludeSearchPaths { get; } | 46 | public IEnumerable<string> IncludeSearchPaths { get; } |
@@ -91,13 +94,13 @@ namespace WixToolset.Core | |||
91 | { | 94 | { |
92 | var output = this.LinkPhase(intermediates); | 95 | var output = this.LinkPhase(intermediates); |
93 | 96 | ||
94 | if (!Messaging.Instance.EncounteredError) | 97 | if (!this.Messaging.EncounteredError) |
95 | { | 98 | { |
96 | this.BindPhase(output); | 99 | this.BindPhase(output); |
97 | } | 100 | } |
98 | } | 101 | } |
99 | 102 | ||
100 | return Messaging.Instance.LastErrorNumber; | 103 | return this.Messaging.LastErrorNumber; |
101 | } | 104 | } |
102 | 105 | ||
103 | private IEnumerable<Intermediate> CompilePhase() | 106 | private IEnumerable<Intermediate> CompilePhase() |
@@ -107,7 +110,7 @@ namespace WixToolset.Core | |||
107 | foreach (var sourceFile in this.SourceFiles) | 110 | foreach (var sourceFile in this.SourceFiles) |
108 | { | 111 | { |
109 | var preprocessContext = this.ServiceProvider.GetService<IPreprocessContext>(); | 112 | var preprocessContext = this.ServiceProvider.GetService<IPreprocessContext>(); |
110 | preprocessContext.Messaging = Messaging.Instance; | 113 | preprocessContext.Messaging = this.Messaging; |
111 | preprocessContext.Extensions = this.ExtensionManager.Create<IPreprocessorExtension>(); | 114 | preprocessContext.Extensions = this.ExtensionManager.Create<IPreprocessorExtension>(); |
112 | preprocessContext.Platform = Platform.X86; // TODO: set this correctly | 115 | preprocessContext.Platform = Platform.X86; // TODO: set this correctly |
113 | preprocessContext.IncludeSearchPaths = this.IncludeSearchPaths?.ToList() ?? new List<string>(); | 116 | preprocessContext.IncludeSearchPaths = this.IncludeSearchPaths?.ToList() ?? new List<string>(); |
@@ -117,18 +120,24 @@ namespace WixToolset.Core | |||
117 | var preprocessor = new Preprocessor(); | 120 | var preprocessor = new Preprocessor(); |
118 | var document = preprocessor.Process(preprocessContext); | 121 | var document = preprocessor.Process(preprocessContext); |
119 | 122 | ||
120 | var compileContext = this.ServiceProvider.GetService<ICompileContext>(); | 123 | if (!this.Messaging.EncounteredError) |
121 | compileContext.Messaging = Messaging.Instance; | 124 | { |
122 | compileContext.CompilationId = Guid.NewGuid().ToString("N"); | 125 | var compileContext = this.ServiceProvider.GetService<ICompileContext>(); |
123 | compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>(); | 126 | compileContext.Messaging = this.Messaging; |
124 | compileContext.OutputPath = sourceFile.OutputPath; | 127 | compileContext.CompilationId = Guid.NewGuid().ToString("N"); |
125 | compileContext.Platform = Platform.X86; // TODO: set this correctly | 128 | compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>(); |
126 | compileContext.Source = document; | 129 | compileContext.OutputPath = sourceFile.OutputPath; |
127 | 130 | compileContext.Platform = Platform.X86; // TODO: set this correctly | |
128 | var compiler = new Compiler(); | 131 | compileContext.Source = document; |
129 | var intermediate = compiler.Compile(compileContext); | 132 | |
130 | 133 | var compiler = new Compiler(); | |
131 | intermediates.Add(intermediate); | 134 | var intermediate = compiler.Compile(compileContext); |
135 | |||
136 | if (!this.Messaging.EncounteredError) | ||
137 | { | ||
138 | intermediates.Add(intermediate); | ||
139 | } | ||
140 | } | ||
132 | } | 141 | } |
133 | 142 | ||
134 | return intermediates; | 143 | return intermediates; |
@@ -139,7 +148,7 @@ namespace WixToolset.Core | |||
139 | var localizations = this.LoadLocalizationFiles().ToList(); | 148 | var localizations = this.LoadLocalizationFiles().ToList(); |
140 | 149 | ||
141 | // If there was an error adding localization files, then bail. | 150 | // If there was an error adding localization files, then bail. |
142 | if (Messaging.Instance.EncounteredError) | 151 | if (this.Messaging.EncounteredError) |
143 | { | 152 | { |
144 | return null; | 153 | return null; |
145 | } | 154 | } |
@@ -166,7 +175,7 @@ namespace WixToolset.Core | |||
166 | var libraries = this.LoadLibraries(creator); | 175 | var libraries = this.LoadLibraries(creator); |
167 | 176 | ||
168 | var context = this.ServiceProvider.GetService<ILinkContext>(); | 177 | var context = this.ServiceProvider.GetService<ILinkContext>(); |
169 | context.Messaging = Messaging.Instance; | 178 | context.Messaging = this.Messaging; |
170 | context.Extensions = this.ExtensionManager.Create<ILinkerExtension>(); | 179 | context.Extensions = this.ExtensionManager.Create<ILinkerExtension>(); |
171 | context.ExtensionData = this.ExtensionManager.Create<IExtensionData>(); | 180 | context.ExtensionData = this.ExtensionManager.Create<IExtensionData>(); |
172 | context.ExpectedOutputType = this.OutputType; | 181 | context.ExpectedOutputType = this.OutputType; |
@@ -182,7 +191,7 @@ namespace WixToolset.Core | |||
182 | { | 191 | { |
183 | var localizations = this.LoadLocalizationFiles().ToList(); | 192 | var localizations = this.LoadLocalizationFiles().ToList(); |
184 | 193 | ||
185 | var localizer = new Localizer(localizations); | 194 | var localizer = new Localizer(this.Messaging, localizations); |
186 | 195 | ||
187 | var resolver = CreateWixResolverWithVariables(localizer, output); | 196 | var resolver = CreateWixResolverWithVariables(localizer, output); |
188 | 197 | ||
@@ -193,7 +202,7 @@ namespace WixToolset.Core | |||
193 | } | 202 | } |
194 | 203 | ||
195 | var context = this.ServiceProvider.GetService<IBindContext>(); | 204 | var context = this.ServiceProvider.GetService<IBindContext>(); |
196 | context.Messaging = Messaging.Instance; | 205 | context.Messaging = this.Messaging; |
197 | context.ExtensionManager = this.ExtensionManager; | 206 | context.ExtensionManager = this.ExtensionManager; |
198 | context.BindPaths = this.BindPaths ?? Array.Empty<BindPath>(); | 207 | context.BindPaths = this.BindPaths ?? Array.Empty<BindPath>(); |
199 | //context.CabbingThreadCount = this.CabbingThreadCount; | 208 | //context.CabbingThreadCount = this.CabbingThreadCount; |
@@ -234,11 +243,11 @@ namespace WixToolset.Core | |||
234 | } | 243 | } |
235 | catch (WixCorruptFileException e) | 244 | catch (WixCorruptFileException e) |
236 | { | 245 | { |
237 | Messaging.Instance.OnMessage(e.Error); | 246 | this.Messaging.Write(e.Error); |
238 | } | 247 | } |
239 | catch (WixUnexpectedFileFormatException e) | 248 | catch (WixUnexpectedFileFormatException e) |
240 | { | 249 | { |
241 | Messaging.Instance.OnMessage(e.Error); | 250 | this.Messaging.Write(e.Error); |
242 | } | 251 | } |
243 | } | 252 | } |
244 | } | 253 | } |
@@ -250,15 +259,15 @@ namespace WixToolset.Core | |||
250 | { | 259 | { |
251 | foreach (var loc in this.LocFiles) | 260 | foreach (var loc in this.LocFiles) |
252 | { | 261 | { |
253 | var localization = Localizer.ParseLocalizationFile(loc); | 262 | var localization = Localizer.ParseLocalizationFile(this.Messaging, loc); |
254 | 263 | ||
255 | yield return localization; | 264 | yield return localization; |
256 | } | 265 | } |
257 | } | 266 | } |
258 | 267 | ||
259 | private static WixVariableResolver CreateWixResolverWithVariables(Localizer localizer, Intermediate output) | 268 | private WixVariableResolver CreateWixResolverWithVariables(Localizer localizer, Intermediate output) |
260 | { | 269 | { |
261 | var resolver = new WixVariableResolver(localizer); | 270 | var resolver = new WixVariableResolver(this.Messaging, localizer); |
262 | 271 | ||
263 | // Gather all the wix variables. | 272 | // Gather all the wix variables. |
264 | var wixVariables = output?.Sections.SelectMany(s => s.Tuples).OfType<WixVariableTuple>(); | 273 | var wixVariables = output?.Sections.SelectMany(s => s.Tuples).OfType<WixVariableTuple>(); |
diff --git a/src/WixToolset.Core/CommandLine/CommandLine.cs b/src/WixToolset.Core/CommandLine/CommandLine.cs index 9bedca9a..9db1b2f9 100644 --- a/src/WixToolset.Core/CommandLine/CommandLine.cs +++ b/src/WixToolset.Core/CommandLine/CommandLine.cs | |||
@@ -24,12 +24,10 @@ namespace WixToolset.Core | |||
24 | 24 | ||
25 | internal class CommandLine : ICommandLine, IParseCommandLine | 25 | internal class CommandLine : ICommandLine, IParseCommandLine |
26 | { | 26 | { |
27 | public CommandLine() | ||
28 | { | ||
29 | } | ||
30 | |||
31 | private IServiceProvider ServiceProvider { get; set; } | 27 | private IServiceProvider ServiceProvider { get; set; } |
32 | 28 | ||
29 | private IMessaging Messaging { get; set; } | ||
30 | |||
33 | public static string ExpectedArgument { get; } = "expected argument"; | 31 | public static string ExpectedArgument { get; } = "expected argument"; |
34 | 32 | ||
35 | public string ActiveCommand { get; private set; } | 33 | public string ActiveCommand { get; private set; } |
@@ -48,6 +46,8 @@ namespace WixToolset.Core | |||
48 | { | 46 | { |
49 | this.ServiceProvider = context.ServiceProvider; | 47 | this.ServiceProvider = context.ServiceProvider; |
50 | 48 | ||
49 | this.Messaging = context.Messaging ?? this.ServiceProvider.GetService<IMessaging>(); | ||
50 | |||
51 | this.ExtensionManager = context.ExtensionManager ?? this.ServiceProvider.GetService<IExtensionManager>(); | 51 | this.ExtensionManager = context.ExtensionManager ?? this.ServiceProvider.GetService<IExtensionManager>(); |
52 | 52 | ||
53 | var args = context.ParsedArguments ?? Array.Empty<string>(); | 53 | var args = context.ParsedArguments ?? Array.Empty<string>(); |
@@ -186,7 +186,7 @@ namespace WixToolset.Core | |||
186 | } | 186 | } |
187 | }); | 187 | }); |
188 | 188 | ||
189 | Messaging.Instance.ShowVerboseMessages = verbose; | 189 | this.Messaging.ShowVerboseMessages = verbose; |
190 | 190 | ||
191 | if (showVersion) | 191 | if (showVersion) |
192 | { | 192 | { |
@@ -208,17 +208,17 @@ namespace WixToolset.Core | |||
208 | case Commands.Build: | 208 | case Commands.Build: |
209 | { | 209 | { |
210 | var sourceFiles = GatherSourceFiles(files, outputFolder); | 210 | var sourceFiles = GatherSourceFiles(files, outputFolder); |
211 | var variables = GatherPreprocessorVariables(defines); | 211 | var variables = this.GatherPreprocessorVariables(defines); |
212 | var bindPathList = GatherBindPaths(bindPaths); | 212 | var bindPathList = this.GatherBindPaths(bindPaths); |
213 | var type = CalculateOutputType(outputType, outputFile); | 213 | var type = CalculateOutputType(outputType, outputFile); |
214 | return new BuildCommand(this.ServiceProvider, this.ExtensionManager, sourceFiles, variables, locFiles, libraryFiles, outputFile, type, cabCachePath, cultures, bindFiles, bindPathList, intermediateFolder, contentsFile, outputsFile, builtOutputsFile, wixProjectFile); | 214 | return new BuildCommand(this.ServiceProvider, this.Messaging, this.ExtensionManager, sourceFiles, variables, locFiles, libraryFiles, outputFile, type, cabCachePath, cultures, bindFiles, bindPathList, intermediateFolder, contentsFile, outputsFile, builtOutputsFile, wixProjectFile); |
215 | } | 215 | } |
216 | 216 | ||
217 | case Commands.Compile: | 217 | case Commands.Compile: |
218 | { | 218 | { |
219 | var sourceFiles = GatherSourceFiles(files, outputFolder); | 219 | var sourceFiles = GatherSourceFiles(files, outputFolder); |
220 | var variables = GatherPreprocessorVariables(defines); | 220 | var variables = GatherPreprocessorVariables(defines); |
221 | return new CompileCommand(this.ServiceProvider, this.ExtensionManager, sourceFiles, variables); | 221 | return new CompileCommand(this.ServiceProvider, this.Messaging, this.ExtensionManager, sourceFiles, variables); |
222 | } | 222 | } |
223 | } | 223 | } |
224 | 224 | ||
@@ -305,7 +305,7 @@ namespace WixToolset.Core | |||
305 | return files; | 305 | return files; |
306 | } | 306 | } |
307 | 307 | ||
308 | private static IDictionary<string, string> GatherPreprocessorVariables(IEnumerable<string> defineConstants) | 308 | private IDictionary<string, string> GatherPreprocessorVariables(IEnumerable<string> defineConstants) |
309 | { | 309 | { |
310 | var variables = new Dictionary<string, string>(); | 310 | var variables = new Dictionary<string, string>(); |
311 | 311 | ||
@@ -315,7 +315,7 @@ namespace WixToolset.Core | |||
315 | 315 | ||
316 | if (variables.ContainsKey(value[0])) | 316 | if (variables.ContainsKey(value[0])) |
317 | { | 317 | { |
318 | Messaging.Instance.OnMessage(WixErrors.DuplicateVariableDefinition(value[0], (1 == value.Length) ? String.Empty : value[1], variables[value[0]])); | 318 | this.Messaging.Write(ErrorMessages.DuplicateVariableDefinition(value[0], (1 == value.Length) ? String.Empty : value[1], variables[value[0]])); |
319 | continue; | 319 | continue; |
320 | } | 320 | } |
321 | 321 | ||
@@ -325,7 +325,7 @@ namespace WixToolset.Core | |||
325 | return variables; | 325 | return variables; |
326 | } | 326 | } |
327 | 327 | ||
328 | private static IEnumerable<BindPath> GatherBindPaths(IEnumerable<string> bindPaths) | 328 | private IEnumerable<BindPath> GatherBindPaths(IEnumerable<string> bindPaths) |
329 | { | 329 | { |
330 | var result = new List<BindPath>(); | 330 | var result = new List<BindPath>(); |
331 | 331 | ||
@@ -339,7 +339,7 @@ namespace WixToolset.Core | |||
339 | } | 339 | } |
340 | else if (File.Exists(bp.Path)) | 340 | else if (File.Exists(bp.Path)) |
341 | { | 341 | { |
342 | Messaging.Instance.OnMessage(WixErrors.ExpectedDirectoryGotFile("-bindpath", bp.Path)); | 342 | this.Messaging.Write(ErrorMessages.ExpectedDirectoryGotFile("-bindpath", bp.Path)); |
343 | } | 343 | } |
344 | } | 344 | } |
345 | 345 | ||
diff --git a/src/WixToolset.Core/CommandLine/CommandLineContext.cs b/src/WixToolset.Core/CommandLine/CommandLineContext.cs index 96c149be..cbb9af53 100644 --- a/src/WixToolset.Core/CommandLine/CommandLineContext.cs +++ b/src/WixToolset.Core/CommandLine/CommandLineContext.cs | |||
@@ -3,7 +3,6 @@ | |||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using WixToolset.Data; | ||
7 | using WixToolset.Extensibility.Services; | 6 | using WixToolset.Extensibility.Services; |
8 | 7 | ||
9 | internal class CommandLineContext : ICommandLineContext | 8 | internal class CommandLineContext : ICommandLineContext |
@@ -15,7 +14,7 @@ namespace WixToolset.Core | |||
15 | 14 | ||
16 | public IServiceProvider ServiceProvider { get; } | 15 | public IServiceProvider ServiceProvider { get; } |
17 | 16 | ||
18 | public Messaging Messaging { get; set; } | 17 | public IMessaging Messaging { get; set; } |
19 | 18 | ||
20 | public IExtensionManager ExtensionManager { get; set; } | 19 | public IExtensionManager ExtensionManager { get; set; } |
21 | 20 | ||
diff --git a/src/WixToolset.Core/CommandLine/CompileCommand.cs b/src/WixToolset.Core/CommandLine/CompileCommand.cs index e7fcdd4d..856dd29f 100644 --- a/src/WixToolset.Core/CommandLine/CompileCommand.cs +++ b/src/WixToolset.Core/CommandLine/CompileCommand.cs | |||
@@ -11,16 +11,19 @@ namespace WixToolset.Core | |||
11 | 11 | ||
12 | internal class CompileCommand : ICommandLineCommand | 12 | internal class CompileCommand : ICommandLineCommand |
13 | { | 13 | { |
14 | public CompileCommand(IServiceProvider serviceProvider, IExtensionManager extensions, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables) | 14 | public CompileCommand(IServiceProvider serviceProvider, IMessaging messaging, IExtensionManager extensions, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables) |
15 | { | 15 | { |
16 | this.PreprocessorVariables = preprocessorVariables; | 16 | this.PreprocessorVariables = preprocessorVariables; |
17 | this.ServiceProvider = serviceProvider; | 17 | this.ServiceProvider = serviceProvider; |
18 | this.Messaging = messaging; | ||
18 | this.ExtensionManager = extensions; | 19 | this.ExtensionManager = extensions; |
19 | this.SourceFiles = sources; | 20 | this.SourceFiles = sources; |
20 | } | 21 | } |
21 | 22 | ||
22 | private IServiceProvider ServiceProvider { get; } | 23 | private IServiceProvider ServiceProvider { get; } |
23 | 24 | ||
25 | private IMessaging Messaging { get; } | ||
26 | |||
24 | private IExtensionManager ExtensionManager { get; } | 27 | private IExtensionManager ExtensionManager { get; } |
25 | 28 | ||
26 | public IEnumerable<string> IncludeSearchPaths { get; } | 29 | public IEnumerable<string> IncludeSearchPaths { get; } |
@@ -34,7 +37,7 @@ namespace WixToolset.Core | |||
34 | foreach (var sourceFile in this.SourceFiles) | 37 | foreach (var sourceFile in this.SourceFiles) |
35 | { | 38 | { |
36 | var preprocessContext = this.ServiceProvider.GetService<IPreprocessContext>(); | 39 | var preprocessContext = this.ServiceProvider.GetService<IPreprocessContext>(); |
37 | preprocessContext.Messaging = Messaging.Instance; | 40 | preprocessContext.Messaging = this.Messaging; |
38 | preprocessContext.Extensions = this.ExtensionManager.Create<IPreprocessorExtension>(); | 41 | preprocessContext.Extensions = this.ExtensionManager.Create<IPreprocessorExtension>(); |
39 | preprocessContext.Platform = Platform.X86; // TODO: set this correctly | 42 | preprocessContext.Platform = Platform.X86; // TODO: set this correctly |
40 | preprocessContext.IncludeSearchPaths = this.IncludeSearchPaths?.ToList() ?? new List<string>(); | 43 | preprocessContext.IncludeSearchPaths = this.IncludeSearchPaths?.ToList() ?? new List<string>(); |
@@ -45,7 +48,7 @@ namespace WixToolset.Core | |||
45 | var document = preprocessor.Process(preprocessContext); | 48 | var document = preprocessor.Process(preprocessContext); |
46 | 49 | ||
47 | var compileContext = this.ServiceProvider.GetService<ICompileContext>(); | 50 | var compileContext = this.ServiceProvider.GetService<ICompileContext>(); |
48 | compileContext.Messaging = Messaging.Instance; | 51 | compileContext.Messaging = this.Messaging; |
49 | compileContext.CompilationId = Guid.NewGuid().ToString("N"); | 52 | compileContext.CompilationId = Guid.NewGuid().ToString("N"); |
50 | compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>(); | 53 | compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>(); |
51 | compileContext.OutputPath = sourceFile.OutputPath; | 54 | compileContext.OutputPath = sourceFile.OutputPath; |
diff --git a/src/WixToolset.Core/Common.cs b/src/WixToolset.Core/Common.cs index 9a0d3aec..ebcbd36f 100644 --- a/src/WixToolset.Core/Common.cs +++ b/src/WixToolset.Core/Common.cs | |||
@@ -14,6 +14,7 @@ namespace WixToolset.Core | |||
14 | using System.Xml.Linq; | 14 | using System.Xml.Linq; |
15 | using WixToolset.Data; | 15 | using WixToolset.Data; |
16 | using WixToolset.Extensibility; | 16 | using WixToolset.Extensibility; |
17 | using WixToolset.Extensibility.Services; | ||
17 | 18 | ||
18 | /// <summary> | 19 | /// <summary> |
19 | /// Common Wix utility methods and types. | 20 | /// Common Wix utility methods and types. |
@@ -111,7 +112,7 @@ namespace WixToolset.Core | |||
111 | /// <param name="path">The temporary directory to delete.</param> | 112 | /// <param name="path">The temporary directory to delete.</param> |
112 | /// <param name="messageHandler">The message handler.</param> | 113 | /// <param name="messageHandler">The message handler.</param> |
113 | /// <returns>True if all files were deleted, false otherwise.</returns> | 114 | /// <returns>True if all files were deleted, false otherwise.</returns> |
114 | internal static bool DeleteTempFiles(string path, IMessageHandler messageHandler) | 115 | internal static bool DeleteTempFiles(string path, IMessaging messageHandler) |
115 | { | 116 | { |
116 | // try three times and give up with a warning if the temp files aren't gone by then | 117 | // try three times and give up with a warning if the temp files aren't gone by then |
117 | int retryLimit = 3; | 118 | int retryLimit = 3; |
@@ -133,7 +134,7 @@ namespace WixToolset.Core | |||
133 | } | 134 | } |
134 | else | 135 | else |
135 | { | 136 | { |
136 | messageHandler.OnMessage(WixWarnings.AccessDeniedForDeletion(null, path)); | 137 | messageHandler.Write(WarningMessages.AccessDeniedForDeletion(null, path)); |
137 | return false; | 138 | return false; |
138 | } | 139 | } |
139 | } | 140 | } |
@@ -146,7 +147,7 @@ namespace WixToolset.Core | |||
146 | { | 147 | { |
147 | if (i == (retryLimit - 1)) // last try failed still, give up | 148 | if (i == (retryLimit - 1)) // last try failed still, give up |
148 | { | 149 | { |
149 | messageHandler.OnMessage(WixWarnings.DirectoryInUse(null, path)); | 150 | messageHandler.Write(WarningMessages.DirectoryInUse(null, path)); |
150 | return false; | 151 | return false; |
151 | } | 152 | } |
152 | 153 | ||
@@ -203,7 +204,7 @@ namespace WixToolset.Core | |||
203 | codePage = encoding.CodePage; | 204 | codePage = encoding.CodePage; |
204 | if (0 > codePage || Int16.MaxValue < codePage) | 205 | if (0 > codePage || Int16.MaxValue < codePage) |
205 | { | 206 | { |
206 | throw new WixException(WixErrors.InvalidSummaryInfoCodePage(sourceLineNumbers, codePage)); | 207 | throw new WixException(ErrorMessages.InvalidSummaryInfoCodePage(sourceLineNumbers, codePage)); |
207 | } | 208 | } |
208 | } | 209 | } |
209 | 210 | ||
@@ -327,7 +328,7 @@ namespace WixToolset.Core | |||
327 | case "true": | 328 | case "true": |
328 | return true; | 329 | return true; |
329 | default: | 330 | default: |
330 | throw new WixException(WixErrors.IllegalAttributeValue(sourceLineNumbers, elementName, attributeName, value, "no", "yes")); | 331 | throw new WixException(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, elementName, attributeName, value, "no", "yes")); |
331 | } | 332 | } |
332 | } | 333 | } |
333 | 334 | ||
@@ -433,7 +434,7 @@ namespace WixToolset.Core | |||
433 | /// <param name="fileAttribute">The FileAttribute to change on each file.</param> | 434 | /// <param name="fileAttribute">The FileAttribute to change on each file.</param> |
434 | /// <param name="messageHandler">The message handler.</param> | 435 | /// <param name="messageHandler">The message handler.</param> |
435 | /// <param name="markAttribute">If true, add the attribute to each file. If false, remove it.</param> | 436 | /// <param name="markAttribute">If true, add the attribute to each file. If false, remove it.</param> |
436 | private static void RecursiveFileAttributes(string path, FileAttributes fileAttribute, bool markAttribute, IMessageHandler messageHandler) | 437 | private static void RecursiveFileAttributes(string path, FileAttributes fileAttribute, bool markAttribute, IMessaging messageHandler) |
437 | { | 438 | { |
438 | foreach (string subDirectory in Directory.GetDirectories(path)) | 439 | foreach (string subDirectory in Directory.GetDirectories(path)) |
439 | { | 440 | { |
@@ -458,7 +459,7 @@ namespace WixToolset.Core | |||
458 | } | 459 | } |
459 | catch (UnauthorizedAccessException) | 460 | catch (UnauthorizedAccessException) |
460 | { | 461 | { |
461 | messageHandler.OnMessage(WixWarnings.AccessDeniedForSettingAttributes(null, filePath)); | 462 | messageHandler.Write(WarningMessages.AccessDeniedForSettingAttributes(null, filePath)); |
462 | } | 463 | } |
463 | } | 464 | } |
464 | } | 465 | } |
@@ -624,14 +625,14 @@ namespace WixToolset.Core | |||
624 | /// <param name="emptyRule">A rule for the contents of the value. If the contents do not follow the rule, an error is thrown.</param> | 625 | /// <param name="emptyRule">A rule for the contents of the value. If the contents do not follow the rule, an error is thrown.</param> |
625 | /// <param name="messageHandler">A delegate that receives error messages.</param> | 626 | /// <param name="messageHandler">A delegate that receives error messages.</param> |
626 | /// <returns>The attribute's value.</returns> | 627 | /// <returns>The attribute's value.</returns> |
627 | internal static string GetAttributeValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, EmptyRule emptyRule) | 628 | internal static string GetAttributeValue(IMessaging messaging, SourceLineNumber sourceLineNumbers, XAttribute attribute, EmptyRule emptyRule) |
628 | { | 629 | { |
629 | string value = attribute.Value; | 630 | string value = attribute.Value; |
630 | 631 | ||
631 | if ((emptyRule == EmptyRule.MustHaveNonWhitespaceCharacters && String.IsNullOrEmpty(value.Trim())) || | 632 | if ((emptyRule == EmptyRule.MustHaveNonWhitespaceCharacters && String.IsNullOrEmpty(value.Trim())) || |
632 | (emptyRule == EmptyRule.CanBeWhitespaceOnly && String.IsNullOrEmpty(value))) | 633 | (emptyRule == EmptyRule.CanBeWhitespaceOnly && String.IsNullOrEmpty(value))) |
633 | { | 634 | { |
634 | Messaging.Instance.OnMessage(WixErrors.IllegalEmptyAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); | 635 | messaging.Write(ErrorMessages.IllegalEmptyAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); |
635 | return String.Empty; | 636 | return String.Empty; |
636 | } | 637 | } |
637 | 638 | ||
@@ -663,15 +664,15 @@ namespace WixToolset.Core | |||
663 | /// <param name="attribute">The attribute containing the value to get.</param> | 664 | /// <param name="attribute">The attribute containing the value to get.</param> |
664 | /// <param name="messageHandler">A delegate that receives error messages.</param> | 665 | /// <param name="messageHandler">A delegate that receives error messages.</param> |
665 | /// <returns>The attribute's identifier value or a special value if an error occurred.</returns> | 666 | /// <returns>The attribute's identifier value or a special value if an error occurred.</returns> |
666 | internal static string GetAttributeIdentifierValue(SourceLineNumber sourceLineNumbers, XAttribute attribute) | 667 | internal static string GetAttributeIdentifierValue(IMessaging messaging, SourceLineNumber sourceLineNumbers, XAttribute attribute) |
667 | { | 668 | { |
668 | string value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly); | 669 | string value = Common.GetAttributeValue(messaging, sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly); |
669 | 670 | ||
670 | if (Common.IsIdentifier(value)) | 671 | if (Common.IsIdentifier(value)) |
671 | { | 672 | { |
672 | if (72 < value.Length) | 673 | if (72 < value.Length) |
673 | { | 674 | { |
674 | Messaging.Instance.OnMessage(WixWarnings.IdentifierTooLong(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 675 | messaging.Write(WarningMessages.IdentifierTooLong(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
675 | } | 676 | } |
676 | 677 | ||
677 | return value; | 678 | return value; |
@@ -680,11 +681,11 @@ namespace WixToolset.Core | |||
680 | { | 681 | { |
681 | if (value.StartsWith("[", StringComparison.Ordinal) && value.EndsWith("]", StringComparison.Ordinal)) | 682 | if (value.StartsWith("[", StringComparison.Ordinal) && value.EndsWith("]", StringComparison.Ordinal)) |
682 | { | 683 | { |
683 | Messaging.Instance.OnMessage(WixErrors.IllegalIdentifierLooksLikeFormatted(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 684 | messaging.Write(ErrorMessages.IllegalIdentifierLooksLikeFormatted(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
684 | } | 685 | } |
685 | else | 686 | else |
686 | { | 687 | { |
687 | Messaging.Instance.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 688 | messaging.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
688 | } | 689 | } |
689 | 690 | ||
690 | return String.Empty; | 691 | return String.Empty; |
@@ -700,11 +701,11 @@ namespace WixToolset.Core | |||
700 | /// <param name="maximum">The maximum legal value.</param> | 701 | /// <param name="maximum">The maximum legal value.</param> |
701 | /// <param name="messageHandler">A delegate that receives error messages.</param> | 702 | /// <param name="messageHandler">A delegate that receives error messages.</param> |
702 | /// <returns>The attribute's integer value or a special value if an error occurred during conversion.</returns> | 703 | /// <returns>The attribute's integer value or a special value if an error occurred during conversion.</returns> |
703 | public static int GetAttributeIntegerValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, int minimum, int maximum) | 704 | public static int GetAttributeIntegerValue(IMessaging messaging, SourceLineNumber sourceLineNumbers, XAttribute attribute, int minimum, int maximum) |
704 | { | 705 | { |
705 | Debug.Assert(minimum > CompilerConstants.IntegerNotSet && minimum > CompilerConstants.IllegalInteger, "The legal values for this attribute collide with at least one sentinel used during parsing."); | 706 | Debug.Assert(minimum > CompilerConstants.IntegerNotSet && minimum > CompilerConstants.IllegalInteger, "The legal values for this attribute collide with at least one sentinel used during parsing."); |
706 | 707 | ||
707 | string value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly); | 708 | string value = Common.GetAttributeValue(messaging, sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly); |
708 | int integer = CompilerConstants.IllegalInteger; | 709 | int integer = CompilerConstants.IllegalInteger; |
709 | 710 | ||
710 | if (0 < value.Length) | 711 | if (0 < value.Length) |
@@ -713,17 +714,17 @@ namespace WixToolset.Core | |||
713 | { | 714 | { |
714 | if (CompilerConstants.IntegerNotSet == integer || CompilerConstants.IllegalInteger == integer) | 715 | if (CompilerConstants.IntegerNotSet == integer || CompilerConstants.IllegalInteger == integer) |
715 | { | 716 | { |
716 | Messaging.Instance.OnMessage(WixErrors.IntegralValueSentinelCollision(sourceLineNumbers, integer)); | 717 | messaging.Write(ErrorMessages.IntegralValueSentinelCollision(sourceLineNumbers, integer)); |
717 | } | 718 | } |
718 | else if (minimum > integer || maximum < integer) | 719 | else if (minimum > integer || maximum < integer) |
719 | { | 720 | { |
720 | Messaging.Instance.OnMessage(WixErrors.IntegralValueOutOfRange(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, integer, minimum, maximum)); | 721 | messaging.Write(ErrorMessages.IntegralValueOutOfRange(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, integer, minimum, maximum)); |
721 | integer = CompilerConstants.IllegalInteger; | 722 | integer = CompilerConstants.IllegalInteger; |
722 | } | 723 | } |
723 | } | 724 | } |
724 | else | 725 | else |
725 | { | 726 | { |
726 | Messaging.Instance.OnMessage(WixErrors.IllegalIntegerValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 727 | messaging.Write(ErrorMessages.IllegalIntegerValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
727 | } | 728 | } |
728 | } | 729 | } |
729 | 730 | ||
@@ -737,9 +738,9 @@ namespace WixToolset.Core | |||
737 | /// <param name="attribute">The attribute containing the value to get.</param> | 738 | /// <param name="attribute">The attribute containing the value to get.</param> |
738 | /// <param name="messageHandler">A delegate that receives error messages.</param> | 739 | /// <param name="messageHandler">A delegate that receives error messages.</param> |
739 | /// <returns>The attribute's YesNoType value.</returns> | 740 | /// <returns>The attribute's YesNoType value.</returns> |
740 | internal static YesNoType GetAttributeYesNoValue(SourceLineNumber sourceLineNumbers, XAttribute attribute) | 741 | internal static YesNoType GetAttributeYesNoValue(IMessaging messaging, SourceLineNumber sourceLineNumbers, XAttribute attribute) |
741 | { | 742 | { |
742 | string value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly); | 743 | string value = Common.GetAttributeValue(messaging, sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly); |
743 | YesNoType yesNo = YesNoType.IllegalValue; | 744 | YesNoType yesNo = YesNoType.IllegalValue; |
744 | 745 | ||
745 | if ("yes".Equals(value) || "true".Equals(value)) | 746 | if ("yes".Equals(value) || "true".Equals(value)) |
@@ -752,7 +753,7 @@ namespace WixToolset.Core | |||
752 | } | 753 | } |
753 | else | 754 | else |
754 | { | 755 | { |
755 | Messaging.Instance.OnMessage(WixErrors.IllegalYesNoValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 756 | messaging.Write(ErrorMessages.IllegalYesNoValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
756 | } | 757 | } |
757 | 758 | ||
758 | return yesNo; | 759 | return yesNo; |
@@ -776,13 +777,13 @@ namespace WixToolset.Core | |||
776 | /// </summary> | 777 | /// </summary> |
777 | /// <param name="sourceLineNumbers">Source line information about the owner element.</param> | 778 | /// <param name="sourceLineNumbers">Source line information about the owner element.</param> |
778 | /// <param name="attribute">The attribute.</param> | 779 | /// <param name="attribute">The attribute.</param> |
779 | public static void UnexpectedAttribute(SourceLineNumber sourceLineNumbers, XAttribute attribute) | 780 | public static void UnexpectedAttribute(IMessaging messaging, SourceLineNumber sourceLineNumbers, XAttribute attribute) |
780 | { | 781 | { |
781 | // Ignore elements defined by the W3C because we'll assume they are always right. | 782 | // Ignore elements defined by the W3C because we'll assume they are always right. |
782 | if (!((String.IsNullOrEmpty(attribute.Name.NamespaceName) && attribute.Name.LocalName.Equals("xmlns", StringComparison.Ordinal)) || | 783 | if (!((String.IsNullOrEmpty(attribute.Name.NamespaceName) && attribute.Name.LocalName.Equals("xmlns", StringComparison.Ordinal)) || |
783 | attribute.Name.NamespaceName.StartsWith(CompilerCore.W3SchemaPrefix.NamespaceName, StringComparison.Ordinal))) | 784 | attribute.Name.NamespaceName.StartsWith(CompilerCore.W3SchemaPrefix.NamespaceName, StringComparison.Ordinal))) |
784 | { | 785 | { |
785 | Messaging.Instance.OnMessage(WixErrors.UnexpectedAttribute(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); | 786 | messaging.Write(ErrorMessages.UnexpectedAttribute(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); |
786 | } | 787 | } |
787 | } | 788 | } |
788 | 789 | ||
@@ -791,13 +792,13 @@ namespace WixToolset.Core | |||
791 | /// </summary> | 792 | /// </summary> |
792 | /// <param name="sourceLineNumbers">Source line information about the owner element.</param> | 793 | /// <param name="sourceLineNumbers">Source line information about the owner element.</param> |
793 | /// <param name="extensionAttribute">The extension attribute.</param> | 794 | /// <param name="extensionAttribute">The extension attribute.</param> |
794 | internal static void UnsupportedExtensionAttribute(SourceLineNumber sourceLineNumbers, XAttribute extensionAttribute) | 795 | internal static void UnsupportedExtensionAttribute(IMessaging messaging, SourceLineNumber sourceLineNumbers, XAttribute extensionAttribute) |
795 | { | 796 | { |
796 | // Ignore elements defined by the W3C because we'll assume they are always right. | 797 | // Ignore elements defined by the W3C because we'll assume they are always right. |
797 | if (!((String.IsNullOrEmpty(extensionAttribute.Name.NamespaceName) && extensionAttribute.Name.LocalName.Equals("xmlns", StringComparison.Ordinal)) || | 798 | if (!((String.IsNullOrEmpty(extensionAttribute.Name.NamespaceName) && extensionAttribute.Name.LocalName.Equals("xmlns", StringComparison.Ordinal)) || |
798 | extensionAttribute.Name.NamespaceName.StartsWith(CompilerCore.W3SchemaPrefix.NamespaceName, StringComparison.Ordinal))) | 799 | extensionAttribute.Name.NamespaceName.StartsWith(CompilerCore.W3SchemaPrefix.NamespaceName, StringComparison.Ordinal))) |
799 | { | 800 | { |
800 | Messaging.Instance.OnMessage(WixErrors.UnsupportedExtensionAttribute(sourceLineNumbers, extensionAttribute.Parent.Name.LocalName, extensionAttribute.Name.LocalName)); | 801 | messaging.Write(ErrorMessages.UnsupportedExtensionAttribute(sourceLineNumbers, extensionAttribute.Parent.Name.LocalName, extensionAttribute.Name.LocalName)); |
801 | } | 802 | } |
802 | } | 803 | } |
803 | } | 804 | } |
diff --git a/src/WixToolset.Core/CompileContext.cs b/src/WixToolset.Core/CompileContext.cs index 85759ec9..fcca94d8 100644 --- a/src/WixToolset.Core/CompileContext.cs +++ b/src/WixToolset.Core/CompileContext.cs | |||
@@ -7,6 +7,7 @@ namespace WixToolset.Core | |||
7 | using System.Xml.Linq; | 7 | using System.Xml.Linq; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Extensibility; | 9 | using WixToolset.Extensibility; |
10 | using WixToolset.Extensibility.Services; | ||
10 | 11 | ||
11 | public class CompileContext : ICompileContext | 12 | public class CompileContext : ICompileContext |
12 | { | 13 | { |
@@ -17,7 +18,7 @@ namespace WixToolset.Core | |||
17 | 18 | ||
18 | public IServiceProvider ServiceProvider { get; } | 19 | public IServiceProvider ServiceProvider { get; } |
19 | 20 | ||
20 | public Messaging Messaging { get; set; } | 21 | public IMessaging Messaging { get; set; } |
21 | 22 | ||
22 | public string CompilationId { get; set; } | 23 | public string CompilationId { get; set; } |
23 | 24 | ||
diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs index 78461b44..74ca86ac 100644 --- a/src/WixToolset.Core/Compiler.cs +++ b/src/WixToolset.Core/Compiler.cs | |||
@@ -112,7 +112,7 @@ namespace WixToolset.Core | |||
112 | } | 112 | } |
113 | else | 113 | else |
114 | { | 114 | { |
115 | Messaging.Instance.OnMessage(WixErrors.DuplicateExtensionXmlSchemaNamespace(extension.GetType().ToString(), extension.Namespace.NamespaceName, collidingExtension.GetType().ToString())); | 115 | this.Context.Messaging.Write(ErrorMessages.DuplicateExtensionXmlSchemaNamespace(extension.GetType().ToString(), extension.Namespace.NamespaceName, collidingExtension.GetType().ToString())); |
116 | } | 116 | } |
117 | 117 | ||
118 | extension.PreCompile(context); | 118 | extension.PreCompile(context); |
@@ -123,9 +123,9 @@ namespace WixToolset.Core | |||
123 | { | 123 | { |
124 | var parseHelper = context.ServiceProvider.GetService<IParseHelper>(); | 124 | var parseHelper = context.ServiceProvider.GetService<IParseHelper>(); |
125 | 125 | ||
126 | this.Core = new CompilerCore(target, parseHelper, extensionsByNamespace); | 126 | this.Core = new CompilerCore(target, this.Context.Messaging, parseHelper, extensionsByNamespace); |
127 | this.Core.ShowPedanticMessages = this.ShowPedanticMessages; | 127 | this.Core.ShowPedanticMessages = this.ShowPedanticMessages; |
128 | this.componentIdPlaceholdersResolver = new WixVariableResolver(); | 128 | this.componentIdPlaceholdersResolver = new WixVariableResolver(this.Context.Messaging); |
129 | 129 | ||
130 | // parse the document | 130 | // parse the document |
131 | var source = context.Source; | 131 | var source = context.Source; |
@@ -140,17 +140,17 @@ namespace WixToolset.Core | |||
140 | { | 140 | { |
141 | if (String.IsNullOrEmpty(source.Root.Name.NamespaceName)) | 141 | if (String.IsNullOrEmpty(source.Root.Name.NamespaceName)) |
142 | { | 142 | { |
143 | this.Core.OnMessage(WixErrors.InvalidWixXmlNamespace(sourceLineNumbers, "Wix", CompilerCore.WixNamespace.ToString())); | 143 | this.Core.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, "Wix", CompilerCore.WixNamespace.ToString())); |
144 | } | 144 | } |
145 | else | 145 | else |
146 | { | 146 | { |
147 | this.Core.OnMessage(WixErrors.InvalidWixXmlNamespace(sourceLineNumbers, "Wix", source.Root.Name.NamespaceName, CompilerCore.WixNamespace.ToString())); | 147 | this.Core.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, "Wix", source.Root.Name.NamespaceName, CompilerCore.WixNamespace.ToString())); |
148 | } | 148 | } |
149 | } | 149 | } |
150 | } | 150 | } |
151 | else | 151 | else |
152 | { | 152 | { |
153 | this.Core.OnMessage(WixErrors.InvalidDocumentElement(sourceLineNumbers, source.Root.Name.LocalName, "source", "Wix")); | 153 | this.Core.Write(ErrorMessages.InvalidDocumentElement(sourceLineNumbers, source.Root.Name.LocalName, "source", "Wix")); |
154 | } | 154 | } |
155 | 155 | ||
156 | // Resolve any Component Id placeholders compiled into the intermediate. | 156 | // Resolve any Component Id placeholders compiled into the intermediate. |
@@ -189,7 +189,7 @@ namespace WixToolset.Core | |||
189 | this.Core = null; | 189 | this.Core = null; |
190 | } | 190 | } |
191 | 191 | ||
192 | return Messaging.Instance.EncounteredError ? null : target; | 192 | return this.Context.Messaging.EncounteredError ? null : target; |
193 | } | 193 | } |
194 | 194 | ||
195 | /// <summary> | 195 | /// <summary> |
@@ -204,7 +204,7 @@ namespace WixToolset.Core | |||
204 | return s; | 204 | return s; |
205 | } | 205 | } |
206 | 206 | ||
207 | return String.Concat(s.Substring(0, 1).ToUpper(CultureInfo.InvariantCulture), s.Substring(1)); | 207 | return String.Concat(s.Substring(0, 1).ToUpperInvariant(), s.Substring(1)); |
208 | } | 208 | } |
209 | 209 | ||
210 | /// <summary> | 210 | /// <summary> |
@@ -254,7 +254,7 @@ namespace WixToolset.Core | |||
254 | { | 254 | { |
255 | if (property.Id != property.Id.ToUpperInvariant()) | 255 | if (property.Id != property.Id.ToUpperInvariant()) |
256 | { | 256 | { |
257 | this.Core.OnMessage(WixErrors.SearchPropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id)); | 257 | this.Core.Write(ErrorMessages.SearchPropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id)); |
258 | } | 258 | } |
259 | 259 | ||
260 | var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.AppSearch, property); | 260 | var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.AppSearch, property); |
@@ -290,7 +290,7 @@ namespace WixToolset.Core | |||
290 | Group group = match.Groups["identifier"]; | 290 | Group group = match.Groups["identifier"]; |
291 | if (group.Success) | 291 | if (group.Success) |
292 | { | 292 | { |
293 | this.Core.OnMessage(WixWarnings.PropertyValueContainsPropertyReference(sourceLineNumbers, property.Id, group.Value)); | 293 | this.Core.Write(WarningMessages.PropertyValueContainsPropertyReference(sourceLineNumbers, property.Id, group.Value)); |
294 | } | 294 | } |
295 | } | 295 | } |
296 | } | 296 | } |
@@ -330,7 +330,7 @@ namespace WixToolset.Core | |||
330 | { | 330 | { |
331 | if (secure && property.Id != property.Id.ToUpperInvariant()) | 331 | if (secure && property.Id != property.Id.ToUpperInvariant()) |
332 | { | 332 | { |
333 | this.Core.OnMessage(WixErrors.SecurePropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id)); | 333 | this.Core.Write(ErrorMessages.SecurePropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id)); |
334 | } | 334 | } |
335 | 335 | ||
336 | if (null == section) | 336 | if (null == section) |
@@ -426,12 +426,12 @@ namespace WixToolset.Core | |||
426 | 426 | ||
427 | if (null == appId) | 427 | if (null == appId) |
428 | { | 428 | { |
429 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 429 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
430 | } | 430 | } |
431 | 431 | ||
432 | if ((YesNoType.No == advertise && YesNoType.Yes == appIdAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == appIdAdvertise)) | 432 | if ((YesNoType.No == advertise && YesNoType.Yes == appIdAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == appIdAdvertise)) |
433 | { | 433 | { |
434 | this.Core.OnMessage(WixErrors.AppIdIncompatibleAdvertiseState(sourceLineNumbers, node.Name.LocalName, "Advertise", appIdAdvertise.ToString(), advertise.ToString())); | 434 | this.Core.Write(ErrorMessages.AppIdIncompatibleAdvertiseState(sourceLineNumbers, node.Name.LocalName, "Advertise", appIdAdvertise.ToString(), advertise.ToString())); |
435 | } | 435 | } |
436 | else | 436 | else |
437 | { | 437 | { |
@@ -468,7 +468,7 @@ namespace WixToolset.Core | |||
468 | { | 468 | { |
469 | if (null != description) | 469 | if (null != description) |
470 | { | 470 | { |
471 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Description")); | 471 | this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Description")); |
472 | } | 472 | } |
473 | 473 | ||
474 | if (!this.Core.EncounteredError) | 474 | if (!this.Core.EncounteredError) |
@@ -569,7 +569,7 @@ namespace WixToolset.Core | |||
569 | 569 | ||
570 | if (null == id) | 570 | if (null == id) |
571 | { | 571 | { |
572 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 572 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
573 | } | 573 | } |
574 | 574 | ||
575 | this.Core.ParseForExtensionElements(node); | 575 | this.Core.ParseForExtensionElements(node); |
@@ -609,12 +609,12 @@ namespace WixToolset.Core | |||
609 | case "src": | 609 | case "src": |
610 | if (null != sourceFile) | 610 | if (null != sourceFile) |
611 | { | 611 | { |
612 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile", "src")); | 612 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile", "src")); |
613 | } | 613 | } |
614 | 614 | ||
615 | if ("src" == attrib.Name.LocalName) | 615 | if ("src" == attrib.Name.LocalName) |
616 | { | 616 | { |
617 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourceFile")); | 617 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourceFile")); |
618 | } | 618 | } |
619 | sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 619 | sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
620 | break; | 620 | break; |
@@ -634,27 +634,27 @@ namespace WixToolset.Core | |||
634 | 634 | ||
635 | if (null == id) | 635 | if (null == id) |
636 | { | 636 | { |
637 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 637 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
638 | id = Identifier.Invalid; | 638 | id = Identifier.Invalid; |
639 | } | 639 | } |
640 | else if (!String.IsNullOrEmpty(id.Id)) // only check legal values | 640 | else if (!String.IsNullOrEmpty(id.Id)) // only check legal values |
641 | { | 641 | { |
642 | if (55 < id.Id.Length) | 642 | if (55 < id.Id.Length) |
643 | { | 643 | { |
644 | this.Core.OnMessage(WixErrors.StreamNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 55)); | 644 | this.Core.Write(ErrorMessages.StreamNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 55)); |
645 | } | 645 | } |
646 | else if (!this.compilingProduct) // if we're not doing a product then we can't be sure that a binary identifier will fit when modularized | 646 | else if (!this.compilingProduct) // if we're not doing a product then we can't be sure that a binary identifier will fit when modularized |
647 | { | 647 | { |
648 | if (18 < id.Id.Length) | 648 | if (18 < id.Id.Length) |
649 | { | 649 | { |
650 | this.Core.OnMessage(WixWarnings.IdentifierCannotBeModularized(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 18)); | 650 | this.Core.Write(WarningMessages.IdentifierCannotBeModularized(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 18)); |
651 | } | 651 | } |
652 | } | 652 | } |
653 | } | 653 | } |
654 | 654 | ||
655 | if (null == sourceFile) | 655 | if (null == sourceFile) |
656 | { | 656 | { |
657 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 657 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
658 | } | 658 | } |
659 | 659 | ||
660 | this.Core.ParseForExtensionElements(node); | 660 | this.Core.ParseForExtensionElements(node); |
@@ -710,27 +710,27 @@ namespace WixToolset.Core | |||
710 | 710 | ||
711 | if (null == id) | 711 | if (null == id) |
712 | { | 712 | { |
713 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 713 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
714 | id = Identifier.Invalid; | 714 | id = Identifier.Invalid; |
715 | } | 715 | } |
716 | else if (!String.IsNullOrEmpty(id.Id)) // only check legal values | 716 | else if (!String.IsNullOrEmpty(id.Id)) // only check legal values |
717 | { | 717 | { |
718 | if (57 < id.Id.Length) | 718 | if (57 < id.Id.Length) |
719 | { | 719 | { |
720 | this.Core.OnMessage(WixErrors.StreamNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 57)); | 720 | this.Core.Write(ErrorMessages.StreamNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 57)); |
721 | } | 721 | } |
722 | else if (!this.compilingProduct) // if we're not doing a product then we can't be sure that a binary identifier will fit when modularized | 722 | else if (!this.compilingProduct) // if we're not doing a product then we can't be sure that a binary identifier will fit when modularized |
723 | { | 723 | { |
724 | if (20 < id.Id.Length) | 724 | if (20 < id.Id.Length) |
725 | { | 725 | { |
726 | this.Core.OnMessage(WixWarnings.IdentifierCannotBeModularized(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 20)); | 726 | this.Core.Write(WarningMessages.IdentifierCannotBeModularized(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 20)); |
727 | } | 727 | } |
728 | } | 728 | } |
729 | } | 729 | } |
730 | 730 | ||
731 | if (null == sourceFile) | 731 | if (null == sourceFile) |
732 | { | 732 | { |
733 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 733 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
734 | } | 734 | } |
735 | 735 | ||
736 | this.Core.ParseForExtensionElements(node); | 736 | this.Core.ParseForExtensionElements(node); |
@@ -776,7 +776,7 @@ namespace WixToolset.Core | |||
776 | 776 | ||
777 | if (null == property) | 777 | if (null == property) |
778 | { | 778 | { |
779 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); | 779 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); |
780 | } | 780 | } |
781 | 781 | ||
782 | // find unexpected child elements | 782 | // find unexpected child elements |
@@ -845,12 +845,12 @@ namespace WixToolset.Core | |||
845 | 845 | ||
846 | if (null == id) | 846 | if (null == id) |
847 | { | 847 | { |
848 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 848 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
849 | } | 849 | } |
850 | 850 | ||
851 | if (null == productCode) | 851 | if (null == productCode) |
852 | { | 852 | { |
853 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductCode")); | 853 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductCode")); |
854 | } | 854 | } |
855 | 855 | ||
856 | this.Core.ParseForExtensionElements(node); | 856 | this.Core.ParseForExtensionElements(node); |
@@ -917,12 +917,12 @@ namespace WixToolset.Core | |||
917 | 917 | ||
918 | if (null == id) | 918 | if (null == id) |
919 | { | 919 | { |
920 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 920 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
921 | } | 921 | } |
922 | 922 | ||
923 | if (null == qualifier) | 923 | if (null == qualifier) |
924 | { | 924 | { |
925 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Qualifier")); | 925 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Qualifier")); |
926 | } | 926 | } |
927 | 927 | ||
928 | this.Core.ParseForExtensionElements(node); | 928 | this.Core.ParseForExtensionElements(node); |
@@ -1066,7 +1066,7 @@ namespace WixToolset.Core | |||
1066 | 1066 | ||
1067 | if (null == classId) | 1067 | if (null == classId) |
1068 | { | 1068 | { |
1069 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 1069 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
1070 | } | 1070 | } |
1071 | 1071 | ||
1072 | HashSet<string> uniqueContexts = new HashSet<string>(); | 1072 | HashSet<string> uniqueContexts = new HashSet<string>(); |
@@ -1074,7 +1074,7 @@ namespace WixToolset.Core | |||
1074 | { | 1074 | { |
1075 | if (uniqueContexts.Contains(context)) | 1075 | if (uniqueContexts.Contains(context)) |
1076 | { | 1076 | { |
1077 | this.Core.OnMessage(WixErrors.DuplicateContextValue(sourceLineNumbers, context)); | 1077 | this.Core.Write(ErrorMessages.DuplicateContextValue(sourceLineNumbers, context)); |
1078 | } | 1078 | } |
1079 | else | 1079 | else |
1080 | { | 1080 | { |
@@ -1093,7 +1093,7 @@ namespace WixToolset.Core | |||
1093 | 1093 | ||
1094 | if ((YesNoType.No == advertise && YesNoType.Yes == classAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == classAdvertise)) | 1094 | if ((YesNoType.No == advertise && YesNoType.Yes == classAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == classAdvertise)) |
1095 | { | 1095 | { |
1096 | this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, classAdvertise.ToString(), advertise.ToString())); | 1096 | this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, classAdvertise.ToString(), advertise.ToString())); |
1097 | } | 1097 | } |
1098 | else | 1098 | else |
1099 | { | 1099 | { |
@@ -1108,12 +1108,12 @@ namespace WixToolset.Core | |||
1108 | 1108 | ||
1109 | if (YesNoType.Yes == advertise && 0 == contexts.Length) | 1109 | if (YesNoType.Yes == advertise && 0 == contexts.Length) |
1110 | { | 1110 | { |
1111 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Context", "Advertise", "yes")); | 1111 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Context", "Advertise", "yes")); |
1112 | } | 1112 | } |
1113 | 1113 | ||
1114 | if (!String.IsNullOrEmpty(parentAppId) && !String.IsNullOrEmpty(appId)) | 1114 | if (!String.IsNullOrEmpty(parentAppId) && !String.IsNullOrEmpty(appId)) |
1115 | { | 1115 | { |
1116 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "AppId", node.Parent.Name.LocalName)); | 1116 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "AppId", node.Parent.Name.LocalName)); |
1117 | } | 1117 | } |
1118 | 1118 | ||
1119 | if (!String.IsNullOrEmpty(localFileServer)) | 1119 | if (!String.IsNullOrEmpty(localFileServer)) |
@@ -1173,12 +1173,12 @@ namespace WixToolset.Core | |||
1173 | { | 1173 | { |
1174 | if (null != fileServer || null != localFileServer) | 1174 | if (null != fileServer || null != localFileServer) |
1175 | { | 1175 | { |
1176 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Server", "Advertise", "yes")); | 1176 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Server", "Advertise", "yes")); |
1177 | } | 1177 | } |
1178 | 1178 | ||
1179 | if (null != foreignServer) | 1179 | if (null != foreignServer) |
1180 | { | 1180 | { |
1181 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "Advertise", "yes")); | 1181 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "Advertise", "yes")); |
1182 | } | 1182 | } |
1183 | 1183 | ||
1184 | if (null == appId && null != parentAppId) | 1184 | if (null == appId && null != parentAppId) |
@@ -1226,16 +1226,16 @@ namespace WixToolset.Core | |||
1226 | { | 1226 | { |
1227 | if (null == fileServer && null == localFileServer && null == foreignServer) | 1227 | if (null == fileServer && null == localFileServer && null == foreignServer) |
1228 | { | 1228 | { |
1229 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "Server")); | 1229 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "Server")); |
1230 | } | 1230 | } |
1231 | 1231 | ||
1232 | if (null != fileServer && null != foreignServer) | 1232 | if (null != fileServer && null != foreignServer) |
1233 | { | 1233 | { |
1234 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "File")); | 1234 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "File")); |
1235 | } | 1235 | } |
1236 | else if (null != localFileServer && null != foreignServer) | 1236 | else if (null != localFileServer && null != foreignServer) |
1237 | { | 1237 | { |
1238 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "Server")); | 1238 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ForeignServer", "Server")); |
1239 | } | 1239 | } |
1240 | else if (null == fileServer) | 1240 | else if (null == fileServer) |
1241 | { | 1241 | { |
@@ -1244,7 +1244,7 @@ namespace WixToolset.Core | |||
1244 | 1244 | ||
1245 | if (null != appId) // need to use nesting (not a reference) for the unadvertised Class elements | 1245 | if (null != appId) // need to use nesting (not a reference) for the unadvertised Class elements |
1246 | { | 1246 | { |
1247 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "AppId", "Advertise", "no")); | 1247 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "AppId", "Advertise", "no")); |
1248 | } | 1248 | } |
1249 | 1249 | ||
1250 | // add the core registry keys for each context in the class | 1250 | // add the core registry keys for each context in the class |
@@ -1254,7 +1254,7 @@ namespace WixToolset.Core | |||
1254 | { | 1254 | { |
1255 | if (null != argument) | 1255 | if (null != argument) |
1256 | { | 1256 | { |
1257 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Arguments", "Context", context)); | 1257 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Arguments", "Context", context)); |
1258 | } | 1258 | } |
1259 | 1259 | ||
1260 | if (null != fileServer) | 1260 | if (null != fileServer) |
@@ -1291,7 +1291,7 @@ namespace WixToolset.Core | |||
1291 | } | 1291 | } |
1292 | else | 1292 | else |
1293 | { | 1293 | { |
1294 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Context", context, "InprocServer", "InprocServer32", "LocalServer", "LocalServer32")); | 1294 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Context", context, "InprocServer", "InprocServer32", "LocalServer", "LocalServer32")); |
1295 | } | 1295 | } |
1296 | 1296 | ||
1297 | this.Core.CreateRegistryRow(sourceLineNumbers, MsiInterop.MsidbRegistryRootClassesRoot, String.Concat("CLSID\\", classId, "\\", context), String.Empty, formattedContextString, componentId); // ClassId context | 1297 | this.Core.CreateRegistryRow(sourceLineNumbers, MsiInterop.MsidbRegistryRootClassesRoot, String.Concat("CLSID\\", classId, "\\", context), String.Empty, formattedContextString, componentId); // ClassId context |
@@ -1342,7 +1342,7 @@ namespace WixToolset.Core | |||
1342 | 1342 | ||
1343 | if (YesNoType.NotSet != relativePath) // ClassId's RelativePath | 1343 | if (YesNoType.NotSet != relativePath) // ClassId's RelativePath |
1344 | { | 1344 | { |
1345 | this.Core.OnMessage(WixErrors.RelativePathForRegistryElement(sourceLineNumbers)); | 1345 | this.Core.Write(ErrorMessages.RelativePathForRegistryElement(sourceLineNumbers)); |
1346 | } | 1346 | } |
1347 | } | 1347 | } |
1348 | 1348 | ||
@@ -1454,12 +1454,12 @@ namespace WixToolset.Core | |||
1454 | 1454 | ||
1455 | if (null == interfaceId) | 1455 | if (null == interfaceId) |
1456 | { | 1456 | { |
1457 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 1457 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
1458 | } | 1458 | } |
1459 | 1459 | ||
1460 | if (null == name) | 1460 | if (null == name) |
1461 | { | 1461 | { |
1462 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 1462 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
1463 | } | 1463 | } |
1464 | 1464 | ||
1465 | this.Core.ParseForExtensionElements(node); | 1465 | this.Core.ParseForExtensionElements(node); |
@@ -1537,17 +1537,17 @@ namespace WixToolset.Core | |||
1537 | 1537 | ||
1538 | if (null == mask) | 1538 | if (null == mask) |
1539 | { | 1539 | { |
1540 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Mask")); | 1540 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Mask")); |
1541 | } | 1541 | } |
1542 | 1542 | ||
1543 | if (CompilerConstants.IntegerNotSet == offset) | 1543 | if (CompilerConstants.IntegerNotSet == offset) |
1544 | { | 1544 | { |
1545 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset")); | 1545 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset")); |
1546 | } | 1546 | } |
1547 | 1547 | ||
1548 | if (null == value) | 1548 | if (null == value) |
1549 | { | 1549 | { |
1550 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 1550 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
1551 | } | 1551 | } |
1552 | 1552 | ||
1553 | this.Core.ParseForExtensionElements(node); | 1553 | this.Core.ParseForExtensionElements(node); |
@@ -1556,7 +1556,7 @@ namespace WixToolset.Core | |||
1556 | { | 1556 | { |
1557 | if (mask.Length != value.Length) | 1557 | if (mask.Length != value.Length) |
1558 | { | 1558 | { |
1559 | this.Core.OnMessage(WixErrors.ValueAndMaskMustBeSameLength(sourceLineNumbers)); | 1559 | this.Core.Write(ErrorMessages.ValueAndMaskMustBeSameLength(sourceLineNumbers)); |
1560 | } | 1560 | } |
1561 | cb = mask.Length / 2; | 1561 | cb = mask.Length / 2; |
1562 | } | 1562 | } |
@@ -1628,7 +1628,7 @@ namespace WixToolset.Core | |||
1628 | 1628 | ||
1629 | if (null == minimum && null == maximum) | 1629 | if (null == minimum && null == maximum) |
1630 | { | 1630 | { |
1631 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Minimum", "Maximum")); | 1631 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Minimum", "Maximum")); |
1632 | } | 1632 | } |
1633 | 1633 | ||
1634 | this.Core.ParseForExtensionElements(node); | 1634 | this.Core.ParseForExtensionElements(node); |
@@ -1697,7 +1697,7 @@ namespace WixToolset.Core | |||
1697 | type = 2; | 1697 | type = 2; |
1698 | break; | 1698 | break; |
1699 | default: | 1699 | default: |
1700 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Type", typeValue, "directory", "file", "raw")); | 1700 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Type", typeValue, "directory", "file", "raw")); |
1701 | break; | 1701 | break; |
1702 | } | 1702 | } |
1703 | } | 1703 | } |
@@ -1729,17 +1729,17 @@ namespace WixToolset.Core | |||
1729 | 1729 | ||
1730 | if (null == key) | 1730 | if (null == key) |
1731 | { | 1731 | { |
1732 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 1732 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
1733 | } | 1733 | } |
1734 | 1734 | ||
1735 | if (CompilerConstants.IntegerNotSet == root) | 1735 | if (CompilerConstants.IntegerNotSet == root) |
1736 | { | 1736 | { |
1737 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); | 1737 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); |
1738 | } | 1738 | } |
1739 | 1739 | ||
1740 | if (CompilerConstants.IntegerNotSet == type) | 1740 | if (CompilerConstants.IntegerNotSet == type) |
1741 | { | 1741 | { |
1742 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); | 1742 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); |
1743 | } | 1743 | } |
1744 | 1744 | ||
1745 | signature = id.Id; | 1745 | signature = id.Id; |
@@ -1753,7 +1753,7 @@ namespace WixToolset.Core | |||
1753 | case "DirectorySearch": | 1753 | case "DirectorySearch": |
1754 | if (oneChild) | 1754 | if (oneChild) |
1755 | { | 1755 | { |
1756 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 1756 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
1757 | } | 1757 | } |
1758 | oneChild = true; | 1758 | oneChild = true; |
1759 | 1759 | ||
@@ -1763,7 +1763,7 @@ namespace WixToolset.Core | |||
1763 | case "DirectorySearchRef": | 1763 | case "DirectorySearchRef": |
1764 | if (oneChild) | 1764 | if (oneChild) |
1765 | { | 1765 | { |
1766 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 1766 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
1767 | } | 1767 | } |
1768 | oneChild = true; | 1768 | oneChild = true; |
1769 | signature = this.ParseDirectorySearchRefElement(child, id.Id); | 1769 | signature = this.ParseDirectorySearchRefElement(child, id.Id); |
@@ -1771,7 +1771,7 @@ namespace WixToolset.Core | |||
1771 | case "FileSearch": | 1771 | case "FileSearch": |
1772 | if (oneChild) | 1772 | if (oneChild) |
1773 | { | 1773 | { |
1774 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 1774 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
1775 | } | 1775 | } |
1776 | oneChild = true; | 1776 | oneChild = true; |
1777 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); | 1777 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); |
@@ -1780,7 +1780,7 @@ namespace WixToolset.Core | |||
1780 | case "FileSearchRef": | 1780 | case "FileSearchRef": |
1781 | if (oneChild) | 1781 | if (oneChild) |
1782 | { | 1782 | { |
1783 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 1783 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
1784 | } | 1784 | } |
1785 | oneChild = true; | 1785 | oneChild = true; |
1786 | string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures | 1786 | string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures |
@@ -1844,7 +1844,7 @@ namespace WixToolset.Core | |||
1844 | 1844 | ||
1845 | if (null == id) | 1845 | if (null == id) |
1846 | { | 1846 | { |
1847 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 1847 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
1848 | } | 1848 | } |
1849 | 1849 | ||
1850 | this.Core.ParseForExtensionElements(node); | 1850 | this.Core.ParseForExtensionElements(node); |
@@ -1933,7 +1933,7 @@ namespace WixToolset.Core | |||
1933 | case "DirectorySearch": | 1933 | case "DirectorySearch": |
1934 | if (oneChild) | 1934 | if (oneChild) |
1935 | { | 1935 | { |
1936 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 1936 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
1937 | } | 1937 | } |
1938 | oneChild = true; | 1938 | oneChild = true; |
1939 | signature = this.ParseDirectorySearchElement(child, "CCP_DRIVE"); | 1939 | signature = this.ParseDirectorySearchElement(child, "CCP_DRIVE"); |
@@ -1941,7 +1941,7 @@ namespace WixToolset.Core | |||
1941 | case "DirectorySearchRef": | 1941 | case "DirectorySearchRef": |
1942 | if (oneChild) | 1942 | if (oneChild) |
1943 | { | 1943 | { |
1944 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 1944 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
1945 | } | 1945 | } |
1946 | oneChild = true; | 1946 | oneChild = true; |
1947 | signature = this.ParseDirectorySearchRefElement(child, "CCP_DRIVE"); | 1947 | signature = this.ParseDirectorySearchRefElement(child, "CCP_DRIVE"); |
@@ -1959,7 +1959,7 @@ namespace WixToolset.Core | |||
1959 | 1959 | ||
1960 | if (null == signature) | 1960 | if (null == signature) |
1961 | { | 1961 | { |
1962 | this.Core.OnMessage(WixErrors.SearchElementRequired(sourceLineNumbers, node.Name.LocalName)); | 1962 | this.Core.Write(ErrorMessages.SearchElementRequired(sourceLineNumbers, node.Name.LocalName)); |
1963 | } | 1963 | } |
1964 | 1964 | ||
1965 | return signature; | 1965 | return signature; |
@@ -2005,13 +2005,13 @@ namespace WixToolset.Core | |||
2005 | else if (signature != sig) | 2005 | else if (signature != sig) |
2006 | { | 2006 | { |
2007 | // all signatures under a ComplianceCheck must be the same | 2007 | // all signatures under a ComplianceCheck must be the same |
2008 | this.Core.OnMessage(WixErrors.MultipleIdentifiersFound(sourceLineNumbers, node.Name.LocalName, sig, signature)); | 2008 | this.Core.Write(ErrorMessages.MultipleIdentifiersFound(sourceLineNumbers, node.Name.LocalName, sig, signature)); |
2009 | } | 2009 | } |
2010 | } | 2010 | } |
2011 | 2011 | ||
2012 | if (null == signature) | 2012 | if (null == signature) |
2013 | { | 2013 | { |
2014 | this.Core.OnMessage(WixErrors.SearchElementRequired(sourceLineNumbers, node.Name.LocalName)); | 2014 | this.Core.Write(ErrorMessages.SearchElementRequired(sourceLineNumbers, node.Name.LocalName)); |
2015 | } | 2015 | } |
2016 | 2016 | ||
2017 | if (!this.Core.EncounteredError) | 2017 | if (!this.Core.EncounteredError) |
@@ -2110,7 +2110,7 @@ namespace WixToolset.Core | |||
2110 | bits |= MsiInterop.MsidbComponentAttributesSourceOnly; | 2110 | bits |= MsiInterop.MsidbComponentAttributesSourceOnly; |
2111 | break; | 2111 | break; |
2112 | default: | 2112 | default: |
2113 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "either", "local", "source")); | 2113 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "either", "local", "source")); |
2114 | break; | 2114 | break; |
2115 | } | 2115 | } |
2116 | } | 2116 | } |
@@ -2181,30 +2181,30 @@ namespace WixToolset.Core | |||
2181 | 2181 | ||
2182 | if (null == directoryId) | 2182 | if (null == directoryId) |
2183 | { | 2183 | { |
2184 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Directory")); | 2184 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Directory")); |
2185 | } | 2185 | } |
2186 | 2186 | ||
2187 | if (String.IsNullOrEmpty(guid) && MsiInterop.MsidbComponentAttributesShared == (bits & MsiInterop.MsidbComponentAttributesShared)) | 2187 | if (String.IsNullOrEmpty(guid) && MsiInterop.MsidbComponentAttributesShared == (bits & MsiInterop.MsidbComponentAttributesShared)) |
2188 | { | 2188 | { |
2189 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Shared", "yes", "Guid", "")); | 2189 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Shared", "yes", "Guid", "")); |
2190 | } | 2190 | } |
2191 | 2191 | ||
2192 | if (String.IsNullOrEmpty(guid) && MsiInterop.MsidbComponentAttributesPermanent == (bits & MsiInterop.MsidbComponentAttributesPermanent)) | 2192 | if (String.IsNullOrEmpty(guid) && MsiInterop.MsidbComponentAttributesPermanent == (bits & MsiInterop.MsidbComponentAttributesPermanent)) |
2193 | { | 2193 | { |
2194 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Permanent", "yes", "Guid", "")); | 2194 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Permanent", "yes", "Guid", "")); |
2195 | } | 2195 | } |
2196 | 2196 | ||
2197 | if (null != feature) | 2197 | if (null != feature) |
2198 | { | 2198 | { |
2199 | if (this.compilingModule) | 2199 | if (this.compilingModule) |
2200 | { | 2200 | { |
2201 | this.Core.OnMessage(WixErrors.IllegalAttributeInMergeModule(sourceLineNumbers, node.Name.LocalName, "Feature")); | 2201 | this.Core.Write(ErrorMessages.IllegalAttributeInMergeModule(sourceLineNumbers, node.Name.LocalName, "Feature")); |
2202 | } | 2202 | } |
2203 | else | 2203 | else |
2204 | { | 2204 | { |
2205 | if (ComplexReferenceParentType.Feature == parentType || ComplexReferenceParentType.FeatureGroup == parentType) | 2205 | if (ComplexReferenceParentType.Feature == parentType || ComplexReferenceParentType.FeatureGroup == parentType) |
2206 | { | 2206 | { |
2207 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Feature", node.Parent.Name.LocalName)); | 2207 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Feature", node.Parent.Name.LocalName)); |
2208 | } | 2208 | } |
2209 | else | 2209 | else |
2210 | { | 2210 | { |
@@ -2236,7 +2236,7 @@ namespace WixToolset.Core | |||
2236 | if (null != condition) | 2236 | if (null != condition) |
2237 | { | 2237 | { |
2238 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); | 2238 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); |
2239 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); | 2239 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); |
2240 | } | 2240 | } |
2241 | condition = this.ParseConditionElement(child, node.Name.LocalName, null, null); | 2241 | condition = this.ParseConditionElement(child, node.Name.LocalName, null, null); |
2242 | break; | 2242 | break; |
@@ -2369,7 +2369,7 @@ namespace WixToolset.Core | |||
2369 | 2369 | ||
2370 | if (keyFound && YesNoType.Yes == keyPathSet) | 2370 | if (keyFound && YesNoType.Yes == keyPathSet) |
2371 | { | 2371 | { |
2372 | this.Core.OnMessage(WixErrors.ComponentMultipleKeyPaths(sourceLineNumbers, node.Name.LocalName, "KeyPath", "yes", "File", "RegistryValue", "ODBCDataSource")); | 2372 | this.Core.Write(ErrorMessages.ComponentMultipleKeyPaths(sourceLineNumbers, node.Name.LocalName, "KeyPath", "yes", "File", "RegistryValue", "ODBCDataSource")); |
2373 | } | 2373 | } |
2374 | 2374 | ||
2375 | // if a possible KeyPath has been found and that value was explicitly set as | 2375 | // if a possible KeyPath has been found and that value was explicitly set as |
@@ -2398,13 +2398,13 @@ namespace WixToolset.Core | |||
2398 | { | 2398 | { |
2399 | if (encounteredODBCDataSource) | 2399 | if (encounteredODBCDataSource) |
2400 | { | 2400 | { |
2401 | this.Core.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers)); | 2401 | this.Core.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers)); |
2402 | isGeneratableGuidOk = false; | 2402 | isGeneratableGuidOk = false; |
2403 | } | 2403 | } |
2404 | 2404 | ||
2405 | if (0 != files && MsiInterop.MsidbComponentAttributesRegistryKeyPath == keyBits) | 2405 | if (0 != files && MsiInterop.MsidbComponentAttributesRegistryKeyPath == keyBits) |
2406 | { | 2406 | { |
2407 | this.Core.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers, true)); | 2407 | this.Core.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers, true)); |
2408 | isGeneratableGuidOk = false; | 2408 | isGeneratableGuidOk = false; |
2409 | } | 2409 | } |
2410 | } | 2410 | } |
@@ -2412,7 +2412,7 @@ namespace WixToolset.Core | |||
2412 | // check for implicit KeyPath which can easily be accidentally changed | 2412 | // check for implicit KeyPath which can easily be accidentally changed |
2413 | if (this.ShowPedanticMessages && !keyFound && !isGeneratableGuidOk) | 2413 | if (this.ShowPedanticMessages && !keyFound && !isGeneratableGuidOk) |
2414 | { | 2414 | { |
2415 | this.Core.OnMessage(WixErrors.ImplicitComponentKeyPath(sourceLineNumbers, id.Id)); | 2415 | this.Core.Write(ErrorMessages.ImplicitComponentKeyPath(sourceLineNumbers, id.Id)); |
2416 | } | 2416 | } |
2417 | 2417 | ||
2418 | // if there isn't an @Id attribute value, replace the placeholder with the id of the keypath. | 2418 | // if there isn't an @Id attribute value, replace the placeholder with the id of the keypath. |
@@ -2428,14 +2428,14 @@ namespace WixToolset.Core | |||
2428 | } | 2428 | } |
2429 | else | 2429 | else |
2430 | { | 2430 | { |
2431 | this.Core.OnMessage(WixErrors.CannotDefaultComponentId(sourceLineNumbers)); | 2431 | this.Core.Write(ErrorMessages.CannotDefaultComponentId(sourceLineNumbers)); |
2432 | } | 2432 | } |
2433 | } | 2433 | } |
2434 | 2434 | ||
2435 | // If an id was not determined by now, we have to error. | 2435 | // If an id was not determined by now, we have to error. |
2436 | if (null == id) | 2436 | if (null == id) |
2437 | { | 2437 | { |
2438 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 2438 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
2439 | } | 2439 | } |
2440 | 2440 | ||
2441 | // finally add the Component table row | 2441 | // finally add the Component table row |
@@ -2524,7 +2524,7 @@ namespace WixToolset.Core | |||
2524 | 2524 | ||
2525 | if (null == id) | 2525 | if (null == id) |
2526 | { | 2526 | { |
2527 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 2527 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
2528 | id = Identifier.Invalid; | 2528 | id = Identifier.Invalid; |
2529 | } | 2529 | } |
2530 | 2530 | ||
@@ -2609,7 +2609,7 @@ namespace WixToolset.Core | |||
2609 | 2609 | ||
2610 | if (null == id) | 2610 | if (null == id) |
2611 | { | 2611 | { |
2612 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 2612 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
2613 | } | 2613 | } |
2614 | 2614 | ||
2615 | this.Core.ParseForExtensionElements(node); | 2615 | this.Core.ParseForExtensionElements(node); |
@@ -2658,7 +2658,7 @@ namespace WixToolset.Core | |||
2658 | 2658 | ||
2659 | if (null == id) | 2659 | if (null == id) |
2660 | { | 2660 | { |
2661 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 2661 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
2662 | } | 2662 | } |
2663 | 2663 | ||
2664 | this.Core.ParseForExtensionElements(node); | 2664 | this.Core.ParseForExtensionElements(node); |
@@ -2705,7 +2705,7 @@ namespace WixToolset.Core | |||
2705 | type = MsiInterop.MsidbLocatorTypeFileName; | 2705 | type = MsiInterop.MsidbLocatorTypeFileName; |
2706 | break; | 2706 | break; |
2707 | default: | 2707 | default: |
2708 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, typeValue, "directory", "file")); | 2708 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, typeValue, "directory", "file")); |
2709 | break; | 2709 | break; |
2710 | } | 2710 | } |
2711 | } | 2711 | } |
@@ -2737,7 +2737,7 @@ namespace WixToolset.Core | |||
2737 | case "DirectorySearch": | 2737 | case "DirectorySearch": |
2738 | if (oneChild) | 2738 | if (oneChild) |
2739 | { | 2739 | { |
2740 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 2740 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
2741 | } | 2741 | } |
2742 | oneChild = true; | 2742 | oneChild = true; |
2743 | 2743 | ||
@@ -2747,7 +2747,7 @@ namespace WixToolset.Core | |||
2747 | case "DirectorySearchRef": | 2747 | case "DirectorySearchRef": |
2748 | if (oneChild) | 2748 | if (oneChild) |
2749 | { | 2749 | { |
2750 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 2750 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
2751 | } | 2751 | } |
2752 | oneChild = true; | 2752 | oneChild = true; |
2753 | signature = this.ParseDirectorySearchRefElement(child, id.Id); | 2753 | signature = this.ParseDirectorySearchRefElement(child, id.Id); |
@@ -2755,7 +2755,7 @@ namespace WixToolset.Core | |||
2755 | case "FileSearch": | 2755 | case "FileSearch": |
2756 | if (oneChild) | 2756 | if (oneChild) |
2757 | { | 2757 | { |
2758 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 2758 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
2759 | } | 2759 | } |
2760 | oneChild = true; | 2760 | oneChild = true; |
2761 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); | 2761 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); |
@@ -2764,7 +2764,7 @@ namespace WixToolset.Core | |||
2764 | case "FileSearchRef": | 2764 | case "FileSearchRef": |
2765 | if (oneChild) | 2765 | if (oneChild) |
2766 | { | 2766 | { |
2767 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 2767 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
2768 | } | 2768 | } |
2769 | oneChild = true; | 2769 | oneChild = true; |
2770 | string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures | 2770 | string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures |
@@ -2907,7 +2907,7 @@ namespace WixToolset.Core | |||
2907 | case "FileId": | 2907 | case "FileId": |
2908 | if (null != fileId) | 2908 | if (null != fileId) |
2909 | { | 2909 | { |
2910 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, node.Parent.Name.LocalName)); | 2910 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, node.Parent.Name.LocalName)); |
2911 | } | 2911 | } |
2912 | fileId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 2912 | fileId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
2913 | this.Core.CreateSimpleReference(sourceLineNumbers, "File", fileId); | 2913 | this.Core.CreateSimpleReference(sourceLineNumbers, "File", fileId); |
@@ -2934,22 +2934,22 @@ namespace WixToolset.Core | |||
2934 | 2934 | ||
2935 | if (null != sourceFolder && null != sourceDirectory) // SourceFolder and SourceDirectory cannot coexist | 2935 | if (null != sourceFolder && null != sourceDirectory) // SourceFolder and SourceDirectory cannot coexist |
2936 | { | 2936 | { |
2937 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFolder", "SourceDirectory")); | 2937 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFolder", "SourceDirectory")); |
2938 | } | 2938 | } |
2939 | 2939 | ||
2940 | if (null != sourceFolder && null != sourceProperty) // SourceFolder and SourceProperty cannot coexist | 2940 | if (null != sourceFolder && null != sourceProperty) // SourceFolder and SourceProperty cannot coexist |
2941 | { | 2941 | { |
2942 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFolder", "SourceProperty")); | 2942 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFolder", "SourceProperty")); |
2943 | } | 2943 | } |
2944 | 2944 | ||
2945 | if (null != sourceDirectory && null != sourceProperty) // SourceDirectory and SourceProperty cannot coexist | 2945 | if (null != sourceDirectory && null != sourceProperty) // SourceDirectory and SourceProperty cannot coexist |
2946 | { | 2946 | { |
2947 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceProperty", "SourceDirectory")); | 2947 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceProperty", "SourceDirectory")); |
2948 | } | 2948 | } |
2949 | 2949 | ||
2950 | if (null != destinationDirectory && null != destinationProperty) // DestinationDirectory and DestinationProperty cannot coexist | 2950 | if (null != destinationDirectory && null != destinationProperty) // DestinationDirectory and DestinationProperty cannot coexist |
2951 | { | 2951 | { |
2952 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DestinationProperty", "DestinationDirectory")); | 2952 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DestinationProperty", "DestinationDirectory")); |
2953 | } | 2953 | } |
2954 | 2954 | ||
2955 | // generate a short file name | 2955 | // generate a short file name |
@@ -2970,7 +2970,7 @@ namespace WixToolset.Core | |||
2970 | // DestinationDirectory or DestinationProperty must be specified | 2970 | // DestinationDirectory or DestinationProperty must be specified |
2971 | if (null == destinationDirectory && null == destinationProperty) | 2971 | if (null == destinationDirectory && null == destinationProperty) |
2972 | { | 2972 | { |
2973 | this.Core.OnMessage(WixErrors.ExpectedAttributesWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DestinationDirectory", "DestinationProperty", "FileId")); | 2973 | this.Core.Write(ErrorMessages.ExpectedAttributesWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DestinationDirectory", "DestinationProperty", "FileId")); |
2974 | } | 2974 | } |
2975 | 2975 | ||
2976 | if (!this.Core.EncounteredError) | 2976 | if (!this.Core.EncounteredError) |
@@ -3007,32 +3007,32 @@ namespace WixToolset.Core | |||
3007 | { | 3007 | { |
3008 | if (null != sourceDirectory) | 3008 | if (null != sourceDirectory) |
3009 | { | 3009 | { |
3010 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceDirectory", "FileId")); | 3010 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceDirectory", "FileId")); |
3011 | } | 3011 | } |
3012 | 3012 | ||
3013 | if (null != sourceFolder) | 3013 | if (null != sourceFolder) |
3014 | { | 3014 | { |
3015 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFolder", "FileId")); | 3015 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFolder", "FileId")); |
3016 | } | 3016 | } |
3017 | 3017 | ||
3018 | if (null != sourceName) | 3018 | if (null != sourceName) |
3019 | { | 3019 | { |
3020 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceName", "FileId")); | 3020 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceName", "FileId")); |
3021 | } | 3021 | } |
3022 | 3022 | ||
3023 | if (null != sourceProperty) | 3023 | if (null != sourceProperty) |
3024 | { | 3024 | { |
3025 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceProperty", "FileId")); | 3025 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "SourceProperty", "FileId")); |
3026 | } | 3026 | } |
3027 | 3027 | ||
3028 | if (delete) | 3028 | if (delete) |
3029 | { | 3029 | { |
3030 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Delete", "FileId")); | 3030 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Delete", "FileId")); |
3031 | } | 3031 | } |
3032 | 3032 | ||
3033 | if (null == destinationName && null == destinationDirectory && null == destinationProperty) | 3033 | if (null == destinationName && null == destinationDirectory && null == destinationProperty) |
3034 | { | 3034 | { |
3035 | this.Core.OnMessage(WixWarnings.CopyFileFileIdUseless(sourceLineNumbers)); | 3035 | this.Core.Write(WarningMessages.CopyFileFileIdUseless(sourceLineNumbers)); |
3036 | } | 3036 | } |
3037 | 3037 | ||
3038 | if (!this.Core.EncounteredError) | 3038 | if (!this.Core.EncounteredError) |
@@ -3084,7 +3084,7 @@ namespace WixToolset.Core | |||
3084 | case "BinaryKey": | 3084 | case "BinaryKey": |
3085 | if (null != source) | 3085 | if (null != source) |
3086 | { | 3086 | { |
3087 | this.Core.OnMessage(WixErrors.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); | 3087 | this.Core.Write(ErrorMessages.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); |
3088 | } | 3088 | } |
3089 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 3089 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
3090 | sourceBits = MsiInterop.MsidbCustomActionTypeBinaryData; | 3090 | sourceBits = MsiInterop.MsidbCustomActionTypeBinaryData; |
@@ -3093,7 +3093,7 @@ namespace WixToolset.Core | |||
3093 | case "Directory": | 3093 | case "Directory": |
3094 | if (null != source) | 3094 | if (null != source) |
3095 | { | 3095 | { |
3096 | this.Core.OnMessage(WixErrors.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); | 3096 | this.Core.Write(ErrorMessages.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); |
3097 | } | 3097 | } |
3098 | source = this.Core.CreateDirectoryReferenceFromInlineSyntax(sourceLineNumbers, attrib, null); | 3098 | source = this.Core.CreateDirectoryReferenceFromInlineSyntax(sourceLineNumbers, attrib, null); |
3099 | sourceBits = MsiInterop.MsidbCustomActionTypeDirectory; | 3099 | sourceBits = MsiInterop.MsidbCustomActionTypeDirectory; |
@@ -3101,7 +3101,7 @@ namespace WixToolset.Core | |||
3101 | case "DllEntry": | 3101 | case "DllEntry": |
3102 | if (null != target) | 3102 | if (null != target) |
3103 | { | 3103 | { |
3104 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3104 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3105 | } | 3105 | } |
3106 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 3106 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
3107 | targetBits = MsiInterop.MsidbCustomActionTypeDll; | 3107 | targetBits = MsiInterop.MsidbCustomActionTypeDll; |
@@ -3109,7 +3109,7 @@ namespace WixToolset.Core | |||
3109 | case "Error": | 3109 | case "Error": |
3110 | if (null != target) | 3110 | if (null != target) |
3111 | { | 3111 | { |
3112 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3112 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3113 | } | 3113 | } |
3114 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 3114 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
3115 | targetBits = MsiInterop.MsidbCustomActionTypeTextData | MsiInterop.MsidbCustomActionTypeSourceFile; | 3115 | targetBits = MsiInterop.MsidbCustomActionTypeTextData | MsiInterop.MsidbCustomActionTypeSourceFile; |
@@ -3140,7 +3140,7 @@ namespace WixToolset.Core | |||
3140 | case "ExeCommand": | 3140 | case "ExeCommand": |
3141 | if (null != target) | 3141 | if (null != target) |
3142 | { | 3142 | { |
3143 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3143 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3144 | } | 3144 | } |
3145 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid | 3145 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid |
3146 | targetBits = MsiInterop.MsidbCustomActionTypeExe; | 3146 | targetBits = MsiInterop.MsidbCustomActionTypeExe; |
@@ -3173,7 +3173,7 @@ namespace WixToolset.Core | |||
3173 | bits |= MsiInterop.MsidbCustomActionTypeClientRepeat; | 3173 | bits |= MsiInterop.MsidbCustomActionTypeClientRepeat; |
3174 | break; | 3174 | break; |
3175 | default: | 3175 | default: |
3176 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, execute, "commit", "deferred", "firstSequence", "immediate", "oncePerProcess", "rollback", "secondSequence")); | 3176 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, execute, "commit", "deferred", "firstSequence", "immediate", "oncePerProcess", "rollback", "secondSequence")); |
3177 | break; | 3177 | break; |
3178 | } | 3178 | } |
3179 | } | 3179 | } |
@@ -3181,7 +3181,7 @@ namespace WixToolset.Core | |||
3181 | case "FileKey": | 3181 | case "FileKey": |
3182 | if (null != source) | 3182 | if (null != source) |
3183 | { | 3183 | { |
3184 | this.Core.OnMessage(WixErrors.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); | 3184 | this.Core.Write(ErrorMessages.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); |
3185 | } | 3185 | } |
3186 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 3186 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
3187 | sourceBits = MsiInterop.MsidbCustomActionTypeSourceFile; | 3187 | sourceBits = MsiInterop.MsidbCustomActionTypeSourceFile; |
@@ -3202,7 +3202,7 @@ namespace WixToolset.Core | |||
3202 | case "JScriptCall": | 3202 | case "JScriptCall": |
3203 | if (null != target) | 3203 | if (null != target) |
3204 | { | 3204 | { |
3205 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3205 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3206 | } | 3206 | } |
3207 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid | 3207 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid |
3208 | targetBits = MsiInterop.MsidbCustomActionTypeJScript; | 3208 | targetBits = MsiInterop.MsidbCustomActionTypeJScript; |
@@ -3216,7 +3216,7 @@ namespace WixToolset.Core | |||
3216 | case "Property": | 3216 | case "Property": |
3217 | if (null != source) | 3217 | if (null != source) |
3218 | { | 3218 | { |
3219 | this.Core.OnMessage(WixErrors.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); | 3219 | this.Core.Write(ErrorMessages.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); |
3220 | } | 3220 | } |
3221 | source = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 3221 | source = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
3222 | sourceBits = MsiInterop.MsidbCustomActionTypeProperty; | 3222 | sourceBits = MsiInterop.MsidbCustomActionTypeProperty; |
@@ -3240,7 +3240,7 @@ namespace WixToolset.Core | |||
3240 | bits |= MsiInterop.MsidbCustomActionTypeContinue; | 3240 | bits |= MsiInterop.MsidbCustomActionTypeContinue; |
3241 | break; | 3241 | break; |
3242 | default: | 3242 | default: |
3243 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, returnValue, "asyncNoWait", "asyncWait", "check", "ignore")); | 3243 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, returnValue, "asyncNoWait", "asyncWait", "check", "ignore")); |
3244 | break; | 3244 | break; |
3245 | } | 3245 | } |
3246 | } | 3246 | } |
@@ -3248,12 +3248,12 @@ namespace WixToolset.Core | |||
3248 | case "Script": | 3248 | case "Script": |
3249 | if (null != source) | 3249 | if (null != source) |
3250 | { | 3250 | { |
3251 | this.Core.OnMessage(WixErrors.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); | 3251 | this.Core.Write(ErrorMessages.CustomActionMultipleSources(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinaryKey", "Directory", "FileKey", "Property", "Script")); |
3252 | } | 3252 | } |
3253 | 3253 | ||
3254 | if (null != target) | 3254 | if (null != target) |
3255 | { | 3255 | { |
3256 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3256 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3257 | } | 3257 | } |
3258 | 3258 | ||
3259 | // set the source and target to empty string for error messages when the user sets multiple sources or targets | 3259 | // set the source and target to empty string for error messages when the user sets multiple sources or targets |
@@ -3277,7 +3277,7 @@ namespace WixToolset.Core | |||
3277 | targetBits = MsiInterop.MsidbCustomActionTypeVBScript; | 3277 | targetBits = MsiInterop.MsidbCustomActionTypeVBScript; |
3278 | break; | 3278 | break; |
3279 | default: | 3279 | default: |
3280 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, script, "jscript", "vbscript")); | 3280 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, script, "jscript", "vbscript")); |
3281 | break; | 3281 | break; |
3282 | } | 3282 | } |
3283 | } | 3283 | } |
@@ -3294,7 +3294,7 @@ namespace WixToolset.Core | |||
3294 | case "Value": | 3294 | case "Value": |
3295 | if (null != target) | 3295 | if (null != target) |
3296 | { | 3296 | { |
3297 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3297 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3298 | } | 3298 | } |
3299 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid | 3299 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid |
3300 | targetBits = MsiInterop.MsidbCustomActionTypeTextData; | 3300 | targetBits = MsiInterop.MsidbCustomActionTypeTextData; |
@@ -3302,7 +3302,7 @@ namespace WixToolset.Core | |||
3302 | case "VBScriptCall": | 3302 | case "VBScriptCall": |
3303 | if (null != target) | 3303 | if (null != target) |
3304 | { | 3304 | { |
3305 | this.Core.OnMessage(WixErrors.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3305 | this.Core.Write(ErrorMessages.CustomActionMultipleTargets(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3306 | } | 3306 | } |
3307 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid | 3307 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid |
3308 | targetBits = MsiInterop.MsidbCustomActionTypeVBScript; | 3308 | targetBits = MsiInterop.MsidbCustomActionTypeVBScript; |
@@ -3327,7 +3327,7 @@ namespace WixToolset.Core | |||
3327 | 3327 | ||
3328 | if (null == id) | 3328 | if (null == id) |
3329 | { | 3329 | { |
3330 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3330 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3331 | id = Identifier.Invalid; | 3331 | id = Identifier.Invalid; |
3332 | } | 3332 | } |
3333 | 3333 | ||
@@ -3348,48 +3348,48 @@ namespace WixToolset.Core | |||
3348 | { | 3348 | { |
3349 | if (null == source) | 3349 | if (null == source) |
3350 | { | 3350 | { |
3351 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "VBScriptCall", "BinaryKey", "FileKey", "Property")); | 3351 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "VBScriptCall", "BinaryKey", "FileKey", "Property")); |
3352 | } | 3352 | } |
3353 | else if (MsiInterop.MsidbCustomActionTypeDirectory == sourceBits) | 3353 | else if (MsiInterop.MsidbCustomActionTypeDirectory == sourceBits) |
3354 | { | 3354 | { |
3355 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "VBScriptCall", "Directory")); | 3355 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "VBScriptCall", "Directory")); |
3356 | } | 3356 | } |
3357 | } | 3357 | } |
3358 | else if (MsiInterop.MsidbCustomActionTypeJScript == targetBits) // non-inline jscript | 3358 | else if (MsiInterop.MsidbCustomActionTypeJScript == targetBits) // non-inline jscript |
3359 | { | 3359 | { |
3360 | if (null == source) | 3360 | if (null == source) |
3361 | { | 3361 | { |
3362 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "JScriptCall", "BinaryKey", "FileKey", "Property")); | 3362 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "JScriptCall", "BinaryKey", "FileKey", "Property")); |
3363 | } | 3363 | } |
3364 | else if (MsiInterop.MsidbCustomActionTypeDirectory == sourceBits) | 3364 | else if (MsiInterop.MsidbCustomActionTypeDirectory == sourceBits) |
3365 | { | 3365 | { |
3366 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "JScriptCall", "Directory")); | 3366 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "JScriptCall", "Directory")); |
3367 | } | 3367 | } |
3368 | } | 3368 | } |
3369 | else if (MsiInterop.MsidbCustomActionTypeExe == targetBits) // exe-command | 3369 | else if (MsiInterop.MsidbCustomActionTypeExe == targetBits) // exe-command |
3370 | { | 3370 | { |
3371 | if (null == source) | 3371 | if (null == source) |
3372 | { | 3372 | { |
3373 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "ExeCommand", "BinaryKey", "Directory", "FileKey", "Property")); | 3373 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "ExeCommand", "BinaryKey", "Directory", "FileKey", "Property")); |
3374 | } | 3374 | } |
3375 | } | 3375 | } |
3376 | else if (MsiInterop.MsidbCustomActionTypeTextData == (bits | sourceBits | targetBits)) | 3376 | else if (MsiInterop.MsidbCustomActionTypeTextData == (bits | sourceBits | targetBits)) |
3377 | { | 3377 | { |
3378 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Value", "Directory", "Property")); | 3378 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Value", "Directory", "Property")); |
3379 | } | 3379 | } |
3380 | else if (!String.IsNullOrEmpty(innerText)) // inner text cannot be specified with non-script CAs | 3380 | else if (!String.IsNullOrEmpty(innerText)) // inner text cannot be specified with non-script CAs |
3381 | { | 3381 | { |
3382 | this.Core.OnMessage(WixErrors.CustomActionIllegalInnerText(sourceLineNumbers, node.Name.LocalName, innerText, "Script")); | 3382 | this.Core.Write(ErrorMessages.CustomActionIllegalInnerText(sourceLineNumbers, node.Name.LocalName, innerText, "Script")); |
3383 | } | 3383 | } |
3384 | 3384 | ||
3385 | if (MsiInterop.MsidbCustomActionType64BitScript == (bits & MsiInterop.MsidbCustomActionType64BitScript) && MsiInterop.MsidbCustomActionTypeVBScript != targetBits && MsiInterop.MsidbCustomActionTypeJScript != targetBits) | 3385 | if (MsiInterop.MsidbCustomActionType64BitScript == (bits & MsiInterop.MsidbCustomActionType64BitScript) && MsiInterop.MsidbCustomActionTypeVBScript != targetBits && MsiInterop.MsidbCustomActionTypeJScript != targetBits) |
3386 | { | 3386 | { |
3387 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Win64", "Script", "VBScriptCall", "JScriptCall")); | 3387 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Win64", "Script", "VBScriptCall", "JScriptCall")); |
3388 | } | 3388 | } |
3389 | 3389 | ||
3390 | if ((MsiInterop.MsidbCustomActionTypeAsync | MsiInterop.MsidbCustomActionTypeContinue) == (bits & (MsiInterop.MsidbCustomActionTypeAsync | MsiInterop.MsidbCustomActionTypeContinue)) && MsiInterop.MsidbCustomActionTypeExe != targetBits) | 3390 | if ((MsiInterop.MsidbCustomActionTypeAsync | MsiInterop.MsidbCustomActionTypeContinue) == (bits & (MsiInterop.MsidbCustomActionTypeAsync | MsiInterop.MsidbCustomActionTypeContinue)) && MsiInterop.MsidbCustomActionTypeExe != targetBits) |
3391 | { | 3391 | { |
3392 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Return", "asyncNoWait", "ExeCommand")); | 3392 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Return", "asyncNoWait", "ExeCommand")); |
3393 | } | 3393 | } |
3394 | 3394 | ||
3395 | if (MsiInterop.MsidbCustomActionTypeTSAware == (bits & MsiInterop.MsidbCustomActionTypeTSAware)) | 3395 | if (MsiInterop.MsidbCustomActionTypeTSAware == (bits & MsiInterop.MsidbCustomActionTypeTSAware)) |
@@ -3397,7 +3397,7 @@ namespace WixToolset.Core | |||
3397 | // TS-aware CAs are valid only when deferred so require the in-script Type bit... | 3397 | // TS-aware CAs are valid only when deferred so require the in-script Type bit... |
3398 | if (0 == (bits & MsiInterop.MsidbCustomActionTypeInScript)) | 3398 | if (0 == (bits & MsiInterop.MsidbCustomActionTypeInScript)) |
3399 | { | 3399 | { |
3400 | this.Core.OnMessage(WixErrors.IllegalTerminalServerCustomActionAttributes(sourceLineNumbers)); | 3400 | this.Core.Write(ErrorMessages.IllegalTerminalServerCustomActionAttributes(sourceLineNumbers)); |
3401 | } | 3401 | } |
3402 | } | 3402 | } |
3403 | 3403 | ||
@@ -3406,12 +3406,12 @@ namespace WixToolset.Core | |||
3406 | MsiInterop.MsidbCustomActionTypeTextData == targetBits && | 3406 | MsiInterop.MsidbCustomActionTypeTextData == targetBits && |
3407 | 0 != (bits & MsiInterop.MsidbCustomActionTypeInScript)) | 3407 | 0 != (bits & MsiInterop.MsidbCustomActionTypeInScript)) |
3408 | { | 3408 | { |
3409 | this.Core.OnMessage(WixErrors.IllegalPropertyCustomActionAttributes(sourceLineNumbers)); | 3409 | this.Core.Write(ErrorMessages.IllegalPropertyCustomActionAttributes(sourceLineNumbers)); |
3410 | } | 3410 | } |
3411 | 3411 | ||
3412 | if (0 == targetBits) | 3412 | if (0 == targetBits) |
3413 | { | 3413 | { |
3414 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); | 3414 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "DllEntry", "Error", "ExeCommand", "JScriptCall", "Script", "Value", "VBScriptCall")); |
3415 | } | 3415 | } |
3416 | 3416 | ||
3417 | this.Core.ParseForExtensionElements(node); | 3417 | this.Core.ParseForExtensionElements(node); |
@@ -3475,7 +3475,7 @@ namespace WixToolset.Core | |||
3475 | 3475 | ||
3476 | if (null == id) | 3476 | if (null == id) |
3477 | { | 3477 | { |
3478 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3478 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3479 | } | 3479 | } |
3480 | 3480 | ||
3481 | this.Core.ParseForExtensionElements(node); | 3481 | this.Core.ParseForExtensionElements(node); |
@@ -3520,7 +3520,7 @@ namespace WixToolset.Core | |||
3520 | 3520 | ||
3521 | if (null == primaryKeys[0]) | 3521 | if (null == primaryKeys[0]) |
3522 | { | 3522 | { |
3523 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3523 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3524 | } | 3524 | } |
3525 | 3525 | ||
3526 | this.Core.CreateSimpleReference(sourceLineNumbers, "MsiPatchSequence", primaryKeys); | 3526 | this.Core.CreateSimpleReference(sourceLineNumbers, "MsiPatchSequence", primaryKeys); |
@@ -3565,7 +3565,7 @@ namespace WixToolset.Core | |||
3565 | 3565 | ||
3566 | if (null == id) | 3566 | if (null == id) |
3567 | { | 3567 | { |
3568 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3568 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3569 | id = Identifier.Invalid; | 3569 | id = Identifier.Invalid; |
3570 | } | 3570 | } |
3571 | 3571 | ||
@@ -3640,7 +3640,7 @@ namespace WixToolset.Core | |||
3640 | 3640 | ||
3641 | if (null == id) | 3641 | if (null == id) |
3642 | { | 3642 | { |
3643 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3643 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3644 | } | 3644 | } |
3645 | 3645 | ||
3646 | this.Core.ParseForExtensionElements(node); | 3646 | this.Core.ParseForExtensionElements(node); |
@@ -3682,11 +3682,11 @@ namespace WixToolset.Core | |||
3682 | 3682 | ||
3683 | if (null == id) | 3683 | if (null == id) |
3684 | { | 3684 | { |
3685 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3685 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3686 | } | 3686 | } |
3687 | else if (31 < id.Length) | 3687 | else if (31 < id.Length) |
3688 | { | 3688 | { |
3689 | this.Core.OnMessage(WixErrors.TableNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id)); | 3689 | this.Core.Write(ErrorMessages.TableNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id)); |
3690 | } | 3690 | } |
3691 | 3691 | ||
3692 | this.Core.ParseForExtensionElements(node); | 3692 | this.Core.ParseForExtensionElements(node); |
@@ -3743,11 +3743,11 @@ namespace WixToolset.Core | |||
3743 | 3743 | ||
3744 | if (null == tableId) | 3744 | if (null == tableId) |
3745 | { | 3745 | { |
3746 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 3746 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
3747 | } | 3747 | } |
3748 | else if (31 < tableId.Length) | 3748 | else if (31 < tableId.Length) |
3749 | { | 3749 | { |
3750 | this.Core.OnMessage(WixErrors.CustomTableNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", tableId)); | 3750 | this.Core.Write(ErrorMessages.CustomTableNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", tableId)); |
3751 | } | 3751 | } |
3752 | 3752 | ||
3753 | foreach (XElement child in node.Elements()) | 3753 | foreach (XElement child in node.Elements()) |
@@ -3833,7 +3833,7 @@ namespace WixToolset.Core | |||
3833 | typeName = "CHAR"; | 3833 | typeName = "CHAR"; |
3834 | break; | 3834 | break; |
3835 | default: | 3835 | default: |
3836 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(childSourceLineNumbers, child.Name.LocalName, "Type", typeValue, "binary", "int", "string")); | 3836 | this.Core.Write(ErrorMessages.IllegalAttributeValue(childSourceLineNumbers, child.Name.LocalName, "Type", typeValue, "binary", "int", "string")); |
3837 | break; | 3837 | break; |
3838 | } | 3838 | } |
3839 | } | 3839 | } |
@@ -3849,18 +3849,18 @@ namespace WixToolset.Core | |||
3849 | 3849 | ||
3850 | if (null == columnName) | 3850 | if (null == columnName) |
3851 | { | 3851 | { |
3852 | this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Id")); | 3852 | this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Id")); |
3853 | } | 3853 | } |
3854 | 3854 | ||
3855 | if (null == typeName) | 3855 | if (null == typeName) |
3856 | { | 3856 | { |
3857 | this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Type")); | 3857 | this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Type")); |
3858 | } | 3858 | } |
3859 | else if ("SHORT" == typeName) | 3859 | else if ("SHORT" == typeName) |
3860 | { | 3860 | { |
3861 | if (2 != width && 4 != width) | 3861 | if (2 != width && 4 != width) |
3862 | { | 3862 | { |
3863 | this.Core.OnMessage(WixErrors.CustomTableIllegalColumnWidth(childSourceLineNumbers, child.Name.LocalName, "Width", width)); | 3863 | this.Core.Write(ErrorMessages.CustomTableIllegalColumnWidth(childSourceLineNumbers, child.Name.LocalName, "Width", width)); |
3864 | } | 3864 | } |
3865 | columnType = String.Concat(nullable ? "I" : "i", width); | 3865 | columnType = String.Concat(nullable ? "I" : "i", width); |
3866 | } | 3866 | } |
@@ -3873,7 +3873,7 @@ namespace WixToolset.Core | |||
3873 | { | 3873 | { |
3874 | if ("Binary" != category) | 3874 | if ("Binary" != category) |
3875 | { | 3875 | { |
3876 | this.Core.OnMessage(WixErrors.ExpectedBinaryCategory(childSourceLineNumbers)); | 3876 | this.Core.Write(ErrorMessages.ExpectedBinaryCategory(childSourceLineNumbers)); |
3877 | } | 3877 | } |
3878 | columnType = String.Concat(nullable ? "V" : "v", width); | 3878 | columnType = String.Concat(nullable ? "V" : "v", width); |
3879 | } | 3879 | } |
@@ -3927,7 +3927,7 @@ namespace WixToolset.Core | |||
3927 | 3927 | ||
3928 | if (null == columnName) | 3928 | if (null == columnName) |
3929 | { | 3929 | { |
3930 | this.Core.OnMessage(WixErrors.ExpectedAttribute(dataSourceLineNumbers, data.Name.LocalName, "Column")); | 3930 | this.Core.Write(ErrorMessages.ExpectedAttribute(dataSourceLineNumbers, data.Name.LocalName, "Column")); |
3931 | } | 3931 | } |
3932 | 3932 | ||
3933 | dataValue = String.Concat(dataValue, null == dataValue ? String.Empty : Common.CustomRowFieldSeparator.ToString(), columnName, ":", Common.GetInnerText(data)); | 3933 | dataValue = String.Concat(dataValue, null == dataValue ? String.Empty : Common.CustomRowFieldSeparator.ToString(), columnName, ":", Common.GetInnerText(data)); |
@@ -3959,7 +3959,7 @@ namespace WixToolset.Core | |||
3959 | { | 3959 | { |
3960 | if (null == primaryKeys || 0 == primaryKeys.Length) | 3960 | if (null == primaryKeys || 0 == primaryKeys.Length) |
3961 | { | 3961 | { |
3962 | this.Core.OnMessage(WixErrors.CustomTableMissingPrimaryKey(sourceLineNumbers)); | 3962 | this.Core.Write(ErrorMessages.CustomTableMissingPrimaryKey(sourceLineNumbers)); |
3963 | } | 3963 | } |
3964 | 3964 | ||
3965 | if (!this.Core.EncounteredError) | 3965 | if (!this.Core.EncounteredError) |
@@ -4097,12 +4097,12 @@ namespace WixToolset.Core | |||
4097 | { | 4097 | { |
4098 | if (!String.IsNullOrEmpty(shortName)) | 4098 | if (!String.IsNullOrEmpty(shortName)) |
4099 | { | 4099 | { |
4100 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "ShortName", "Name")); | 4100 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "ShortName", "Name")); |
4101 | } | 4101 | } |
4102 | 4102 | ||
4103 | if (null == parentId) | 4103 | if (null == parentId) |
4104 | { | 4104 | { |
4105 | this.Core.OnMessage(WixErrors.DirectoryRootWithoutName(sourceLineNumbers, node.Name.LocalName, "Name")); | 4105 | this.Core.Write(ErrorMessages.DirectoryRootWithoutName(sourceLineNumbers, node.Name.LocalName, "Name")); |
4106 | } | 4106 | } |
4107 | } | 4107 | } |
4108 | else if (!String.IsNullOrEmpty(name)) | 4108 | else if (!String.IsNullOrEmpty(name)) |
@@ -4116,11 +4116,11 @@ namespace WixToolset.Core | |||
4116 | } | 4116 | } |
4117 | else if (name.Equals(".")) | 4117 | else if (name.Equals(".")) |
4118 | { | 4118 | { |
4119 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ShortName", "Name", name)); | 4119 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ShortName", "Name", name)); |
4120 | } | 4120 | } |
4121 | else if (name.Equals(shortName)) | 4121 | else if (name.Equals(shortName)) |
4122 | { | 4122 | { |
4123 | this.Core.OnMessage(WixWarnings.DirectoryRedundantNames(sourceLineNumbers, node.Name.LocalName, "Name", "ShortName", name)); | 4123 | this.Core.Write(WarningMessages.DirectoryRedundantNames(sourceLineNumbers, node.Name.LocalName, "Name", "ShortName", name)); |
4124 | } | 4124 | } |
4125 | } | 4125 | } |
4126 | 4126 | ||
@@ -4128,7 +4128,7 @@ namespace WixToolset.Core | |||
4128 | { | 4128 | { |
4129 | if (!String.IsNullOrEmpty(shortSourceName)) | 4129 | if (!String.IsNullOrEmpty(shortSourceName)) |
4130 | { | 4130 | { |
4131 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "ShortSourceName", "SourceName")); | 4131 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "ShortSourceName", "SourceName")); |
4132 | } | 4132 | } |
4133 | } | 4133 | } |
4134 | else | 4134 | else |
@@ -4142,11 +4142,11 @@ namespace WixToolset.Core | |||
4142 | } | 4142 | } |
4143 | else if (sourceName.Equals(".")) | 4143 | else if (sourceName.Equals(".")) |
4144 | { | 4144 | { |
4145 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ShortSourceName", "SourceName", sourceName)); | 4145 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ShortSourceName", "SourceName", sourceName)); |
4146 | } | 4146 | } |
4147 | else if (sourceName.Equals(shortSourceName)) | 4147 | else if (sourceName.Equals(shortSourceName)) |
4148 | { | 4148 | { |
4149 | this.Core.OnMessage(WixWarnings.DirectoryRedundantNames(sourceLineNumbers, node.Name.LocalName, "SourceName", "ShortSourceName", sourceName)); | 4149 | this.Core.Write(WarningMessages.DirectoryRedundantNames(sourceLineNumbers, node.Name.LocalName, "SourceName", "ShortSourceName", sourceName)); |
4150 | } | 4150 | } |
4151 | } | 4151 | } |
4152 | 4152 | ||
@@ -4191,7 +4191,7 @@ namespace WixToolset.Core | |||
4191 | 4191 | ||
4192 | if ("TARGETDIR".Equals(id.Id) && !"SourceDir".Equals(defaultDir)) | 4192 | if ("TARGETDIR".Equals(id.Id) && !"SourceDir".Equals(defaultDir)) |
4193 | { | 4193 | { |
4194 | this.Core.OnMessage(WixErrors.IllegalTargetDirDefaultDir(sourceLineNumbers, defaultDir)); | 4194 | this.Core.Write(ErrorMessages.IllegalTargetDirDefaultDir(sourceLineNumbers, defaultDir)); |
4195 | } | 4195 | } |
4196 | 4196 | ||
4197 | foreach (XElement child in node.Elements()) | 4197 | foreach (XElement child in node.Elements()) |
@@ -4293,7 +4293,7 @@ namespace WixToolset.Core | |||
4293 | 4293 | ||
4294 | if (null == id) | 4294 | if (null == id) |
4295 | { | 4295 | { |
4296 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 4296 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
4297 | } | 4297 | } |
4298 | 4298 | ||
4299 | if (!String.IsNullOrEmpty(fileSource) && !fileSource.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal)) | 4299 | if (!String.IsNullOrEmpty(fileSource) && !fileSource.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal)) |
@@ -4391,7 +4391,7 @@ namespace WixToolset.Core | |||
4391 | case "DirectorySearch": | 4391 | case "DirectorySearch": |
4392 | if (oneChild) | 4392 | if (oneChild) |
4393 | { | 4393 | { |
4394 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 4394 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
4395 | } | 4395 | } |
4396 | oneChild = true; | 4396 | oneChild = true; |
4397 | signature = this.ParseDirectorySearchElement(child, id.Id); | 4397 | signature = this.ParseDirectorySearchElement(child, id.Id); |
@@ -4399,7 +4399,7 @@ namespace WixToolset.Core | |||
4399 | case "DirectorySearchRef": | 4399 | case "DirectorySearchRef": |
4400 | if (oneChild) | 4400 | if (oneChild) |
4401 | { | 4401 | { |
4402 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 4402 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
4403 | } | 4403 | } |
4404 | oneChild = true; | 4404 | oneChild = true; |
4405 | signature = this.ParseDirectorySearchRefElement(child, id.Id); | 4405 | signature = this.ParseDirectorySearchRefElement(child, id.Id); |
@@ -4407,7 +4407,7 @@ namespace WixToolset.Core | |||
4407 | case "FileSearch": | 4407 | case "FileSearch": |
4408 | if (oneChild) | 4408 | if (oneChild) |
4409 | { | 4409 | { |
4410 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 4410 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
4411 | } | 4411 | } |
4412 | oneChild = true; | 4412 | oneChild = true; |
4413 | hasFileSearch = true; | 4413 | hasFileSearch = true; |
@@ -4416,7 +4416,7 @@ namespace WixToolset.Core | |||
4416 | case "FileSearchRef": | 4416 | case "FileSearchRef": |
4417 | if (oneChild) | 4417 | if (oneChild) |
4418 | { | 4418 | { |
4419 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 4419 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
4420 | } | 4420 | } |
4421 | oneChild = true; | 4421 | oneChild = true; |
4422 | signature = this.ParseSimpleRefElement(child, "Signature"); | 4422 | signature = this.ParseSimpleRefElement(child, "Signature"); |
@@ -4432,7 +4432,7 @@ namespace WixToolset.Core | |||
4432 | { | 4432 | { |
4433 | if (!hasFileSearch) | 4433 | if (!hasFileSearch) |
4434 | { | 4434 | { |
4435 | this.Core.OnMessage(WixErrors.IllegalParentAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "AssignToProperty", child.Name.LocalName)); | 4435 | this.Core.Write(ErrorMessages.IllegalParentAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "AssignToProperty", child.Name.LocalName)); |
4436 | } | 4436 | } |
4437 | else if (!oneChild) | 4437 | else if (!oneChild) |
4438 | { | 4438 | { |
@@ -4518,7 +4518,7 @@ namespace WixToolset.Core | |||
4518 | { | 4518 | { |
4519 | if (!String.IsNullOrEmpty(parentSignature)) | 4519 | if (!String.IsNullOrEmpty(parentSignature)) |
4520 | { | 4520 | { |
4521 | this.Core.OnMessage(WixErrors.CanNotHaveTwoParents(sourceLineNumbers, id.Id, parent.Id, parentSignature)); | 4521 | this.Core.Write(ErrorMessages.CanNotHaveTwoParents(sourceLineNumbers, id.Id, parent.Id, parentSignature)); |
4522 | } | 4522 | } |
4523 | else | 4523 | else |
4524 | { | 4524 | { |
@@ -4544,7 +4544,7 @@ namespace WixToolset.Core | |||
4544 | case "DirectorySearch": | 4544 | case "DirectorySearch": |
4545 | if (oneChild) | 4545 | if (oneChild) |
4546 | { | 4546 | { |
4547 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 4547 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
4548 | } | 4548 | } |
4549 | oneChild = true; | 4549 | oneChild = true; |
4550 | signature = this.ParseDirectorySearchElement(child, id.Id); | 4550 | signature = this.ParseDirectorySearchElement(child, id.Id); |
@@ -4552,7 +4552,7 @@ namespace WixToolset.Core | |||
4552 | case "DirectorySearchRef": | 4552 | case "DirectorySearchRef": |
4553 | if (oneChild) | 4553 | if (oneChild) |
4554 | { | 4554 | { |
4555 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 4555 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
4556 | } | 4556 | } |
4557 | oneChild = true; | 4557 | oneChild = true; |
4558 | signature = this.ParseDirectorySearchRefElement(child, id.Id); | 4558 | signature = this.ParseDirectorySearchRefElement(child, id.Id); |
@@ -4560,7 +4560,7 @@ namespace WixToolset.Core | |||
4560 | case "FileSearch": | 4560 | case "FileSearch": |
4561 | if (oneChild) | 4561 | if (oneChild) |
4562 | { | 4562 | { |
4563 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 4563 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
4564 | } | 4564 | } |
4565 | oneChild = true; | 4565 | oneChild = true; |
4566 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); | 4566 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); |
@@ -4568,7 +4568,7 @@ namespace WixToolset.Core | |||
4568 | case "FileSearchRef": | 4568 | case "FileSearchRef": |
4569 | if (oneChild) | 4569 | if (oneChild) |
4570 | { | 4570 | { |
4571 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 4571 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
4572 | } | 4572 | } |
4573 | oneChild = true; | 4573 | oneChild = true; |
4574 | signature = this.ParseSimpleRefElement(child, "Signature"); | 4574 | signature = this.ParseSimpleRefElement(child, "Signature"); |
@@ -4636,7 +4636,7 @@ namespace WixToolset.Core | |||
4636 | bits = bits | MsiInterop.MsidbFeatureAttributesUIDisallowAbsent; | 4636 | bits = bits | MsiInterop.MsidbFeatureAttributesUIDisallowAbsent; |
4637 | break; | 4637 | break; |
4638 | default: | 4638 | default: |
4639 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, absent, "allow", "disallow")); | 4639 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, absent, "allow", "disallow")); |
4640 | break; | 4640 | break; |
4641 | } | 4641 | } |
4642 | } | 4642 | } |
@@ -4657,7 +4657,7 @@ namespace WixToolset.Core | |||
4657 | case Wix.Feature.AllowAdvertiseType.yes: // this is the default | 4657 | case Wix.Feature.AllowAdvertiseType.yes: // this is the default |
4658 | break; | 4658 | break; |
4659 | default: | 4659 | default: |
4660 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, allowAdvertise, "no", "system", "yes")); | 4660 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, allowAdvertise, "no", "system", "yes")); |
4661 | break; | 4661 | break; |
4662 | } | 4662 | } |
4663 | } | 4663 | } |
@@ -4681,7 +4681,7 @@ namespace WixToolset.Core | |||
4681 | case Wix.Feature.InstallDefaultType.followParent: | 4681 | case Wix.Feature.InstallDefaultType.followParent: |
4682 | if (ComplexReferenceParentType.Product == parentType) | 4682 | if (ComplexReferenceParentType.Product == parentType) |
4683 | { | 4683 | { |
4684 | this.Core.OnMessage(WixErrors.RootFeatureCannotFollowParent(sourceLineNumbers)); | 4684 | this.Core.Write(ErrorMessages.RootFeatureCannotFollowParent(sourceLineNumbers)); |
4685 | } | 4685 | } |
4686 | bits = bits | MsiInterop.MsidbFeatureAttributesFollowParent; | 4686 | bits = bits | MsiInterop.MsidbFeatureAttributesFollowParent; |
4687 | break; | 4687 | break; |
@@ -4691,7 +4691,7 @@ namespace WixToolset.Core | |||
4691 | bits = bits | MsiInterop.MsidbFeatureAttributesFavorSource; | 4691 | bits = bits | MsiInterop.MsidbFeatureAttributesFavorSource; |
4692 | break; | 4692 | break; |
4693 | default: | 4693 | default: |
4694 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installDefault, "followParent", "local", "source")); | 4694 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installDefault, "followParent", "local", "source")); |
4695 | break; | 4695 | break; |
4696 | } | 4696 | } |
4697 | } | 4697 | } |
@@ -4703,7 +4703,7 @@ namespace WixToolset.Core | |||
4703 | title = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 4703 | title = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
4704 | if ("PUT-FEATURE-TITLE-HERE" == title) | 4704 | if ("PUT-FEATURE-TITLE-HERE" == title) |
4705 | { | 4705 | { |
4706 | this.Core.OnMessage(WixWarnings.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, title)); | 4706 | this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, title)); |
4707 | } | 4707 | } |
4708 | break; | 4708 | break; |
4709 | case "TypicalDefault": | 4709 | case "TypicalDefault": |
@@ -4719,7 +4719,7 @@ namespace WixToolset.Core | |||
4719 | case Wix.Feature.TypicalDefaultType.install: // this is the default | 4719 | case Wix.Feature.TypicalDefaultType.install: // this is the default |
4720 | break; | 4720 | break; |
4721 | default: | 4721 | default: |
4722 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, typicalDefault, "advertise", "install")); | 4722 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, typicalDefault, "advertise", "install")); |
4723 | break; | 4723 | break; |
4724 | } | 4724 | } |
4725 | } | 4725 | } |
@@ -4737,27 +4737,27 @@ namespace WixToolset.Core | |||
4737 | 4737 | ||
4738 | if (null == id) | 4738 | if (null == id) |
4739 | { | 4739 | { |
4740 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 4740 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
4741 | id = Identifier.Invalid; | 4741 | id = Identifier.Invalid; |
4742 | } | 4742 | } |
4743 | else if (38 < id.Id.Length) | 4743 | else if (38 < id.Id.Length) |
4744 | { | 4744 | { |
4745 | this.Core.OnMessage(WixErrors.FeatureNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); | 4745 | this.Core.Write(ErrorMessages.FeatureNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); |
4746 | } | 4746 | } |
4747 | 4747 | ||
4748 | if (null != configurableDirectory && configurableDirectory.ToUpper(CultureInfo.InvariantCulture) != configurableDirectory) | 4748 | if (null != configurableDirectory && configurableDirectory.ToUpper(CultureInfo.InvariantCulture) != configurableDirectory) |
4749 | { | 4749 | { |
4750 | this.Core.OnMessage(WixErrors.FeatureConfigurableDirectoryNotUppercase(sourceLineNumbers, node.Name.LocalName, "ConfigurableDirectory", configurableDirectory)); | 4750 | this.Core.Write(ErrorMessages.FeatureConfigurableDirectoryNotUppercase(sourceLineNumbers, node.Name.LocalName, "ConfigurableDirectory", configurableDirectory)); |
4751 | } | 4751 | } |
4752 | 4752 | ||
4753 | if ("advertise" == typicalDefault && "no" == allowAdvertise) | 4753 | if ("advertise" == typicalDefault && "no" == allowAdvertise) |
4754 | { | 4754 | { |
4755 | this.Core.OnMessage(WixErrors.FeatureCannotFavorAndDisallowAdvertise(sourceLineNumbers, node.Name.LocalName, "TypicalDefault", typicalDefault, "AllowAdvertise", allowAdvertise)); | 4755 | this.Core.Write(ErrorMessages.FeatureCannotFavorAndDisallowAdvertise(sourceLineNumbers, node.Name.LocalName, "TypicalDefault", typicalDefault, "AllowAdvertise", allowAdvertise)); |
4756 | } | 4756 | } |
4757 | 4757 | ||
4758 | if (YesNoType.Yes == followParent && ("local" == installDefault || "source" == installDefault)) | 4758 | if (YesNoType.Yes == followParent && ("local" == installDefault || "source" == installDefault)) |
4759 | { | 4759 | { |
4760 | this.Core.OnMessage(WixErrors.FeatureCannotFollowParentAndFavorLocalOrSource(sourceLineNumbers, node.Name.LocalName, "InstallDefault", "FollowParent", "yes")); | 4760 | this.Core.Write(ErrorMessages.FeatureCannotFollowParentAndFavorLocalOrSource(sourceLineNumbers, node.Name.LocalName, "InstallDefault", "FollowParent", "yes")); |
4761 | } | 4761 | } |
4762 | 4762 | ||
4763 | int childDisplay = 0; | 4763 | int childDisplay = 0; |
@@ -4827,7 +4827,7 @@ namespace WixToolset.Core | |||
4827 | int value; | 4827 | int value; |
4828 | if (!Int32.TryParse(display, NumberStyles.Integer, CultureInfo.InvariantCulture, out value)) | 4828 | if (!Int32.TryParse(display, NumberStyles.Integer, CultureInfo.InvariantCulture, out value)) |
4829 | { | 4829 | { |
4830 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Display", display, "collapse", "expand", "hidden")); | 4830 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Display", display, "collapse", "expand", "hidden")); |
4831 | } | 4831 | } |
4832 | else | 4832 | else |
4833 | { | 4833 | { |
@@ -4892,7 +4892,7 @@ namespace WixToolset.Core | |||
4892 | 4892 | ||
4893 | if (null == id) | 4893 | if (null == id) |
4894 | { | 4894 | { |
4895 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 4895 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
4896 | } | 4896 | } |
4897 | 4897 | ||
4898 | int lastDisplay = 0; | 4898 | int lastDisplay = 0; |
@@ -4978,7 +4978,7 @@ namespace WixToolset.Core | |||
4978 | 4978 | ||
4979 | if (null == id) | 4979 | if (null == id) |
4980 | { | 4980 | { |
4981 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 4981 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
4982 | id = Identifier.Invalid; | 4982 | id = Identifier.Invalid; |
4983 | } | 4983 | } |
4984 | 4984 | ||
@@ -5074,7 +5074,7 @@ namespace WixToolset.Core | |||
5074 | 5074 | ||
5075 | if (null == id) | 5075 | if (null == id) |
5076 | { | 5076 | { |
5077 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 5077 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
5078 | } | 5078 | } |
5079 | 5079 | ||
5080 | this.Core.ParseForExtensionElements(node); | 5080 | this.Core.ParseForExtensionElements(node); |
@@ -5133,7 +5133,7 @@ namespace WixToolset.Core | |||
5133 | action = "!"; | 5133 | action = "!"; |
5134 | break; | 5134 | break; |
5135 | default: | 5135 | default: |
5136 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "create", "set", "remove")); | 5136 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "create", "set", "remove")); |
5137 | break; | 5137 | break; |
5138 | } | 5138 | } |
5139 | } | 5139 | } |
@@ -5145,7 +5145,7 @@ namespace WixToolset.Core | |||
5145 | part = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 5145 | part = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
5146 | if (!Wix.Environment.TryParsePartType(part, out partType)) | 5146 | if (!Wix.Environment.TryParsePartType(part, out partType)) |
5147 | { | 5147 | { |
5148 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Part", part, "all", "first", "last")); | 5148 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Part", part, "all", "first", "last")); |
5149 | } | 5149 | } |
5150 | break; | 5150 | break; |
5151 | case "Permanent": | 5151 | case "Permanent": |
@@ -5178,14 +5178,14 @@ namespace WixToolset.Core | |||
5178 | 5178 | ||
5179 | if (null == name) | 5179 | if (null == name) |
5180 | { | 5180 | { |
5181 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 5181 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
5182 | } | 5182 | } |
5183 | 5183 | ||
5184 | if (Wix.Environment.PartType.NotSet != partType) | 5184 | if (Wix.Environment.PartType.NotSet != partType) |
5185 | { | 5185 | { |
5186 | if ("+" == action) | 5186 | if ("+" == action) |
5187 | { | 5187 | { |
5188 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Part", "Action", "create")); | 5188 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Part", "Action", "create")); |
5189 | } | 5189 | } |
5190 | 5190 | ||
5191 | switch (partType) | 5191 | switch (partType) |
@@ -5248,7 +5248,7 @@ namespace WixToolset.Core | |||
5248 | 5248 | ||
5249 | if (CompilerConstants.IntegerNotSet == id) | 5249 | if (CompilerConstants.IntegerNotSet == id) |
5250 | { | 5250 | { |
5251 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 5251 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
5252 | id = CompilerConstants.IllegalInteger; | 5252 | id = CompilerConstants.IllegalInteger; |
5253 | } | 5253 | } |
5254 | 5254 | ||
@@ -5288,7 +5288,7 @@ namespace WixToolset.Core | |||
5288 | YesNoType extensionAdvertise = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); | 5288 | YesNoType extensionAdvertise = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); |
5289 | if ((YesNoType.No == advertise && YesNoType.Yes == extensionAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == extensionAdvertise)) | 5289 | if ((YesNoType.No == advertise && YesNoType.Yes == extensionAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == extensionAdvertise)) |
5290 | { | 5290 | { |
5291 | this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, extensionAdvertise.ToString(), advertise.ToString())); | 5291 | this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, extensionAdvertise.ToString(), advertise.ToString())); |
5292 | } | 5292 | } |
5293 | advertise = extensionAdvertise; | 5293 | advertise = extensionAdvertise; |
5294 | break; | 5294 | break; |
@@ -5445,7 +5445,7 @@ namespace WixToolset.Core | |||
5445 | assemblyType = FileAssemblyType.Win32Assembly; | 5445 | assemblyType = FileAssemblyType.Win32Assembly; |
5446 | break; | 5446 | break; |
5447 | default: | 5447 | default: |
5448 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, "File", "Assembly", assemblyValue, "no", "win32", ".net")); | 5448 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, "File", "Assembly", assemblyValue, "no", "win32", ".net")); |
5449 | break; | 5449 | break; |
5450 | } | 5450 | } |
5451 | } | 5451 | } |
@@ -5545,7 +5545,7 @@ namespace WixToolset.Core | |||
5545 | procArch = "ia64"; | 5545 | procArch = "ia64"; |
5546 | break; | 5546 | break; |
5547 | default: | 5547 | default: |
5548 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, "File", "ProcessorArchitecture", procArchValue, "msil", "x86", "x64", "ia64")); | 5548 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, "File", "ProcessorArchitecture", procArchValue, "msil", "x86", "x64", "ia64")); |
5549 | break; | 5549 | break; |
5550 | } | 5550 | } |
5551 | } | 5551 | } |
@@ -5609,7 +5609,7 @@ namespace WixToolset.Core | |||
5609 | // the companion file cannot be the key path of a component | 5609 | // the companion file cannot be the key path of a component |
5610 | if (YesNoType.Yes == keyPath) | 5610 | if (YesNoType.Yes == keyPath) |
5611 | { | 5611 | { |
5612 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "CompanionFile", "KeyPath", "yes")); | 5612 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "CompanionFile", "KeyPath", "yes")); |
5613 | } | 5613 | } |
5614 | } | 5614 | } |
5615 | 5615 | ||
@@ -5618,7 +5618,7 @@ namespace WixToolset.Core | |||
5618 | name = Path.GetFileName(source); | 5618 | name = Path.GetFileName(source); |
5619 | if (!this.Core.IsValidLongFilename(name, false)) | 5619 | if (!this.Core.IsValidLongFilename(name, false)) |
5620 | { | 5620 | { |
5621 | this.Core.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Source", name)); | 5621 | this.Core.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Source", name)); |
5622 | } | 5622 | } |
5623 | } | 5623 | } |
5624 | 5624 | ||
@@ -5641,32 +5641,32 @@ namespace WixToolset.Core | |||
5641 | 5641 | ||
5642 | if (null != defaultVersion && null != companionFile) | 5642 | if (null != defaultVersion && null != companionFile) |
5643 | { | 5643 | { |
5644 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DefaultVersion", "CompanionFile", companionFile)); | 5644 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DefaultVersion", "CompanionFile", companionFile)); |
5645 | } | 5645 | } |
5646 | 5646 | ||
5647 | if (FileAssemblyType.NotAnAssembly == assemblyType) | 5647 | if (FileAssemblyType.NotAnAssembly == assemblyType) |
5648 | { | 5648 | { |
5649 | if (null != assemblyManifest) | 5649 | if (null != assemblyManifest) |
5650 | { | 5650 | { |
5651 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Assembly", "AssemblyManifest")); | 5651 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Assembly", "AssemblyManifest")); |
5652 | } | 5652 | } |
5653 | 5653 | ||
5654 | if (null != assemblyApplication) | 5654 | if (null != assemblyApplication) |
5655 | { | 5655 | { |
5656 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Assembly", "AssemblyApplication")); | 5656 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Assembly", "AssemblyApplication")); |
5657 | } | 5657 | } |
5658 | } | 5658 | } |
5659 | else | 5659 | else |
5660 | { | 5660 | { |
5661 | if (FileAssemblyType.Win32Assembly == assemblyType && null == assemblyManifest) | 5661 | if (FileAssemblyType.Win32Assembly == assemblyType && null == assemblyManifest) |
5662 | { | 5662 | { |
5663 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "AssemblyManifest", "Assembly", "win32")); | 5663 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "AssemblyManifest", "Assembly", "win32")); |
5664 | } | 5664 | } |
5665 | 5665 | ||
5666 | // allow "*" guid components to omit explicit KeyPath as they can have only one file and therefore this file is the keypath | 5666 | // allow "*" guid components to omit explicit KeyPath as they can have only one file and therefore this file is the keypath |
5667 | if (YesNoType.Yes != keyPath && "*" != componentGuid) | 5667 | if (YesNoType.Yes != keyPath && "*" != componentGuid) |
5668 | { | 5668 | { |
5669 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Assembly", (FileAssemblyType.DotNetAssembly == assemblyType ? ".net" : "win32"), "KeyPath", "yes")); | 5669 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Assembly", (FileAssemblyType.DotNetAssembly == assemblyType ? ".net" : "win32"), "KeyPath", "yes")); |
5670 | } | 5670 | } |
5671 | } | 5671 | } |
5672 | 5672 | ||
@@ -5942,11 +5942,11 @@ namespace WixToolset.Core | |||
5942 | // Using both ShortName and Name will not always work due to a Windows Installer bug. | 5942 | // Using both ShortName and Name will not always work due to a Windows Installer bug. |
5943 | if (null != shortName && null != name) | 5943 | if (null != shortName && null != name) |
5944 | { | 5944 | { |
5945 | this.Core.OnMessage(WixWarnings.FileSearchFileNameIssue(sourceLineNumbers, node.Name.LocalName, "ShortName", "Name")); | 5945 | this.Core.Write(WarningMessages.FileSearchFileNameIssue(sourceLineNumbers, node.Name.LocalName, "ShortName", "Name")); |
5946 | } | 5946 | } |
5947 | else if (null == shortName && null == name) // at least one name must be specified. | 5947 | else if (null == shortName && null == name) // at least one name must be specified. |
5948 | { | 5948 | { |
5949 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 5949 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
5950 | } | 5950 | } |
5951 | 5951 | ||
5952 | if (this.Core.IsValidShortFilename(name, false)) | 5952 | if (this.Core.IsValidShortFilename(name, false)) |
@@ -5958,7 +5958,7 @@ namespace WixToolset.Core | |||
5958 | } | 5958 | } |
5959 | else | 5959 | else |
5960 | { | 5960 | { |
5961 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); | 5961 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); |
5962 | } | 5962 | } |
5963 | } | 5963 | } |
5964 | 5964 | ||
@@ -5981,7 +5981,7 @@ namespace WixToolset.Core | |||
5981 | // value must be specified and unique. | 5981 | // value must be specified and unique. |
5982 | if (isSameId) | 5982 | if (isSameId) |
5983 | { | 5983 | { |
5984 | this.Core.OnMessage(WixErrors.UniqueFileSearchIdRequired(sourceLineNumbers, parentSignature, node.Name.LocalName)); | 5984 | this.Core.Write(ErrorMessages.UniqueFileSearchIdRequired(sourceLineNumbers, parentSignature, node.Name.LocalName)); |
5985 | } | 5985 | } |
5986 | } | 5986 | } |
5987 | else if (parentDepth > 1) | 5987 | else if (parentDepth > 1) |
@@ -5990,7 +5990,7 @@ namespace WixToolset.Core | |||
5990 | // as the parent DirectorySearch if AssignToProperty is not set. | 5990 | // as the parent DirectorySearch if AssignToProperty is not set. |
5991 | if (!isSameId) | 5991 | if (!isSameId) |
5992 | { | 5992 | { |
5993 | this.Core.OnMessage(WixErrors.IllegalSearchIdForParentDepth(sourceLineNumbers, id.Id, parentSignature)); | 5993 | this.Core.Write(ErrorMessages.IllegalSearchIdForParentDepth(sourceLineNumbers, id.Id, parentSignature)); |
5994 | } | 5994 | } |
5995 | } | 5995 | } |
5996 | 5996 | ||
@@ -6284,7 +6284,7 @@ namespace WixToolset.Core | |||
6284 | } | 6284 | } |
6285 | else | 6285 | else |
6286 | { | 6286 | { |
6287 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "default", "disable", "enable", "hide", "show")); | 6287 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "default", "disable", "enable", "hide", "show")); |
6288 | } | 6288 | } |
6289 | } | 6289 | } |
6290 | } | 6290 | } |
@@ -6333,7 +6333,7 @@ namespace WixToolset.Core | |||
6333 | if (null == condition || 0 == condition.Length) | 6333 | if (null == condition || 0 == condition.Length) |
6334 | { | 6334 | { |
6335 | condition = null; | 6335 | condition = null; |
6336 | this.Core.OnMessage(WixErrors.ConditionExpected(sourceLineNumbers, node.Name.LocalName)); | 6336 | this.Core.Write(ErrorMessages.ConditionExpected(sourceLineNumbers, node.Name.LocalName)); |
6337 | } | 6337 | } |
6338 | 6338 | ||
6339 | switch (parentElementLocalName) | 6339 | switch (parentElementLocalName) |
@@ -6341,7 +6341,7 @@ namespace WixToolset.Core | |||
6341 | case "Control": | 6341 | case "Control": |
6342 | if (null == action) | 6342 | if (null == action) |
6343 | { | 6343 | { |
6344 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); | 6344 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); |
6345 | } | 6345 | } |
6346 | 6346 | ||
6347 | if (!this.Core.EncounteredError) | 6347 | if (!this.Core.EncounteredError) |
@@ -6356,7 +6356,7 @@ namespace WixToolset.Core | |||
6356 | case "Feature": | 6356 | case "Feature": |
6357 | if (CompilerConstants.IntegerNotSet == level) | 6357 | if (CompilerConstants.IntegerNotSet == level) |
6358 | { | 6358 | { |
6359 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Level")); | 6359 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Level")); |
6360 | level = CompilerConstants.IllegalInteger; | 6360 | level = CompilerConstants.IllegalInteger; |
6361 | } | 6361 | } |
6362 | 6362 | ||
@@ -6372,7 +6372,7 @@ namespace WixToolset.Core | |||
6372 | case "Product": | 6372 | case "Product": |
6373 | if (null == message) | 6373 | if (null == message) |
6374 | { | 6374 | { |
6375 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Message")); | 6375 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Message")); |
6376 | } | 6376 | } |
6377 | 6377 | ||
6378 | if (!this.Core.EncounteredError) | 6378 | if (!this.Core.EncounteredError) |
@@ -6437,7 +6437,7 @@ namespace WixToolset.Core | |||
6437 | action = MsiInterop.MsidbIniFileActionRemoveTag; | 6437 | action = MsiInterop.MsidbIniFileActionRemoveTag; |
6438 | break; | 6438 | break; |
6439 | default: | 6439 | default: |
6440 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Action", actionValue, "addLine", "addTag", "createLine", "removeLine", "removeTag")); | 6440 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Action", actionValue, "addLine", "addTag", "createLine", "removeLine", "removeTag")); |
6441 | break; | 6441 | break; |
6442 | } | 6442 | } |
6443 | } | 6443 | } |
@@ -6473,18 +6473,18 @@ namespace WixToolset.Core | |||
6473 | 6473 | ||
6474 | if (CompilerConstants.IntegerNotSet == action) | 6474 | if (CompilerConstants.IntegerNotSet == action) |
6475 | { | 6475 | { |
6476 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); | 6476 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); |
6477 | action = CompilerConstants.IllegalInteger; | 6477 | action = CompilerConstants.IllegalInteger; |
6478 | } | 6478 | } |
6479 | 6479 | ||
6480 | if (null == key) | 6480 | if (null == key) |
6481 | { | 6481 | { |
6482 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 6482 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
6483 | } | 6483 | } |
6484 | 6484 | ||
6485 | if (null == name) | 6485 | if (null == name) |
6486 | { | 6486 | { |
6487 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 6487 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
6488 | } | 6488 | } |
6489 | else if (0 < name.Length) | 6489 | else if (0 < name.Length) |
6490 | { | 6490 | { |
@@ -6497,7 +6497,7 @@ namespace WixToolset.Core | |||
6497 | } | 6497 | } |
6498 | else | 6498 | else |
6499 | { | 6499 | { |
6500 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); | 6500 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); |
6501 | } | 6501 | } |
6502 | } | 6502 | } |
6503 | else // generate a short file name. | 6503 | else // generate a short file name. |
@@ -6511,7 +6511,7 @@ namespace WixToolset.Core | |||
6511 | 6511 | ||
6512 | if (null == section) | 6512 | if (null == section) |
6513 | { | 6513 | { |
6514 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section")); | 6514 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section")); |
6515 | } | 6515 | } |
6516 | 6516 | ||
6517 | if (null == id) | 6517 | if (null == id) |
@@ -6529,7 +6529,7 @@ namespace WixToolset.Core | |||
6529 | { | 6529 | { |
6530 | if (null == value) | 6530 | if (null == value) |
6531 | { | 6531 | { |
6532 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 6532 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
6533 | } | 6533 | } |
6534 | 6534 | ||
6535 | tableName = TupleDefinitionType.IniFile; | 6535 | tableName = TupleDefinitionType.IniFile; |
@@ -6606,7 +6606,7 @@ namespace WixToolset.Core | |||
6606 | type = 2; | 6606 | type = 2; |
6607 | break; | 6607 | break; |
6608 | default: | 6608 | default: |
6609 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Type", typeValue, "directory", "file", "registry")); | 6609 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Type", typeValue, "directory", "file", "registry")); |
6610 | break; | 6610 | break; |
6611 | } | 6611 | } |
6612 | } | 6612 | } |
@@ -6624,12 +6624,12 @@ namespace WixToolset.Core | |||
6624 | 6624 | ||
6625 | if (null == key) | 6625 | if (null == key) |
6626 | { | 6626 | { |
6627 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 6627 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
6628 | } | 6628 | } |
6629 | 6629 | ||
6630 | if (null == name) | 6630 | if (null == name) |
6631 | { | 6631 | { |
6632 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 6632 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
6633 | } | 6633 | } |
6634 | else if (0 < name.Length) | 6634 | else if (0 < name.Length) |
6635 | { | 6635 | { |
@@ -6642,7 +6642,7 @@ namespace WixToolset.Core | |||
6642 | } | 6642 | } |
6643 | else | 6643 | else |
6644 | { | 6644 | { |
6645 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); | 6645 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); |
6646 | } | 6646 | } |
6647 | } | 6647 | } |
6648 | else if (null == shortName) // generate a short file name. | 6648 | else if (null == shortName) // generate a short file name. |
@@ -6653,7 +6653,7 @@ namespace WixToolset.Core | |||
6653 | 6653 | ||
6654 | if (null == section) | 6654 | if (null == section) |
6655 | { | 6655 | { |
6656 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section")); | 6656 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section")); |
6657 | } | 6657 | } |
6658 | 6658 | ||
6659 | if (null == id) | 6659 | if (null == id) |
@@ -6674,7 +6674,7 @@ namespace WixToolset.Core | |||
6674 | case "DirectorySearch": | 6674 | case "DirectorySearch": |
6675 | if (oneChild) | 6675 | if (oneChild) |
6676 | { | 6676 | { |
6677 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 6677 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
6678 | } | 6678 | } |
6679 | oneChild = true; | 6679 | oneChild = true; |
6680 | 6680 | ||
@@ -6684,7 +6684,7 @@ namespace WixToolset.Core | |||
6684 | case "DirectorySearchRef": | 6684 | case "DirectorySearchRef": |
6685 | if (oneChild) | 6685 | if (oneChild) |
6686 | { | 6686 | { |
6687 | this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); | 6687 | this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName)); |
6688 | } | 6688 | } |
6689 | oneChild = true; | 6689 | oneChild = true; |
6690 | signature = this.ParseDirectorySearchRefElement(child, id.Id); | 6690 | signature = this.ParseDirectorySearchRefElement(child, id.Id); |
@@ -6692,7 +6692,7 @@ namespace WixToolset.Core | |||
6692 | case "FileSearch": | 6692 | case "FileSearch": |
6693 | if (oneChild) | 6693 | if (oneChild) |
6694 | { | 6694 | { |
6695 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 6695 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
6696 | } | 6696 | } |
6697 | oneChild = true; | 6697 | oneChild = true; |
6698 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); | 6698 | signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet); |
@@ -6701,7 +6701,7 @@ namespace WixToolset.Core | |||
6701 | case "FileSearchRef": | 6701 | case "FileSearchRef": |
6702 | if (oneChild) | 6702 | if (oneChild) |
6703 | { | 6703 | { |
6704 | this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); | 6704 | this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName)); |
6705 | } | 6705 | } |
6706 | oneChild = true; | 6706 | oneChild = true; |
6707 | string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures | 6707 | string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures |
@@ -6768,7 +6768,7 @@ namespace WixToolset.Core | |||
6768 | 6768 | ||
6769 | if (null == shared) | 6769 | if (null == shared) |
6770 | { | 6770 | { |
6771 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Shared")); | 6771 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Shared")); |
6772 | } | 6772 | } |
6773 | 6773 | ||
6774 | this.Core.ParseForExtensionElements(node); | 6774 | this.Core.ParseForExtensionElements(node); |
@@ -6866,12 +6866,12 @@ namespace WixToolset.Core | |||
6866 | 6866 | ||
6867 | if (null == id) | 6867 | if (null == id) |
6868 | { | 6868 | { |
6869 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 6869 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
6870 | id = Identifier.Invalid; | 6870 | id = Identifier.Invalid; |
6871 | } | 6871 | } |
6872 | else if (40 < id.Id.Length) | 6872 | else if (40 < id.Id.Length) |
6873 | { | 6873 | { |
6874 | this.Core.OnMessage(WixErrors.StreamNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 40)); | 6874 | this.Core.Write(ErrorMessages.StreamNameTooLong(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, id.Id.Length, 40)); |
6875 | 6875 | ||
6876 | // No need to check for modularization problems since DigitalSignature and thus DigitalCertificate | 6876 | // No need to check for modularization problems since DigitalSignature and thus DigitalCertificate |
6877 | // currently have no usage in merge modules. | 6877 | // currently have no usage in merge modules. |
@@ -6879,7 +6879,7 @@ namespace WixToolset.Core | |||
6879 | 6879 | ||
6880 | if (null == sourceFile) | 6880 | if (null == sourceFile) |
6881 | { | 6881 | { |
6882 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 6882 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
6883 | } | 6883 | } |
6884 | 6884 | ||
6885 | this.Core.ParseForExtensionElements(node); | 6885 | this.Core.ParseForExtensionElements(node); |
@@ -6952,7 +6952,7 @@ namespace WixToolset.Core | |||
6952 | 6952 | ||
6953 | if (null == certificateId) | 6953 | if (null == certificateId) |
6954 | { | 6954 | { |
6955 | this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "DigitalCertificate")); | 6955 | this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "DigitalCertificate")); |
6956 | } | 6956 | } |
6957 | 6957 | ||
6958 | if (!this.Core.EncounteredError) | 6958 | if (!this.Core.EncounteredError) |
@@ -6985,13 +6985,13 @@ namespace WixToolset.Core | |||
6985 | string upgradeCode = contextValues["UpgradeCode"]; | 6985 | string upgradeCode = contextValues["UpgradeCode"]; |
6986 | if (String.IsNullOrEmpty(upgradeCode)) | 6986 | if (String.IsNullOrEmpty(upgradeCode)) |
6987 | { | 6987 | { |
6988 | this.Core.OnMessage(WixErrors.ParentElementAttributeRequired(sourceLineNumbers, "Product", "UpgradeCode", node.Name.LocalName)); | 6988 | this.Core.Write(ErrorMessages.ParentElementAttributeRequired(sourceLineNumbers, "Product", "UpgradeCode", node.Name.LocalName)); |
6989 | } | 6989 | } |
6990 | 6990 | ||
6991 | string productVersion = contextValues["ProductVersion"]; | 6991 | string productVersion = contextValues["ProductVersion"]; |
6992 | if (String.IsNullOrEmpty(productVersion)) | 6992 | if (String.IsNullOrEmpty(productVersion)) |
6993 | { | 6993 | { |
6994 | this.Core.OnMessage(WixErrors.ParentElementAttributeRequired(sourceLineNumbers, "Product", "Version", node.Name.LocalName)); | 6994 | this.Core.Write(ErrorMessages.ParentElementAttributeRequired(sourceLineNumbers, "Product", "Version", node.Name.LocalName)); |
6995 | } | 6995 | } |
6996 | 6996 | ||
6997 | string productLanguage = contextValues["ProductLanguage"]; | 6997 | string productLanguage = contextValues["ProductLanguage"]; |
@@ -7056,27 +7056,27 @@ namespace WixToolset.Core | |||
7056 | 7056 | ||
7057 | if (!allowDowngrades && String.IsNullOrEmpty(downgradeErrorMessage)) | 7057 | if (!allowDowngrades && String.IsNullOrEmpty(downgradeErrorMessage)) |
7058 | { | 7058 | { |
7059 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DowngradeErrorMessage", "AllowDowngrades", "yes", true)); | 7059 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DowngradeErrorMessage", "AllowDowngrades", "yes", true)); |
7060 | } | 7060 | } |
7061 | 7061 | ||
7062 | if (allowDowngrades && !String.IsNullOrEmpty(downgradeErrorMessage)) | 7062 | if (allowDowngrades && !String.IsNullOrEmpty(downgradeErrorMessage)) |
7063 | { | 7063 | { |
7064 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DowngradeErrorMessage", "AllowDowngrades", "yes")); | 7064 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DowngradeErrorMessage", "AllowDowngrades", "yes")); |
7065 | } | 7065 | } |
7066 | 7066 | ||
7067 | if (allowDowngrades && allowSameVersionUpgrades) | 7067 | if (allowDowngrades && allowSameVersionUpgrades) |
7068 | { | 7068 | { |
7069 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "AllowSameVersionUpgrades", "AllowDowngrades", "yes")); | 7069 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "AllowSameVersionUpgrades", "AllowDowngrades", "yes")); |
7070 | } | 7070 | } |
7071 | 7071 | ||
7072 | if (blockUpgrades && String.IsNullOrEmpty(disallowUpgradeErrorMessage)) | 7072 | if (blockUpgrades && String.IsNullOrEmpty(disallowUpgradeErrorMessage)) |
7073 | { | 7073 | { |
7074 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisallowUpgradeErrorMessage", "Disallow", "yes", true)); | 7074 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisallowUpgradeErrorMessage", "Disallow", "yes", true)); |
7075 | } | 7075 | } |
7076 | 7076 | ||
7077 | if (!blockUpgrades && !String.IsNullOrEmpty(disallowUpgradeErrorMessage)) | 7077 | if (!blockUpgrades && !String.IsNullOrEmpty(disallowUpgradeErrorMessage)) |
7078 | { | 7078 | { |
7079 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DisallowUpgradeErrorMessage", "Disallow", "yes")); | 7079 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DisallowUpgradeErrorMessage", "Disallow", "yes")); |
7080 | } | 7080 | } |
7081 | 7081 | ||
7082 | if (!this.Core.EncounteredError) | 7082 | if (!this.Core.EncounteredError) |
@@ -7207,7 +7207,7 @@ namespace WixToolset.Core | |||
7207 | Wix.CompressionLevelType compressionLevelType; | 7207 | Wix.CompressionLevelType compressionLevelType; |
7208 | if (!Wix.Enums.TryParseCompressionLevelType(compressionLevelString, out compressionLevelType)) | 7208 | if (!Wix.Enums.TryParseCompressionLevelType(compressionLevelString, out compressionLevelType)) |
7209 | { | 7209 | { |
7210 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, compressionLevelString, "high", "low", "medium", "mszip", "none")); | 7210 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, compressionLevelString, "high", "low", "medium", "mszip", "none")); |
7211 | } | 7211 | } |
7212 | else | 7212 | else |
7213 | { | 7213 | { |
@@ -7226,12 +7226,12 @@ namespace WixToolset.Core | |||
7226 | case "src": | 7226 | case "src": |
7227 | if (null != layout) | 7227 | if (null != layout) |
7228 | { | 7228 | { |
7229 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Layout", "src")); | 7229 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Layout", "src")); |
7230 | } | 7230 | } |
7231 | 7231 | ||
7232 | if ("src" == attrib.Name.LocalName) | 7232 | if ("src" == attrib.Name.LocalName) |
7233 | { | 7233 | { |
7234 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Layout")); | 7234 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Layout")); |
7235 | } | 7235 | } |
7236 | layout = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 7236 | layout = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
7237 | break; | 7237 | break; |
@@ -7254,7 +7254,7 @@ namespace WixToolset.Core | |||
7254 | 7254 | ||
7255 | if (CompilerConstants.IntegerNotSet == id) | 7255 | if (CompilerConstants.IntegerNotSet == id) |
7256 | { | 7256 | { |
7257 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 7257 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
7258 | id = CompilerConstants.IllegalInteger; | 7258 | id = CompilerConstants.IllegalInteger; |
7259 | } | 7259 | } |
7260 | 7260 | ||
@@ -7264,13 +7264,13 @@ namespace WixToolset.Core | |||
7264 | { | 7264 | { |
7265 | if (null == cabinet) | 7265 | if (null == cabinet) |
7266 | { | 7266 | { |
7267 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Cabinet", "EmbedCab", "yes")); | 7267 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Cabinet", "EmbedCab", "yes")); |
7268 | } | 7268 | } |
7269 | else | 7269 | else |
7270 | { | 7270 | { |
7271 | if (62 < cabinet.Length) | 7271 | if (62 < cabinet.Length) |
7272 | { | 7272 | { |
7273 | this.Core.OnMessage(WixErrors.MediaEmbeddedCabinetNameTooLong(sourceLineNumbers, node.Name.LocalName, "Cabinet", cabinet, cabinet.Length)); | 7273 | this.Core.Write(ErrorMessages.MediaEmbeddedCabinetNameTooLong(sourceLineNumbers, node.Name.LocalName, "Cabinet", cabinet, cabinet.Length)); |
7274 | } | 7274 | } |
7275 | 7275 | ||
7276 | cabinet = String.Concat("#", cabinet); | 7276 | cabinet = String.Concat("#", cabinet); |
@@ -7284,7 +7284,7 @@ namespace WixToolset.Core | |||
7284 | // WiX variables in the name will trip the "not a valid 8.3 name" switch, so let them through | 7284 | // WiX variables in the name will trip the "not a valid 8.3 name" switch, so let them through |
7285 | if (!Common.WixVariableRegex.Match(cabinet).Success) | 7285 | if (!Common.WixVariableRegex.Match(cabinet).Success) |
7286 | { | 7286 | { |
7287 | this.Core.OnMessage(WixWarnings.MediaExternalCabinetFilenameIllegal(sourceLineNumbers, node.Name.LocalName, "Cabinet", cabinet)); | 7287 | this.Core.Write(WarningMessages.MediaExternalCabinetFilenameIllegal(sourceLineNumbers, node.Name.LocalName, "Cabinet", cabinet)); |
7288 | } | 7288 | } |
7289 | } | 7289 | } |
7290 | } | 7290 | } |
@@ -7292,7 +7292,7 @@ namespace WixToolset.Core | |||
7292 | 7292 | ||
7293 | if (null != compressionLevel && null == cabinet) | 7293 | if (null != compressionLevel && null == cabinet) |
7294 | { | 7294 | { |
7295 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Cabinet", "CompressionLevel")); | 7295 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Cabinet", "CompressionLevel")); |
7296 | } | 7296 | } |
7297 | 7297 | ||
7298 | if (patch) | 7298 | if (patch) |
@@ -7314,11 +7314,11 @@ namespace WixToolset.Core | |||
7314 | case "DigitalSignature": | 7314 | case "DigitalSignature": |
7315 | if (YesNoType.Yes == embedCab) | 7315 | if (YesNoType.Yes == embedCab) |
7316 | { | 7316 | { |
7317 | this.Core.OnMessage(WixErrors.SignedEmbeddedCabinet(childSourceLineNumbers)); | 7317 | this.Core.Write(ErrorMessages.SignedEmbeddedCabinet(childSourceLineNumbers)); |
7318 | } | 7318 | } |
7319 | else if (null == cabinet) | 7319 | else if (null == cabinet) |
7320 | { | 7320 | { |
7321 | this.Core.OnMessage(WixErrors.ExpectedSignedCabinetName(childSourceLineNumbers)); | 7321 | this.Core.Write(ErrorMessages.ExpectedSignedCabinetName(childSourceLineNumbers)); |
7322 | } | 7322 | } |
7323 | else | 7323 | else |
7324 | { | 7324 | { |
@@ -7428,11 +7428,11 @@ namespace WixToolset.Core | |||
7428 | // reason for having multiple cabients. External cabinet files must also be valid file names. | 7428 | // reason for having multiple cabients. External cabinet files must also be valid file names. |
7429 | if (exampleCabinetName.Equals(authoredCabinetTemplateValue) || !this.Core.IsValidLongFilename(exampleCabinetName, false)) | 7429 | if (exampleCabinetName.Equals(authoredCabinetTemplateValue) || !this.Core.IsValidLongFilename(exampleCabinetName, false)) |
7430 | { | 7430 | { |
7431 | this.Core.OnMessage(WixErrors.InvalidCabinetTemplate(sourceLineNumbers, cabinetTemplate)); | 7431 | this.Core.Write(ErrorMessages.InvalidCabinetTemplate(sourceLineNumbers, cabinetTemplate)); |
7432 | } | 7432 | } |
7433 | else if (!this.Core.IsValidShortFilename(exampleCabinetName, false) && !Common.WixVariableRegex.Match(exampleCabinetName).Success) // ignore short names with wix variables because it rarely works out. | 7433 | else if (!this.Core.IsValidShortFilename(exampleCabinetName, false) && !Common.WixVariableRegex.Match(exampleCabinetName).Success) // ignore short names with wix variables because it rarely works out. |
7434 | { | 7434 | { |
7435 | this.Core.OnMessage(WixWarnings.MediaExternalCabinetFilenameIllegal(sourceLineNumbers, node.Name.LocalName, "CabinetTemplate", cabinetTemplate)); | 7435 | this.Core.Write(WarningMessages.MediaExternalCabinetFilenameIllegal(sourceLineNumbers, node.Name.LocalName, "CabinetTemplate", cabinetTemplate)); |
7436 | } | 7436 | } |
7437 | } | 7437 | } |
7438 | break; | 7438 | break; |
@@ -7442,21 +7442,21 @@ namespace WixToolset.Core | |||
7442 | { | 7442 | { |
7443 | if (!Wix.Enums.TryParseCompressionLevelType(compressionLevel, out compressionLevelType)) | 7443 | if (!Wix.Enums.TryParseCompressionLevelType(compressionLevel, out compressionLevelType)) |
7444 | { | 7444 | { |
7445 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, compressionLevel, "high", "low", "medium", "mszip", "none")); | 7445 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, compressionLevel, "high", "low", "medium", "mszip", "none")); |
7446 | } | 7446 | } |
7447 | } | 7447 | } |
7448 | break; | 7448 | break; |
7449 | case "DiskPrompt": | 7449 | case "DiskPrompt": |
7450 | diskPrompt = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 7450 | diskPrompt = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
7451 | this.Core.CreateSimpleReference(sourceLineNumbers, "Property", "DiskPrompt"); // ensure the output has a DiskPrompt Property defined | 7451 | this.Core.CreateSimpleReference(sourceLineNumbers, "Property", "DiskPrompt"); // ensure the output has a DiskPrompt Property defined |
7452 | this.Core.OnMessage(WixWarnings.ReservedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 7452 | this.Core.Write(WarningMessages.ReservedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
7453 | break; | 7453 | break; |
7454 | case "EmbedCab": | 7454 | case "EmbedCab": |
7455 | embedCab = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); | 7455 | embedCab = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); |
7456 | break; | 7456 | break; |
7457 | case "VolumeLabel": | 7457 | case "VolumeLabel": |
7458 | volumeLabel = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 7458 | volumeLabel = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
7459 | this.Core.OnMessage(WixWarnings.ReservedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 7459 | this.Core.Write(WarningMessages.ReservedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
7460 | break; | 7460 | break; |
7461 | case "MaximumUncompressedMediaSize": | 7461 | case "MaximumUncompressedMediaSize": |
7462 | maximumUncompressedMediaSize = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 1, int.MaxValue); | 7462 | maximumUncompressedMediaSize = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 1, int.MaxValue); |
@@ -7582,22 +7582,22 @@ namespace WixToolset.Core | |||
7582 | 7582 | ||
7583 | if (null == id) | 7583 | if (null == id) |
7584 | { | 7584 | { |
7585 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 7585 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
7586 | } | 7586 | } |
7587 | 7587 | ||
7588 | if (null == language) | 7588 | if (null == language) |
7589 | { | 7589 | { |
7590 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); | 7590 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); |
7591 | } | 7591 | } |
7592 | 7592 | ||
7593 | if (null == sourceFile) | 7593 | if (null == sourceFile) |
7594 | { | 7594 | { |
7595 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 7595 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
7596 | } | 7596 | } |
7597 | 7597 | ||
7598 | if (CompilerConstants.IntegerNotSet == diskId) | 7598 | if (CompilerConstants.IntegerNotSet == diskId) |
7599 | { | 7599 | { |
7600 | this.Core.OnMessage(WixErrors.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "DiskId", "Directory")); | 7600 | this.Core.Write(ErrorMessages.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "DiskId", "Directory")); |
7601 | diskId = CompilerConstants.IllegalInteger; | 7601 | diskId = CompilerConstants.IllegalInteger; |
7602 | } | 7602 | } |
7603 | 7603 | ||
@@ -7688,7 +7688,7 @@ namespace WixToolset.Core | |||
7688 | 7688 | ||
7689 | if (null == name) | 7689 | if (null == name) |
7690 | { | 7690 | { |
7691 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 7691 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
7692 | } | 7692 | } |
7693 | else // need to hex encode these characters | 7693 | else // need to hex encode these characters |
7694 | { | 7694 | { |
@@ -7699,7 +7699,7 @@ namespace WixToolset.Core | |||
7699 | 7699 | ||
7700 | if (null == value) | 7700 | if (null == value) |
7701 | { | 7701 | { |
7702 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 7702 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
7703 | } | 7703 | } |
7704 | else // need to hex encode these characters | 7704 | else // need to hex encode these characters |
7705 | { | 7705 | { |
@@ -7751,7 +7751,7 @@ namespace WixToolset.Core | |||
7751 | 7751 | ||
7752 | if (null == id) | 7752 | if (null == id) |
7753 | { | 7753 | { |
7754 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 7754 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
7755 | } | 7755 | } |
7756 | 7756 | ||
7757 | this.Core.ParseForExtensionElements(node); | 7757 | this.Core.ParseForExtensionElements(node); |
@@ -7806,7 +7806,7 @@ namespace WixToolset.Core | |||
7806 | 7806 | ||
7807 | if (null == contentType) | 7807 | if (null == contentType) |
7808 | { | 7808 | { |
7809 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ContentType")); | 7809 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ContentType")); |
7810 | } | 7810 | } |
7811 | 7811 | ||
7812 | // if the advertise state has not been set, default to non-advertised | 7812 | // if the advertise state has not been set, default to non-advertised |
@@ -7821,7 +7821,7 @@ namespace WixToolset.Core | |||
7821 | { | 7821 | { |
7822 | if (YesNoType.Yes != parentAdvertised) | 7822 | if (YesNoType.Yes != parentAdvertised) |
7823 | { | 7823 | { |
7824 | this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), parentAdvertised.ToString())); | 7824 | this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), parentAdvertised.ToString())); |
7825 | } | 7825 | } |
7826 | 7826 | ||
7827 | if (!this.Core.EncounteredError) | 7827 | if (!this.Core.EncounteredError) |
@@ -7836,7 +7836,7 @@ namespace WixToolset.Core | |||
7836 | { | 7836 | { |
7837 | if (YesNoType.Yes == returnContentType && YesNoType.Yes == parentAdvertised) | 7837 | if (YesNoType.Yes == returnContentType && YesNoType.Yes == parentAdvertised) |
7838 | { | 7838 | { |
7839 | this.Core.OnMessage(WixErrors.CannotDefaultMismatchedAdvertiseStates(sourceLineNumbers)); | 7839 | this.Core.Write(ErrorMessages.CannotDefaultMismatchedAdvertiseStates(sourceLineNumbers)); |
7840 | } | 7840 | } |
7841 | 7841 | ||
7842 | this.Core.CreateRegistryRow(sourceLineNumbers, MsiInterop.MsidbRegistryRootClassesRoot, String.Concat("MIME\\Database\\Content Type\\", contentType), "Extension", String.Concat(".", extension), componentId); | 7842 | this.Core.CreateRegistryRow(sourceLineNumbers, MsiInterop.MsidbRegistryRootClassesRoot, String.Concat("MIME\\Database\\Content Type\\", contentType), "Extension", String.Concat(".", extension), componentId); |
@@ -7873,7 +7873,7 @@ namespace WixToolset.Core | |||
7873 | this.activeName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 7873 | this.activeName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
7874 | if ("PUT-MODULE-NAME-HERE" == this.activeName) | 7874 | if ("PUT-MODULE-NAME-HERE" == this.activeName) |
7875 | { | 7875 | { |
7876 | this.Core.OnMessage(WixWarnings.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, this.activeName)); | 7876 | this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, this.activeName)); |
7877 | } | 7877 | } |
7878 | else | 7878 | else |
7879 | { | 7879 | { |
@@ -7885,7 +7885,7 @@ namespace WixToolset.Core | |||
7885 | break; | 7885 | break; |
7886 | case "Guid": | 7886 | case "Guid": |
7887 | moduleId = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false); | 7887 | moduleId = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false); |
7888 | this.Core.OnMessage(WixWarnings.DeprecatedModuleGuidAttribute(sourceLineNumbers)); | 7888 | this.Core.Write(WarningMessages.DeprecatedModuleGuidAttribute(sourceLineNumbers)); |
7889 | break; | 7889 | break; |
7890 | case "Language": | 7890 | case "Language": |
7891 | this.activeLanguage = this.Core.GetAttributeLocalizableIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); | 7891 | this.activeLanguage = this.Core.GetAttributeLocalizableIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); |
@@ -7906,21 +7906,21 @@ namespace WixToolset.Core | |||
7906 | 7906 | ||
7907 | if (null == this.activeName) | 7907 | if (null == this.activeName) |
7908 | { | 7908 | { |
7909 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 7909 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
7910 | } | 7910 | } |
7911 | 7911 | ||
7912 | if (null == this.activeLanguage) | 7912 | if (null == this.activeLanguage) |
7913 | { | 7913 | { |
7914 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); | 7914 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); |
7915 | } | 7915 | } |
7916 | 7916 | ||
7917 | if (null == version) | 7917 | if (null == version) |
7918 | { | 7918 | { |
7919 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); | 7919 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); |
7920 | } | 7920 | } |
7921 | else if (!CompilerCore.IsValidModuleOrBundleVersion(version)) | 7921 | else if (!CompilerCore.IsValidModuleOrBundleVersion(version)) |
7922 | { | 7922 | { |
7923 | this.Core.OnMessage(WixWarnings.InvalidModuleOrBundleVersion(sourceLineNumbers, "Module", version)); | 7923 | this.Core.Write(WarningMessages.InvalidModuleOrBundleVersion(sourceLineNumbers, "Module", version)); |
7924 | } | 7924 | } |
7925 | 7925 | ||
7926 | try | 7926 | try |
@@ -8119,7 +8119,7 @@ namespace WixToolset.Core | |||
8119 | 8119 | ||
8120 | if (null == this.activeName) | 8120 | if (null == this.activeName) |
8121 | { | 8121 | { |
8122 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 8122 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
8123 | } | 8123 | } |
8124 | 8124 | ||
8125 | this.Core.CreateActiveSection(this.activeName, SectionType.PatchCreation, codepage, this.Context.CompilationId); | 8125 | this.Core.CreateActiveSection(this.activeName, SectionType.PatchCreation, codepage, this.Context.CompilationId); |
@@ -8250,13 +8250,13 @@ namespace WixToolset.Core | |||
8250 | 8250 | ||
8251 | if (null == name) | 8251 | if (null == name) |
8252 | { | 8252 | { |
8253 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 8253 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
8254 | } | 8254 | } |
8255 | else if (0 < name.Length) | 8255 | else if (0 < name.Length) |
8256 | { | 8256 | { |
8257 | if (8 < name.Length) // check the length | 8257 | if (8 < name.Length) // check the length |
8258 | { | 8258 | { |
8259 | this.Core.OnMessage(WixErrors.FamilyNameTooLong(sourceLineNumbers, node.Name.LocalName, "Name", name, name.Length)); | 8259 | this.Core.Write(ErrorMessages.FamilyNameTooLong(sourceLineNumbers, node.Name.LocalName, "Name", name, name.Length)); |
8260 | } | 8260 | } |
8261 | else // check for illegal characters | 8261 | else // check for illegal characters |
8262 | { | 8262 | { |
@@ -8264,7 +8264,7 @@ namespace WixToolset.Core | |||
8264 | { | 8264 | { |
8265 | if (!Char.IsLetterOrDigit(character) && '_' != character) | 8265 | if (!Char.IsLetterOrDigit(character) && '_' != character) |
8266 | { | 8266 | { |
8267 | this.Core.OnMessage(WixErrors.IllegalFamilyName(sourceLineNumbers, node.Name.LocalName, "Name", name)); | 8267 | this.Core.Write(ErrorMessages.IllegalFamilyName(sourceLineNumbers, node.Name.LocalName, "Name", name)); |
8268 | } | 8268 | } |
8269 | } | 8269 | } |
8270 | } | 8270 | } |
@@ -8338,19 +8338,19 @@ namespace WixToolset.Core | |||
8338 | upgrade = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 8338 | upgrade = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
8339 | if (13 < upgrade.Length) | 8339 | if (13 < upgrade.Length) |
8340 | { | 8340 | { |
8341 | this.Core.OnMessage(WixErrors.IdentifierTooLongError(sourceLineNumbers, node.Name.LocalName, "Id", upgrade, 13)); | 8341 | this.Core.Write(ErrorMessages.IdentifierTooLongError(sourceLineNumbers, node.Name.LocalName, "Id", upgrade, 13)); |
8342 | } | 8342 | } |
8343 | break; | 8343 | break; |
8344 | case "SourceFile": | 8344 | case "SourceFile": |
8345 | case "src": | 8345 | case "src": |
8346 | if (null != sourceFile) | 8346 | if (null != sourceFile) |
8347 | { | 8347 | { |
8348 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "src", "SourceFile")); | 8348 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "src", "SourceFile")); |
8349 | } | 8349 | } |
8350 | 8350 | ||
8351 | if ("src" == attrib.Name.LocalName) | 8351 | if ("src" == attrib.Name.LocalName) |
8352 | { | 8352 | { |
8353 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourceFile")); | 8353 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourceFile")); |
8354 | } | 8354 | } |
8355 | sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 8355 | sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
8356 | break; | 8356 | break; |
@@ -8358,12 +8358,12 @@ namespace WixToolset.Core | |||
8358 | case "srcPatch": | 8358 | case "srcPatch": |
8359 | if (null != sourcePatch) | 8359 | if (null != sourcePatch) |
8360 | { | 8360 | { |
8361 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "srcPatch", "SourcePatch")); | 8361 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "srcPatch", "SourcePatch")); |
8362 | } | 8362 | } |
8363 | 8363 | ||
8364 | if ("srcPatch" == attrib.Name.LocalName) | 8364 | if ("srcPatch" == attrib.Name.LocalName) |
8365 | { | 8365 | { |
8366 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourcePatch")); | 8366 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourcePatch")); |
8367 | } | 8367 | } |
8368 | sourcePatch = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 8368 | sourcePatch = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
8369 | break; | 8369 | break; |
@@ -8380,12 +8380,12 @@ namespace WixToolset.Core | |||
8380 | 8380 | ||
8381 | if (null == upgrade) | 8381 | if (null == upgrade) |
8382 | { | 8382 | { |
8383 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 8383 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
8384 | } | 8384 | } |
8385 | 8385 | ||
8386 | if (null == sourceFile) | 8386 | if (null == sourceFile) |
8387 | { | 8387 | { |
8388 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 8388 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
8389 | } | 8389 | } |
8390 | 8390 | ||
8391 | foreach (XElement child in node.Elements()) | 8391 | foreach (XElement child in node.Elements()) |
@@ -8470,7 +8470,7 @@ namespace WixToolset.Core | |||
8470 | 8470 | ||
8471 | if (null == file) | 8471 | if (null == file) |
8472 | { | 8472 | { |
8473 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File")); | 8473 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File")); |
8474 | } | 8474 | } |
8475 | 8475 | ||
8476 | foreach (XElement child in node.Elements()) | 8476 | foreach (XElement child in node.Elements()) |
@@ -8539,7 +8539,7 @@ namespace WixToolset.Core | |||
8539 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 8539 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
8540 | if (target.Length > 13) | 8540 | if (target.Length > 13) |
8541 | { | 8541 | { |
8542 | this.Core.OnMessage(WixErrors.IdentifierTooLongError(sourceLineNumbers, node.Name.LocalName, "Id", target, 13)); | 8542 | this.Core.Write(ErrorMessages.IdentifierTooLongError(sourceLineNumbers, node.Name.LocalName, "Id", target, 13)); |
8543 | } | 8543 | } |
8544 | break; | 8544 | break; |
8545 | case "IgnoreMissingFiles": | 8545 | case "IgnoreMissingFiles": |
@@ -8552,12 +8552,12 @@ namespace WixToolset.Core | |||
8552 | case "src": | 8552 | case "src": |
8553 | if (null != sourceFile) | 8553 | if (null != sourceFile) |
8554 | { | 8554 | { |
8555 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "src", "SourceFile")); | 8555 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "src", "SourceFile")); |
8556 | } | 8556 | } |
8557 | 8557 | ||
8558 | if ("src" == attrib.Name.LocalName) | 8558 | if ("src" == attrib.Name.LocalName) |
8559 | { | 8559 | { |
8560 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourceFile")); | 8560 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "SourceFile")); |
8561 | } | 8561 | } |
8562 | sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 8562 | sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
8563 | break; | 8563 | break; |
@@ -8577,17 +8577,17 @@ namespace WixToolset.Core | |||
8577 | 8577 | ||
8578 | if (null == target) | 8578 | if (null == target) |
8579 | { | 8579 | { |
8580 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 8580 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
8581 | } | 8581 | } |
8582 | 8582 | ||
8583 | if (null == sourceFile) | 8583 | if (null == sourceFile) |
8584 | { | 8584 | { |
8585 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 8585 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
8586 | } | 8586 | } |
8587 | 8587 | ||
8588 | if (CompilerConstants.IntegerNotSet == order) | 8588 | if (CompilerConstants.IntegerNotSet == order) |
8589 | { | 8589 | { |
8590 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order")); | 8590 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order")); |
8591 | } | 8591 | } |
8592 | 8592 | ||
8593 | foreach (XElement child in node.Elements()) | 8593 | foreach (XElement child in node.Elements()) |
@@ -8671,7 +8671,7 @@ namespace WixToolset.Core | |||
8671 | 8671 | ||
8672 | if (null == file) | 8672 | if (null == file) |
8673 | { | 8673 | { |
8674 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 8674 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
8675 | } | 8675 | } |
8676 | 8676 | ||
8677 | foreach (XElement child in node.Elements()) | 8677 | foreach (XElement child in node.Elements()) |
@@ -8755,12 +8755,12 @@ namespace WixToolset.Core | |||
8755 | case "src": | 8755 | case "src": |
8756 | if (null != source) | 8756 | if (null != source) |
8757 | { | 8757 | { |
8758 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "src", "Source")); | 8758 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "src", "Source")); |
8759 | } | 8759 | } |
8760 | 8760 | ||
8761 | if ("src" == attrib.Name.LocalName) | 8761 | if ("src" == attrib.Name.LocalName) |
8762 | { | 8762 | { |
8763 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Source")); | 8763 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Source")); |
8764 | } | 8764 | } |
8765 | source = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 8765 | source = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
8766 | break; | 8766 | break; |
@@ -8777,17 +8777,17 @@ namespace WixToolset.Core | |||
8777 | 8777 | ||
8778 | if (null == file) | 8778 | if (null == file) |
8779 | { | 8779 | { |
8780 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File")); | 8780 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File")); |
8781 | } | 8781 | } |
8782 | 8782 | ||
8783 | if (null == source) | 8783 | if (null == source) |
8784 | { | 8784 | { |
8785 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Source")); | 8785 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Source")); |
8786 | } | 8786 | } |
8787 | 8787 | ||
8788 | if (CompilerConstants.IntegerNotSet == order) | 8788 | if (CompilerConstants.IntegerNotSet == order) |
8789 | { | 8789 | { |
8790 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order")); | 8790 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order")); |
8791 | } | 8791 | } |
8792 | 8792 | ||
8793 | foreach (XElement child in node.Elements()) | 8793 | foreach (XElement child in node.Elements()) |
@@ -8880,7 +8880,7 @@ namespace WixToolset.Core | |||
8880 | 8880 | ||
8881 | if (null == file) | 8881 | if (null == file) |
8882 | { | 8882 | { |
8883 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File")); | 8883 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File")); |
8884 | } | 8884 | } |
8885 | 8885 | ||
8886 | foreach (XElement child in node.Elements()) | 8886 | foreach (XElement child in node.Elements()) |
@@ -8905,7 +8905,7 @@ namespace WixToolset.Core | |||
8905 | 8905 | ||
8906 | if (null == protectOffsets || null == protectLengths) | 8906 | if (null == protectOffsets || null == protectLengths) |
8907 | { | 8907 | { |
8908 | this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "ProtectRange")); | 8908 | this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "ProtectRange")); |
8909 | } | 8909 | } |
8910 | 8910 | ||
8911 | if (!this.Core.EncounteredError) | 8911 | if (!this.Core.EncounteredError) |
@@ -8955,12 +8955,12 @@ namespace WixToolset.Core | |||
8955 | 8955 | ||
8956 | if (null == length) | 8956 | if (null == length) |
8957 | { | 8957 | { |
8958 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Length")); | 8958 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Length")); |
8959 | } | 8959 | } |
8960 | 8960 | ||
8961 | if (null == offset) | 8961 | if (null == offset) |
8962 | { | 8962 | { |
8963 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset")); | 8963 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset")); |
8964 | } | 8964 | } |
8965 | 8965 | ||
8966 | this.Core.ParseForExtensionElements(node); | 8966 | this.Core.ParseForExtensionElements(node); |
@@ -9025,12 +9025,12 @@ namespace WixToolset.Core | |||
9025 | 9025 | ||
9026 | if (null == name) | 9026 | if (null == name) |
9027 | { | 9027 | { |
9028 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 9028 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
9029 | } | 9029 | } |
9030 | 9030 | ||
9031 | if (null == value) | 9031 | if (null == value) |
9032 | { | 9032 | { |
9033 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 9033 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
9034 | } | 9034 | } |
9035 | 9035 | ||
9036 | this.Core.ParseForExtensionElements(node); | 9036 | this.Core.ParseForExtensionElements(node); |
@@ -9047,7 +9047,7 @@ namespace WixToolset.Core | |||
9047 | { | 9047 | { |
9048 | if (null != company) | 9048 | if (null != company) |
9049 | { | 9049 | { |
9050 | this.Core.OnMessage(WixErrors.UnexpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company")); | 9050 | this.Core.Write(ErrorMessages.UnexpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company")); |
9051 | } | 9051 | } |
9052 | this.ProcessProperties(sourceLineNumbers, name, value); | 9052 | this.ProcessProperties(sourceLineNumbers, name, value); |
9053 | } | 9053 | } |
@@ -9077,22 +9077,22 @@ namespace WixToolset.Core | |||
9077 | case "ProductCode": | 9077 | case "ProductCode": |
9078 | if (null != target) | 9078 | if (null != target) |
9079 | { | 9079 | { |
9080 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Target", "TargetImage")); | 9080 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Target", "TargetImage")); |
9081 | } | 9081 | } |
9082 | target = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false); | 9082 | target = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false); |
9083 | break; | 9083 | break; |
9084 | case "Target": | 9084 | case "Target": |
9085 | if (null != target) | 9085 | if (null != target) |
9086 | { | 9086 | { |
9087 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "TargetImage", "ProductCode")); | 9087 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "TargetImage", "ProductCode")); |
9088 | } | 9088 | } |
9089 | this.Core.OnMessage(WixWarnings.DeprecatedPatchSequenceTargetAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 9089 | this.Core.Write(WarningMessages.DeprecatedPatchSequenceTargetAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
9090 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 9090 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
9091 | break; | 9091 | break; |
9092 | case "TargetImage": | 9092 | case "TargetImage": |
9093 | if (null != target) | 9093 | if (null != target) |
9094 | { | 9094 | { |
9095 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Target", "ProductCode")); | 9095 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Target", "ProductCode")); |
9096 | } | 9096 | } |
9097 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 9097 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
9098 | this.Core.CreateSimpleReference(sourceLineNumbers, "TargetImages", target); | 9098 | this.Core.CreateSimpleReference(sourceLineNumbers, "TargetImages", target); |
@@ -9119,7 +9119,7 @@ namespace WixToolset.Core | |||
9119 | 9119 | ||
9120 | if (null == family) | 9120 | if (null == family) |
9121 | { | 9121 | { |
9122 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "PatchFamily")); | 9122 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "PatchFamily")); |
9123 | } | 9123 | } |
9124 | 9124 | ||
9125 | this.Core.ParseForExtensionElements(node); | 9125 | this.Core.ParseForExtensionElements(node); |
@@ -9173,7 +9173,7 @@ namespace WixToolset.Core | |||
9173 | 9173 | ||
9174 | if (null == id) | 9174 | if (null == id) |
9175 | { | 9175 | { |
9176 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 9176 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
9177 | } | 9177 | } |
9178 | 9178 | ||
9179 | this.Core.ParseForExtensionElements(node); | 9179 | this.Core.ParseForExtensionElements(node); |
@@ -9221,7 +9221,7 @@ namespace WixToolset.Core | |||
9221 | string id = this.ParseTargetProductCodeElement(child); | 9221 | string id = this.ParseTargetProductCodeElement(child); |
9222 | if (0 == String.CompareOrdinal("*", id)) | 9222 | if (0 == String.CompareOrdinal("*", id)) |
9223 | { | 9223 | { |
9224 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWhenNested(sourceLineNumbers, child.Name.LocalName, "Id", id, node.Name.LocalName)); | 9224 | this.Core.Write(ErrorMessages.IllegalAttributeValueWhenNested(sourceLineNumbers, child.Name.LocalName, "Id", id, node.Name.LocalName)); |
9225 | } | 9225 | } |
9226 | else | 9226 | else |
9227 | { | 9227 | { |
@@ -9288,7 +9288,7 @@ namespace WixToolset.Core | |||
9288 | 9288 | ||
9289 | if (null == id) | 9289 | if (null == id) |
9290 | { | 9290 | { |
9291 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 9291 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
9292 | } | 9292 | } |
9293 | 9293 | ||
9294 | this.Core.ParseForExtensionElements(node); | 9294 | this.Core.ParseForExtensionElements(node); |
@@ -9328,7 +9328,7 @@ namespace WixToolset.Core | |||
9328 | 9328 | ||
9329 | if (null == path) | 9329 | if (null == path) |
9330 | { | 9330 | { |
9331 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Path")); | 9331 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Path")); |
9332 | } | 9332 | } |
9333 | 9333 | ||
9334 | this.Core.ParseForExtensionElements(node); | 9334 | this.Core.ParseForExtensionElements(node); |
@@ -9446,11 +9446,11 @@ namespace WixToolset.Core | |||
9446 | 9446 | ||
9447 | if (null == this.activeName) | 9447 | if (null == this.activeName) |
9448 | { | 9448 | { |
9449 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 9449 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
9450 | } | 9450 | } |
9451 | if (null == classification) | 9451 | if (null == classification) |
9452 | { | 9452 | { |
9453 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification")); | 9453 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification")); |
9454 | } | 9454 | } |
9455 | if (null == clientPatchId) | 9455 | if (null == clientPatchId) |
9456 | { | 9456 | { |
@@ -9458,15 +9458,15 @@ namespace WixToolset.Core | |||
9458 | } | 9458 | } |
9459 | if (null == description) | 9459 | if (null == description) |
9460 | { | 9460 | { |
9461 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description")); | 9461 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description")); |
9462 | } | 9462 | } |
9463 | if (null == displayName) | 9463 | if (null == displayName) |
9464 | { | 9464 | { |
9465 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName")); | 9465 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName")); |
9466 | } | 9466 | } |
9467 | if (null == manufacturer) | 9467 | if (null == manufacturer) |
9468 | { | 9468 | { |
9469 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer")); | 9469 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer")); |
9470 | } | 9470 | } |
9471 | 9471 | ||
9472 | this.Core.CreateActiveSection(this.activeName, SectionType.Patch, codepage, this.Context.CompilationId); | 9472 | this.Core.CreateActiveSection(this.activeName, SectionType.Patch, codepage, this.Context.CompilationId); |
@@ -9668,17 +9668,17 @@ namespace WixToolset.Core | |||
9668 | 9668 | ||
9669 | if (null == id) | 9669 | if (null == id) |
9670 | { | 9670 | { |
9671 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 9671 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
9672 | id = Identifier.Invalid; | 9672 | id = Identifier.Invalid; |
9673 | } | 9673 | } |
9674 | 9674 | ||
9675 | if (String.IsNullOrEmpty(version)) | 9675 | if (String.IsNullOrEmpty(version)) |
9676 | { | 9676 | { |
9677 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); | 9677 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); |
9678 | } | 9678 | } |
9679 | else if (!CompilerCore.IsValidProductVersion(version)) | 9679 | else if (!CompilerCore.IsValidProductVersion(version)) |
9680 | { | 9680 | { |
9681 | this.Core.OnMessage(WixErrors.InvalidProductVersion(sourceLineNumbers, version)); | 9681 | this.Core.Write(ErrorMessages.InvalidProductVersion(sourceLineNumbers, version)); |
9682 | } | 9682 | } |
9683 | 9683 | ||
9684 | // find unexpected child elements | 9684 | // find unexpected child elements |
@@ -9768,7 +9768,7 @@ namespace WixToolset.Core | |||
9768 | this.Core.ParseForExtensionElements(node); | 9768 | this.Core.ParseForExtensionElements(node); |
9769 | 9769 | ||
9770 | // Always warn when using the All element. | 9770 | // Always warn when using the All element. |
9771 | this.Core.OnMessage(WixWarnings.AllChangesIncludedInPatch(sourceLineNumbers)); | 9771 | this.Core.Write(WarningMessages.AllChangesIncludedInPatch(sourceLineNumbers)); |
9772 | 9772 | ||
9773 | if (!this.Core.EncounteredError) | 9773 | if (!this.Core.EncounteredError) |
9774 | { | 9774 | { |
@@ -9808,7 +9808,7 @@ namespace WixToolset.Core | |||
9808 | 9808 | ||
9809 | if (null == id) | 9809 | if (null == id) |
9810 | { | 9810 | { |
9811 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 9811 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
9812 | } | 9812 | } |
9813 | 9813 | ||
9814 | this.Core.ParseForExtensionElements(node); | 9814 | this.Core.ParseForExtensionElements(node); |
@@ -9853,12 +9853,12 @@ namespace WixToolset.Core | |||
9853 | 9853 | ||
9854 | if (null == id) | 9854 | if (null == id) |
9855 | { | 9855 | { |
9856 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 9856 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
9857 | id = Identifier.Invalid; | 9857 | id = Identifier.Invalid; |
9858 | } | 9858 | } |
9859 | else if (27 < id.Id.Length) | 9859 | else if (27 < id.Id.Length) |
9860 | { | 9860 | { |
9861 | this.Core.OnMessage(WixErrors.IdentifierTooLongError(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, 27)); | 9861 | this.Core.Write(ErrorMessages.IdentifierTooLongError(sourceLineNumbers, node.Name.LocalName, "Id", id.Id, 27)); |
9862 | } | 9862 | } |
9863 | 9863 | ||
9864 | foreach (XElement child in node.Elements()) | 9864 | foreach (XElement child in node.Elements()) |
@@ -9871,7 +9871,7 @@ namespace WixToolset.Core | |||
9871 | if (parsedValidate) | 9871 | if (parsedValidate) |
9872 | { | 9872 | { |
9873 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 9873 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
9874 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); | 9874 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); |
9875 | } | 9875 | } |
9876 | else | 9876 | else |
9877 | { | 9877 | { |
@@ -9949,7 +9949,7 @@ namespace WixToolset.Core | |||
9949 | validationFlags |= TransformFlags.ValidateUpdateVersion; | 9949 | validationFlags |= TransformFlags.ValidateUpdateVersion; |
9950 | break; | 9950 | break; |
9951 | default: | 9951 | default: |
9952 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Version", check, "Major", "Minor", "Update")); | 9952 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Version", check, "Major", "Minor", "Update")); |
9953 | break; | 9953 | break; |
9954 | } | 9954 | } |
9955 | break; | 9955 | break; |
@@ -9975,7 +9975,7 @@ namespace WixToolset.Core | |||
9975 | validationFlags |= TransformFlags.ValidateNewGreaterBaseVersion; | 9975 | validationFlags |= TransformFlags.ValidateNewGreaterBaseVersion; |
9976 | break; | 9976 | break; |
9977 | default: | 9977 | default: |
9978 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Operator", op, "Lesser", "LesserOrEqual", "Equal", "GreaterOrEqual", "Greater")); | 9978 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Operator", op, "Lesser", "LesserOrEqual", "Equal", "GreaterOrEqual", "Greater")); |
9979 | break; | 9979 | break; |
9980 | } | 9980 | } |
9981 | break; | 9981 | break; |
@@ -10117,13 +10117,13 @@ namespace WixToolset.Core | |||
10117 | 10117 | ||
10118 | if (null == requiredId) | 10118 | if (null == requiredId) |
10119 | { | 10119 | { |
10120 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RequiredId")); | 10120 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RequiredId")); |
10121 | requiredId = String.Empty; | 10121 | requiredId = String.Empty; |
10122 | } | 10122 | } |
10123 | 10123 | ||
10124 | if (CompilerConstants.IntegerNotSet == requiredLanguage) | 10124 | if (CompilerConstants.IntegerNotSet == requiredLanguage) |
10125 | { | 10125 | { |
10126 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RequiredLanguage")); | 10126 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RequiredLanguage")); |
10127 | requiredLanguage = CompilerConstants.IllegalInteger; | 10127 | requiredLanguage = CompilerConstants.IllegalInteger; |
10128 | } | 10128 | } |
10129 | 10129 | ||
@@ -10188,13 +10188,13 @@ namespace WixToolset.Core | |||
10188 | 10188 | ||
10189 | if (null == excludedId) | 10189 | if (null == excludedId) |
10190 | { | 10190 | { |
10191 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ExcludedId")); | 10191 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ExcludedId")); |
10192 | excludedId = String.Empty; | 10192 | excludedId = String.Empty; |
10193 | } | 10193 | } |
10194 | 10194 | ||
10195 | if (CompilerConstants.IntegerNotSet != excludeExceptLanguage && CompilerConstants.IntegerNotSet != excludeLanguage) | 10195 | if (CompilerConstants.IntegerNotSet != excludeExceptLanguage && CompilerConstants.IntegerNotSet != excludeLanguage) |
10196 | { | 10196 | { |
10197 | this.Core.OnMessage(WixErrors.IllegalModuleExclusionLanguageAttributes(sourceLineNumbers)); | 10197 | this.Core.Write(ErrorMessages.IllegalModuleExclusionLanguageAttributes(sourceLineNumbers)); |
10198 | } | 10198 | } |
10199 | else if (CompilerConstants.IntegerNotSet != excludeExceptLanguage) | 10199 | else if (CompilerConstants.IntegerNotSet != excludeExceptLanguage) |
10200 | { | 10200 | { |
@@ -10278,7 +10278,7 @@ namespace WixToolset.Core | |||
10278 | format = 3; | 10278 | format = 3; |
10279 | break; | 10279 | break; |
10280 | default: | 10280 | default: |
10281 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Format", formatStr, "Text", "Key", "Integer", "Bitfield")); | 10281 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Format", formatStr, "Text", "Key", "Integer", "Bitfield")); |
10282 | break; | 10282 | break; |
10283 | } | 10283 | } |
10284 | } | 10284 | } |
@@ -10317,13 +10317,13 @@ namespace WixToolset.Core | |||
10317 | 10317 | ||
10318 | if (null == name) | 10318 | if (null == name) |
10319 | { | 10319 | { |
10320 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 10320 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
10321 | name = String.Empty; | 10321 | name = String.Empty; |
10322 | } | 10322 | } |
10323 | 10323 | ||
10324 | if (CompilerConstants.IntegerNotSet == format) | 10324 | if (CompilerConstants.IntegerNotSet == format) |
10325 | { | 10325 | { |
10326 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Format")); | 10326 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Format")); |
10327 | format = CompilerConstants.IllegalInteger; | 10327 | format = CompilerConstants.IllegalInteger; |
10328 | } | 10328 | } |
10329 | 10329 | ||
@@ -10388,19 +10388,19 @@ namespace WixToolset.Core | |||
10388 | 10388 | ||
10389 | if (null == column) | 10389 | if (null == column) |
10390 | { | 10390 | { |
10391 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Column")); | 10391 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Column")); |
10392 | column = String.Empty; | 10392 | column = String.Empty; |
10393 | } | 10393 | } |
10394 | 10394 | ||
10395 | if (null == table) | 10395 | if (null == table) |
10396 | { | 10396 | { |
10397 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Table")); | 10397 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Table")); |
10398 | table = String.Empty; | 10398 | table = String.Empty; |
10399 | } | 10399 | } |
10400 | 10400 | ||
10401 | if (null == rowKeys) | 10401 | if (null == rowKeys) |
10402 | { | 10402 | { |
10403 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Row")); | 10403 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Row")); |
10404 | } | 10404 | } |
10405 | 10405 | ||
10406 | this.Core.ParseForExtensionElements(node); | 10406 | this.Core.ParseForExtensionElements(node); |
@@ -10446,7 +10446,7 @@ namespace WixToolset.Core | |||
10446 | 10446 | ||
10447 | if (null == id) | 10447 | if (null == id) |
10448 | { | 10448 | { |
10449 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 10449 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
10450 | } | 10450 | } |
10451 | 10451 | ||
10452 | this.Core.ParseForExtensionElements(node); | 10452 | this.Core.ParseForExtensionElements(node); |
@@ -10506,7 +10506,7 @@ namespace WixToolset.Core | |||
10506 | 10506 | ||
10507 | if (null == name) | 10507 | if (null == name) |
10508 | { | 10508 | { |
10509 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 10509 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
10510 | } | 10510 | } |
10511 | 10511 | ||
10512 | if (null == id) | 10512 | if (null == id) |
@@ -10594,7 +10594,7 @@ namespace WixToolset.Core | |||
10594 | 10594 | ||
10595 | if (null == id) | 10595 | if (null == id) |
10596 | { | 10596 | { |
10597 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 10597 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
10598 | } | 10598 | } |
10599 | 10599 | ||
10600 | this.Core.ParseForExtensionElements(node); | 10600 | this.Core.ParseForExtensionElements(node); |
@@ -10656,7 +10656,7 @@ namespace WixToolset.Core | |||
10656 | registration = 1; | 10656 | registration = 1; |
10657 | break; | 10657 | break; |
10658 | default: | 10658 | default: |
10659 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Registration", registrationValue, "machine", "user")); | 10659 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Registration", registrationValue, "machine", "user")); |
10660 | break; | 10660 | break; |
10661 | } | 10661 | } |
10662 | } | 10662 | } |
@@ -10674,7 +10674,7 @@ namespace WixToolset.Core | |||
10674 | 10674 | ||
10675 | if (CompilerConstants.IntegerNotSet == registration) | 10675 | if (CompilerConstants.IntegerNotSet == registration) |
10676 | { | 10676 | { |
10677 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Registration")); | 10677 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Registration")); |
10678 | registration = CompilerConstants.IllegalInteger; | 10678 | registration = CompilerConstants.IllegalInteger; |
10679 | } | 10679 | } |
10680 | 10680 | ||
@@ -10784,7 +10784,7 @@ namespace WixToolset.Core | |||
10784 | // merge modules must always be compressed, so this attribute is invalid | 10784 | // merge modules must always be compressed, so this attribute is invalid |
10785 | if (this.compilingModule) | 10785 | if (this.compilingModule) |
10786 | { | 10786 | { |
10787 | this.Core.OnMessage(WixWarnings.DeprecatedPackageCompressedAttribute(sourceLineNumbers)); | 10787 | this.Core.Write(WarningMessages.DeprecatedPackageCompressedAttribute(sourceLineNumbers)); |
10788 | // this.core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Compressed", "Module")); | 10788 | // this.core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Compressed", "Module")); |
10789 | } | 10789 | } |
10790 | else if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib)) | 10790 | else if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib)) |
@@ -10810,7 +10810,7 @@ namespace WixToolset.Core | |||
10810 | sourceBits = sourceBits | 8; | 10810 | sourceBits = sourceBits | 8; |
10811 | break; | 10811 | break; |
10812 | default: | 10812 | default: |
10813 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installPrivileges, "elevated", "limited")); | 10813 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installPrivileges, "elevated", "limited")); |
10814 | break; | 10814 | break; |
10815 | } | 10815 | } |
10816 | } | 10816 | } |
@@ -10833,7 +10833,7 @@ namespace WixToolset.Core | |||
10833 | sourceBits = sourceBits | 8; | 10833 | sourceBits = sourceBits | 8; |
10834 | break; | 10834 | break; |
10835 | default: | 10835 | default: |
10836 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installScope, "perMachine", "perUser")); | 10836 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installScope, "perMachine", "perUser")); |
10837 | break; | 10837 | break; |
10838 | } | 10838 | } |
10839 | } | 10839 | } |
@@ -10851,13 +10851,13 @@ namespace WixToolset.Core | |||
10851 | packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 10851 | packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
10852 | if ("PUT-COMPANY-NAME-HERE" == packageAuthor) | 10852 | if ("PUT-COMPANY-NAME-HERE" == packageAuthor) |
10853 | { | 10853 | { |
10854 | this.Core.OnMessage(WixWarnings.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, packageAuthor)); | 10854 | this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, packageAuthor)); |
10855 | } | 10855 | } |
10856 | break; | 10856 | break; |
10857 | case "Platform": | 10857 | case "Platform": |
10858 | if (null != platformValue) | 10858 | if (null != platformValue) |
10859 | { | 10859 | { |
10860 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platforms")); | 10860 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platforms")); |
10861 | } | 10861 | } |
10862 | 10862 | ||
10863 | platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 10863 | platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -10865,7 +10865,7 @@ namespace WixToolset.Core | |||
10865 | switch (platformType) | 10865 | switch (platformType) |
10866 | { | 10866 | { |
10867 | case Wix.Package.PlatformType.intel: | 10867 | case Wix.Package.PlatformType.intel: |
10868 | this.Core.OnMessage(WixWarnings.DeprecatedAttributeValue(sourceLineNumbers, platformValue, node.Name.LocalName, attrib.Name.LocalName, "x86")); | 10868 | this.Core.Write(WarningMessages.DeprecatedAttributeValue(sourceLineNumbers, platformValue, node.Name.LocalName, attrib.Name.LocalName, "x86")); |
10869 | goto case Wix.Package.PlatformType.x86; | 10869 | goto case Wix.Package.PlatformType.x86; |
10870 | case Wix.Package.PlatformType.x86: | 10870 | case Wix.Package.PlatformType.x86: |
10871 | platform = "Intel"; | 10871 | platform = "Intel"; |
@@ -10874,7 +10874,7 @@ namespace WixToolset.Core | |||
10874 | platform = "x64"; | 10874 | platform = "x64"; |
10875 | break; | 10875 | break; |
10876 | case Wix.Package.PlatformType.intel64: | 10876 | case Wix.Package.PlatformType.intel64: |
10877 | this.Core.OnMessage(WixWarnings.DeprecatedAttributeValue(sourceLineNumbers, platformValue, node.Name.LocalName, attrib.Name.LocalName, "ia64")); | 10877 | this.Core.Write(WarningMessages.DeprecatedAttributeValue(sourceLineNumbers, platformValue, node.Name.LocalName, attrib.Name.LocalName, "ia64")); |
10878 | goto case Wix.Package.PlatformType.ia64; | 10878 | goto case Wix.Package.PlatformType.ia64; |
10879 | case Wix.Package.PlatformType.ia64: | 10879 | case Wix.Package.PlatformType.ia64: |
10880 | platform = "Intel64"; | 10880 | platform = "Intel64"; |
@@ -10883,17 +10883,17 @@ namespace WixToolset.Core | |||
10883 | platform = "Arm"; | 10883 | platform = "Arm"; |
10884 | break; | 10884 | break; |
10885 | default: | 10885 | default: |
10886 | this.Core.OnMessage(WixErrors.InvalidPlatformValue(sourceLineNumbers, platformValue)); | 10886 | this.Core.Write(ErrorMessages.InvalidPlatformValue(sourceLineNumbers, platformValue)); |
10887 | break; | 10887 | break; |
10888 | } | 10888 | } |
10889 | break; | 10889 | break; |
10890 | case "Platforms": | 10890 | case "Platforms": |
10891 | if (null != platformValue) | 10891 | if (null != platformValue) |
10892 | { | 10892 | { |
10893 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platform")); | 10893 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platform")); |
10894 | } | 10894 | } |
10895 | 10895 | ||
10896 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platform")); | 10896 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platform")); |
10897 | platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 10897 | platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
10898 | platform = platformValue; | 10898 | platform = platformValue; |
10899 | break; | 10899 | break; |
@@ -10923,31 +10923,31 @@ namespace WixToolset.Core | |||
10923 | 10923 | ||
10924 | if (installPrivilegeSeen && installScopeSeen) | 10924 | if (installPrivilegeSeen && installScopeSeen) |
10925 | { | 10925 | { |
10926 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "InstallPrivileges", "InstallScope")); | 10926 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "InstallPrivileges", "InstallScope")); |
10927 | } | 10927 | } |
10928 | 10928 | ||
10929 | if ((0 != String.Compare(platform, "Intel", StringComparison.OrdinalIgnoreCase)) && 200 > msiVersion) | 10929 | if ((0 != String.Compare(platform, "Intel", StringComparison.OrdinalIgnoreCase)) && 200 > msiVersion) |
10930 | { | 10930 | { |
10931 | msiVersion = 200; | 10931 | msiVersion = 200; |
10932 | this.Core.OnMessage(WixWarnings.RequiresMsi200for64bitPackage(sourceLineNumbers)); | 10932 | this.Core.Write(WarningMessages.RequiresMsi200for64bitPackage(sourceLineNumbers)); |
10933 | } | 10933 | } |
10934 | 10934 | ||
10935 | if ((0 == String.Compare(platform, "Arm", StringComparison.OrdinalIgnoreCase)) && 500 > msiVersion) | 10935 | if ((0 == String.Compare(platform, "Arm", StringComparison.OrdinalIgnoreCase)) && 500 > msiVersion) |
10936 | { | 10936 | { |
10937 | msiVersion = 500; | 10937 | msiVersion = 500; |
10938 | this.Core.OnMessage(WixWarnings.RequiresMsi500forArmPackage(sourceLineNumbers)); | 10938 | this.Core.Write(WarningMessages.RequiresMsi500forArmPackage(sourceLineNumbers)); |
10939 | } | 10939 | } |
10940 | 10940 | ||
10941 | if (null == packageAuthor) | 10941 | if (null == packageAuthor) |
10942 | { | 10942 | { |
10943 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer")); | 10943 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer")); |
10944 | } | 10944 | } |
10945 | 10945 | ||
10946 | if (this.compilingModule) | 10946 | if (this.compilingModule) |
10947 | { | 10947 | { |
10948 | if (null == packageCode) | 10948 | if (null == packageCode) |
10949 | { | 10949 | { |
10950 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 10950 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
10951 | } | 10951 | } |
10952 | 10952 | ||
10953 | // merge modules use the modularization guid as the package code | 10953 | // merge modules use the modularization guid as the package code |
@@ -10968,7 +10968,7 @@ namespace WixToolset.Core | |||
10968 | 10968 | ||
10969 | if ("*" != packageCode) | 10969 | if ("*" != packageCode) |
10970 | { | 10970 | { |
10971 | this.Core.OnMessage(WixWarnings.PackageCodeSet(sourceLineNumbers)); | 10971 | this.Core.Write(WarningMessages.PackageCodeSet(sourceLineNumbers)); |
10972 | } | 10972 | } |
10973 | } | 10973 | } |
10974 | 10974 | ||
@@ -11101,37 +11101,37 @@ namespace WixToolset.Core | |||
11101 | 11101 | ||
11102 | if (YesNoType.NotSet == allowRemoval) | 11102 | if (YesNoType.NotSet == allowRemoval) |
11103 | { | 11103 | { |
11104 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "AllowRemoval")); | 11104 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "AllowRemoval")); |
11105 | } | 11105 | } |
11106 | 11106 | ||
11107 | if (null == classification) | 11107 | if (null == classification) |
11108 | { | 11108 | { |
11109 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification")); | 11109 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification")); |
11110 | } | 11110 | } |
11111 | 11111 | ||
11112 | if (null == description) | 11112 | if (null == description) |
11113 | { | 11113 | { |
11114 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description")); | 11114 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description")); |
11115 | } | 11115 | } |
11116 | 11116 | ||
11117 | if (null == displayName) | 11117 | if (null == displayName) |
11118 | { | 11118 | { |
11119 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName")); | 11119 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName")); |
11120 | } | 11120 | } |
11121 | 11121 | ||
11122 | if (null == manufacturerName) | 11122 | if (null == manufacturerName) |
11123 | { | 11123 | { |
11124 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ManufacturerName")); | 11124 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ManufacturerName")); |
11125 | } | 11125 | } |
11126 | 11126 | ||
11127 | if (null == moreInfoUrl) | 11127 | if (null == moreInfoUrl) |
11128 | { | 11128 | { |
11129 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "MoreInfoURL")); | 11129 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "MoreInfoURL")); |
11130 | } | 11130 | } |
11131 | 11131 | ||
11132 | if (null == targetProductName) | 11132 | if (null == targetProductName) |
11133 | { | 11133 | { |
11134 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "TargetProductName")); | 11134 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "TargetProductName")); |
11135 | } | 11135 | } |
11136 | 11136 | ||
11137 | foreach (XElement child in node.Elements()) | 11137 | foreach (XElement child in node.Elements()) |
@@ -11288,17 +11288,17 @@ namespace WixToolset.Core | |||
11288 | 11288 | ||
11289 | if (null == company) | 11289 | if (null == company) |
11290 | { | 11290 | { |
11291 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company")); | 11291 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company")); |
11292 | } | 11292 | } |
11293 | 11293 | ||
11294 | if (null == property) | 11294 | if (null == property) |
11295 | { | 11295 | { |
11296 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); | 11296 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); |
11297 | } | 11297 | } |
11298 | 11298 | ||
11299 | if (null == value) | 11299 | if (null == value) |
11300 | { | 11300 | { |
11301 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 11301 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
11302 | } | 11302 | } |
11303 | 11303 | ||
11304 | this.Core.ParseForExtensionElements(node); | 11304 | this.Core.ParseForExtensionElements(node); |
@@ -11382,13 +11382,13 @@ namespace WixToolset.Core | |||
11382 | switch (attrib.Name.LocalName) | 11382 | switch (attrib.Name.LocalName) |
11383 | { | 11383 | { |
11384 | case "AdminImage": | 11384 | case "AdminImage": |
11385 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 11385 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
11386 | break; | 11386 | break; |
11387 | case "Comments": | 11387 | case "Comments": |
11388 | comments = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 11388 | comments = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
11389 | break; | 11389 | break; |
11390 | case "Compressed": | 11390 | case "Compressed": |
11391 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 11391 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
11392 | break; | 11392 | break; |
11393 | case "Description": | 11393 | case "Description": |
11394 | packageName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 11394 | packageName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -11397,19 +11397,19 @@ namespace WixToolset.Core | |||
11397 | keywords = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 11397 | keywords = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
11398 | break; | 11398 | break; |
11399 | case "Languages": | 11399 | case "Languages": |
11400 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 11400 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
11401 | break; | 11401 | break; |
11402 | case "Manufacturer": | 11402 | case "Manufacturer": |
11403 | packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 11403 | packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
11404 | break; | 11404 | break; |
11405 | case "Platforms": | 11405 | case "Platforms": |
11406 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 11406 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
11407 | break; | 11407 | break; |
11408 | case "ReadOnly": | 11408 | case "ReadOnly": |
11409 | security = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib); | 11409 | security = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib); |
11410 | break; | 11410 | break; |
11411 | case "ShortNames": | 11411 | case "ShortNames": |
11412 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 11412 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
11413 | break; | 11413 | break; |
11414 | case "SummaryCodepage": | 11414 | case "SummaryCodepage": |
11415 | codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib); | 11415 | codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib); |
@@ -11508,7 +11508,7 @@ namespace WixToolset.Core | |||
11508 | SourceLineNumber sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); | 11508 | SourceLineNumber sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); |
11509 | string name = null; | 11509 | string name = null; |
11510 | 11510 | ||
11511 | this.Core.OnMessage(WixWarnings.DeprecatedIgnoreModularizationElement(sourceLineNumbers)); | 11511 | this.Core.Write(WarningMessages.DeprecatedIgnoreModularizationElement(sourceLineNumbers)); |
11512 | 11512 | ||
11513 | foreach (XAttribute attrib in node.Attributes()) | 11513 | foreach (XAttribute attrib in node.Attributes()) |
11514 | { | 11514 | { |
@@ -11535,7 +11535,7 @@ namespace WixToolset.Core | |||
11535 | 11535 | ||
11536 | if (null == name) | 11536 | if (null == name) |
11537 | { | 11537 | { |
11538 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 11538 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
11539 | } | 11539 | } |
11540 | 11540 | ||
11541 | this.Core.ParseForExtensionElements(node); | 11541 | this.Core.ParseForExtensionElements(node); |
@@ -11624,12 +11624,12 @@ namespace WixToolset.Core | |||
11624 | 11624 | ||
11625 | if (null == user) | 11625 | if (null == user) |
11626 | { | 11626 | { |
11627 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "User")); | 11627 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "User")); |
11628 | } | 11628 | } |
11629 | 11629 | ||
11630 | if (int.MinValue == permission) // just GENERIC_READ, which is MSI_NULL | 11630 | if (int.MinValue == permission) // just GENERIC_READ, which is MSI_NULL |
11631 | { | 11631 | { |
11632 | this.Core.OnMessage(WixErrors.GenericReadNotAllowed(sourceLineNumbers)); | 11632 | this.Core.Write(ErrorMessages.GenericReadNotAllowed(sourceLineNumbers)); |
11633 | } | 11633 | } |
11634 | 11634 | ||
11635 | this.Core.ParseForExtensionElements(node); | 11635 | this.Core.ParseForExtensionElements(node); |
@@ -11695,7 +11695,7 @@ namespace WixToolset.Core | |||
11695 | 11695 | ||
11696 | if (null == sddl) | 11696 | if (null == sddl) |
11697 | { | 11697 | { |
11698 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Sddl")); | 11698 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Sddl")); |
11699 | } | 11699 | } |
11700 | 11700 | ||
11701 | if (null == id) | 11701 | if (null == id) |
@@ -11713,7 +11713,7 @@ namespace WixToolset.Core | |||
11713 | if (null != condition) | 11713 | if (null != condition) |
11714 | { | 11714 | { |
11715 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); | 11715 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); |
11716 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); | 11716 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); |
11717 | } | 11717 | } |
11718 | 11718 | ||
11719 | condition = this.ParseConditionElement(child, node.Name.LocalName, null, null); | 11719 | condition = this.ParseConditionElement(child, node.Name.LocalName, null, null); |
@@ -11776,14 +11776,14 @@ namespace WixToolset.Core | |||
11776 | manufacturer = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.MustHaveNonWhitespaceCharacters); | 11776 | manufacturer = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.MustHaveNonWhitespaceCharacters); |
11777 | if ("PUT-COMPANY-NAME-HERE" == manufacturer) | 11777 | if ("PUT-COMPANY-NAME-HERE" == manufacturer) |
11778 | { | 11778 | { |
11779 | this.Core.OnMessage(WixWarnings.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, manufacturer)); | 11779 | this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, manufacturer)); |
11780 | } | 11780 | } |
11781 | break; | 11781 | break; |
11782 | case "Name": | 11782 | case "Name": |
11783 | this.activeName = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.MustHaveNonWhitespaceCharacters); | 11783 | this.activeName = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.MustHaveNonWhitespaceCharacters); |
11784 | if ("PUT-PRODUCT-NAME-HERE" == this.activeName) | 11784 | if ("PUT-PRODUCT-NAME-HERE" == this.activeName) |
11785 | { | 11785 | { |
11786 | this.Core.OnMessage(WixWarnings.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, this.activeName)); | 11786 | this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, this.activeName)); |
11787 | } | 11787 | } |
11788 | break; | 11788 | break; |
11789 | case "UpgradeCode": | 11789 | case "UpgradeCode": |
@@ -11809,36 +11809,36 @@ namespace WixToolset.Core | |||
11809 | 11809 | ||
11810 | if (null == productCode) | 11810 | if (null == productCode) |
11811 | { | 11811 | { |
11812 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 11812 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
11813 | } | 11813 | } |
11814 | 11814 | ||
11815 | if (null == this.activeLanguage) | 11815 | if (null == this.activeLanguage) |
11816 | { | 11816 | { |
11817 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); | 11817 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); |
11818 | } | 11818 | } |
11819 | 11819 | ||
11820 | if (null == manufacturer) | 11820 | if (null == manufacturer) |
11821 | { | 11821 | { |
11822 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer")); | 11822 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer")); |
11823 | } | 11823 | } |
11824 | 11824 | ||
11825 | if (null == this.activeName) | 11825 | if (null == this.activeName) |
11826 | { | 11826 | { |
11827 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 11827 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
11828 | } | 11828 | } |
11829 | 11829 | ||
11830 | if (null == upgradeCode) | 11830 | if (null == upgradeCode) |
11831 | { | 11831 | { |
11832 | this.Core.OnMessage(WixWarnings.MissingUpgradeCode(sourceLineNumbers)); | 11832 | this.Core.Write(WarningMessages.MissingUpgradeCode(sourceLineNumbers)); |
11833 | } | 11833 | } |
11834 | 11834 | ||
11835 | if (null == version) | 11835 | if (null == version) |
11836 | { | 11836 | { |
11837 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); | 11837 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); |
11838 | } | 11838 | } |
11839 | else if (!CompilerCore.IsValidProductVersion(version)) | 11839 | else if (!CompilerCore.IsValidProductVersion(version)) |
11840 | { | 11840 | { |
11841 | this.Core.OnMessage(WixErrors.InvalidProductVersion(sourceLineNumbers, version)); | 11841 | this.Core.Write(ErrorMessages.InvalidProductVersion(sourceLineNumbers, version)); |
11842 | } | 11842 | } |
11843 | 11843 | ||
11844 | if (this.Core.EncounteredError) | 11844 | if (this.Core.EncounteredError) |
@@ -12079,7 +12079,7 @@ namespace WixToolset.Core | |||
12079 | 12079 | ||
12080 | if ((YesNoType.No == advertise && YesNoType.Yes == progIdAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == progIdAdvertise)) | 12080 | if ((YesNoType.No == advertise && YesNoType.Yes == progIdAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == progIdAdvertise)) |
12081 | { | 12081 | { |
12082 | this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), progIdAdvertise.ToString())); | 12082 | this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), progIdAdvertise.ToString())); |
12083 | } | 12083 | } |
12084 | else | 12084 | else |
12085 | { | 12085 | { |
@@ -12093,7 +12093,7 @@ namespace WixToolset.Core | |||
12093 | 12093 | ||
12094 | if (null != parent && (null != icon || CompilerConstants.IntegerNotSet != iconIndex)) | 12094 | if (null != parent && (null != icon || CompilerConstants.IntegerNotSet != iconIndex)) |
12095 | { | 12095 | { |
12096 | this.Core.OnMessage(WixErrors.VersionIndependentProgIdsCannotHaveIcons(sourceLineNumbers)); | 12096 | this.Core.Write(ErrorMessages.VersionIndependentProgIdsCannotHaveIcons(sourceLineNumbers)); |
12097 | } | 12097 | } |
12098 | 12098 | ||
12099 | YesNoType firstProgIdForNestedClass = YesNoType.Yes; | 12099 | YesNoType firstProgIdForNestedClass = YesNoType.Yes; |
@@ -12125,7 +12125,7 @@ namespace WixToolset.Core | |||
12125 | else | 12125 | else |
12126 | { | 12126 | { |
12127 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 12127 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
12128 | this.Core.OnMessage(WixErrors.ProgIdNestedTooDeep(childSourceLineNumbers)); | 12128 | this.Core.Write(ErrorMessages.ProgIdNestedTooDeep(childSourceLineNumbers)); |
12129 | } | 12129 | } |
12130 | break; | 12130 | break; |
12131 | default: | 12131 | default: |
@@ -12209,7 +12209,7 @@ namespace WixToolset.Core | |||
12209 | // raise an error for an orphaned ProgId | 12209 | // raise an error for an orphaned ProgId |
12210 | if (YesNoType.Yes == advertise && !foundExtension && null == parent && null == classId) | 12210 | if (YesNoType.Yes == advertise && !foundExtension && null == parent && null == classId) |
12211 | { | 12211 | { |
12212 | this.Core.OnMessage(WixWarnings.OrphanedProgId(sourceLineNumbers, progId)); | 12212 | this.Core.Write(WarningMessages.OrphanedProgId(sourceLineNumbers, progId)); |
12213 | } | 12213 | } |
12214 | 12214 | ||
12215 | return progId; | 12215 | return progId; |
@@ -12270,16 +12270,16 @@ namespace WixToolset.Core | |||
12270 | 12270 | ||
12271 | if (null == id) | 12271 | if (null == id) |
12272 | { | 12272 | { |
12273 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 12273 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
12274 | id = Identifier.Invalid; | 12274 | id = Identifier.Invalid; |
12275 | } | 12275 | } |
12276 | else if ("ProductID" == id.Id) | 12276 | else if ("ProductID" == id.Id) |
12277 | { | 12277 | { |
12278 | this.Core.OnMessage(WixWarnings.ProductIdAuthored(sourceLineNumbers)); | 12278 | this.Core.Write(WarningMessages.ProductIdAuthored(sourceLineNumbers)); |
12279 | } | 12279 | } |
12280 | else if ("SecureCustomProperties" == id.Id || "AdminProperties" == id.Id || "MsiHiddenProperties" == id.Id) | 12280 | else if ("SecureCustomProperties" == id.Id || "AdminProperties" == id.Id || "MsiHiddenProperties" == id.Id) |
12281 | { | 12281 | { |
12282 | this.Core.OnMessage(WixErrors.CannotAuthorSpecialProperties(sourceLineNumbers, id.Id)); | 12282 | this.Core.Write(ErrorMessages.CannotAuthorSpecialProperties(sourceLineNumbers, id.Id)); |
12283 | } | 12283 | } |
12284 | 12284 | ||
12285 | string innerText = this.Core.GetTrimmedInnerText(node); | 12285 | string innerText = this.Core.GetTrimmedInnerText(node); |
@@ -12288,7 +12288,7 @@ namespace WixToolset.Core | |||
12288 | // cannot specify both the value attribute and inner text | 12288 | // cannot specify both the value attribute and inner text |
12289 | if (!String.IsNullOrEmpty(innerText)) | 12289 | if (!String.IsNullOrEmpty(innerText)) |
12290 | { | 12290 | { |
12291 | this.Core.OnMessage(WixErrors.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value")); | 12291 | this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value")); |
12292 | } | 12292 | } |
12293 | } | 12293 | } |
12294 | else // value attribute not specified, use inner text if any. | 12294 | else // value attribute not specified, use inner text if any. |
@@ -12326,7 +12326,7 @@ namespace WixToolset.Core | |||
12326 | // If we're doing CCP then there must be a signature. | 12326 | // If we're doing CCP then there must be a signature. |
12327 | if (complianceCheck && 0 == signatures.Count) | 12327 | if (complianceCheck && 0 == signatures.Count) |
12328 | { | 12328 | { |
12329 | this.Core.OnMessage(WixErrors.SearchElementRequiredWithAttribute(sourceLineNumbers, node.Name.LocalName, "ComplianceCheck", "yes")); | 12329 | this.Core.Write(ErrorMessages.SearchElementRequiredWithAttribute(sourceLineNumbers, node.Name.LocalName, "ComplianceCheck", "yes")); |
12330 | } | 12330 | } |
12331 | 12331 | ||
12332 | foreach (string sig in signatures) | 12332 | foreach (string sig in signatures) |
@@ -12350,7 +12350,7 @@ namespace WixToolset.Core | |||
12350 | // the element. | 12350 | // the element. |
12351 | if (String.IsNullOrEmpty(value) && !admin && !secure && !hidden) | 12351 | if (String.IsNullOrEmpty(value) && !admin && !secure && !hidden) |
12352 | { | 12352 | { |
12353 | this.Core.OnMessage(WixWarnings.PropertyUseless(sourceLineNumbers, id.Id)); | 12353 | this.Core.Write(WarningMessages.PropertyUseless(sourceLineNumbers, id.Id)); |
12354 | } | 12354 | } |
12355 | else // there is a value and/or a flag set, do that. | 12355 | else // there is a value and/or a flag set, do that. |
12356 | { | 12356 | { |
@@ -12360,7 +12360,7 @@ namespace WixToolset.Core | |||
12360 | 12360 | ||
12361 | if (!this.Core.EncounteredError && YesNoType.Yes == suppressModularization) | 12361 | if (!this.Core.EncounteredError && YesNoType.Yes == suppressModularization) |
12362 | { | 12362 | { |
12363 | this.Core.OnMessage(WixWarnings.PropertyModularizationSuppressed(sourceLineNumbers)); | 12363 | this.Core.Write(WarningMessages.PropertyModularizationSuppressed(sourceLineNumbers)); |
12364 | 12364 | ||
12365 | this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.WixSuppressModularization, id); | 12365 | this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.WixSuppressModularization, id); |
12366 | } | 12366 | } |
@@ -12402,7 +12402,7 @@ namespace WixToolset.Core | |||
12402 | id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); | 12402 | id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); |
12403 | break; | 12403 | break; |
12404 | case "Action": | 12404 | case "Action": |
12405 | this.Core.OnMessage(WixWarnings.DeprecatedRegistryKeyActionAttribute(sourceLineNumbers)); | 12405 | this.Core.Write(WarningMessages.DeprecatedRegistryKeyActionAttribute(sourceLineNumbers)); |
12406 | action = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 12406 | action = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
12407 | if (0 < action.Length) | 12407 | if (0 < action.Length) |
12408 | { | 12408 | { |
@@ -12419,7 +12419,7 @@ namespace WixToolset.Core | |||
12419 | case Wix.RegistryKey.ActionType.none: | 12419 | case Wix.RegistryKey.ActionType.none: |
12420 | break; | 12420 | break; |
12421 | default: | 12421 | default: |
12422 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "create", "createAndRemoveOnUninstall", "none")); | 12422 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "create", "createAndRemoveOnUninstall", "none")); |
12423 | break; | 12423 | break; |
12424 | } | 12424 | } |
12425 | } | 12425 | } |
@@ -12440,7 +12440,7 @@ namespace WixToolset.Core | |||
12440 | case "Root": | 12440 | case "Root": |
12441 | if (CompilerConstants.IntegerNotSet != root) | 12441 | if (CompilerConstants.IntegerNotSet != root) |
12442 | { | 12442 | { |
12443 | this.Core.OnMessage(WixErrors.RegistryRootInvalid(sourceLineNumbers)); | 12443 | this.Core.Write(ErrorMessages.RegistryRootInvalid(sourceLineNumbers)); |
12444 | } | 12444 | } |
12445 | 12445 | ||
12446 | root = this.Core.GetAttributeMsidbRegistryRootValue(sourceLineNumbers, attrib, true); | 12446 | root = this.Core.GetAttributeMsidbRegistryRootValue(sourceLineNumbers, attrib, true); |
@@ -12470,19 +12470,19 @@ namespace WixToolset.Core | |||
12470 | { | 12470 | { |
12471 | if (null != id) | 12471 | if (null != id) |
12472 | { | 12472 | { |
12473 | this.Core.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Id", "ForceCreateOnInstall", "ForceDeleteOnUninstall", "yes", true)); | 12473 | this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Id", "ForceCreateOnInstall", "ForceDeleteOnUninstall", "yes", true)); |
12474 | } | 12474 | } |
12475 | } | 12475 | } |
12476 | 12476 | ||
12477 | if (CompilerConstants.IntegerNotSet == root) | 12477 | if (CompilerConstants.IntegerNotSet == root) |
12478 | { | 12478 | { |
12479 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); | 12479 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); |
12480 | root = CompilerConstants.IllegalInteger; | 12480 | root = CompilerConstants.IllegalInteger; |
12481 | } | 12481 | } |
12482 | 12482 | ||
12483 | if (null == key) | 12483 | if (null == key) |
12484 | { | 12484 | { |
12485 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 12485 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
12486 | key = String.Empty; // set the key to something to prevent null reference exceptions | 12486 | key = String.Empty; // set the key to something to prevent null reference exceptions |
12487 | } | 12487 | } |
12488 | 12488 | ||
@@ -12499,7 +12499,7 @@ namespace WixToolset.Core | |||
12499 | { | 12499 | { |
12500 | if (YesNoType.Yes == keyPath) | 12500 | if (YesNoType.Yes == keyPath) |
12501 | { | 12501 | { |
12502 | this.Core.OnMessage(WixErrors.ComponentMultipleKeyPaths(sourceLineNumbers, child.Name.LocalName, "KeyPath", "yes", "File", "RegistryValue", "ODBCDataSource")); | 12502 | this.Core.Write(ErrorMessages.ComponentMultipleKeyPaths(sourceLineNumbers, child.Name.LocalName, "KeyPath", "yes", "File", "RegistryValue", "ODBCDataSource")); |
12503 | } | 12503 | } |
12504 | 12504 | ||
12505 | possibleKeyPath = possibleChildKeyPath; // the child is the key path | 12505 | possibleKeyPath = possibleChildKeyPath; // the child is the key path |
@@ -12515,7 +12515,7 @@ namespace WixToolset.Core | |||
12515 | { | 12515 | { |
12516 | if (YesNoType.Yes == keyPath) | 12516 | if (YesNoType.Yes == keyPath) |
12517 | { | 12517 | { |
12518 | this.Core.OnMessage(WixErrors.ComponentMultipleKeyPaths(sourceLineNumbers, child.Name.LocalName, "KeyPath", "yes", "File", "RegistryValue", "ODBCDataSource")); | 12518 | this.Core.Write(ErrorMessages.ComponentMultipleKeyPaths(sourceLineNumbers, child.Name.LocalName, "KeyPath", "yes", "File", "RegistryValue", "ODBCDataSource")); |
12519 | } | 12519 | } |
12520 | 12520 | ||
12521 | possibleKeyPath = possibleChildKeyPath; // the child is the key path | 12521 | possibleKeyPath = possibleChildKeyPath; // the child is the key path |
@@ -12529,14 +12529,14 @@ namespace WixToolset.Core | |||
12529 | case "Permission": | 12529 | case "Permission": |
12530 | if (!forceCreateOnInstall) | 12530 | if (!forceCreateOnInstall) |
12531 | { | 12531 | { |
12532 | this.Core.OnMessage(WixErrors.UnexpectedElementWithAttributeValue(sourceLineNumbers, node.Name.LocalName, child.Name.LocalName, "ForceCreateOnInstall", "yes")); | 12532 | this.Core.Write(ErrorMessages.UnexpectedElementWithAttributeValue(sourceLineNumbers, node.Name.LocalName, child.Name.LocalName, "ForceCreateOnInstall", "yes")); |
12533 | } | 12533 | } |
12534 | this.ParsePermissionElement(child, id.Id, "Registry"); | 12534 | this.ParsePermissionElement(child, id.Id, "Registry"); |
12535 | break; | 12535 | break; |
12536 | case "PermissionEx": | 12536 | case "PermissionEx": |
12537 | if (!forceCreateOnInstall) | 12537 | if (!forceCreateOnInstall) |
12538 | { | 12538 | { |
12539 | this.Core.OnMessage(WixErrors.UnexpectedElementWithAttributeValue(sourceLineNumbers, node.Name.LocalName, child.Name.LocalName, "ForceCreateOnInstall", "yes")); | 12539 | this.Core.Write(ErrorMessages.UnexpectedElementWithAttributeValue(sourceLineNumbers, node.Name.LocalName, child.Name.LocalName, "ForceCreateOnInstall", "yes")); |
12540 | } | 12540 | } |
12541 | this.ParsePermissionExElement(child, id.Id, "Registry"); | 12541 | this.ParsePermissionExElement(child, id.Id, "Registry"); |
12542 | break; | 12542 | break; |
@@ -12610,7 +12610,7 @@ namespace WixToolset.Core | |||
12610 | { | 12610 | { |
12611 | if (!Wix.RegistryValue.TryParseActionType(action, out actionType)) | 12611 | if (!Wix.RegistryValue.TryParseActionType(action, out actionType)) |
12612 | { | 12612 | { |
12613 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "append", "prepend", "write")); | 12613 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "append", "prepend", "write")); |
12614 | } | 12614 | } |
12615 | } | 12615 | } |
12616 | break; | 12616 | break; |
@@ -12637,7 +12637,7 @@ namespace WixToolset.Core | |||
12637 | case "Root": | 12637 | case "Root": |
12638 | if (CompilerConstants.IntegerNotSet != root) | 12638 | if (CompilerConstants.IntegerNotSet != root) |
12639 | { | 12639 | { |
12640 | this.Core.OnMessage(WixErrors.RegistryRootInvalid(sourceLineNumbers)); | 12640 | this.Core.Write(ErrorMessages.RegistryRootInvalid(sourceLineNumbers)); |
12641 | } | 12641 | } |
12642 | 12642 | ||
12643 | root = this.Core.GetAttributeMsidbRegistryRootValue(sourceLineNumbers, attrib, true); | 12643 | root = this.Core.GetAttributeMsidbRegistryRootValue(sourceLineNumbers, attrib, true); |
@@ -12648,7 +12648,7 @@ namespace WixToolset.Core | |||
12648 | { | 12648 | { |
12649 | if (!Wix.RegistryValue.TryParseTypeType(type, out typeType)) | 12649 | if (!Wix.RegistryValue.TryParseTypeType(type, out typeType)) |
12650 | { | 12650 | { |
12651 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, type, "binary", "expandable", "integer", "multiString", "string")); | 12651 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, type, "binary", "expandable", "integer", "multiString", "string")); |
12652 | } | 12652 | } |
12653 | } | 12653 | } |
12654 | break; | 12654 | break; |
@@ -12675,22 +12675,22 @@ namespace WixToolset.Core | |||
12675 | if ((Wix.RegistryValue.ActionType.append == actionType || Wix.RegistryValue.ActionType.prepend == actionType) && | 12675 | if ((Wix.RegistryValue.ActionType.append == actionType || Wix.RegistryValue.ActionType.prepend == actionType) && |
12676 | Wix.RegistryValue.TypeType.multiString != typeType) | 12676 | Wix.RegistryValue.TypeType.multiString != typeType) |
12677 | { | 12677 | { |
12678 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Action", action, "Type", "multiString")); | 12678 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Action", action, "Type", "multiString")); |
12679 | } | 12679 | } |
12680 | 12680 | ||
12681 | if (null == key) | 12681 | if (null == key) |
12682 | { | 12682 | { |
12683 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 12683 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
12684 | } | 12684 | } |
12685 | 12685 | ||
12686 | if (CompilerConstants.IntegerNotSet == root) | 12686 | if (CompilerConstants.IntegerNotSet == root) |
12687 | { | 12687 | { |
12688 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); | 12688 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); |
12689 | } | 12689 | } |
12690 | 12690 | ||
12691 | if (null == type) | 12691 | if (null == type) |
12692 | { | 12692 | { |
12693 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); | 12693 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); |
12694 | } | 12694 | } |
12695 | 12695 | ||
12696 | foreach (XElement child in node.Elements()) | 12696 | foreach (XElement child in node.Elements()) |
@@ -12702,7 +12702,7 @@ namespace WixToolset.Core | |||
12702 | case "MultiStringValue": | 12702 | case "MultiStringValue": |
12703 | if (Wix.RegistryValue.TypeType.multiString != typeType && null != value) | 12703 | if (Wix.RegistryValue.TypeType.multiString != typeType && null != value) |
12704 | { | 12704 | { |
12705 | this.Core.OnMessage(WixErrors.RegistryMultipleValuesWithoutMultiString(sourceLineNumbers, node.Name.LocalName, "Value", child.Name.LocalName, "Type")); | 12705 | this.Core.Write(ErrorMessages.RegistryMultipleValuesWithoutMultiString(sourceLineNumbers, node.Name.LocalName, "Value", child.Name.LocalName, "Type")); |
12706 | } | 12706 | } |
12707 | else if (null == value) | 12707 | else if (null == value) |
12708 | { | 12708 | { |
@@ -12773,11 +12773,11 @@ namespace WixToolset.Core | |||
12773 | // value may be set by child MultiStringValue elements, so it must be checked here | 12773 | // value may be set by child MultiStringValue elements, so it must be checked here |
12774 | if (null == value) | 12774 | if (null == value) |
12775 | { | 12775 | { |
12776 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 12776 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
12777 | } | 12777 | } |
12778 | else if (0 == value.Length && ("+" == name || "-" == name || "*" == name)) // prevent accidental authoring of special name values | 12778 | else if (0 == value.Length && ("+" == name || "-" == name || "*" == name)) // prevent accidental authoring of special name values |
12779 | { | 12779 | { |
12780 | this.Core.OnMessage(WixErrors.RegistryNameValueIncorrect(sourceLineNumbers, node.Name.LocalName, "Name", name)); | 12780 | this.Core.Write(ErrorMessages.RegistryNameValueIncorrect(sourceLineNumbers, node.Name.LocalName, "Name", name)); |
12781 | } | 12781 | } |
12782 | 12782 | ||
12783 | if (!this.Core.EncounteredError) | 12783 | if (!this.Core.EncounteredError) |
@@ -12834,7 +12834,7 @@ namespace WixToolset.Core | |||
12834 | { | 12834 | { |
12835 | if (!Wix.RemoveRegistryKey.TryParseActionType(action, out actionType)) | 12835 | if (!Wix.RemoveRegistryKey.TryParseActionType(action, out actionType)) |
12836 | { | 12836 | { |
12837 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "removeOnInstall", "removeOnUninstall")); | 12837 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "removeOnInstall", "removeOnUninstall")); |
12838 | } | 12838 | } |
12839 | } | 12839 | } |
12840 | break; | 12840 | break; |
@@ -12863,17 +12863,17 @@ namespace WixToolset.Core | |||
12863 | 12863 | ||
12864 | if (null == action) | 12864 | if (null == action) |
12865 | { | 12865 | { |
12866 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); | 12866 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); |
12867 | } | 12867 | } |
12868 | 12868 | ||
12869 | if (null == key) | 12869 | if (null == key) |
12870 | { | 12870 | { |
12871 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 12871 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
12872 | } | 12872 | } |
12873 | 12873 | ||
12874 | if (CompilerConstants.IntegerNotSet == root) | 12874 | if (CompilerConstants.IntegerNotSet == root) |
12875 | { | 12875 | { |
12876 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); | 12876 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); |
12877 | } | 12877 | } |
12878 | 12878 | ||
12879 | this.Core.ParseForExtensionElements(node); | 12879 | this.Core.ParseForExtensionElements(node); |
@@ -12949,12 +12949,12 @@ namespace WixToolset.Core | |||
12949 | 12949 | ||
12950 | if (null == key) | 12950 | if (null == key) |
12951 | { | 12951 | { |
12952 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 12952 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
12953 | } | 12953 | } |
12954 | 12954 | ||
12955 | if (CompilerConstants.IntegerNotSet == root) | 12955 | if (CompilerConstants.IntegerNotSet == root) |
12956 | { | 12956 | { |
12957 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); | 12957 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root")); |
12958 | } | 12958 | } |
12959 | 12959 | ||
12960 | this.Core.ParseForExtensionElements(node); | 12960 | this.Core.ParseForExtensionElements(node); |
@@ -13037,7 +13037,7 @@ namespace WixToolset.Core | |||
13037 | 13037 | ||
13038 | if (null == name) | 13038 | if (null == name) |
13039 | { | 13039 | { |
13040 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 13040 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
13041 | } | 13041 | } |
13042 | else if (0 < name.Length) | 13042 | else if (0 < name.Length) |
13043 | { | 13043 | { |
@@ -13050,7 +13050,7 @@ namespace WixToolset.Core | |||
13050 | } | 13050 | } |
13051 | else | 13051 | else |
13052 | { | 13052 | { |
13053 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); | 13053 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); |
13054 | } | 13054 | } |
13055 | } | 13055 | } |
13056 | else if (null == shortName) // generate a short file name. | 13056 | else if (null == shortName) // generate a short file name. |
@@ -13061,13 +13061,13 @@ namespace WixToolset.Core | |||
13061 | 13061 | ||
13062 | if (CompilerConstants.IntegerNotSet == on) | 13062 | if (CompilerConstants.IntegerNotSet == on) |
13063 | { | 13063 | { |
13064 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "On")); | 13064 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "On")); |
13065 | on = CompilerConstants.IllegalInteger; | 13065 | on = CompilerConstants.IllegalInteger; |
13066 | } | 13066 | } |
13067 | 13067 | ||
13068 | if (null != directory && null != property) | 13068 | if (null != directory && null != property) |
13069 | { | 13069 | { |
13070 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "Directory", directory)); | 13070 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "Directory", directory)); |
13071 | } | 13071 | } |
13072 | 13072 | ||
13073 | if (null == id) | 13073 | if (null == id) |
@@ -13158,13 +13158,13 @@ namespace WixToolset.Core | |||
13158 | 13158 | ||
13159 | if (CompilerConstants.IntegerNotSet == on) | 13159 | if (CompilerConstants.IntegerNotSet == on) |
13160 | { | 13160 | { |
13161 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "On")); | 13161 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "On")); |
13162 | on = CompilerConstants.IllegalInteger; | 13162 | on = CompilerConstants.IllegalInteger; |
13163 | } | 13163 | } |
13164 | 13164 | ||
13165 | if (null != directory && null != property) | 13165 | if (null != directory && null != property) |
13166 | { | 13166 | { |
13167 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "Directory", directory)); | 13167 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "Directory", directory)); |
13168 | } | 13168 | } |
13169 | 13169 | ||
13170 | if (null == id) | 13170 | if (null == id) |
@@ -13244,12 +13244,12 @@ namespace WixToolset.Core | |||
13244 | 13244 | ||
13245 | if (CompilerConstants.IntegerNotSet == runFromSource) | 13245 | if (CompilerConstants.IntegerNotSet == runFromSource) |
13246 | { | 13246 | { |
13247 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunFromSource")); | 13247 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunFromSource")); |
13248 | } | 13248 | } |
13249 | 13249 | ||
13250 | if (CompilerConstants.IntegerNotSet == runLocal) | 13250 | if (CompilerConstants.IntegerNotSet == runLocal) |
13251 | { | 13251 | { |
13252 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunLocal")); | 13252 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunLocal")); |
13253 | } | 13253 | } |
13254 | 13254 | ||
13255 | this.Core.ParseForExtensionElements(node); | 13255 | this.Core.ParseForExtensionElements(node); |
@@ -13395,22 +13395,22 @@ namespace WixToolset.Core | |||
13395 | 13395 | ||
13396 | if (customAction && "Custom" == actionName) | 13396 | if (customAction && "Custom" == actionName) |
13397 | { | 13397 | { |
13398 | this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Action")); | 13398 | this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Action")); |
13399 | } | 13399 | } |
13400 | else if (showDialog && "Show" == actionName) | 13400 | else if (showDialog && "Show" == actionName) |
13401 | { | 13401 | { |
13402 | this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Dialog")); | 13402 | this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Dialog")); |
13403 | } | 13403 | } |
13404 | 13404 | ||
13405 | if (CompilerConstants.IntegerNotSet != sequence) | 13405 | if (CompilerConstants.IntegerNotSet != sequence) |
13406 | { | 13406 | { |
13407 | if (CompilerConstants.IntegerNotSet != exitSequence) | 13407 | if (CompilerConstants.IntegerNotSet != exitSequence) |
13408 | { | 13408 | { |
13409 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "Sequence", "OnExit")); | 13409 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "Sequence", "OnExit")); |
13410 | } | 13410 | } |
13411 | else if (null != beforeAction || null != afterAction) | 13411 | else if (null != beforeAction || null != afterAction) |
13412 | { | 13412 | { |
13413 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "Sequence", "Before", "After")); | 13413 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "Sequence", "Before", "After")); |
13414 | } | 13414 | } |
13415 | } | 13415 | } |
13416 | else // sequence not specified use OnExit (which may also be not set). | 13416 | else // sequence not specified use OnExit (which may also be not set). |
@@ -13420,33 +13420,33 @@ namespace WixToolset.Core | |||
13420 | 13420 | ||
13421 | if (null != beforeAction && null != afterAction) | 13421 | if (null != beforeAction && null != afterAction) |
13422 | { | 13422 | { |
13423 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "After", "Before")); | 13423 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "After", "Before")); |
13424 | } | 13424 | } |
13425 | else if ((customAction || showDialog || specialAction) && !suppress && CompilerConstants.IntegerNotSet == sequence && null == beforeAction && null == afterAction) | 13425 | else if ((customAction || showDialog || specialAction) && !suppress && CompilerConstants.IntegerNotSet == sequence && null == beforeAction && null == afterAction) |
13426 | { | 13426 | { |
13427 | this.Core.OnMessage(WixErrors.NeedSequenceBeforeOrAfter(childSourceLineNumbers, child.Name.LocalName)); | 13427 | this.Core.Write(ErrorMessages.NeedSequenceBeforeOrAfter(childSourceLineNumbers, child.Name.LocalName)); |
13428 | } | 13428 | } |
13429 | 13429 | ||
13430 | // action that is scheduled to occur before/after itself | 13430 | // action that is scheduled to occur before/after itself |
13431 | if (beforeAction == actionName) | 13431 | if (beforeAction == actionName) |
13432 | { | 13432 | { |
13433 | this.Core.OnMessage(WixErrors.ActionScheduledRelativeToItself(childSourceLineNumbers, child.Name.LocalName, "Before", beforeAction)); | 13433 | this.Core.Write(ErrorMessages.ActionScheduledRelativeToItself(childSourceLineNumbers, child.Name.LocalName, "Before", beforeAction)); |
13434 | } | 13434 | } |
13435 | else if (afterAction == actionName) | 13435 | else if (afterAction == actionName) |
13436 | { | 13436 | { |
13437 | this.Core.OnMessage(WixErrors.ActionScheduledRelativeToItself(childSourceLineNumbers, child.Name.LocalName, "After", afterAction)); | 13437 | this.Core.Write(ErrorMessages.ActionScheduledRelativeToItself(childSourceLineNumbers, child.Name.LocalName, "After", afterAction)); |
13438 | } | 13438 | } |
13439 | 13439 | ||
13440 | // normal standard actions cannot be set overridable by the user (since they are overridable by default) | 13440 | // normal standard actions cannot be set overridable by the user (since they are overridable by default) |
13441 | if (overridable && WindowsInstallerStandard.IsStandardAction(actionName) && !specialAction) | 13441 | if (overridable && WindowsInstallerStandard.IsStandardAction(actionName) && !specialAction) |
13442 | { | 13442 | { |
13443 | this.Core.OnMessage(WixErrors.UnexpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Overridable")); | 13443 | this.Core.Write(ErrorMessages.UnexpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Overridable")); |
13444 | } | 13444 | } |
13445 | 13445 | ||
13446 | // suppress cannot be specified at the same time as Before, After, or Sequence | 13446 | // suppress cannot be specified at the same time as Before, After, or Sequence |
13447 | if (suppress && (null != afterAction || null != beforeAction || CompilerConstants.IntegerNotSet != sequence || overridable)) | 13447 | if (suppress && (null != afterAction || null != beforeAction || CompilerConstants.IntegerNotSet != sequence || overridable)) |
13448 | { | 13448 | { |
13449 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(childSourceLineNumbers, child.Name.LocalName, "Suppress", "Before", "After", "Sequence", "Overridable")); | 13449 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(childSourceLineNumbers, child.Name.LocalName, "Suppress", "Before", "After", "Sequence", "Overridable")); |
13450 | } | 13450 | } |
13451 | 13451 | ||
13452 | this.Core.ParseForExtensionElements(child); | 13452 | this.Core.ParseForExtensionElements(child); |
@@ -13497,7 +13497,7 @@ namespace WixToolset.Core | |||
13497 | string requiredPrivileges = null; | 13497 | string requiredPrivileges = null; |
13498 | string sid = null; | 13498 | string sid = null; |
13499 | 13499 | ||
13500 | this.Core.OnMessage(WixWarnings.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName)); | 13500 | this.Core.Write(WarningMessages.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName)); |
13501 | 13501 | ||
13502 | foreach (XAttribute attrib in node.Attributes()) | 13502 | foreach (XAttribute attrib in node.Attributes()) |
13503 | { | 13503 | { |
@@ -13574,7 +13574,7 @@ namespace WixToolset.Core | |||
13574 | case "ServiceName": | 13574 | case "ServiceName": |
13575 | if (!String.IsNullOrEmpty(serviceName)) | 13575 | if (!String.IsNullOrEmpty(serviceName)) |
13576 | { | 13576 | { |
13577 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "ServiceInstall")); | 13577 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "ServiceInstall")); |
13578 | } | 13578 | } |
13579 | 13579 | ||
13580 | name = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 13580 | name = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -13752,7 +13752,7 @@ namespace WixToolset.Core | |||
13752 | 13752 | ||
13753 | if (String.IsNullOrEmpty(name)) | 13753 | if (String.IsNullOrEmpty(name)) |
13754 | { | 13754 | { |
13755 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName")); | 13755 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName")); |
13756 | } | 13756 | } |
13757 | else if (null == id) | 13757 | else if (null == id) |
13758 | { | 13758 | { |
@@ -13761,12 +13761,12 @@ namespace WixToolset.Core | |||
13761 | 13761 | ||
13762 | if (0 == events) | 13762 | if (0 == events) |
13763 | { | 13763 | { |
13764 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "OnInstall", "OnReinstall", "OnUninstall")); | 13764 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "OnInstall", "OnReinstall", "OnUninstall")); |
13765 | } | 13765 | } |
13766 | 13766 | ||
13767 | if (String.IsNullOrEmpty(delayedAutoStart) && String.IsNullOrEmpty(failureActionsWhen) && String.IsNullOrEmpty(preShutdownDelay) && String.IsNullOrEmpty(requiredPrivileges) && String.IsNullOrEmpty(sid)) | 13767 | if (String.IsNullOrEmpty(delayedAutoStart) && String.IsNullOrEmpty(failureActionsWhen) && String.IsNullOrEmpty(preShutdownDelay) && String.IsNullOrEmpty(requiredPrivileges) && String.IsNullOrEmpty(sid)) |
13768 | { | 13768 | { |
13769 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "DelayedAutoStart", "FailureActionsWhen", "PreShutdownDelay", "ServiceSid", "RequiredPrivilege")); | 13769 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "DelayedAutoStart", "FailureActionsWhen", "PreShutdownDelay", "ServiceSid", "RequiredPrivilege")); |
13770 | } | 13770 | } |
13771 | 13771 | ||
13772 | if (!this.Core.EncounteredError) | 13772 | if (!this.Core.EncounteredError) |
@@ -13841,7 +13841,7 @@ namespace WixToolset.Core | |||
13841 | string actions = null; | 13841 | string actions = null; |
13842 | string actionsDelays = null; | 13842 | string actionsDelays = null; |
13843 | 13843 | ||
13844 | this.Core.OnMessage(WixWarnings.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName)); | 13844 | this.Core.Write(WarningMessages.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName)); |
13845 | 13845 | ||
13846 | foreach (XAttribute attrib in node.Attributes()) | 13846 | foreach (XAttribute attrib in node.Attributes()) |
13847 | { | 13847 | { |
@@ -13885,7 +13885,7 @@ namespace WixToolset.Core | |||
13885 | case "ServiceName": | 13885 | case "ServiceName": |
13886 | if (!String.IsNullOrEmpty(serviceName)) | 13886 | if (!String.IsNullOrEmpty(serviceName)) |
13887 | { | 13887 | { |
13888 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "ServiceInstall")); | 13888 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "ServiceInstall")); |
13889 | } | 13889 | } |
13890 | 13890 | ||
13891 | name = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 13891 | name = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -13952,12 +13952,12 @@ namespace WixToolset.Core | |||
13952 | 13952 | ||
13953 | if (String.IsNullOrEmpty(action)) | 13953 | if (String.IsNullOrEmpty(action)) |
13954 | { | 13954 | { |
13955 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Action")); | 13955 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Action")); |
13956 | } | 13956 | } |
13957 | 13957 | ||
13958 | if (String.IsNullOrEmpty(delay)) | 13958 | if (String.IsNullOrEmpty(delay)) |
13959 | { | 13959 | { |
13960 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Delay")); | 13960 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Delay")); |
13961 | } | 13961 | } |
13962 | 13962 | ||
13963 | if (!String.IsNullOrEmpty(actions)) | 13963 | if (!String.IsNullOrEmpty(actions)) |
@@ -13985,7 +13985,7 @@ namespace WixToolset.Core | |||
13985 | 13985 | ||
13986 | if (String.IsNullOrEmpty(name)) | 13986 | if (String.IsNullOrEmpty(name)) |
13987 | { | 13987 | { |
13988 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName")); | 13988 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName")); |
13989 | } | 13989 | } |
13990 | else if (null == id) | 13990 | else if (null == id) |
13991 | { | 13991 | { |
@@ -13994,7 +13994,7 @@ namespace WixToolset.Core | |||
13994 | 13994 | ||
13995 | if (0 == events) | 13995 | if (0 == events) |
13996 | { | 13996 | { |
13997 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "OnInstall", "OnReinstall", "OnUninstall")); | 13997 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "OnInstall", "OnReinstall", "OnUninstall")); |
13998 | } | 13998 | } |
13999 | 13999 | ||
14000 | if (!this.Core.EncounteredError) | 14000 | if (!this.Core.EncounteredError) |
@@ -14106,7 +14106,7 @@ namespace WixToolset.Core | |||
14106 | 14106 | ||
14107 | if (null == name) | 14107 | if (null == name) |
14108 | { | 14108 | { |
14109 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 14109 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
14110 | } | 14110 | } |
14111 | 14111 | ||
14112 | // get the ServiceControl arguments | 14112 | // get the ServiceControl arguments |
@@ -14184,7 +14184,7 @@ namespace WixToolset.Core | |||
14184 | 14184 | ||
14185 | if (null == dependency) | 14185 | if (null == dependency) |
14186 | { | 14186 | { |
14187 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 14187 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
14188 | } | 14188 | } |
14189 | 14189 | ||
14190 | this.Core.ParseForExtensionElements(node); | 14190 | this.Core.ParseForExtensionElements(node); |
@@ -14255,7 +14255,7 @@ namespace WixToolset.Core | |||
14255 | errorbits |= MsiInterop.MsidbServiceInstallErrorCritical; | 14255 | errorbits |= MsiInterop.MsidbServiceInstallErrorCritical; |
14256 | break; | 14256 | break; |
14257 | default: | 14257 | default: |
14258 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, errorControlValue, "ignore", "normal", "critical")); | 14258 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, errorControlValue, "ignore", "normal", "critical")); |
14259 | break; | 14259 | break; |
14260 | } | 14260 | } |
14261 | } | 14261 | } |
@@ -14293,10 +14293,10 @@ namespace WixToolset.Core | |||
14293 | break; | 14293 | break; |
14294 | case Wix.ServiceInstall.StartType.boot: | 14294 | case Wix.ServiceInstall.StartType.boot: |
14295 | case Wix.ServiceInstall.StartType.system: | 14295 | case Wix.ServiceInstall.StartType.system: |
14296 | this.Core.OnMessage(WixErrors.ValueNotSupported(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, startValue)); | 14296 | this.Core.Write(ErrorMessages.ValueNotSupported(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, startValue)); |
14297 | break; | 14297 | break; |
14298 | default: | 14298 | default: |
14299 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, startValue, "auto", "demand", "disabled")); | 14299 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, startValue, "auto", "demand", "disabled")); |
14300 | break; | 14300 | break; |
14301 | } | 14301 | } |
14302 | } | 14302 | } |
@@ -14316,10 +14316,10 @@ namespace WixToolset.Core | |||
14316 | break; | 14316 | break; |
14317 | case Wix.ServiceInstall.TypeType.kernelDriver: | 14317 | case Wix.ServiceInstall.TypeType.kernelDriver: |
14318 | case Wix.ServiceInstall.TypeType.systemDriver: | 14318 | case Wix.ServiceInstall.TypeType.systemDriver: |
14319 | this.Core.OnMessage(WixErrors.ValueNotSupported(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, typeValue)); | 14319 | this.Core.Write(ErrorMessages.ValueNotSupported(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, typeValue)); |
14320 | break; | 14320 | break; |
14321 | default: | 14321 | default: |
14322 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, node.Name.LocalName, typeValue, "ownProcess", "shareProcess")); | 14322 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, node.Name.LocalName, typeValue, "ownProcess", "shareProcess")); |
14323 | break; | 14323 | break; |
14324 | } | 14324 | } |
14325 | } | 14325 | } |
@@ -14343,7 +14343,7 @@ namespace WixToolset.Core | |||
14343 | 14343 | ||
14344 | if (String.IsNullOrEmpty(name)) | 14344 | if (String.IsNullOrEmpty(name)) |
14345 | { | 14345 | { |
14346 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 14346 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
14347 | } | 14347 | } |
14348 | else if (null == id) | 14348 | else if (null == id) |
14349 | { | 14349 | { |
@@ -14352,7 +14352,7 @@ namespace WixToolset.Core | |||
14352 | 14352 | ||
14353 | if (0 == startType) | 14353 | if (0 == startType) |
14354 | { | 14354 | { |
14355 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Start")); | 14355 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Start")); |
14356 | } | 14356 | } |
14357 | 14357 | ||
14358 | if (eraseDescription) | 14358 | if (eraseDescription) |
@@ -14462,7 +14462,7 @@ namespace WixToolset.Core | |||
14462 | // default so no work necessary. | 14462 | // default so no work necessary. |
14463 | break; | 14463 | break; |
14464 | default: | 14464 | default: |
14465 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, sequenceValue, "execute", "ui", "both")); | 14465 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, sequenceValue, "execute", "ui", "both")); |
14466 | break; | 14466 | break; |
14467 | } | 14467 | } |
14468 | } | 14468 | } |
@@ -14485,7 +14485,7 @@ namespace WixToolset.Core | |||
14485 | 14485 | ||
14486 | if (null == id) | 14486 | if (null == id) |
14487 | { | 14487 | { |
14488 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 14488 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
14489 | } | 14489 | } |
14490 | else if (String.IsNullOrEmpty(actionName)) | 14490 | else if (String.IsNullOrEmpty(actionName)) |
14491 | { | 14491 | { |
@@ -14494,7 +14494,7 @@ namespace WixToolset.Core | |||
14494 | 14494 | ||
14495 | if (null == value) | 14495 | if (null == value) |
14496 | { | 14496 | { |
14497 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 14497 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
14498 | } | 14498 | } |
14499 | 14499 | ||
14500 | this.Core.ParseForExtensionElements(node); | 14500 | this.Core.ParseForExtensionElements(node); |
@@ -14577,7 +14577,7 @@ namespace WixToolset.Core | |||
14577 | // default so no work necessary. | 14577 | // default so no work necessary. |
14578 | break; | 14578 | break; |
14579 | default: | 14579 | default: |
14580 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, sequenceValue, "execute", "ui", "both")); | 14580 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, sequenceValue, "execute", "ui", "both")); |
14581 | break; | 14581 | break; |
14582 | } | 14582 | } |
14583 | } | 14583 | } |
@@ -14600,7 +14600,7 @@ namespace WixToolset.Core | |||
14600 | 14600 | ||
14601 | if (null == id) | 14601 | if (null == id) |
14602 | { | 14602 | { |
14603 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 14603 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
14604 | } | 14604 | } |
14605 | else if (String.IsNullOrEmpty(actionName)) | 14605 | else if (String.IsNullOrEmpty(actionName)) |
14606 | { | 14606 | { |
@@ -14609,16 +14609,16 @@ namespace WixToolset.Core | |||
14609 | 14609 | ||
14610 | if (null == value) | 14610 | if (null == value) |
14611 | { | 14611 | { |
14612 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 14612 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
14613 | } | 14613 | } |
14614 | 14614 | ||
14615 | if (null != beforeAction && null != afterAction) | 14615 | if (null != beforeAction && null != afterAction) |
14616 | { | 14616 | { |
14617 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "After", "Before")); | 14617 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "After", "Before")); |
14618 | } | 14618 | } |
14619 | else if (null == beforeAction && null == afterAction) | 14619 | else if (null == beforeAction && null == afterAction) |
14620 | { | 14620 | { |
14621 | this.Core.OnMessage(WixErrors.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "After", "Before", "Id")); | 14621 | this.Core.Write(ErrorMessages.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "After", "Before", "Id")); |
14622 | } | 14622 | } |
14623 | 14623 | ||
14624 | this.Core.ParseForExtensionElements(node); | 14624 | this.Core.ParseForExtensionElements(node); |
@@ -14629,11 +14629,11 @@ namespace WixToolset.Core | |||
14629 | // action that is scheduled to occur before/after itself | 14629 | // action that is scheduled to occur before/after itself |
14630 | if (beforeAction == actionName) | 14630 | if (beforeAction == actionName) |
14631 | { | 14631 | { |
14632 | this.Core.OnMessage(WixErrors.ActionScheduledRelativeToItself(sourceLineNumbers, node.Name.LocalName, "Before", beforeAction)); | 14632 | this.Core.Write(ErrorMessages.ActionScheduledRelativeToItself(sourceLineNumbers, node.Name.LocalName, "Before", beforeAction)); |
14633 | } | 14633 | } |
14634 | else if (afterAction == actionName) | 14634 | else if (afterAction == actionName) |
14635 | { | 14635 | { |
14636 | this.Core.OnMessage(WixErrors.ActionScheduledRelativeToItself(sourceLineNumbers, node.Name.LocalName, "After", afterAction)); | 14636 | this.Core.Write(ErrorMessages.ActionScheduledRelativeToItself(sourceLineNumbers, node.Name.LocalName, "After", afterAction)); |
14637 | } | 14637 | } |
14638 | 14638 | ||
14639 | var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.CustomAction); | 14639 | var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.CustomAction); |
@@ -14712,7 +14712,7 @@ namespace WixToolset.Core | |||
14712 | 14712 | ||
14713 | if (null == id) | 14713 | if (null == id) |
14714 | { | 14714 | { |
14715 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 14715 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
14716 | } | 14716 | } |
14717 | 14717 | ||
14718 | this.Core.ParseForExtensionElements(node); | 14718 | this.Core.ParseForExtensionElements(node); |
@@ -14767,12 +14767,12 @@ namespace WixToolset.Core | |||
14767 | 14767 | ||
14768 | if (null == name) | 14768 | if (null == name) |
14769 | { | 14769 | { |
14770 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 14770 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
14771 | } | 14771 | } |
14772 | 14772 | ||
14773 | if (null == sourceFile) | 14773 | if (null == sourceFile) |
14774 | { | 14774 | { |
14775 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 14775 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
14776 | } | 14776 | } |
14777 | 14777 | ||
14778 | foreach (XElement child in node.Elements()) | 14778 | foreach (XElement child in node.Elements()) |
@@ -14785,7 +14785,7 @@ namespace WixToolset.Core | |||
14785 | this.ParseSFPCatalogElement(child, ref parentName); | 14785 | this.ParseSFPCatalogElement(child, ref parentName); |
14786 | if (null != dependency && parentName == dependency) | 14786 | if (null != dependency && parentName == dependency) |
14787 | { | 14787 | { |
14788 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency")); | 14788 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency")); |
14789 | } | 14789 | } |
14790 | dependency = parentName; | 14790 | dependency = parentName; |
14791 | break; | 14791 | break; |
@@ -14805,7 +14805,7 @@ namespace WixToolset.Core | |||
14805 | 14805 | ||
14806 | if (null == dependency) | 14806 | if (null == dependency) |
14807 | { | 14807 | { |
14808 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency")); | 14808 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency")); |
14809 | } | 14809 | } |
14810 | 14810 | ||
14811 | if (!this.Core.EncounteredError) | 14811 | if (!this.Core.EncounteredError) |
@@ -14916,7 +14916,7 @@ namespace WixToolset.Core | |||
14916 | show = 7; | 14916 | show = 7; |
14917 | break; | 14917 | break; |
14918 | default: | 14918 | default: |
14919 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Show", showValue, "normal", "maximized", "minimized")); | 14919 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Show", showValue, "normal", "maximized", "minimized")); |
14920 | show = CompilerConstants.IllegalInteger; | 14920 | show = CompilerConstants.IllegalInteger; |
14921 | break; | 14921 | break; |
14922 | } | 14922 | } |
@@ -14941,7 +14941,7 @@ namespace WixToolset.Core | |||
14941 | 14941 | ||
14942 | if (advertise && null != target) | 14942 | if (advertise && null != target) |
14943 | { | 14943 | { |
14944 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Target", "Advertise", "yes")); | 14944 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Target", "Advertise", "yes")); |
14945 | } | 14945 | } |
14946 | 14946 | ||
14947 | if (null == directory) | 14947 | if (null == directory) |
@@ -14952,7 +14952,7 @@ namespace WixToolset.Core | |||
14952 | } | 14952 | } |
14953 | else | 14953 | else |
14954 | { | 14954 | { |
14955 | this.Core.OnMessage(WixErrors.ExpectedAttributeWhenElementNotUnderElement(sourceLineNumbers, node.Name.LocalName, "Directory", "Component")); | 14955 | this.Core.Write(ErrorMessages.ExpectedAttributeWhenElementNotUnderElement(sourceLineNumbers, node.Name.LocalName, "Directory", "Component")); |
14956 | } | 14956 | } |
14957 | } | 14957 | } |
14958 | 14958 | ||
@@ -14960,14 +14960,14 @@ namespace WixToolset.Core | |||
14960 | { | 14960 | { |
14961 | if (CompilerConstants.IntegerNotSet == descriptionResourceId) | 14961 | if (CompilerConstants.IntegerNotSet == descriptionResourceId) |
14962 | { | 14962 | { |
14963 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DescriptionResourceDll", "DescriptionResourceId")); | 14963 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DescriptionResourceDll", "DescriptionResourceId")); |
14964 | } | 14964 | } |
14965 | } | 14965 | } |
14966 | else | 14966 | else |
14967 | { | 14967 | { |
14968 | if (CompilerConstants.IntegerNotSet != descriptionResourceId) | 14968 | if (CompilerConstants.IntegerNotSet != descriptionResourceId) |
14969 | { | 14969 | { |
14970 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DescriptionResourceId", "DescriptionResourceDll")); | 14970 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DescriptionResourceId", "DescriptionResourceDll")); |
14971 | } | 14971 | } |
14972 | } | 14972 | } |
14973 | 14973 | ||
@@ -14975,20 +14975,20 @@ namespace WixToolset.Core | |||
14975 | { | 14975 | { |
14976 | if (CompilerConstants.IntegerNotSet == displayResourceId) | 14976 | if (CompilerConstants.IntegerNotSet == displayResourceId) |
14977 | { | 14977 | { |
14978 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayResourceDll", "DisplayResourceId")); | 14978 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayResourceDll", "DisplayResourceId")); |
14979 | } | 14979 | } |
14980 | } | 14980 | } |
14981 | else | 14981 | else |
14982 | { | 14982 | { |
14983 | if (CompilerConstants.IntegerNotSet != displayResourceId) | 14983 | if (CompilerConstants.IntegerNotSet != displayResourceId) |
14984 | { | 14984 | { |
14985 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayResourceId", "DisplayResourceDll")); | 14985 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayResourceId", "DisplayResourceDll")); |
14986 | } | 14986 | } |
14987 | } | 14987 | } |
14988 | 14988 | ||
14989 | if (null == name) | 14989 | if (null == name) |
14990 | { | 14990 | { |
14991 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 14991 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
14992 | } | 14992 | } |
14993 | else if (0 < name.Length) | 14993 | else if (0 < name.Length) |
14994 | { | 14994 | { |
@@ -15001,7 +15001,7 @@ namespace WixToolset.Core | |||
15001 | } | 15001 | } |
15002 | else | 15002 | else |
15003 | { | 15003 | { |
15004 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); | 15004 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", name, "ShortName")); |
15005 | } | 15005 | } |
15006 | } | 15006 | } |
15007 | else if (null == shortName) // generate a short file name. | 15007 | else if (null == shortName) // generate a short file name. |
@@ -15012,7 +15012,7 @@ namespace WixToolset.Core | |||
15012 | 15012 | ||
15013 | if ("Component" != parentElementLocalName && null != target) | 15013 | if ("Component" != parentElementLocalName && null != target) |
15014 | { | 15014 | { |
15015 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Target", parentElementLocalName)); | 15015 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Target", parentElementLocalName)); |
15016 | } | 15016 | } |
15017 | 15017 | ||
15018 | if (null == id) | 15018 | if (null == id) |
@@ -15053,7 +15053,7 @@ namespace WixToolset.Core | |||
15053 | { | 15053 | { |
15054 | if (YesNoType.Yes != parentKeyPath && "Component" != parentElementLocalName) | 15054 | if (YesNoType.Yes != parentKeyPath && "Component" != parentElementLocalName) |
15055 | { | 15055 | { |
15056 | this.Core.OnMessage(WixWarnings.UnclearShortcut(sourceLineNumbers, id.Id, componentId, defaultTarget)); | 15056 | this.Core.Write(WarningMessages.UnclearShortcut(sourceLineNumbers, id.Id, componentId, defaultTarget)); |
15057 | } | 15057 | } |
15058 | row.Set(4, Guid.Empty.ToString("B")); | 15058 | row.Set(4, Guid.Empty.ToString("B")); |
15059 | } | 15059 | } |
@@ -15138,7 +15138,7 @@ namespace WixToolset.Core | |||
15138 | 15138 | ||
15139 | if (String.IsNullOrEmpty(key)) | 15139 | if (String.IsNullOrEmpty(key)) |
15140 | { | 15140 | { |
15141 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 15141 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
15142 | } | 15142 | } |
15143 | else if (null == id) | 15143 | else if (null == id) |
15144 | { | 15144 | { |
@@ -15154,13 +15154,13 @@ namespace WixToolset.Core | |||
15154 | } | 15154 | } |
15155 | else // cannot specify both the value attribute and inner text | 15155 | else // cannot specify both the value attribute and inner text |
15156 | { | 15156 | { |
15157 | this.Core.OnMessage(WixErrors.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value")); | 15157 | this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value")); |
15158 | } | 15158 | } |
15159 | } | 15159 | } |
15160 | 15160 | ||
15161 | if (String.IsNullOrEmpty(value)) | 15161 | if (String.IsNullOrEmpty(value)) |
15162 | { | 15162 | { |
15163 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 15163 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
15164 | } | 15164 | } |
15165 | 15165 | ||
15166 | this.Core.ParseForExtensionElements(node); | 15166 | this.Core.ParseForExtensionElements(node); |
@@ -15265,12 +15265,12 @@ namespace WixToolset.Core | |||
15265 | 15265 | ||
15266 | if (null == id) | 15266 | if (null == id) |
15267 | { | 15267 | { |
15268 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 15268 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
15269 | } | 15269 | } |
15270 | 15270 | ||
15271 | if (CompilerConstants.IntegerNotSet == language) | 15271 | if (CompilerConstants.IntegerNotSet == language) |
15272 | { | 15272 | { |
15273 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); | 15273 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language")); |
15274 | language = CompilerConstants.IllegalInteger; | 15274 | language = CompilerConstants.IllegalInteger; |
15275 | } | 15275 | } |
15276 | 15276 | ||
@@ -15334,29 +15334,29 @@ namespace WixToolset.Core | |||
15334 | { | 15334 | { |
15335 | if (CompilerConstants.LongNotSet != resourceId) | 15335 | if (CompilerConstants.LongNotSet != resourceId) |
15336 | { | 15336 | { |
15337 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "ResourceId")); | 15337 | this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "ResourceId")); |
15338 | } | 15338 | } |
15339 | 15339 | ||
15340 | if (0 != flags) | 15340 | if (0 != flags) |
15341 | { | 15341 | { |
15342 | if (0x1 == (flags & 0x1)) | 15342 | if (0x1 == (flags & 0x1)) |
15343 | { | 15343 | { |
15344 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Restricted", "Advertise", "yes")); | 15344 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Restricted", "Advertise", "yes")); |
15345 | } | 15345 | } |
15346 | 15346 | ||
15347 | if (0x2 == (flags & 0x2)) | 15347 | if (0x2 == (flags & 0x2)) |
15348 | { | 15348 | { |
15349 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Control", "Advertise", "yes")); | 15349 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Control", "Advertise", "yes")); |
15350 | } | 15350 | } |
15351 | 15351 | ||
15352 | if (0x4 == (flags & 0x4)) | 15352 | if (0x4 == (flags & 0x4)) |
15353 | { | 15353 | { |
15354 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Hidden", "Advertise", "yes")); | 15354 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Hidden", "Advertise", "yes")); |
15355 | } | 15355 | } |
15356 | 15356 | ||
15357 | if (0x8 == (flags & 0x8)) | 15357 | if (0x8 == (flags & 0x8)) |
15358 | { | 15358 | { |
15359 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "HasDiskImage", "Advertise", "yes")); | 15359 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "HasDiskImage", "Advertise", "yes")); |
15360 | } | 15360 | } |
15361 | } | 15361 | } |
15362 | 15362 | ||
@@ -15383,17 +15383,17 @@ namespace WixToolset.Core | |||
15383 | { | 15383 | { |
15384 | if (CompilerConstants.IntegerNotSet != cost && CompilerConstants.IllegalInteger != cost) | 15384 | if (CompilerConstants.IntegerNotSet != cost && CompilerConstants.IllegalInteger != cost) |
15385 | { | 15385 | { |
15386 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Cost", "Advertise", "no")); | 15386 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Cost", "Advertise", "no")); |
15387 | } | 15387 | } |
15388 | 15388 | ||
15389 | if (null == fileServer) | 15389 | if (null == fileServer) |
15390 | { | 15390 | { |
15391 | this.Core.OnMessage(WixErrors.MissingTypeLibFile(sourceLineNumbers, node.Name.LocalName, "File")); | 15391 | this.Core.Write(ErrorMessages.MissingTypeLibFile(sourceLineNumbers, node.Name.LocalName, "File")); |
15392 | } | 15392 | } |
15393 | 15393 | ||
15394 | if (null == registryVersion) | 15394 | if (null == registryVersion) |
15395 | { | 15395 | { |
15396 | this.Core.OnMessage(WixErrors.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "MajorVersion", "MinorVersion", "Advertise", "no")); | 15396 | this.Core.Write(ErrorMessages.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "MajorVersion", "MinorVersion", "Advertise", "no")); |
15397 | } | 15397 | } |
15398 | 15398 | ||
15399 | // HKCR\TypeLib\[ID]\[MajorVersion].[MinorVersion], (Default) = [Description] | 15399 | // HKCR\TypeLib\[ID]\[MajorVersion].[MinorVersion], (Default) = [Description] |
@@ -15443,7 +15443,7 @@ namespace WixToolset.Core | |||
15443 | case "BinarySource": | 15443 | case "BinarySource": |
15444 | if (null != source) | 15444 | if (null != source) |
15445 | { | 15445 | { |
15446 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "FileSource", "PropertySource")); | 15446 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "FileSource", "PropertySource")); |
15447 | } | 15447 | } |
15448 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 15448 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
15449 | type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeBinaryData; | 15449 | type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeBinaryData; |
@@ -15455,7 +15455,7 @@ namespace WixToolset.Core | |||
15455 | case "FileSource": | 15455 | case "FileSource": |
15456 | if (null != source) | 15456 | if (null != source) |
15457 | { | 15457 | { |
15458 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinarySource", "PropertySource")); | 15458 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinarySource", "PropertySource")); |
15459 | } | 15459 | } |
15460 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 15460 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
15461 | type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeSourceFile; | 15461 | type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeSourceFile; |
@@ -15464,7 +15464,7 @@ namespace WixToolset.Core | |||
15464 | case "PropertySource": | 15464 | case "PropertySource": |
15465 | if (null != source) | 15465 | if (null != source) |
15466 | { | 15466 | { |
15467 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinarySource", "FileSource")); | 15467 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "BinarySource", "FileSource")); |
15468 | } | 15468 | } |
15469 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 15469 | source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
15470 | type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeProperty; | 15470 | type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeProperty; |
@@ -15491,7 +15491,7 @@ namespace WixToolset.Core | |||
15491 | 15491 | ||
15492 | if (null == source) | 15492 | if (null == source) |
15493 | { | 15493 | { |
15494 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "BinarySource", "FileSource", "PropertySource")); | 15494 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "BinarySource", "FileSource", "PropertySource")); |
15495 | } | 15495 | } |
15496 | 15496 | ||
15497 | if (!this.Core.EncounteredError) | 15497 | if (!this.Core.EncounteredError) |
@@ -15556,7 +15556,7 @@ namespace WixToolset.Core | |||
15556 | if (0 < embeddedUICount) // there can be only one embedded UI | 15556 | if (0 < embeddedUICount) // there can be only one embedded UI |
15557 | { | 15557 | { |
15558 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 15558 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
15559 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); | 15559 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); |
15560 | } | 15560 | } |
15561 | this.ParseEmbeddedUIElement(child); | 15561 | this.ParseEmbeddedUIElement(child); |
15562 | ++embeddedUICount; | 15562 | ++embeddedUICount; |
@@ -15582,7 +15582,7 @@ namespace WixToolset.Core | |||
15582 | if (RadioButtonType.Bitmap == radioButtonType || RadioButtonType.Icon == radioButtonType) | 15582 | if (RadioButtonType.Bitmap == radioButtonType || RadioButtonType.Icon == radioButtonType) |
15583 | { | 15583 | { |
15584 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 15584 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
15585 | this.Core.OnMessage(WixErrors.RadioButtonBitmapAndIconDisallowed(childSourceLineNumbers)); | 15585 | this.Core.Write(ErrorMessages.RadioButtonBitmapAndIconDisallowed(childSourceLineNumbers)); |
15586 | } | 15586 | } |
15587 | break; | 15587 | break; |
15588 | case "TextStyle": | 15588 | case "TextStyle": |
@@ -15655,7 +15655,7 @@ namespace WixToolset.Core | |||
15655 | } | 15655 | } |
15656 | else | 15656 | else |
15657 | { | 15657 | { |
15658 | this.Core.OnMessage(WixErrors.IllegalAttributeExceptOnElement(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "ListView")); | 15658 | this.Core.Write(ErrorMessages.IllegalAttributeExceptOnElement(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "ListView")); |
15659 | } | 15659 | } |
15660 | break; | 15660 | break; |
15661 | case "Text": | 15661 | case "Text": |
@@ -15677,7 +15677,7 @@ namespace WixToolset.Core | |||
15677 | 15677 | ||
15678 | if (null == value) | 15678 | if (null == value) |
15679 | { | 15679 | { |
15680 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 15680 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
15681 | } | 15681 | } |
15682 | 15682 | ||
15683 | this.Core.ParseForExtensionElements(node); | 15683 | this.Core.ParseForExtensionElements(node); |
@@ -15725,7 +15725,7 @@ namespace WixToolset.Core | |||
15725 | case "Bitmap": | 15725 | case "Bitmap": |
15726 | if (RadioButtonType.NotSet != type) | 15726 | if (RadioButtonType.NotSet != type) |
15727 | { | 15727 | { |
15728 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Icon", "Text")); | 15728 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Icon", "Text")); |
15729 | } | 15729 | } |
15730 | text = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 15730 | text = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
15731 | this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", text); | 15731 | this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", text); |
@@ -15740,7 +15740,7 @@ namespace WixToolset.Core | |||
15740 | case "Icon": | 15740 | case "Icon": |
15741 | if (RadioButtonType.NotSet != type) | 15741 | if (RadioButtonType.NotSet != type) |
15742 | { | 15742 | { |
15743 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Bitmap", "Text")); | 15743 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttributes(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Bitmap", "Text")); |
15744 | } | 15744 | } |
15745 | text = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 15745 | text = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
15746 | this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", text); | 15746 | this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", text); |
@@ -15749,7 +15749,7 @@ namespace WixToolset.Core | |||
15749 | case "Text": | 15749 | case "Text": |
15750 | if (RadioButtonType.NotSet != type) | 15750 | if (RadioButtonType.NotSet != type) |
15751 | { | 15751 | { |
15752 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Bitmap", "Icon")); | 15752 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Bitmap", "Icon")); |
15753 | } | 15753 | } |
15754 | text = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 15754 | text = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
15755 | type = RadioButtonType.Text; | 15755 | type = RadioButtonType.Text; |
@@ -15782,27 +15782,27 @@ namespace WixToolset.Core | |||
15782 | 15782 | ||
15783 | if (null == value) | 15783 | if (null == value) |
15784 | { | 15784 | { |
15785 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 15785 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
15786 | } | 15786 | } |
15787 | 15787 | ||
15788 | if (null == x) | 15788 | if (null == x) |
15789 | { | 15789 | { |
15790 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X")); | 15790 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X")); |
15791 | } | 15791 | } |
15792 | 15792 | ||
15793 | if (null == y) | 15793 | if (null == y) |
15794 | { | 15794 | { |
15795 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y")); | 15795 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y")); |
15796 | } | 15796 | } |
15797 | 15797 | ||
15798 | if (null == width) | 15798 | if (null == width) |
15799 | { | 15799 | { |
15800 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width")); | 15800 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width")); |
15801 | } | 15801 | } |
15802 | 15802 | ||
15803 | if (null == height) | 15803 | if (null == height) |
15804 | { | 15804 | { |
15805 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height")); | 15805 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height")); |
15806 | } | 15806 | } |
15807 | 15807 | ||
15808 | this.Core.ParseForExtensionElements(node); | 15808 | this.Core.ParseForExtensionElements(node); |
@@ -15860,7 +15860,7 @@ namespace WixToolset.Core | |||
15860 | 15860 | ||
15861 | if (null == action) | 15861 | if (null == action) |
15862 | { | 15862 | { |
15863 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 15863 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
15864 | } | 15864 | } |
15865 | 15865 | ||
15866 | foreach (XElement child in node.Elements()) | 15866 | foreach (XElement child in node.Elements()) |
@@ -15996,7 +15996,7 @@ namespace WixToolset.Core | |||
15996 | 15996 | ||
15997 | if (null == property) | 15997 | if (null == property) |
15998 | { | 15998 | { |
15999 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); | 15999 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); |
16000 | } | 16000 | } |
16001 | 16001 | ||
16002 | foreach (XElement child in node.Elements()) | 16002 | foreach (XElement child in node.Elements()) |
@@ -16064,7 +16064,7 @@ namespace WixToolset.Core | |||
16064 | 16064 | ||
16065 | if (null == property) | 16065 | if (null == property) |
16066 | { | 16066 | { |
16067 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); | 16067 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); |
16068 | } | 16068 | } |
16069 | 16069 | ||
16070 | foreach (XElement child in node.Elements()) | 16070 | foreach (XElement child in node.Elements()) |
@@ -16082,7 +16082,7 @@ namespace WixToolset.Core | |||
16082 | else if (groupType != type) | 16082 | else if (groupType != type) |
16083 | { | 16083 | { |
16084 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 16084 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
16085 | this.Core.OnMessage(WixErrors.RadioButtonTypeInconsistent(childSourceLineNumbers)); | 16085 | this.Core.Write(ErrorMessages.RadioButtonTypeInconsistent(childSourceLineNumbers)); |
16086 | } | 16086 | } |
16087 | break; | 16087 | break; |
16088 | default: | 16088 | default: |
@@ -16135,7 +16135,7 @@ namespace WixToolset.Core | |||
16135 | 16135 | ||
16136 | if (null == action) | 16136 | if (null == action) |
16137 | { | 16137 | { |
16138 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); | 16138 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action")); |
16139 | } | 16139 | } |
16140 | 16140 | ||
16141 | this.Core.ParseForExtensionElements(node); | 16141 | this.Core.ParseForExtensionElements(node); |
@@ -16314,7 +16314,7 @@ namespace WixToolset.Core | |||
16314 | 16314 | ||
16315 | if (null == faceName) | 16315 | if (null == faceName) |
16316 | { | 16316 | { |
16317 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "FaceName")); | 16317 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "FaceName")); |
16318 | } | 16318 | } |
16319 | 16319 | ||
16320 | this.Core.ParseForExtensionElements(node); | 16320 | this.Core.ParseForExtensionElements(node); |
@@ -16458,7 +16458,7 @@ namespace WixToolset.Core | |||
16458 | 16458 | ||
16459 | if (null == id) | 16459 | if (null == id) |
16460 | { | 16460 | { |
16461 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 16461 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
16462 | id = Identifier.Invalid; | 16462 | id = Identifier.Invalid; |
16463 | } | 16463 | } |
16464 | 16464 | ||
@@ -16498,7 +16498,7 @@ namespace WixToolset.Core | |||
16498 | 16498 | ||
16499 | if (null == firstControl) | 16499 | if (null == firstControl) |
16500 | { | 16500 | { |
16501 | this.Core.OnMessage(WixErrors.NoFirstControlSpecified(sourceLineNumbers, id.Id)); | 16501 | this.Core.Write(ErrorMessages.NoFirstControlSpecified(sourceLineNumbers, id.Id)); |
16502 | } | 16502 | } |
16503 | 16503 | ||
16504 | if (!this.Core.EncounteredError) | 16504 | if (!this.Core.EncounteredError) |
@@ -16676,14 +16676,14 @@ namespace WixToolset.Core | |||
16676 | 16676 | ||
16677 | if (String.IsNullOrEmpty(sourceFile)) | 16677 | if (String.IsNullOrEmpty(sourceFile)) |
16678 | { | 16678 | { |
16679 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 16679 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
16680 | } | 16680 | } |
16681 | else if (String.IsNullOrEmpty(name)) | 16681 | else if (String.IsNullOrEmpty(name)) |
16682 | { | 16682 | { |
16683 | name = Path.GetFileName(sourceFile); | 16683 | name = Path.GetFileName(sourceFile); |
16684 | if (!this.Core.IsValidLongFilename(name, false)) | 16684 | if (!this.Core.IsValidLongFilename(name, false)) |
16685 | { | 16685 | { |
16686 | this.Core.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Source", name)); | 16686 | this.Core.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Source", name)); |
16687 | } | 16687 | } |
16688 | } | 16688 | } |
16689 | 16689 | ||
@@ -16696,11 +16696,11 @@ namespace WixToolset.Core | |||
16696 | 16696 | ||
16697 | if (null == id) | 16697 | if (null == id) |
16698 | { | 16698 | { |
16699 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 16699 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
16700 | } | 16700 | } |
16701 | else if (!Common.IsIdentifier(id.Id)) | 16701 | else if (!Common.IsIdentifier(id.Id)) |
16702 | { | 16702 | { |
16703 | this.Core.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); | 16703 | this.Core.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); |
16704 | } | 16704 | } |
16705 | } | 16705 | } |
16706 | else if (String.IsNullOrEmpty(name)) | 16706 | else if (String.IsNullOrEmpty(name)) |
@@ -16710,7 +16710,7 @@ namespace WixToolset.Core | |||
16710 | 16710 | ||
16711 | if (!name.Contains(".")) | 16711 | if (!name.Contains(".")) |
16712 | { | 16712 | { |
16713 | this.Core.OnMessage(WixErrors.InvalidEmbeddedUIFileName(sourceLineNumbers, name)); | 16713 | this.Core.Write(ErrorMessages.InvalidEmbeddedUIFileName(sourceLineNumbers, name)); |
16714 | } | 16714 | } |
16715 | 16715 | ||
16716 | foreach (XElement child in node.Elements()) | 16716 | foreach (XElement child in node.Elements()) |
@@ -16783,14 +16783,14 @@ namespace WixToolset.Core | |||
16783 | 16783 | ||
16784 | if (String.IsNullOrEmpty(sourceFile)) | 16784 | if (String.IsNullOrEmpty(sourceFile)) |
16785 | { | 16785 | { |
16786 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 16786 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
16787 | } | 16787 | } |
16788 | else if (String.IsNullOrEmpty(name)) | 16788 | else if (String.IsNullOrEmpty(name)) |
16789 | { | 16789 | { |
16790 | name = Path.GetFileName(sourceFile); | 16790 | name = Path.GetFileName(sourceFile); |
16791 | if (!this.Core.IsValidLongFilename(name, false)) | 16791 | if (!this.Core.IsValidLongFilename(name, false)) |
16792 | { | 16792 | { |
16793 | this.Core.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Source", name)); | 16793 | this.Core.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Source", name)); |
16794 | } | 16794 | } |
16795 | } | 16795 | } |
16796 | 16796 | ||
@@ -16803,11 +16803,11 @@ namespace WixToolset.Core | |||
16803 | 16803 | ||
16804 | if (null == id) | 16804 | if (null == id) |
16805 | { | 16805 | { |
16806 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 16806 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
16807 | } | 16807 | } |
16808 | else if (!Common.IsIdentifier(id.Id)) | 16808 | else if (!Common.IsIdentifier(id.Id)) |
16809 | { | 16809 | { |
16810 | this.Core.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); | 16810 | this.Core.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); |
16811 | } | 16811 | } |
16812 | } | 16812 | } |
16813 | else if (String.IsNullOrEmpty(name)) | 16813 | else if (String.IsNullOrEmpty(name)) |
@@ -16868,7 +16868,7 @@ namespace WixToolset.Core | |||
16868 | XAttribute typeAttribute = node.Attribute("Type"); | 16868 | XAttribute typeAttribute = node.Attribute("Type"); |
16869 | if (null == typeAttribute) | 16869 | if (null == typeAttribute) |
16870 | { | 16870 | { |
16871 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); | 16871 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); |
16872 | } | 16872 | } |
16873 | else | 16873 | else |
16874 | { | 16874 | { |
@@ -17016,14 +17016,14 @@ namespace WixToolset.Core | |||
17016 | this.Core.TrySetBitFromName(specialAttributes, "Icon32", YesNoType.Yes, bits, 16); | 17016 | this.Core.TrySetBitFromName(specialAttributes, "Icon32", YesNoType.Yes, bits, 16); |
17017 | break; | 17017 | break; |
17018 | default: | 17018 | default: |
17019 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, iconSizeValue, "16", "32", "48")); | 17019 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, iconSizeValue, "16", "32", "48")); |
17020 | break; | 17020 | break; |
17021 | } | 17021 | } |
17022 | } | 17022 | } |
17023 | } | 17023 | } |
17024 | else | 17024 | else |
17025 | { | 17025 | { |
17026 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, iconSizeValue, "Type")); | 17026 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, iconSizeValue, "Type")); |
17027 | } | 17027 | } |
17028 | break; | 17028 | break; |
17029 | case "Property": | 17029 | case "Property": |
@@ -17074,22 +17074,22 @@ namespace WixToolset.Core | |||
17074 | 17074 | ||
17075 | if (null == height) | 17075 | if (null == height) |
17076 | { | 17076 | { |
17077 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height")); | 17077 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height")); |
17078 | } | 17078 | } |
17079 | 17079 | ||
17080 | if (null == width) | 17080 | if (null == width) |
17081 | { | 17081 | { |
17082 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width")); | 17082 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width")); |
17083 | } | 17083 | } |
17084 | 17084 | ||
17085 | if (null == x) | 17085 | if (null == x) |
17086 | { | 17086 | { |
17087 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X")); | 17087 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X")); |
17088 | } | 17088 | } |
17089 | 17089 | ||
17090 | if (null == y) | 17090 | if (null == y) |
17091 | { | 17091 | { |
17092 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y")); | 17092 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y")); |
17093 | } | 17093 | } |
17094 | 17094 | ||
17095 | if (null == id) | 17095 | if (null == id) |
@@ -17165,7 +17165,7 @@ namespace WixToolset.Core | |||
17165 | text = Common.GetInnerText(child); | 17165 | text = Common.GetInnerText(child); |
17166 | if (!String.IsNullOrEmpty(text) && null != sourceFile) | 17166 | if (!String.IsNullOrEmpty(text) && null != sourceFile) |
17167 | { | 17167 | { |
17168 | this.Core.OnMessage(WixErrors.IllegalAttributeWithInnerText(childSourceLineNumbers, child.Name.LocalName, "SourceFile")); | 17168 | this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(childSourceLineNumbers, child.Name.LocalName, "SourceFile")); |
17169 | } | 17169 | } |
17170 | break; | 17170 | break; |
17171 | default: | 17171 | default: |
@@ -17211,11 +17211,11 @@ namespace WixToolset.Core | |||
17211 | { | 17211 | { |
17212 | if (String.IsNullOrEmpty(property) && String.IsNullOrEmpty(checkBoxPropertyRef)) | 17212 | if (String.IsNullOrEmpty(property) && String.IsNullOrEmpty(checkBoxPropertyRef)) |
17213 | { | 17213 | { |
17214 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "CheckBoxPropertyRef", true)); | 17214 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "CheckBoxPropertyRef", true)); |
17215 | } | 17215 | } |
17216 | else if (!String.IsNullOrEmpty(property) && !String.IsNullOrEmpty(checkBoxPropertyRef)) | 17216 | else if (!String.IsNullOrEmpty(property) && !String.IsNullOrEmpty(checkBoxPropertyRef)) |
17217 | { | 17217 | { |
17218 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "CheckBoxPropertyRef")); | 17218 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Property", "CheckBoxPropertyRef")); |
17219 | } | 17219 | } |
17220 | else if (!String.IsNullOrEmpty(property)) | 17220 | else if (!String.IsNullOrEmpty(property)) |
17221 | { | 17221 | { |
@@ -17272,7 +17272,7 @@ namespace WixToolset.Core | |||
17272 | { | 17272 | { |
17273 | if (TupleDefinitionType.BBControl == tableName) | 17273 | if (TupleDefinitionType.BBControl == tableName) |
17274 | { | 17274 | { |
17275 | this.Core.OnMessage(WixErrors.TabbableControlNotAllowedInBillboard(sourceLineNumbers, node.Name.LocalName, controlType)); | 17275 | this.Core.Write(ErrorMessages.TabbableControlNotAllowedInBillboard(sourceLineNumbers, node.Name.LocalName, controlType)); |
17276 | } | 17276 | } |
17277 | 17277 | ||
17278 | if (null == firstControl) | 17278 | if (null == firstControl) |
@@ -17322,14 +17322,14 @@ namespace WixToolset.Core | |||
17322 | case "Control": | 17322 | case "Control": |
17323 | if (null != control) | 17323 | if (null != control) |
17324 | { | 17324 | { |
17325 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, node.Parent.Name.LocalName)); | 17325 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, node.Parent.Name.LocalName)); |
17326 | } | 17326 | } |
17327 | control = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 17327 | control = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
17328 | break; | 17328 | break; |
17329 | case "Dialog": | 17329 | case "Dialog": |
17330 | if (null != dialog) | 17330 | if (null != dialog) |
17331 | { | 17331 | { |
17332 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, node.Parent.Name.LocalName)); | 17332 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, node.Parent.Name.LocalName)); |
17333 | } | 17333 | } |
17334 | dialog = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 17334 | dialog = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
17335 | this.Core.CreateSimpleReference(sourceLineNumbers, "Dialog", dialog); | 17335 | this.Core.CreateSimpleReference(sourceLineNumbers, "Dialog", dialog); |
@@ -17361,28 +17361,28 @@ namespace WixToolset.Core | |||
17361 | 17361 | ||
17362 | if (null == control) | 17362 | if (null == control) |
17363 | { | 17363 | { |
17364 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Control")); | 17364 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Control")); |
17365 | } | 17365 | } |
17366 | 17366 | ||
17367 | if (null == dialog) | 17367 | if (null == dialog) |
17368 | { | 17368 | { |
17369 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dialog")); | 17369 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dialog")); |
17370 | } | 17370 | } |
17371 | 17371 | ||
17372 | if (null == controlEvent && null == property) // need to specify at least one | 17372 | if (null == controlEvent && null == property) // need to specify at least one |
17373 | { | 17373 | { |
17374 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Event", "Property")); | 17374 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Event", "Property")); |
17375 | } | 17375 | } |
17376 | else if (null != controlEvent && null != property) // cannot specify both | 17376 | else if (null != controlEvent && null != property) // cannot specify both |
17377 | { | 17377 | { |
17378 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Event", "Property")); | 17378 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Event", "Property")); |
17379 | } | 17379 | } |
17380 | 17380 | ||
17381 | if (null == argument) | 17381 | if (null == argument) |
17382 | { | 17382 | { |
17383 | if (null != controlEvent) | 17383 | if (null != controlEvent) |
17384 | { | 17384 | { |
17385 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value", "Event")); | 17385 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value", "Event")); |
17386 | } | 17386 | } |
17387 | else if (null != property) | 17387 | else if (null != property) |
17388 | { | 17388 | { |
@@ -17499,7 +17499,7 @@ namespace WixToolset.Core | |||
17499 | 17499 | ||
17500 | if (null == id) | 17500 | if (null == id) |
17501 | { | 17501 | { |
17502 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 17502 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
17503 | } | 17503 | } |
17504 | 17504 | ||
17505 | // process the UpgradeVersion children here | 17505 | // process the UpgradeVersion children here |
@@ -17513,7 +17513,7 @@ namespace WixToolset.Core | |||
17513 | { | 17513 | { |
17514 | case "Property": | 17514 | case "Property": |
17515 | this.ParsePropertyElement(child); | 17515 | this.ParsePropertyElement(child); |
17516 | this.Core.OnMessage(WixWarnings.DeprecatedUpgradeProperty(childSourceLineNumbers)); | 17516 | this.Core.Write(WarningMessages.DeprecatedUpgradeProperty(childSourceLineNumbers)); |
17517 | break; | 17517 | break; |
17518 | case "UpgradeVersion": | 17518 | case "UpgradeVersion": |
17519 | this.ParseUpgradeVersionElement(child, id); | 17519 | this.ParseUpgradeVersionElement(child, id); |
@@ -17618,16 +17618,16 @@ namespace WixToolset.Core | |||
17618 | 17618 | ||
17619 | if (null == actionProperty) | 17619 | if (null == actionProperty) |
17620 | { | 17620 | { |
17621 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); | 17621 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property")); |
17622 | } | 17622 | } |
17623 | else if (actionProperty.ToUpper(CultureInfo.InvariantCulture) != actionProperty) | 17623 | else if (actionProperty.ToUpper(CultureInfo.InvariantCulture) != actionProperty) |
17624 | { | 17624 | { |
17625 | this.Core.OnMessage(WixErrors.SecurePropertyNotUppercase(sourceLineNumbers, node.Name.LocalName, "Property", actionProperty)); | 17625 | this.Core.Write(ErrorMessages.SecurePropertyNotUppercase(sourceLineNumbers, node.Name.LocalName, "Property", actionProperty)); |
17626 | } | 17626 | } |
17627 | 17627 | ||
17628 | if (null == minimum && null == maximum) | 17628 | if (null == minimum && null == maximum) |
17629 | { | 17629 | { |
17630 | this.Core.OnMessage(WixErrors.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Minimum", "Maximum")); | 17630 | this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Minimum", "Maximum")); |
17631 | } | 17631 | } |
17632 | 17632 | ||
17633 | this.Core.ParseForExtensionElements(node); | 17633 | this.Core.ParseForExtensionElements(node); |
@@ -17694,7 +17694,7 @@ namespace WixToolset.Core | |||
17694 | break; | 17694 | break; |
17695 | case "Target": | 17695 | case "Target": |
17696 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 17696 | target = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
17697 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "TargetFile", "TargetProperty")); | 17697 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "TargetFile", "TargetProperty")); |
17698 | break; | 17698 | break; |
17699 | case "TargetFile": | 17699 | case "TargetFile": |
17700 | targetFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 17700 | targetFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -17716,22 +17716,22 @@ namespace WixToolset.Core | |||
17716 | 17716 | ||
17717 | if (null == id) | 17717 | if (null == id) |
17718 | { | 17718 | { |
17719 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 17719 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
17720 | } | 17720 | } |
17721 | 17721 | ||
17722 | if (null != target && null != targetFile) | 17722 | if (null != target && null != targetFile) |
17723 | { | 17723 | { |
17724 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Target", "TargetFile")); | 17724 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Target", "TargetFile")); |
17725 | } | 17725 | } |
17726 | 17726 | ||
17727 | if (null != target && null != targetProperty) | 17727 | if (null != target && null != targetProperty) |
17728 | { | 17728 | { |
17729 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Target", "TargetProperty")); | 17729 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Target", "TargetProperty")); |
17730 | } | 17730 | } |
17731 | 17731 | ||
17732 | if (null != targetFile && null != targetProperty) | 17732 | if (null != targetFile && null != targetProperty) |
17733 | { | 17733 | { |
17734 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "TargetFile", "TargetProperty")); | 17734 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "TargetFile", "TargetProperty")); |
17735 | } | 17735 | } |
17736 | 17736 | ||
17737 | this.Core.ParseForExtensionElements(node); | 17737 | this.Core.ParseForExtensionElements(node); |
@@ -17740,17 +17740,17 @@ namespace WixToolset.Core | |||
17740 | { | 17740 | { |
17741 | if (null != target) | 17741 | if (null != target) |
17742 | { | 17742 | { |
17743 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Target")); | 17743 | this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Target")); |
17744 | } | 17744 | } |
17745 | 17745 | ||
17746 | if (null != targetFile) | 17746 | if (null != targetFile) |
17747 | { | 17747 | { |
17748 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetFile")); | 17748 | this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetFile")); |
17749 | } | 17749 | } |
17750 | 17750 | ||
17751 | if (null != targetProperty) | 17751 | if (null != targetProperty) |
17752 | { | 17752 | { |
17753 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetProperty")); | 17753 | this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetProperty")); |
17754 | } | 17754 | } |
17755 | 17755 | ||
17756 | if (!this.Core.EncounteredError) | 17756 | if (!this.Core.EncounteredError) |
@@ -17770,12 +17770,12 @@ namespace WixToolset.Core | |||
17770 | { | 17770 | { |
17771 | if (CompilerConstants.IntegerNotSet != sequence) | 17771 | if (CompilerConstants.IntegerNotSet != sequence) |
17772 | { | 17772 | { |
17773 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Sequence", "Advertise", "no")); | 17773 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Sequence", "Advertise", "no")); |
17774 | } | 17774 | } |
17775 | 17775 | ||
17776 | if (null == target && null == targetFile && null == targetProperty) | 17776 | if (null == target && null == targetFile && null == targetProperty) |
17777 | { | 17777 | { |
17778 | this.Core.OnMessage(WixErrors.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "TargetFile", "TargetProperty", "Advertise", "no")); | 17778 | this.Core.Write(ErrorMessages.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "TargetFile", "TargetProperty", "Advertise", "no")); |
17779 | } | 17779 | } |
17780 | 17780 | ||
17781 | if (null == target) | 17781 | if (null == target) |
@@ -17851,12 +17851,12 @@ namespace WixToolset.Core | |||
17851 | 17851 | ||
17852 | if (null == id) | 17852 | if (null == id) |
17853 | { | 17853 | { |
17854 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 17854 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
17855 | } | 17855 | } |
17856 | 17856 | ||
17857 | if (null == key) | 17857 | if (null == key) |
17858 | { | 17858 | { |
17859 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); | 17859 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key")); |
17860 | } | 17860 | } |
17861 | 17861 | ||
17862 | BundleApprovedExeForElevationAttributes attributes = BundleApprovedExeForElevationAttributes.None; | 17862 | BundleApprovedExeForElevationAttributes attributes = BundleApprovedExeForElevationAttributes.None; |
@@ -17938,7 +17938,7 @@ namespace WixToolset.Core | |||
17938 | disableModify = 0; | 17938 | disableModify = 0; |
17939 | break; | 17939 | break; |
17940 | default: | 17940 | default: |
17941 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "button", "yes", "no")); | 17941 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "button", "yes", "no")); |
17942 | break; | 17942 | break; |
17943 | } | 17943 | } |
17944 | break; | 17944 | break; |
@@ -17946,7 +17946,7 @@ namespace WixToolset.Core | |||
17946 | disableRemove = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); | 17946 | disableRemove = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); |
17947 | break; | 17947 | break; |
17948 | case "DisableRepair": | 17948 | case "DisableRepair": |
17949 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 17949 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
17950 | break; | 17950 | break; |
17951 | case "HelpTelephone": | 17951 | case "HelpTelephone": |
17952 | helpTelephone = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 17952 | helpTelephone = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -17990,16 +17990,16 @@ namespace WixToolset.Core | |||
17990 | 17990 | ||
17991 | if (String.IsNullOrEmpty(version)) | 17991 | if (String.IsNullOrEmpty(version)) |
17992 | { | 17992 | { |
17993 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); | 17993 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); |
17994 | } | 17994 | } |
17995 | else if (!CompilerCore.IsValidModuleOrBundleVersion(version)) | 17995 | else if (!CompilerCore.IsValidModuleOrBundleVersion(version)) |
17996 | { | 17996 | { |
17997 | this.Core.OnMessage(WixWarnings.InvalidModuleOrBundleVersion(sourceLineNumbers, "Bundle", version)); | 17997 | this.Core.Write(WarningMessages.InvalidModuleOrBundleVersion(sourceLineNumbers, "Bundle", version)); |
17998 | } | 17998 | } |
17999 | 17999 | ||
18000 | if (String.IsNullOrEmpty(upgradeCode)) | 18000 | if (String.IsNullOrEmpty(upgradeCode)) |
18001 | { | 18001 | { |
18002 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "UpgradeCode")); | 18002 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "UpgradeCode")); |
18003 | } | 18003 | } |
18004 | 18004 | ||
18005 | if (String.IsNullOrEmpty(copyright)) | 18005 | if (String.IsNullOrEmpty(copyright)) |
@@ -18054,7 +18054,7 @@ namespace WixToolset.Core | |||
18054 | if (baSeen) | 18054 | if (baSeen) |
18055 | { | 18055 | { |
18056 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 18056 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
18057 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "BootstrapperApplication")); | 18057 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "BootstrapperApplication")); |
18058 | } | 18058 | } |
18059 | this.ParseBootstrapperApplicationElement(child); | 18059 | this.ParseBootstrapperApplicationElement(child); |
18060 | baSeen = true; | 18060 | baSeen = true; |
@@ -18072,7 +18072,7 @@ namespace WixToolset.Core | |||
18072 | if (chainSeen) | 18072 | if (chainSeen) |
18073 | { | 18073 | { |
18074 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 18074 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
18075 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Chain")); | 18075 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Chain")); |
18076 | } | 18076 | } |
18077 | this.ParseChainElement(child); | 18077 | this.ParseChainElement(child); |
18078 | chainSeen = true; | 18078 | chainSeen = true; |
@@ -18087,7 +18087,7 @@ namespace WixToolset.Core | |||
18087 | if (logSeen) | 18087 | if (logSeen) |
18088 | { | 18088 | { |
18089 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); | 18089 | SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child); |
18090 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Log")); | 18090 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Log")); |
18091 | } | 18091 | } |
18092 | logVariablePrefixAndExtension = this.ParseLogElement(child, fileSystemSafeBundleName); | 18092 | logVariablePrefixAndExtension = this.ParseLogElement(child, fileSystemSafeBundleName); |
18093 | logSeen = true; | 18093 | logSeen = true; |
@@ -18124,7 +18124,7 @@ namespace WixToolset.Core | |||
18124 | 18124 | ||
18125 | if (!chainSeen) | 18125 | if (!chainSeen) |
18126 | { | 18126 | { |
18127 | this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "Chain")); | 18127 | this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "Chain")); |
18128 | } | 18128 | } |
18129 | 18129 | ||
18130 | if (!this.Core.EncounteredError) | 18130 | if (!this.Core.EncounteredError) |
@@ -18278,12 +18278,12 @@ namespace WixToolset.Core | |||
18278 | 18278 | ||
18279 | if (null == id) | 18279 | if (null == id) |
18280 | { | 18280 | { |
18281 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 18281 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
18282 | } | 18282 | } |
18283 | 18283 | ||
18284 | if (null == sourceFile) | 18284 | if (null == sourceFile) |
18285 | { | 18285 | { |
18286 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); | 18286 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile")); |
18287 | } | 18287 | } |
18288 | 18288 | ||
18289 | this.Core.ParseForExtensionElements(node); | 18289 | this.Core.ParseForExtensionElements(node); |
@@ -18329,7 +18329,7 @@ namespace WixToolset.Core | |||
18329 | string typeString = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 18329 | string typeString = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
18330 | if (!Enum.TryParse<ContainerType>(typeString, out type)) | 18330 | if (!Enum.TryParse<ContainerType>(typeString, out type)) |
18331 | { | 18331 | { |
18332 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Type", typeString, "attached, detached")); | 18332 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Type", typeString, "attached, detached")); |
18333 | } | 18333 | } |
18334 | break; | 18334 | break; |
18335 | default: | 18335 | default: |
@@ -18352,12 +18352,12 @@ namespace WixToolset.Core | |||
18352 | 18352 | ||
18353 | if (null == id) | 18353 | if (null == id) |
18354 | { | 18354 | { |
18355 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 18355 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
18356 | id = Identifier.Invalid; | 18356 | id = Identifier.Invalid; |
18357 | } | 18357 | } |
18358 | else if (!Common.IsIdentifier(id.Id)) | 18358 | else if (!Common.IsIdentifier(id.Id)) |
18359 | { | 18359 | { |
18360 | this.Core.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); | 18360 | this.Core.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); |
18361 | } | 18361 | } |
18362 | } | 18362 | } |
18363 | else if (null == name) | 18363 | else if (null == name) |
@@ -18367,7 +18367,7 @@ namespace WixToolset.Core | |||
18367 | 18367 | ||
18368 | if (!String.IsNullOrEmpty(downloadUrl) && ContainerType.Detached != type) | 18368 | if (!String.IsNullOrEmpty(downloadUrl) && ContainerType.Detached != type) |
18369 | { | 18369 | { |
18370 | this.Core.OnMessage(WixErrors.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DownloadUrl", "Type", "attached")); | 18370 | this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "DownloadUrl", "Type", "attached")); |
18371 | } | 18371 | } |
18372 | 18372 | ||
18373 | foreach (XElement child in node.Elements()) | 18373 | foreach (XElement child in node.Elements()) |
@@ -18449,7 +18449,7 @@ namespace WixToolset.Core | |||
18449 | // We need *either* <Payload> or <PayloadGroupRef> or even just @SourceFile on the BA... | 18449 | // We need *either* <Payload> or <PayloadGroupRef> or even just @SourceFile on the BA... |
18450 | // but we just say there's a missing <Payload>. | 18450 | // but we just say there's a missing <Payload>. |
18451 | // TODO: Is there a better message for this? | 18451 | // TODO: Is there a better message for this? |
18452 | this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "Payload")); | 18452 | this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "Payload")); |
18453 | } | 18453 | } |
18454 | 18454 | ||
18455 | // Add the application as an attached container and if an Id was provided add that too. | 18455 | // Add the application as an attached container and if an Id was provided add that too. |
@@ -18527,7 +18527,7 @@ namespace WixToolset.Core | |||
18527 | 18527 | ||
18528 | if (String.IsNullOrEmpty(id)) | 18528 | if (String.IsNullOrEmpty(id)) |
18529 | { | 18529 | { |
18530 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 18530 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
18531 | } | 18531 | } |
18532 | else | 18532 | else |
18533 | { | 18533 | { |
@@ -18593,7 +18593,7 @@ namespace WixToolset.Core | |||
18593 | } | 18593 | } |
18594 | else | 18594 | else |
18595 | { | 18595 | { |
18596 | this.Core.OnMessage(WixErrors.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "Manufacturer", node.Parent.Name.LocalName)); | 18596 | this.Core.Write(ErrorMessages.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "Manufacturer", node.Parent.Name.LocalName)); |
18597 | } | 18597 | } |
18598 | } | 18598 | } |
18599 | 18599 | ||
@@ -18613,13 +18613,13 @@ namespace WixToolset.Core | |||
18613 | } | 18613 | } |
18614 | else | 18614 | else |
18615 | { | 18615 | { |
18616 | this.Core.OnMessage(WixErrors.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "Name", node.Parent.Name.LocalName)); | 18616 | this.Core.Write(ErrorMessages.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "Name", node.Parent.Name.LocalName)); |
18617 | } | 18617 | } |
18618 | } | 18618 | } |
18619 | 18619 | ||
18620 | if (String.IsNullOrEmpty(classification)) | 18620 | if (String.IsNullOrEmpty(classification)) |
18621 | { | 18621 | { |
18622 | this.Core.OnMessage(WixErrors.IllegalEmptyAttributeValue(sourceLineNumbers, node.Name.LocalName, "Classification", defaultClassification)); | 18622 | this.Core.Write(ErrorMessages.IllegalEmptyAttributeValue(sourceLineNumbers, node.Name.LocalName, "Classification", defaultClassification)); |
18623 | } | 18623 | } |
18624 | 18624 | ||
18625 | this.Core.ParseForExtensionElements(node); | 18625 | this.Core.ParseForExtensionElements(node); |
@@ -18755,13 +18755,13 @@ namespace WixToolset.Core | |||
18755 | 18755 | ||
18756 | if (CompilerCore.WixNamespace == node.Name.Namespace && node.Name.LocalName != "ExePackage") | 18756 | if (CompilerCore.WixNamespace == node.Name.Namespace && node.Name.LocalName != "ExePackage") |
18757 | { | 18757 | { |
18758 | this.Core.OnMessage(WixErrors.RemotePayloadUnsupported(childSourceLineNumbers)); | 18758 | this.Core.Write(ErrorMessages.RemotePayloadUnsupported(childSourceLineNumbers)); |
18759 | continue; | 18759 | continue; |
18760 | } | 18760 | } |
18761 | 18761 | ||
18762 | if (null != remotePayload) | 18762 | if (null != remotePayload) |
18763 | { | 18763 | { |
18764 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); | 18764 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); |
18765 | } | 18765 | } |
18766 | 18766 | ||
18767 | remotePayload = this.ParseRemotePayloadElement(child); | 18767 | remotePayload = this.ParseRemotePayloadElement(child); |
@@ -18769,11 +18769,11 @@ namespace WixToolset.Core | |||
18769 | 18769 | ||
18770 | if (null != sourceFile && null != remotePayload) | 18770 | if (null != sourceFile && null != remotePayload) |
18771 | { | 18771 | { |
18772 | this.Core.OnMessage(WixErrors.UnexpectedElementWithAttribute(sourceLineNumbers, node.Name.LocalName, "RemotePayload", "SourceFile")); | 18772 | this.Core.Write(ErrorMessages.UnexpectedElementWithAttribute(sourceLineNumbers, node.Name.LocalName, "RemotePayload", "SourceFile")); |
18773 | } | 18773 | } |
18774 | else if (null == sourceFile && null == remotePayload) | 18774 | else if (null == sourceFile && null == remotePayload) |
18775 | { | 18775 | { |
18776 | this.Core.OnMessage(WixErrors.ExpectedAttributeOrElement(sourceLineNumbers, node.Name.LocalName, "SourceFile", "RemotePayload")); | 18776 | this.Core.Write(ErrorMessages.ExpectedAttributeOrElement(sourceLineNumbers, node.Name.LocalName, "SourceFile", "RemotePayload")); |
18777 | } | 18777 | } |
18778 | else if (null == sourceFile) | 18778 | else if (null == sourceFile) |
18779 | { | 18779 | { |
@@ -18782,14 +18782,14 @@ namespace WixToolset.Core | |||
18782 | 18782 | ||
18783 | if (null == downloadUrl && null != remotePayload) | 18783 | if (null == downloadUrl && null != remotePayload) |
18784 | { | 18784 | { |
18785 | this.Core.OnMessage(WixErrors.ExpectedAttributeWithElement(sourceLineNumbers, node.Name.LocalName, "DownloadUrl", "RemotePayload")); | 18785 | this.Core.Write(ErrorMessages.ExpectedAttributeWithElement(sourceLineNumbers, node.Name.LocalName, "DownloadUrl", "RemotePayload")); |
18786 | } | 18786 | } |
18787 | 18787 | ||
18788 | if (Compiler.BurnUXContainerId == parentId) | 18788 | if (Compiler.BurnUXContainerId == parentId) |
18789 | { | 18789 | { |
18790 | if (compressed == YesNoDefaultType.No) | 18790 | if (compressed == YesNoDefaultType.No) |
18791 | { | 18791 | { |
18792 | Core.OnMessage(WixWarnings.UxPayloadsOnlySupportEmbedding(sourceLineNumbers, sourceFile)); | 18792 | Core.Write(WarningMessages.UxPayloadsOnlySupportEmbedding(sourceLineNumbers, sourceFile)); |
18793 | } | 18793 | } |
18794 | 18794 | ||
18795 | compressed = YesNoDefaultType.Yes; | 18795 | compressed = YesNoDefaultType.Yes; |
@@ -18845,27 +18845,27 @@ namespace WixToolset.Core | |||
18845 | 18845 | ||
18846 | if (String.IsNullOrEmpty(remotePayload.ProductName)) | 18846 | if (String.IsNullOrEmpty(remotePayload.ProductName)) |
18847 | { | 18847 | { |
18848 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductName")); | 18848 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductName")); |
18849 | } | 18849 | } |
18850 | 18850 | ||
18851 | if (String.IsNullOrEmpty(remotePayload.Description)) | 18851 | if (String.IsNullOrEmpty(remotePayload.Description)) |
18852 | { | 18852 | { |
18853 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description")); | 18853 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description")); |
18854 | } | 18854 | } |
18855 | 18855 | ||
18856 | if (String.IsNullOrEmpty(remotePayload.Hash)) | 18856 | if (String.IsNullOrEmpty(remotePayload.Hash)) |
18857 | { | 18857 | { |
18858 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Hash")); | 18858 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Hash")); |
18859 | } | 18859 | } |
18860 | 18860 | ||
18861 | if (0 == remotePayload.Size) | 18861 | if (0 == remotePayload.Size) |
18862 | { | 18862 | { |
18863 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Size")); | 18863 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Size")); |
18864 | } | 18864 | } |
18865 | 18865 | ||
18866 | if (String.IsNullOrEmpty(remotePayload.Version)) | 18866 | if (String.IsNullOrEmpty(remotePayload.Version)) |
18867 | { | 18867 | { |
18868 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); | 18868 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version")); |
18869 | } | 18869 | } |
18870 | 18870 | ||
18871 | return remotePayload; | 18871 | return remotePayload; |
@@ -18947,7 +18947,7 @@ namespace WixToolset.Core | |||
18947 | 18947 | ||
18948 | if (null == id) | 18948 | if (null == id) |
18949 | { | 18949 | { |
18950 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 18950 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
18951 | id = Identifier.Invalid; | 18951 | id = Identifier.Invalid; |
18952 | } | 18952 | } |
18953 | 18953 | ||
@@ -19024,7 +19024,7 @@ namespace WixToolset.Core | |||
19024 | 19024 | ||
19025 | if (null == id) | 19025 | if (null == id) |
19026 | { | 19026 | { |
19027 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 19027 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
19028 | } | 19028 | } |
19029 | 19029 | ||
19030 | this.Core.ParseForExtensionElements(node); | 19030 | this.Core.ParseForExtensionElements(node); |
@@ -19084,7 +19084,7 @@ namespace WixToolset.Core | |||
19084 | string behaviorString = this.Core.GetAttributeValue(sourceLineNumbers, attrib); | 19084 | string behaviorString = this.Core.GetAttributeValue(sourceLineNumbers, attrib); |
19085 | if (!Enum.TryParse<ExitCodeBehaviorType>(behaviorString, true, out behavior)) | 19085 | if (!Enum.TryParse<ExitCodeBehaviorType>(behaviorString, true, out behavior)) |
19086 | { | 19086 | { |
19087 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Behavior", behaviorString, "success, error, scheduleReboot, forceReboot")); | 19087 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Behavior", behaviorString, "success, error, scheduleReboot, forceReboot")); |
19088 | } | 19088 | } |
19089 | break; | 19089 | break; |
19090 | default: | 19090 | default: |
@@ -19100,7 +19100,7 @@ namespace WixToolset.Core | |||
19100 | 19100 | ||
19101 | if (ExitCodeBehaviorType.NotSet == behavior) | 19101 | if (ExitCodeBehaviorType.NotSet == behavior) |
19102 | { | 19102 | { |
19103 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Behavior")); | 19103 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Behavior")); |
19104 | } | 19104 | } |
19105 | 19105 | ||
19106 | this.Core.ParseForExtensionElements(node); | 19106 | this.Core.ParseForExtensionElements(node); |
@@ -19208,7 +19208,7 @@ namespace WixToolset.Core | |||
19208 | 19208 | ||
19209 | if (null == previousId) | 19209 | if (null == previousId) |
19210 | { | 19210 | { |
19211 | this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "MsiPackage", "ExePackage", "PackageGroupRef")); | 19211 | this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "MsiPackage", "ExePackage", "PackageGroupRef")); |
19212 | } | 19212 | } |
19213 | 19213 | ||
19214 | if (!this.Core.EncounteredError) | 19214 | if (!this.Core.EncounteredError) |
@@ -19339,12 +19339,12 @@ namespace WixToolset.Core | |||
19339 | 19339 | ||
19340 | if (null == id) | 19340 | if (null == id) |
19341 | { | 19341 | { |
19342 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 19342 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
19343 | id = Identifier.Invalid; | 19343 | id = Identifier.Invalid; |
19344 | } | 19344 | } |
19345 | else if (!Common.IsIdentifier(id.Id)) | 19345 | else if (!Common.IsIdentifier(id.Id)) |
19346 | { | 19346 | { |
19347 | this.Core.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); | 19347 | this.Core.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); |
19348 | } | 19348 | } |
19349 | } | 19349 | } |
19350 | 19350 | ||
@@ -19437,7 +19437,7 @@ namespace WixToolset.Core | |||
19437 | name = this.Core.GetAttributeLongFilename(sourceLineNumbers, attrib, false, true); | 19437 | name = this.Core.GetAttributeLongFilename(sourceLineNumbers, attrib, false, true); |
19438 | if (!this.Core.IsValidLongFilename(name, false, true)) | 19438 | if (!this.Core.IsValidLongFilename(name, false, true)) |
19439 | { | 19439 | { |
19440 | this.Core.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Name", name)); | 19440 | this.Core.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, node.Name.LocalName, "Name", name)); |
19441 | } | 19441 | } |
19442 | break; | 19442 | break; |
19443 | case "SourceFile": | 19443 | case "SourceFile": |
@@ -19528,7 +19528,7 @@ namespace WixToolset.Core | |||
19528 | compressed = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib); | 19528 | compressed = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib); |
19529 | break; | 19529 | break; |
19530 | case "SuppressLooseFilePayloadGeneration": | 19530 | case "SuppressLooseFilePayloadGeneration": |
19531 | this.Core.OnMessage(WixWarnings.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); | 19531 | this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName)); |
19532 | suppressLooseFilePayloadGeneration = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); | 19532 | suppressLooseFilePayloadGeneration = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); |
19533 | allowed = (packageType == WixBundlePackageType.Msi); | 19533 | allowed = (packageType == WixBundlePackageType.Msi); |
19534 | break; | 19534 | break; |
@@ -19563,13 +19563,13 @@ namespace WixToolset.Core | |||
19563 | 19563 | ||
19564 | if (CompilerCore.WixNamespace == node.Name.Namespace && node.Name.LocalName != "ExePackage" && node.Name.LocalName != "MsuPackage") | 19564 | if (CompilerCore.WixNamespace == node.Name.Namespace && node.Name.LocalName != "ExePackage" && node.Name.LocalName != "MsuPackage") |
19565 | { | 19565 | { |
19566 | this.Core.OnMessage(WixErrors.RemotePayloadUnsupported(childSourceLineNumbers)); | 19566 | this.Core.Write(ErrorMessages.RemotePayloadUnsupported(childSourceLineNumbers)); |
19567 | continue; | 19567 | continue; |
19568 | } | 19568 | } |
19569 | 19569 | ||
19570 | if (null != remotePayload) | 19570 | if (null != remotePayload) |
19571 | { | 19571 | { |
19572 | this.Core.OnMessage(WixErrors.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); | 19572 | this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName)); |
19573 | } | 19573 | } |
19574 | 19574 | ||
19575 | remotePayload = this.ParseRemotePayloadElement(child); | 19575 | remotePayload = this.ParseRemotePayloadElement(child); |
@@ -19579,7 +19579,7 @@ namespace WixToolset.Core | |||
19579 | { | 19579 | { |
19580 | if (String.IsNullOrEmpty(name)) | 19580 | if (String.IsNullOrEmpty(name)) |
19581 | { | 19581 | { |
19582 | this.Core.OnMessage(WixErrors.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", "SourceFile")); | 19582 | this.Core.Write(ErrorMessages.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "Name", "SourceFile")); |
19583 | } | 19583 | } |
19584 | else if (null == remotePayload) | 19584 | else if (null == remotePayload) |
19585 | { | 19585 | { |
@@ -19592,13 +19592,13 @@ namespace WixToolset.Core | |||
19592 | } | 19592 | } |
19593 | else if (null != remotePayload) | 19593 | else if (null != remotePayload) |
19594 | { | 19594 | { |
19595 | this.Core.OnMessage(WixErrors.UnexpectedElementWithAttribute(sourceLineNumbers, node.Name.LocalName, "RemotePayload", "SourceFile")); | 19595 | this.Core.Write(ErrorMessages.UnexpectedElementWithAttribute(sourceLineNumbers, node.Name.LocalName, "RemotePayload", "SourceFile")); |
19596 | } | 19596 | } |
19597 | else if (sourceFile.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal)) | 19597 | else if (sourceFile.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal)) |
19598 | { | 19598 | { |
19599 | if (String.IsNullOrEmpty(name)) | 19599 | if (String.IsNullOrEmpty(name)) |
19600 | { | 19600 | { |
19601 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name", "SourceFile", sourceFile)); | 19601 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name", "SourceFile", sourceFile)); |
19602 | } | 19602 | } |
19603 | else | 19603 | else |
19604 | { | 19604 | { |
@@ -19608,13 +19608,13 @@ namespace WixToolset.Core | |||
19608 | 19608 | ||
19609 | if (null == downloadUrl && null != remotePayload) | 19609 | if (null == downloadUrl && null != remotePayload) |
19610 | { | 19610 | { |
19611 | this.Core.OnMessage(WixErrors.ExpectedAttributeWithElement(sourceLineNumbers, node.Name.LocalName, "DownloadUrl", "RemotePayload")); | 19611 | this.Core.Write(ErrorMessages.ExpectedAttributeWithElement(sourceLineNumbers, node.Name.LocalName, "DownloadUrl", "RemotePayload")); |
19612 | } | 19612 | } |
19613 | 19613 | ||
19614 | if (YesNoDefaultType.No != compressed && null != remotePayload) | 19614 | if (YesNoDefaultType.No != compressed && null != remotePayload) |
19615 | { | 19615 | { |
19616 | compressed = YesNoDefaultType.No; | 19616 | compressed = YesNoDefaultType.No; |
19617 | this.Core.OnMessage(WixWarnings.RemotePayloadsMustNotAlsoBeCompressed(sourceLineNumbers, node.Name.LocalName)); | 19617 | this.Core.Write(WarningMessages.RemotePayloadsMustNotAlsoBeCompressed(sourceLineNumbers, node.Name.LocalName)); |
19618 | } | 19618 | } |
19619 | 19619 | ||
19620 | if (null == id) | 19620 | if (null == id) |
@@ -19630,12 +19630,12 @@ namespace WixToolset.Core | |||
19630 | 19630 | ||
19631 | if (null == id) | 19631 | if (null == id) |
19632 | { | 19632 | { |
19633 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 19633 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
19634 | id = Identifier.Invalid; | 19634 | id = Identifier.Invalid; |
19635 | } | 19635 | } |
19636 | else if (!Common.IsIdentifier(id.Id)) | 19636 | else if (!Common.IsIdentifier(id.Id)) |
19637 | { | 19637 | { |
19638 | this.Core.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); | 19638 | this.Core.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, node.Name.LocalName, "Id", id.Id)); |
19639 | } | 19639 | } |
19640 | } | 19640 | } |
19641 | 19641 | ||
@@ -19651,7 +19651,7 @@ namespace WixToolset.Core | |||
19651 | 19651 | ||
19652 | if (!String.IsNullOrEmpty(protocol) && !protocol.Equals("burn", StringComparison.Ordinal) && !protocol.Equals("netfx4", StringComparison.Ordinal) && !protocol.Equals("none", StringComparison.Ordinal)) | 19652 | if (!String.IsNullOrEmpty(protocol) && !protocol.Equals("burn", StringComparison.Ordinal) && !protocol.Equals("netfx4", StringComparison.Ordinal) && !protocol.Equals("none", StringComparison.Ordinal)) |
19653 | { | 19653 | { |
19654 | this.Core.OnMessage(WixErrors.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Protocol", protocol, "none, burn, netfx4")); | 19654 | this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Protocol", protocol, "none, burn, netfx4")); |
19655 | } | 19655 | } |
19656 | 19656 | ||
19657 | if (!String.IsNullOrEmpty(protocol) && protocol.Equals("netfx4", StringComparison.Ordinal)) | 19657 | if (!String.IsNullOrEmpty(protocol) && protocol.Equals("netfx4", StringComparison.Ordinal)) |
@@ -19660,17 +19660,17 @@ namespace WixToolset.Core | |||
19660 | { | 19660 | { |
19661 | if (null == installCommand || -1 == installCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase)) | 19661 | if (null == installCommand || -1 == installCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase)) |
19662 | { | 19662 | { |
19663 | this.Core.OnMessage(WixWarnings.AttributeShouldContain(sourceLineNumbers, node.Name.LocalName, "InstallCommand", installCommand, expectedArgument, "Protocol", "netfx4")); | 19663 | this.Core.Write(WarningMessages.AttributeShouldContain(sourceLineNumbers, node.Name.LocalName, "InstallCommand", installCommand, expectedArgument, "Protocol", "netfx4")); |
19664 | } | 19664 | } |
19665 | 19665 | ||
19666 | if (null == repairCommand || -1 == repairCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase)) | 19666 | if (null == repairCommand || -1 == repairCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase)) |
19667 | { | 19667 | { |
19668 | this.Core.OnMessage(WixWarnings.AttributeShouldContain(sourceLineNumbers, node.Name.LocalName, "RepairCommand", repairCommand, expectedArgument, "Protocol", "netfx4")); | 19668 | this.Core.Write(WarningMessages.AttributeShouldContain(sourceLineNumbers, node.Name.LocalName, "RepairCommand", repairCommand, expectedArgument, "Protocol", "netfx4")); |
19669 | } | 19669 | } |
19670 | 19670 | ||
19671 | if (null == uninstallCommand || -1 == uninstallCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase)) | 19671 | if (null == uninstallCommand || -1 == uninstallCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase)) |
19672 | { | 19672 | { |
19673 | this.Core.OnMessage(WixWarnings.AttributeShouldContain(sourceLineNumbers, node.Name.LocalName, "UninstallCommand", uninstallCommand, expectedArgument, "Protocol", "netfx4")); | 19673 | this.Core.Write(WarningMessages.AttributeShouldContain(sourceLineNumbers, node.Name.LocalName, "UninstallCommand", uninstallCommand, expectedArgument, "Protocol", "netfx4")); |
19674 | } | 19674 | } |
19675 | } | 19675 | } |
19676 | } | 19676 | } |
@@ -19884,7 +19884,7 @@ namespace WixToolset.Core | |||
19884 | 19884 | ||
19885 | if (String.IsNullOrEmpty(condition)) | 19885 | if (String.IsNullOrEmpty(condition)) |
19886 | { | 19886 | { |
19887 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Condition")); | 19887 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Condition")); |
19888 | } | 19888 | } |
19889 | 19889 | ||
19890 | this.Core.ParseForExtensionElements(node); | 19890 | this.Core.ParseForExtensionElements(node); |
@@ -19931,7 +19931,7 @@ namespace WixToolset.Core | |||
19931 | 19931 | ||
19932 | if (null == id) | 19932 | if (null == id) |
19933 | { | 19933 | { |
19934 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 19934 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
19935 | id = Identifier.Invalid; | 19935 | id = Identifier.Invalid; |
19936 | } | 19936 | } |
19937 | 19937 | ||
@@ -20042,12 +20042,12 @@ namespace WixToolset.Core | |||
20042 | 20042 | ||
20043 | if (null == id) | 20043 | if (null == id) |
20044 | { | 20044 | { |
20045 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 20045 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
20046 | } | 20046 | } |
20047 | 20047 | ||
20048 | if (null != after && ComplexReferenceParentType.Container == parentType) | 20048 | if (null != after && ComplexReferenceParentType.Container == parentType) |
20049 | { | 20049 | { |
20050 | this.Core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "After", parentId)); | 20050 | this.Core.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "After", parentId)); |
20051 | } | 20051 | } |
20052 | 20052 | ||
20053 | this.Core.ParseForExtensionElements(node); | 20053 | this.Core.ParseForExtensionElements(node); |
@@ -20175,12 +20175,12 @@ namespace WixToolset.Core | |||
20175 | 20175 | ||
20176 | if (null == name) | 20176 | if (null == name) |
20177 | { | 20177 | { |
20178 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 20178 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
20179 | } | 20179 | } |
20180 | 20180 | ||
20181 | if (null == value) | 20181 | if (null == value) |
20182 | { | 20182 | { |
20183 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 20183 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
20184 | } | 20184 | } |
20185 | 20185 | ||
20186 | this.Core.ParseForExtensionElements(node); | 20186 | this.Core.ParseForExtensionElements(node); |
@@ -20232,7 +20232,7 @@ namespace WixToolset.Core | |||
20232 | 20232 | ||
20233 | if (null == id) | 20233 | if (null == id) |
20234 | { | 20234 | { |
20235 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 20235 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
20236 | } | 20236 | } |
20237 | 20237 | ||
20238 | this.Core.ParseForExtensionElements(node); | 20238 | this.Core.ParseForExtensionElements(node); |
@@ -20281,7 +20281,7 @@ namespace WixToolset.Core | |||
20281 | 20281 | ||
20282 | if (null == id) | 20282 | if (null == id) |
20283 | { | 20283 | { |
20284 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 20284 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
20285 | } | 20285 | } |
20286 | 20286 | ||
20287 | if (!String.IsNullOrEmpty(action)) | 20287 | if (!String.IsNullOrEmpty(action)) |
@@ -20298,7 +20298,7 @@ namespace WixToolset.Core | |||
20298 | case Wix.RelatedBundle.ActionType.Patch: | 20298 | case Wix.RelatedBundle.ActionType.Patch: |
20299 | break; | 20299 | break; |
20300 | default: | 20300 | default: |
20301 | this.Core.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Action", action, "Detect", "Upgrade", "Addon", "Patch")); | 20301 | this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Action", action, "Detect", "Upgrade", "Addon", "Patch")); |
20302 | break; | 20302 | break; |
20303 | } | 20303 | } |
20304 | } | 20304 | } |
@@ -20344,7 +20344,7 @@ namespace WixToolset.Core | |||
20344 | 20344 | ||
20345 | if (null == location) | 20345 | if (null == location) |
20346 | { | 20346 | { |
20347 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Location")); | 20347 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Location")); |
20348 | } | 20348 | } |
20349 | 20349 | ||
20350 | this.Core.ParseForExtensionElements(node); | 20350 | this.Core.ParseForExtensionElements(node); |
@@ -20409,11 +20409,11 @@ namespace WixToolset.Core | |||
20409 | 20409 | ||
20410 | if (null == name) | 20410 | if (null == name) |
20411 | { | 20411 | { |
20412 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); | 20412 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name")); |
20413 | } | 20413 | } |
20414 | else if (name.StartsWith("Wix", StringComparison.OrdinalIgnoreCase)) | 20414 | else if (name.StartsWith("Wix", StringComparison.OrdinalIgnoreCase)) |
20415 | { | 20415 | { |
20416 | this.Core.OnMessage(WixErrors.ReservedNamespaceViolation(sourceLineNumbers, node.Name.LocalName, "Name", "Wix")); | 20416 | this.Core.Write(ErrorMessages.ReservedNamespaceViolation(sourceLineNumbers, node.Name.LocalName, "Name", "Wix")); |
20417 | } | 20417 | } |
20418 | 20418 | ||
20419 | if (null == type && null != value) | 20419 | if (null == type && null != value) |
@@ -20459,7 +20459,7 @@ namespace WixToolset.Core | |||
20459 | 20459 | ||
20460 | if (null == value && null != type) | 20460 | if (null == value && null != type) |
20461 | { | 20461 | { |
20462 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, "Variable", "Value", "Type")); | 20462 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, "Variable", "Value", "Type")); |
20463 | } | 20463 | } |
20464 | 20464 | ||
20465 | this.Core.ParseForExtensionElements(node); | 20465 | this.Core.ParseForExtensionElements(node); |
@@ -20586,12 +20586,12 @@ namespace WixToolset.Core | |||
20586 | 20586 | ||
20587 | if (null == id) | 20587 | if (null == id) |
20588 | { | 20588 | { |
20589 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); | 20589 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); |
20590 | } | 20590 | } |
20591 | 20591 | ||
20592 | if (null == value) | 20592 | if (null == value) |
20593 | { | 20593 | { |
20594 | this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); | 20594 | this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value")); |
20595 | } | 20595 | } |
20596 | 20596 | ||
20597 | this.Core.ParseForExtensionElements(node); | 20597 | this.Core.ParseForExtensionElements(node); |
diff --git a/src/WixToolset.Core/CompilerCore.cs b/src/WixToolset.Core/CompilerCore.cs index 26c19acc..7cb7b703 100644 --- a/src/WixToolset.Core/CompilerCore.cs +++ b/src/WixToolset.Core/CompilerCore.cs | |||
@@ -8,14 +8,11 @@ namespace WixToolset.Core | |||
8 | using System.Diagnostics; | 8 | using System.Diagnostics; |
9 | using System.Diagnostics.CodeAnalysis; | 9 | using System.Diagnostics.CodeAnalysis; |
10 | using System.Globalization; | 10 | using System.Globalization; |
11 | using System.IO; | ||
12 | using System.Reflection; | 11 | using System.Reflection; |
13 | using System.Security.Cryptography; | ||
14 | using System.Text; | 12 | using System.Text; |
15 | using System.Text.RegularExpressions; | 13 | using System.Text.RegularExpressions; |
16 | using System.Xml.Linq; | 14 | using System.Xml.Linq; |
17 | using WixToolset.Data; | 15 | using WixToolset.Data; |
18 | using WixToolset.Data.Tuples; | ||
19 | using WixToolset.Extensibility; | 16 | using WixToolset.Extensibility; |
20 | using WixToolset.Extensibility.Services; | 17 | using WixToolset.Extensibility.Services; |
21 | using Wix = WixToolset.Data.Serialize; | 18 | using Wix = WixToolset.Data.Serialize; |
@@ -128,10 +125,10 @@ namespace WixToolset.Core | |||
128 | "REMOVE" | 125 | "REMOVE" |
129 | }); | 126 | }); |
130 | 127 | ||
131 | private Dictionary<XNamespace, ICompilerExtension> extensions; | 128 | private readonly Dictionary<XNamespace, ICompilerExtension> extensions; |
132 | private IParseHelper parseHelper; | 129 | private readonly IParseHelper parseHelper; |
133 | private Intermediate intermediate; | 130 | private readonly Intermediate intermediate; |
134 | 131 | private readonly IMessaging messaging; | |
135 | private HashSet<string> activeSectionInlinedDirectoryIds; | 132 | private HashSet<string> activeSectionInlinedDirectoryIds; |
136 | private HashSet<string> activeSectionSimpleReferences; | 133 | private HashSet<string> activeSectionSimpleReferences; |
137 | 134 | ||
@@ -140,11 +137,12 @@ namespace WixToolset.Core | |||
140 | /// </summary> | 137 | /// </summary> |
141 | /// <param name="intermediate">The Intermediate object representing compiled source document.</param> | 138 | /// <param name="intermediate">The Intermediate object representing compiled source document.</param> |
142 | /// <param name="extensions">The WiX extensions collection.</param> | 139 | /// <param name="extensions">The WiX extensions collection.</param> |
143 | internal CompilerCore(Intermediate intermediate, IParseHelper parseHelper, Dictionary<XNamespace, ICompilerExtension> extensions) | 140 | internal CompilerCore(Intermediate intermediate, IMessaging messaging, IParseHelper parseHelper, Dictionary<XNamespace, ICompilerExtension> extensions) |
144 | { | 141 | { |
145 | this.extensions = extensions; | 142 | this.extensions = extensions; |
146 | this.parseHelper = parseHelper; | 143 | this.parseHelper = parseHelper; |
147 | this.intermediate = intermediate; | 144 | this.intermediate = intermediate; |
145 | this.messaging = messaging; | ||
148 | } | 146 | } |
149 | 147 | ||
150 | /// <summary> | 148 | /// <summary> |
@@ -157,7 +155,7 @@ namespace WixToolset.Core | |||
157 | /// Gets whether the compiler core encountered an error while processing. | 155 | /// Gets whether the compiler core encountered an error while processing. |
158 | /// </summary> | 156 | /// </summary> |
159 | /// <value>Flag if core encountered an error during processing.</value> | 157 | /// <value>Flag if core encountered an error during processing.</value> |
160 | public bool EncounteredError => Messaging.Instance.EncounteredError; | 158 | public bool EncounteredError => this.messaging.EncounteredError; |
161 | 159 | ||
162 | /// <summary> | 160 | /// <summary> |
163 | /// Gets or sets the option to show pedantic messages. | 161 | /// Gets or sets the option to show pedantic messages. |
@@ -511,7 +509,7 @@ namespace WixToolset.Core | |||
511 | } | 509 | } |
512 | catch (NotSupportedException) | 510 | catch (NotSupportedException) |
513 | { | 511 | { |
514 | this.OnMessage(WixErrors.IllegalCodepageAttribute(sourceLineNumbers, value, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); | 512 | this.Write(ErrorMessages.IllegalCodepageAttribute(sourceLineNumbers, value, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); |
515 | } | 513 | } |
516 | 514 | ||
517 | return CompilerConstants.IllegalInteger; | 515 | return CompilerConstants.IllegalInteger; |
@@ -548,11 +546,11 @@ namespace WixToolset.Core | |||
548 | catch (NotSupportedException) | 546 | catch (NotSupportedException) |
549 | { | 547 | { |
550 | // not a valid windows code page | 548 | // not a valid windows code page |
551 | this.OnMessage(WixErrors.IllegalCodepageAttribute(sourceLineNumbers, value, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); | 549 | this.Write(ErrorMessages.IllegalCodepageAttribute(sourceLineNumbers, value, attribute.Parent.Name.LocalName, attribute.Name.LocalName)); |
552 | } | 550 | } |
553 | catch (WixException e) | 551 | catch (WixException e) |
554 | { | 552 | { |
555 | this.OnMessage(e.Error); | 553 | this.messaging.Write(e.Error); |
556 | } | 554 | } |
557 | 555 | ||
558 | return null; | 556 | return null; |
@@ -612,15 +610,15 @@ namespace WixToolset.Core | |||
612 | } | 610 | } |
613 | catch (ArgumentOutOfRangeException) | 611 | catch (ArgumentOutOfRangeException) |
614 | { | 612 | { |
615 | this.OnMessage(WixErrors.InvalidDateTimeFormat(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 613 | this.Write(ErrorMessages.InvalidDateTimeFormat(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
616 | } | 614 | } |
617 | catch (FormatException) | 615 | catch (FormatException) |
618 | { | 616 | { |
619 | this.OnMessage(WixErrors.InvalidDateTimeFormat(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 617 | this.Write(ErrorMessages.InvalidDateTimeFormat(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
620 | } | 618 | } |
621 | catch (OverflowException) | 619 | catch (OverflowException) |
622 | { | 620 | { |
623 | this.OnMessage(WixErrors.InvalidDateTimeFormat(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 621 | this.Write(ErrorMessages.InvalidDateTimeFormat(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
624 | } | 622 | } |
625 | } | 623 | } |
626 | 624 | ||
@@ -661,11 +659,11 @@ namespace WixToolset.Core | |||
661 | 659 | ||
662 | if (CompilerConstants.IntegerNotSet == integer || CompilerConstants.IllegalInteger == integer) | 660 | if (CompilerConstants.IntegerNotSet == integer || CompilerConstants.IllegalInteger == integer) |
663 | { | 661 | { |
664 | this.OnMessage(WixErrors.IntegralValueSentinelCollision(sourceLineNumbers, integer)); | 662 | this.Write(ErrorMessages.IntegralValueSentinelCollision(sourceLineNumbers, integer)); |
665 | } | 663 | } |
666 | else if (minimum > integer || maximum < integer) | 664 | else if (minimum > integer || maximum < integer) |
667 | { | 665 | { |
668 | this.OnMessage(WixErrors.IntegralValueOutOfRange(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, integer, minimum, maximum)); | 666 | this.Write(ErrorMessages.IntegralValueOutOfRange(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, integer, minimum, maximum)); |
669 | integer = CompilerConstants.IllegalInteger; | 667 | integer = CompilerConstants.IllegalInteger; |
670 | } | 668 | } |
671 | 669 | ||
@@ -673,11 +671,11 @@ namespace WixToolset.Core | |||
673 | } | 671 | } |
674 | catch (FormatException) | 672 | catch (FormatException) |
675 | { | 673 | { |
676 | this.OnMessage(WixErrors.IllegalIntegerValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 674 | this.Write(ErrorMessages.IllegalIntegerValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
677 | } | 675 | } |
678 | catch (OverflowException) | 676 | catch (OverflowException) |
679 | { | 677 | { |
680 | this.OnMessage(WixErrors.IllegalIntegerValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 678 | this.Write(ErrorMessages.IllegalIntegerValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
681 | } | 679 | } |
682 | } | 680 | } |
683 | } | 681 | } |
@@ -768,7 +766,7 @@ namespace WixToolset.Core | |||
768 | // Previous code never returned 'NotSet'! | 766 | // Previous code never returned 'NotSet'! |
769 | break; | 767 | break; |
770 | default: | 768 | default: |
771 | this.OnMessage(WixErrors.IllegalYesNoAlwaysValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 769 | this.Write(ErrorMessages.IllegalYesNoAlwaysValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
772 | break; | 770 | break; |
773 | } | 771 | } |
774 | } | 772 | } |
@@ -796,11 +794,11 @@ namespace WixToolset.Core | |||
796 | { | 794 | { |
797 | if (!this.IsValidShortFilename(value, allowWildcards) && !this.IsValidLocIdentifier(value)) | 795 | if (!this.IsValidShortFilename(value, allowWildcards) && !this.IsValidLocIdentifier(value)) |
798 | { | 796 | { |
799 | this.OnMessage(WixErrors.IllegalShortFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 797 | this.Write(ErrorMessages.IllegalShortFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
800 | } | 798 | } |
801 | else if (CompilerCore.IsAmbiguousFilename(value)) | 799 | else if (CompilerCore.IsAmbiguousFilename(value)) |
802 | { | 800 | { |
803 | this.OnMessage(WixWarnings.AmbiguousFileOrDirectoryName(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 801 | this.Write(WarningMessages.AmbiguousFileOrDirectoryName(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
804 | } | 802 | } |
805 | } | 803 | } |
806 | 804 | ||
@@ -854,12 +852,12 @@ namespace WixToolset.Core | |||
854 | // TODO: Find a way to expose the valid values programatically! | 852 | // TODO: Find a way to expose the valid values programatically! |
855 | if (allowHkmu) | 853 | if (allowHkmu) |
856 | { | 854 | { |
857 | this.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, | 855 | this.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, |
858 | "HKMU", "HKCR", "HKCU", "HKLM", "HKU")); | 856 | "HKMU", "HKCR", "HKCU", "HKLM", "HKU")); |
859 | } | 857 | } |
860 | else | 858 | else |
861 | { | 859 | { |
862 | this.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, | 860 | this.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, |
863 | "HKCR", "HKCU", "HKLM", "HKU")); | 861 | "HKCR", "HKCU", "HKLM", "HKU")); |
864 | } | 862 | } |
865 | } | 863 | } |
@@ -926,7 +924,7 @@ namespace WixToolset.Core | |||
926 | if (Wix.InstallUninstallType.IllegalValue == installUninstall) | 924 | if (Wix.InstallUninstallType.IllegalValue == installUninstall) |
927 | { | 925 | { |
928 | // TODO: Find a way to expose the valid values programatically! | 926 | // TODO: Find a way to expose the valid values programatically! |
929 | this.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, | 927 | this.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, |
930 | "install", "uninstall", "both")); | 928 | "install", "uninstall", "both")); |
931 | } | 929 | } |
932 | } | 930 | } |
@@ -951,7 +949,7 @@ namespace WixToolset.Core | |||
951 | result = Wix.ExitType.IllegalValue; | 949 | result = Wix.ExitType.IllegalValue; |
952 | 950 | ||
953 | // TODO: Find a way to expose the valid values programatically! | 951 | // TODO: Find a way to expose the valid values programatically! |
954 | this.OnMessage(WixErrors.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, | 952 | this.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, |
955 | "success", "cancel", "error", "suspend")); | 953 | "success", "cancel", "error", "suspend")); |
956 | } | 954 | } |
957 | 955 | ||
@@ -974,7 +972,7 @@ namespace WixToolset.Core | |||
974 | if (CompilerCore.BuiltinBundleVariables.Contains(value)) | 972 | if (CompilerCore.BuiltinBundleVariables.Contains(value)) |
975 | { | 973 | { |
976 | string illegalValues = CompilerCore.CreateValueList(ValueListKind.Or, CompilerCore.BuiltinBundleVariables); | 974 | string illegalValues = CompilerCore.CreateValueList(ValueListKind.Or, CompilerCore.BuiltinBundleVariables); |
977 | this.OnMessage(WixErrors.IllegalAttributeValueWithIllegalList(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, illegalValues)); | 975 | this.Write(ErrorMessages.IllegalAttributeValueWithIllegalList(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, illegalValues)); |
978 | } | 976 | } |
979 | } | 977 | } |
980 | 978 | ||
@@ -997,7 +995,7 @@ namespace WixToolset.Core | |||
997 | if (CompilerCore.DisallowedMsiProperties.Contains(value)) | 995 | if (CompilerCore.DisallowedMsiProperties.Contains(value)) |
998 | { | 996 | { |
999 | string illegalValues = CompilerCore.CreateValueList(ValueListKind.Or, CompilerCore.DisallowedMsiProperties); | 997 | string illegalValues = CompilerCore.CreateValueList(ValueListKind.Or, CompilerCore.DisallowedMsiProperties); |
1000 | this.OnMessage(WixErrors.DisallowedMsiProperty(sourceLineNumbers, value, illegalValues)); | 998 | this.Write(ErrorMessages.DisallowedMsiProperty(sourceLineNumbers, value, illegalValues)); |
1001 | } | 999 | } |
1002 | } | 1000 | } |
1003 | 1001 | ||
@@ -1099,12 +1097,12 @@ namespace WixToolset.Core | |||
1099 | } | 1097 | } |
1100 | 1098 | ||
1101 | /// <summary> | 1099 | /// <summary> |
1102 | /// Sends a message to the message delegate if there is one. | 1100 | /// Sends a message. |
1103 | /// </summary> | 1101 | /// </summary> |
1104 | /// <param name="mea">Message event arguments.</param> | 1102 | /// <param name="message">Message to write.</param> |
1105 | public void OnMessage(MessageEventArgs e) | 1103 | public void Write(Message message) |
1106 | { | 1104 | { |
1107 | Messaging.Instance.OnMessage(e); | 1105 | this.messaging.Write(message); |
1108 | } | 1106 | } |
1109 | 1107 | ||
1110 | /// <summary> | 1108 | /// <summary> |
@@ -1128,11 +1126,11 @@ namespace WixToolset.Core | |||
1128 | { | 1126 | { |
1129 | if (this.GetType().Assembly.Equals(caller)) | 1127 | if (this.GetType().Assembly.Equals(caller)) |
1130 | { | 1128 | { |
1131 | this.OnMessage(WixErrors.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired)); | 1129 | this.Write(ErrorMessages.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired)); |
1132 | } | 1130 | } |
1133 | else | 1131 | else |
1134 | { | 1132 | { |
1135 | this.OnMessage(WixErrors.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired, name.Name)); | 1133 | this.Write(ErrorMessages.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired, name.Name)); |
1136 | } | 1134 | } |
1137 | } | 1135 | } |
1138 | } | 1136 | } |
diff --git a/src/WixToolset.Core/Converter.cs b/src/WixToolset.Core/Converter.cs index c0297758..fd925f7a 100644 --- a/src/WixToolset.Core/Converter.cs +++ b/src/WixToolset.Core/Converter.cs | |||
@@ -10,6 +10,7 @@ namespace WixToolset.Core | |||
10 | using System.Xml; | 10 | using System.Xml; |
11 | using System.Xml.Linq; | 11 | using System.Xml.Linq; |
12 | using WixToolset.Data; | 12 | using WixToolset.Data; |
13 | using WixToolset.Extensibility.Services; | ||
13 | 14 | ||
14 | /// <summary> | 15 | /// <summary> |
15 | /// WiX source code converter. | 16 | /// WiX source code converter. |
@@ -64,7 +65,7 @@ namespace WixToolset.Core | |||
64 | /// <param name="indentationAmount">Indentation value to use when validating leading whitespace.</param> | 65 | /// <param name="indentationAmount">Indentation value to use when validating leading whitespace.</param> |
65 | /// <param name="errorsAsWarnings">Test errors to display as warnings.</param> | 66 | /// <param name="errorsAsWarnings">Test errors to display as warnings.</param> |
66 | /// <param name="ignoreErrors">Test errors to ignore.</param> | 67 | /// <param name="ignoreErrors">Test errors to ignore.</param> |
67 | public Converter(int indentationAmount, IEnumerable<string> errorsAsWarnings = null, IEnumerable<string> ignoreErrors = null) | 68 | public Converter(IMessaging messaging, int indentationAmount, IEnumerable<string> errorsAsWarnings = null, IEnumerable<string> ignoreErrors = null) |
68 | { | 69 | { |
69 | this.ConvertElementMapping = new Dictionary<XName, Action<XElement>>() | 70 | this.ConvertElementMapping = new Dictionary<XName, Action<XElement>>() |
70 | { | 71 | { |
@@ -77,6 +78,8 @@ namespace WixToolset.Core | |||
77 | { WixElementWithoutNamespaceName, this.ConvertWixElementWithoutNamespace }, | 78 | { WixElementWithoutNamespaceName, this.ConvertWixElementWithoutNamespace }, |
78 | }; | 79 | }; |
79 | 80 | ||
81 | this.Messaging = messaging; | ||
82 | |||
80 | this.IndentationAmount = indentationAmount; | 83 | this.IndentationAmount = indentationAmount; |
81 | 84 | ||
82 | this.ErrorsAsWarnings = new HashSet<ConverterTestType>(this.YieldConverterTypes(errorsAsWarnings)); | 85 | this.ErrorsAsWarnings = new HashSet<ConverterTestType>(this.YieldConverterTypes(errorsAsWarnings)); |
@@ -90,6 +93,8 @@ namespace WixToolset.Core | |||
90 | 93 | ||
91 | private HashSet<ConverterTestType> IgnoreErrors { get; set; } | 94 | private HashSet<ConverterTestType> IgnoreErrors { get; set; } |
92 | 95 | ||
96 | private IMessaging Messaging { get; } | ||
97 | |||
93 | private int IndentationAmount { get; set; } | 98 | private int IndentationAmount { get; set; } |
94 | 99 | ||
95 | private string SourceFile { get; set; } | 100 | private string SourceFile { get; set; } |
@@ -528,9 +533,9 @@ namespace WixToolset.Core | |||
528 | bool warning = this.ErrorsAsWarnings.Contains(converterTestType); | 533 | bool warning = this.ErrorsAsWarnings.Contains(converterTestType); |
529 | string display = String.Format(CultureInfo.CurrentCulture, message, args); | 534 | string display = String.Format(CultureInfo.CurrentCulture, message, args); |
530 | 535 | ||
531 | WixGenericMessageEventArgs ea = new WixGenericMessageEventArgs(sourceLine, (int)converterTestType, warning ? MessageLevel.Warning : MessageLevel.Error, "{0} ({1})", display, converterTestType.ToString()); | 536 | var msg = new Message(sourceLine, warning ? MessageLevel.Warning : MessageLevel.Error, (int)converterTestType, "{0} ({1})", display, converterTestType.ToString()); |
532 | 537 | ||
533 | Messaging.Instance.OnMessage(ea); | 538 | this.Messaging.Write(msg); |
534 | 539 | ||
535 | return true; | 540 | return true; |
536 | } | 541 | } |
diff --git a/src/WixToolset.Core/Data/WixToolset.Core.Data.messages.resources b/src/WixToolset.Core/Data/WixToolset.Core.Data.messages.resources deleted file mode 100644 index 92c07940..00000000 --- a/src/WixToolset.Core/Data/WixToolset.Core.Data.messages.resources +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/WixToolset.Core/Data/WixToolset.Core.WixStrings.resources b/src/WixToolset.Core/Data/WixToolset.Core.WixStrings.resources deleted file mode 100644 index 8f5a010a..00000000 --- a/src/WixToolset.Core/Data/WixToolset.Core.WixStrings.resources +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/WixToolset.Core/Data/messages.cs b/src/WixToolset.Core/Data/messages.cs deleted file mode 100644 index 045565fc..00000000 --- a/src/WixToolset.Core/Data/messages.cs +++ /dev/null | |||
@@ -1,3106 +0,0 @@ | |||
1 | //------------------------------------------------------------------------------ | ||
2 | // <auto-generated> | ||
3 | // This code was generated by a tool. | ||
4 | // Runtime Version:4.0.30319.42000 | ||
5 | // | ||
6 | // Changes to this file may cause incorrect behavior and will be lost if | ||
7 | // the code is regenerated. | ||
8 | // </auto-generated> | ||
9 | //------------------------------------------------------------------------------ | ||
10 | |||
11 | namespace WixToolset | ||
12 | { | ||
13 | using System; | ||
14 | using System.Reflection; | ||
15 | using System.Resources; | ||
16 | using WixToolset.Data; | ||
17 | |||
18 | |||
19 | public class WixErrorEventArgs : MessageEventArgs | ||
20 | { | ||
21 | |||
22 | private static ResourceManager resourceManager = new ResourceManager("WixToolset.Core.Data.Messages", Assembly.GetExecutingAssembly()); | ||
23 | |||
24 | public WixErrorEventArgs(SourceLineNumber sourceLineNumbers, int id, string resourceName, params object[] messageArgs) : | ||
25 | base(sourceLineNumbers, id, resourceName, messageArgs) | ||
26 | { | ||
27 | base.Level = MessageLevel.Error; | ||
28 | base.ResourceManager = resourceManager; | ||
29 | } | ||
30 | } | ||
31 | |||
32 | public sealed class WixErrors | ||
33 | { | ||
34 | |||
35 | private WixErrors() | ||
36 | { | ||
37 | } | ||
38 | |||
39 | public static MessageEventArgs UnexpectedException(string message, string type, string stackTrace) | ||
40 | { | ||
41 | return new WixErrorEventArgs(null, 1, "WixErrors_UnexpectedException_1", message, type, stackTrace); | ||
42 | } | ||
43 | |||
44 | public static MessageEventArgs UnexpectedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
45 | { | ||
46 | return new WixErrorEventArgs(sourceLineNumbers, 4, "WixErrors_UnexpectedAttribute_1", elementName, attributeName); | ||
47 | } | ||
48 | |||
49 | public static MessageEventArgs UnexpectedElement(SourceLineNumber sourceLineNumbers, string elementName, string childElementName) | ||
50 | { | ||
51 | return new WixErrorEventArgs(sourceLineNumbers, 5, "WixErrors_UnexpectedElement_1", elementName, childElementName); | ||
52 | } | ||
53 | |||
54 | public static MessageEventArgs IllegalEmptyAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
55 | { | ||
56 | return new WixErrorEventArgs(sourceLineNumbers, 6, "WixErrors_IllegalEmptyAttributeValue_1", elementName, attributeName); | ||
57 | } | ||
58 | |||
59 | public static MessageEventArgs IllegalEmptyAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string defaultValue) | ||
60 | { | ||
61 | return new WixErrorEventArgs(sourceLineNumbers, 6, "WixErrors_IllegalEmptyAttributeValue_2", elementName, attributeName, defaultValue); | ||
62 | } | ||
63 | |||
64 | public static MessageEventArgs InsufficientVersion(SourceLineNumber sourceLineNumbers, System.Version currentVersion, System.Version requiredVersion) | ||
65 | { | ||
66 | return new WixErrorEventArgs(sourceLineNumbers, 7, "WixErrors_InsufficientVersion_1", currentVersion, requiredVersion); | ||
67 | } | ||
68 | |||
69 | public static MessageEventArgs InsufficientVersion(SourceLineNumber sourceLineNumbers, System.Version currentVersion, System.Version requiredVersion, string extension) | ||
70 | { | ||
71 | return new WixErrorEventArgs(sourceLineNumbers, 7, "WixErrors_InsufficientVersion_2", currentVersion, requiredVersion, extension); | ||
72 | } | ||
73 | |||
74 | public static MessageEventArgs IllegalIntegerValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
75 | { | ||
76 | return new WixErrorEventArgs(sourceLineNumbers, 8, "WixErrors_IllegalIntegerValue_1", elementName, attributeName, value); | ||
77 | } | ||
78 | |||
79 | public static MessageEventArgs IllegalGuidValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
80 | { | ||
81 | return new WixErrorEventArgs(sourceLineNumbers, 9, "WixErrors_IllegalGuidValue_1", elementName, attributeName, value); | ||
82 | } | ||
83 | |||
84 | public static MessageEventArgs ExpectedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
85 | { | ||
86 | return new WixErrorEventArgs(sourceLineNumbers, 10, "WixErrors_ExpectedAttribute_1", elementName, attributeName); | ||
87 | } | ||
88 | |||
89 | public static MessageEventArgs ExpectedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attribute1Name, string attribute2Name, bool eitherOr) | ||
90 | { | ||
91 | return new WixErrorEventArgs(sourceLineNumbers, 10, "WixErrors_ExpectedAttribute_2", elementName, attribute1Name, attribute2Name, eitherOr); | ||
92 | } | ||
93 | |||
94 | public static MessageEventArgs ExpectedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName) | ||
95 | { | ||
96 | return new WixErrorEventArgs(sourceLineNumbers, 10, "WixErrors_ExpectedAttribute_3", elementName, attributeName, otherAttributeName); | ||
97 | } | ||
98 | |||
99 | public static MessageEventArgs ExpectedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName, string otherAttributeValue) | ||
100 | { | ||
101 | return new WixErrorEventArgs(sourceLineNumbers, 10, "WixErrors_ExpectedAttribute_4", elementName, attributeName, otherAttributeName, otherAttributeValue); | ||
102 | } | ||
103 | |||
104 | public static MessageEventArgs ExpectedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName, string otherAttributeValue, bool otherAttributeValueUnless) | ||
105 | { | ||
106 | return new WixErrorEventArgs(sourceLineNumbers, 10, "WixErrors_ExpectedAttribute_5", elementName, attributeName, otherAttributeName, otherAttributeValue, otherAttributeValueUnless); | ||
107 | } | ||
108 | |||
109 | public static MessageEventArgs SecurePropertyNotUppercase(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string propertyId) | ||
110 | { | ||
111 | return new WixErrorEventArgs(sourceLineNumbers, 11, "WixErrors_SecurePropertyNotUppercase_1", elementName, attributeName, propertyId); | ||
112 | } | ||
113 | |||
114 | public static MessageEventArgs SearchPropertyNotUppercase(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
115 | { | ||
116 | return new WixErrorEventArgs(sourceLineNumbers, 12, "WixErrors_SearchPropertyNotUppercase_1", elementName, attributeName, value); | ||
117 | } | ||
118 | |||
119 | public static MessageEventArgs StreamNameTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, int length, int maximumLength) | ||
120 | { | ||
121 | return new WixErrorEventArgs(sourceLineNumbers, 13, "WixErrors_StreamNameTooLong_1", elementName, attributeName, value, length, maximumLength); | ||
122 | } | ||
123 | |||
124 | public static MessageEventArgs StreamNameTooLong(SourceLineNumber sourceLineNumbers, string tableName, string streamName, int streamLength) | ||
125 | { | ||
126 | return new WixErrorEventArgs(sourceLineNumbers, 13, "WixErrors_StreamNameTooLong_2", tableName, streamName, streamLength); | ||
127 | } | ||
128 | |||
129 | public static MessageEventArgs IllegalIdentifier(SourceLineNumber sourceLineNumbers, string elementName, string value) | ||
130 | { | ||
131 | return new WixErrorEventArgs(sourceLineNumbers, 14, "WixErrors_IllegalIdentifier_1", elementName, value); | ||
132 | } | ||
133 | |||
134 | public static MessageEventArgs IllegalIdentifier(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, int disambiguator) | ||
135 | { | ||
136 | return new WixErrorEventArgs(sourceLineNumbers, 14, "WixErrors_IllegalIdentifier_2", elementName, attributeName, disambiguator); | ||
137 | } | ||
138 | |||
139 | public static MessageEventArgs IllegalIdentifier(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
140 | { | ||
141 | return new WixErrorEventArgs(sourceLineNumbers, 14, "WixErrors_IllegalIdentifier_3", elementName, attributeName, value); | ||
142 | } | ||
143 | |||
144 | public static MessageEventArgs IllegalIdentifier(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string identifier) | ||
145 | { | ||
146 | return new WixErrorEventArgs(sourceLineNumbers, 14, "WixErrors_IllegalIdentifier_4", elementName, attributeName, value, identifier); | ||
147 | } | ||
148 | |||
149 | public static MessageEventArgs IllegalYesNoValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
150 | { | ||
151 | return new WixErrorEventArgs(sourceLineNumbers, 15, "WixErrors_IllegalYesNoValue_1", elementName, attributeName, value); | ||
152 | } | ||
153 | |||
154 | public static MessageEventArgs CabCreationFailed(string cabName, string fileName, int error) | ||
155 | { | ||
156 | return new WixErrorEventArgs(null, 16, "WixErrors_CabCreationFailed_1", cabName, fileName, error); | ||
157 | } | ||
158 | |||
159 | public static MessageEventArgs CabCreationFailed(string cabName, int error) | ||
160 | { | ||
161 | return new WixErrorEventArgs(null, 16, "WixErrors_CabCreationFailed_2", cabName, error); | ||
162 | } | ||
163 | |||
164 | public static MessageEventArgs CabExtractionFailed(string cabName, string directoryName) | ||
165 | { | ||
166 | return new WixErrorEventArgs(null, 17, "WixErrors_CabExtractionFailed_1", cabName, directoryName); | ||
167 | } | ||
168 | |||
169 | public static MessageEventArgs CabExtractionFailed(string cabName, string mergeModulePath, string directoryName) | ||
170 | { | ||
171 | return new WixErrorEventArgs(null, 17, "WixErrors_CabExtractionFailed_2", cabName, mergeModulePath, directoryName); | ||
172 | } | ||
173 | |||
174 | public static MessageEventArgs AppIdIncompatibleAdvertiseState(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string parentValue) | ||
175 | { | ||
176 | return new WixErrorEventArgs(sourceLineNumbers, 18, "WixErrors_AppIdIncompatibleAdvertiseState_1", elementName, attributeName, value, parentValue); | ||
177 | } | ||
178 | |||
179 | public static MessageEventArgs IllegalAttributeWhenAdvertised(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
180 | { | ||
181 | return new WixErrorEventArgs(sourceLineNumbers, 19, "WixErrors_IllegalAttributeWhenAdvertised_1", elementName, attributeName); | ||
182 | } | ||
183 | |||
184 | public static MessageEventArgs ConditionExpected(SourceLineNumber sourceLineNumbers, string elementName) | ||
185 | { | ||
186 | return new WixErrorEventArgs(sourceLineNumbers, 20, "WixErrors_ConditionExpected_1", elementName); | ||
187 | } | ||
188 | |||
189 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1) | ||
190 | { | ||
191 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_1", elementName, attributeName, value, legalValue1); | ||
192 | } | ||
193 | |||
194 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2) | ||
195 | { | ||
196 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_2", elementName, attributeName, value, legalValue1, legalValue2); | ||
197 | } | ||
198 | |||
199 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2, string legalValue3) | ||
200 | { | ||
201 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_3", elementName, attributeName, value, legalValue1, legalValue2, legalValue3); | ||
202 | } | ||
203 | |||
204 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2, string legalValue3, string legalValue4) | ||
205 | { | ||
206 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_4", elementName, attributeName, value, legalValue1, legalValue2, legalValue3, legalValue4); | ||
207 | } | ||
208 | |||
209 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2, string legalValue3, string legalValue4, string legalValue5) | ||
210 | { | ||
211 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_5", elementName, attributeName, value, legalValue1, legalValue2, legalValue3, legalValue4, legalValue5); | ||
212 | } | ||
213 | |||
214 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2, string legalValue3, string legalValue4, string legalValue5, string legalValue6) | ||
215 | { | ||
216 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_6", elementName, attributeName, value, legalValue1, legalValue2, legalValue3, legalValue4, legalValue5, legalValue6); | ||
217 | } | ||
218 | |||
219 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2, string legalValue3, string legalValue4, string legalValue5, string legalValue6, string legalValue7) | ||
220 | { | ||
221 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_7", elementName, attributeName, value, legalValue1, legalValue2, legalValue3, legalValue4, legalValue5, legalValue6, legalValue7); | ||
222 | } | ||
223 | |||
224 | public static MessageEventArgs IllegalAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValue1, string legalValue2, string legalValue3, string legalValue4, string legalValue5, string legalValue6, string legalValue7, string legalValue8) | ||
225 | { | ||
226 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_8", elementName, attributeName, value, legalValue1, legalValue2, legalValue3, legalValue4, legalValue5, legalValue6, legalValue7, legalValue8); | ||
227 | } | ||
228 | |||
229 | public static MessageEventArgs IllegalAttributeValue( | ||
230 | SourceLineNumber sourceLineNumbers, | ||
231 | string elementName, | ||
232 | string attributeName, | ||
233 | string value, | ||
234 | string legalValue1, | ||
235 | string legalValue2, | ||
236 | string legalValue3, | ||
237 | string legalValue4, | ||
238 | string legalValue5, | ||
239 | string legalValue6, | ||
240 | string legalValue7, | ||
241 | string legalValue8, | ||
242 | string legalValue9, | ||
243 | string legalValue10, | ||
244 | string legalValue11, | ||
245 | string legalValue12, | ||
246 | string legalValue13, | ||
247 | string legalValue14, | ||
248 | string legalValue15, | ||
249 | string legalValue16, | ||
250 | string legalValue17, | ||
251 | string legalValue18, | ||
252 | string legalValue19, | ||
253 | string legalValue20, | ||
254 | string legalValue21, | ||
255 | string legalValue22, | ||
256 | string legalValue23, | ||
257 | string legalValue24, | ||
258 | string legalValue25, | ||
259 | string legalValue26) | ||
260 | { | ||
261 | return new WixErrorEventArgs(sourceLineNumbers, 21, "WixErrors_IllegalAttributeValue_9", elementName, attributeName, value, legalValue1, legalValue2, legalValue3, legalValue4, legalValue5, legalValue6, legalValue7, legalValue8, legalValue9, legalValue10, legalValue11, legalValue12, legalValue13, legalValue14, legalValue15, legalValue16, legalValue17, legalValue18, legalValue19, legalValue20, legalValue21, legalValue22, legalValue23, legalValue24, legalValue25, legalValue26); | ||
262 | } | ||
263 | |||
264 | public static MessageEventArgs CustomActionMultipleSources(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeName1, string attributeName2, string attributeName3, string attributeName4, string attributeName5) | ||
265 | { | ||
266 | return new WixErrorEventArgs(sourceLineNumbers, 22, "WixErrors_CustomActionMultipleSources_1", elementName, attributeName, attributeName1, attributeName2, attributeName3, attributeName4, attributeName5); | ||
267 | } | ||
268 | |||
269 | public static MessageEventArgs CustomActionMultipleTargets(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeName1, string attributeName2, string attributeName3, string attributeName4, string attributeName5, string attributeName6, string attributeName7) | ||
270 | { | ||
271 | return new WixErrorEventArgs(sourceLineNumbers, 23, "WixErrors_CustomActionMultipleTargets_1", elementName, attributeName, attributeName1, attributeName2, attributeName3, attributeName4, attributeName5, attributeName6, attributeName7); | ||
272 | } | ||
273 | |||
274 | public static MessageEventArgs CustomActionIllegalInnerText(SourceLineNumber sourceLineNumbers, string elementName, string innerText, string attributeName) | ||
275 | { | ||
276 | return new WixErrorEventArgs(sourceLineNumbers, 24, "WixErrors_CustomActionIllegalInnerText_1", elementName, innerText, attributeName); | ||
277 | } | ||
278 | |||
279 | public static MessageEventArgs DirectoryRootWithoutName(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
280 | { | ||
281 | return new WixErrorEventArgs(sourceLineNumbers, 25, "WixErrors_DirectoryRootWithoutName_1", elementName, attributeName); | ||
282 | } | ||
283 | |||
284 | public static MessageEventArgs IllegalShortFilename(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
285 | { | ||
286 | return new WixErrorEventArgs(sourceLineNumbers, 26, "WixErrors_IllegalShortFilename_1", elementName, attributeName, value); | ||
287 | } | ||
288 | |||
289 | public static MessageEventArgs IllegalLongFilename(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
290 | { | ||
291 | return new WixErrorEventArgs(sourceLineNumbers, 27, "WixErrors_IllegalLongFilename_1", elementName, attributeName, value); | ||
292 | } | ||
293 | |||
294 | public static MessageEventArgs IllegalLongFilename(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string filename) | ||
295 | { | ||
296 | return new WixErrorEventArgs(sourceLineNumbers, 27, "WixErrors_IllegalLongFilename_2", elementName, attributeName, value, filename); | ||
297 | } | ||
298 | |||
299 | public static MessageEventArgs TableNameTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
300 | { | ||
301 | return new WixErrorEventArgs(sourceLineNumbers, 28, "WixErrors_TableNameTooLong_1", elementName, attributeName, value); | ||
302 | } | ||
303 | |||
304 | public static MessageEventArgs FeatureConfigurableDirectoryNotUppercase(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
305 | { | ||
306 | return new WixErrorEventArgs(sourceLineNumbers, 29, "WixErrors_FeatureConfigurableDirectoryNotUppercase_1", elementName, attributeName, value); | ||
307 | } | ||
308 | |||
309 | public static MessageEventArgs FeatureCannotFavorAndDisallowAdvertise(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string otherAttributeName, string otherValue) | ||
310 | { | ||
311 | return new WixErrorEventArgs(sourceLineNumbers, 30, "WixErrors_FeatureCannotFavorAndDisallowAdvertise_1", elementName, attributeName, value, otherAttributeName, otherValue); | ||
312 | } | ||
313 | |||
314 | public static MessageEventArgs FeatureCannotFollowParentAndFavorLocalOrSource(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName, string otherValue) | ||
315 | { | ||
316 | return new WixErrorEventArgs(sourceLineNumbers, 31, "WixErrors_FeatureCannotFollowParentAndFavorLocalOrSource_1", elementName, attributeName, otherAttributeName, otherValue); | ||
317 | } | ||
318 | |||
319 | public static MessageEventArgs MediaEmbeddedCabinetNameTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, int length) | ||
320 | { | ||
321 | return new WixErrorEventArgs(sourceLineNumbers, 32, "WixErrors_MediaEmbeddedCabinetNameTooLong_1", elementName, attributeName, value, length); | ||
322 | } | ||
323 | |||
324 | public static MessageEventArgs RegistrySubElementCannotBeRemoved(SourceLineNumber sourceLineNumbers, string registryElementName, string registryValueElementName, string actionAttributeName, string removeValue, string removeKeyOnInstallValue) | ||
325 | { | ||
326 | return new WixErrorEventArgs(sourceLineNumbers, 33, "WixErrors_RegistrySubElementCannotBeRemoved_1", registryElementName, registryValueElementName, actionAttributeName, removeValue, removeKeyOnInstallValue); | ||
327 | } | ||
328 | |||
329 | public static MessageEventArgs RegistryMultipleValuesWithoutMultiString(SourceLineNumber sourceLineNumbers, string registryElementName, string valueAttributeName, string registryValueElementName, string typeAttributeName) | ||
330 | { | ||
331 | return new WixErrorEventArgs(sourceLineNumbers, 34, "WixErrors_RegistryMultipleValuesWithoutMultiString_1", registryElementName, valueAttributeName, registryValueElementName, typeAttributeName); | ||
332 | } | ||
333 | |||
334 | public static MessageEventArgs IllegalAttributeWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName) | ||
335 | { | ||
336 | return new WixErrorEventArgs(sourceLineNumbers, 35, "WixErrors_IllegalAttributeWithOtherAttribute_1", elementName, attributeName, otherAttributeName); | ||
337 | } | ||
338 | |||
339 | public static MessageEventArgs IllegalAttributeWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName, string otherAttributeValue) | ||
340 | { | ||
341 | return new WixErrorEventArgs(sourceLineNumbers, 35, "WixErrors_IllegalAttributeWithOtherAttribute_2", elementName, attributeName, otherAttributeName, otherAttributeValue); | ||
342 | } | ||
343 | |||
344 | public static MessageEventArgs IllegalAttributeWithOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2) | ||
345 | { | ||
346 | return new WixErrorEventArgs(sourceLineNumbers, 36, "WixErrors_IllegalAttributeWithOtherAttributes_1", elementName, attributeName, otherAttributeName1, otherAttributeName2); | ||
347 | } | ||
348 | |||
349 | public static MessageEventArgs IllegalAttributeWithOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2, string otherAttributeName3) | ||
350 | { | ||
351 | return new WixErrorEventArgs(sourceLineNumbers, 36, "WixErrors_IllegalAttributeWithOtherAttributes_2", elementName, attributeName, otherAttributeName1, otherAttributeName2, otherAttributeName3); | ||
352 | } | ||
353 | |||
354 | public static MessageEventArgs IllegalAttributeWithOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2, string otherAttributeName3, string otherAttributeName4) | ||
355 | { | ||
356 | return new WixErrorEventArgs(sourceLineNumbers, 36, "WixErrors_IllegalAttributeWithOtherAttributes_3", elementName, attributeName, otherAttributeName1, otherAttributeName2, otherAttributeName3, otherAttributeName4); | ||
357 | } | ||
358 | |||
359 | public static MessageEventArgs IllegalAttributeWithoutOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName) | ||
360 | { | ||
361 | return new WixErrorEventArgs(sourceLineNumbers, 37, "WixErrors_IllegalAttributeWithoutOtherAttributes_1", elementName, attributeName, otherAttributeName); | ||
362 | } | ||
363 | |||
364 | public static MessageEventArgs IllegalAttributeWithoutOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2) | ||
365 | { | ||
366 | return new WixErrorEventArgs(sourceLineNumbers, 37, "WixErrors_IllegalAttributeWithoutOtherAttributes_2", elementName, attributeName, otherAttributeName1, otherAttributeName2); | ||
367 | } | ||
368 | |||
369 | public static MessageEventArgs IllegalAttributeWithoutOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2, string otherAttributeValue, bool uniquifier) | ||
370 | { | ||
371 | return new WixErrorEventArgs(sourceLineNumbers, 37, "WixErrors_IllegalAttributeWithoutOtherAttributes_3", elementName, attributeName, otherAttributeName1, otherAttributeName2, otherAttributeValue, uniquifier); | ||
372 | } | ||
373 | |||
374 | public static MessageEventArgs IllegalAttributeWithoutOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2, string otherAttributeName3) | ||
375 | { | ||
376 | return new WixErrorEventArgs(sourceLineNumbers, 37, "WixErrors_IllegalAttributeWithoutOtherAttributes_4", elementName, attributeName, otherAttributeName1, otherAttributeName2, otherAttributeName3); | ||
377 | } | ||
378 | |||
379 | public static MessageEventArgs IllegalAttributeWithoutOtherAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string otherAttributeName1, string otherAttributeName2, string otherAttributeName3, string otherAttributeName4) | ||
380 | { | ||
381 | return new WixErrorEventArgs(sourceLineNumbers, 37, "WixErrors_IllegalAttributeWithoutOtherAttributes_5", elementName, attributeName, otherAttributeName1, otherAttributeName2, otherAttributeName3, otherAttributeName4); | ||
382 | } | ||
383 | |||
384 | public static MessageEventArgs IllegalAttributeValueWithoutOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue, string otherAttributeName, string otherAttributeValue) | ||
385 | { | ||
386 | return new WixErrorEventArgs(sourceLineNumbers, 38, "WixErrors_IllegalAttributeValueWithoutOtherAttribute_1", elementName, attributeName, attributeValue, otherAttributeName, otherAttributeValue); | ||
387 | } | ||
388 | |||
389 | public static MessageEventArgs IllegalAttributeValueWithoutOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue, string otherAttributeName) | ||
390 | { | ||
391 | return new WixErrorEventArgs(sourceLineNumbers, 38, "WixErrors_IllegalAttributeValueWithoutOtherAttribute_2", elementName, attributeName, attributeValue, otherAttributeName); | ||
392 | } | ||
393 | |||
394 | public static MessageEventArgs IntegralValueSentinelCollision(SourceLineNumber sourceLineNumbers, int value) | ||
395 | { | ||
396 | return new WixErrorEventArgs(sourceLineNumbers, 39, "WixErrors_IntegralValueSentinelCollision_1", value); | ||
397 | } | ||
398 | |||
399 | public static MessageEventArgs IntegralValueSentinelCollision(SourceLineNumber sourceLineNumbers, long value) | ||
400 | { | ||
401 | return new WixErrorEventArgs(sourceLineNumbers, 39, "WixErrors_IntegralValueSentinelCollision_2", value); | ||
402 | } | ||
403 | |||
404 | public static MessageEventArgs ExampleGuid(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
405 | { | ||
406 | return new WixErrorEventArgs(sourceLineNumbers, 40, "WixErrors_ExampleGuid_1", elementName, attributeName, value); | ||
407 | } | ||
408 | |||
409 | public static MessageEventArgs TooManyChildren(SourceLineNumber sourceLineNumbers, string elementName, string childElementName) | ||
410 | { | ||
411 | return new WixErrorEventArgs(sourceLineNumbers, 41, "WixErrors_TooManyChildren_1", elementName, childElementName); | ||
412 | } | ||
413 | |||
414 | public static MessageEventArgs ComponentMultipleKeyPaths(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string fileElementName, string registryElementName, string odbcDataSourceElementName) | ||
415 | { | ||
416 | return new WixErrorEventArgs(sourceLineNumbers, 42, "WixErrors_ComponentMultipleKeyPaths_1", elementName, attributeName, value, fileElementName, registryElementName, odbcDataSourceElementName); | ||
417 | } | ||
418 | |||
419 | public static MessageEventArgs CabClosureFailed(string cabinet) | ||
420 | { | ||
421 | return new WixErrorEventArgs(null, 43, "WixErrors_CabClosureFailed_1", cabinet); | ||
422 | } | ||
423 | |||
424 | public static MessageEventArgs CabClosureFailed(string cabinet, int error) | ||
425 | { | ||
426 | return new WixErrorEventArgs(null, 43, "WixErrors_CabClosureFailed_2", cabinet, error); | ||
427 | } | ||
428 | |||
429 | public static MessageEventArgs ExpectedAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2) | ||
430 | { | ||
431 | return new WixErrorEventArgs(sourceLineNumbers, 44, "WixErrors_ExpectedAttributes_1", elementName, attributeName1, attributeName2); | ||
432 | } | ||
433 | |||
434 | public static MessageEventArgs ExpectedAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3) | ||
435 | { | ||
436 | return new WixErrorEventArgs(sourceLineNumbers, 44, "WixErrors_ExpectedAttributes_2", elementName, attributeName1, attributeName2, attributeName3); | ||
437 | } | ||
438 | |||
439 | public static MessageEventArgs ExpectedAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4) | ||
440 | { | ||
441 | return new WixErrorEventArgs(sourceLineNumbers, 44, "WixErrors_ExpectedAttributes_3", elementName, attributeName1, attributeName2, attributeName3, attributeName4); | ||
442 | } | ||
443 | |||
444 | public static MessageEventArgs ExpectedAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4, string attributeName5) | ||
445 | { | ||
446 | return new WixErrorEventArgs(sourceLineNumbers, 44, "WixErrors_ExpectedAttributes_4", elementName, attributeName1, attributeName2, attributeName3, attributeName4, attributeName5); | ||
447 | } | ||
448 | |||
449 | public static MessageEventArgs ExpectedAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4, string attributeName5, string attributeName6) | ||
450 | { | ||
451 | return new WixErrorEventArgs(sourceLineNumbers, 44, "WixErrors_ExpectedAttributes_5", elementName, attributeName1, attributeName2, attributeName3, attributeName4, attributeName5, attributeName6); | ||
452 | } | ||
453 | |||
454 | public static MessageEventArgs ExpectedAttributes(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4, string attributeName5, string attributeName6, string attributeName7) | ||
455 | { | ||
456 | return new WixErrorEventArgs(sourceLineNumbers, 44, "WixErrors_ExpectedAttributes_6", elementName, attributeName1, attributeName2, attributeName3, attributeName4, attributeName5, attributeName6, attributeName7); | ||
457 | } | ||
458 | |||
459 | public static MessageEventArgs ExpectedAttributesWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2) | ||
460 | { | ||
461 | return new WixErrorEventArgs(sourceLineNumbers, 45, "WixErrors_ExpectedAttributesWithOtherAttribute_1", elementName, attributeName1, attributeName2); | ||
462 | } | ||
463 | |||
464 | public static MessageEventArgs ExpectedAttributesWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string otherAttributeName) | ||
465 | { | ||
466 | return new WixErrorEventArgs(sourceLineNumbers, 45, "WixErrors_ExpectedAttributesWithOtherAttribute_2", elementName, attributeName1, attributeName2, otherAttributeName); | ||
467 | } | ||
468 | |||
469 | public static MessageEventArgs ExpectedAttributesWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string otherAttributeName, string otherAttributeValue) | ||
470 | { | ||
471 | return new WixErrorEventArgs(sourceLineNumbers, 45, "WixErrors_ExpectedAttributesWithOtherAttribute_3", elementName, attributeName1, attributeName2, otherAttributeName, otherAttributeValue); | ||
472 | } | ||
473 | |||
474 | public static MessageEventArgs ExpectedAttributesWithoutOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string otherAttributeName) | ||
475 | { | ||
476 | return new WixErrorEventArgs(sourceLineNumbers, 46, "WixErrors_ExpectedAttributesWithoutOtherAttribute_1", elementName, attributeName1, attributeName2, otherAttributeName); | ||
477 | } | ||
478 | |||
479 | public static MessageEventArgs MissingTypeLibFile(SourceLineNumber sourceLineNumbers, string elementName, string fileElementName) | ||
480 | { | ||
481 | return new WixErrorEventArgs(sourceLineNumbers, 47, "WixErrors_MissingTypeLibFile_1", elementName, fileElementName); | ||
482 | } | ||
483 | |||
484 | public static MessageEventArgs InvalidDocumentElement(SourceLineNumber sourceLineNumbers, string elementName, string fileType, string expectedElementName) | ||
485 | { | ||
486 | return new WixErrorEventArgs(sourceLineNumbers, 48, "WixErrors_InvalidDocumentElement_1", elementName, fileType, expectedElementName); | ||
487 | } | ||
488 | |||
489 | public static MessageEventArgs ExpectedAttributeInElementOrParent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string parentElementName) | ||
490 | { | ||
491 | return new WixErrorEventArgs(sourceLineNumbers, 49, "WixErrors_ExpectedAttributeInElementOrParent_1", elementName, attributeName, parentElementName); | ||
492 | } | ||
493 | |||
494 | public static MessageEventArgs ExpectedAttributeInElementOrParent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string parentElementName, string parentAttributeName) | ||
495 | { | ||
496 | return new WixErrorEventArgs(sourceLineNumbers, 49, "WixErrors_ExpectedAttributeInElementOrParent_2", elementName, attributeName, parentElementName, parentAttributeName); | ||
497 | } | ||
498 | |||
499 | public static MessageEventArgs UnauthorizedAccess(string filePath) | ||
500 | { | ||
501 | return new WixErrorEventArgs(null, 50, "WixErrors_UnauthorizedAccess_1", filePath); | ||
502 | } | ||
503 | |||
504 | public static MessageEventArgs IllegalModuleExclusionLanguageAttributes(SourceLineNumber sourceLineNumbers) | ||
505 | { | ||
506 | return new WixErrorEventArgs(sourceLineNumbers, 51, "WixErrors_IllegalModuleExclusionLanguageAttributes_1"); | ||
507 | } | ||
508 | |||
509 | public static MessageEventArgs NoFirstControlSpecified(SourceLineNumber sourceLineNumbers, string dialogName) | ||
510 | { | ||
511 | return new WixErrorEventArgs(sourceLineNumbers, 52, "WixErrors_NoFirstControlSpecified_1", dialogName); | ||
512 | } | ||
513 | |||
514 | public static MessageEventArgs NoDataForColumn(SourceLineNumber sourceLineNumbers, string columnName, string tableName) | ||
515 | { | ||
516 | return new WixErrorEventArgs(sourceLineNumbers, 53, "WixErrors_NoDataForColumn_1", columnName, tableName); | ||
517 | } | ||
518 | |||
519 | public static MessageEventArgs ValueAndMaskMustBeSameLength(SourceLineNumber sourceLineNumbers) | ||
520 | { | ||
521 | return new WixErrorEventArgs(sourceLineNumbers, 54, "WixErrors_ValueAndMaskMustBeSameLength_1"); | ||
522 | } | ||
523 | |||
524 | public static MessageEventArgs TooManySearchElements(SourceLineNumber sourceLineNumbers, string elementName) | ||
525 | { | ||
526 | return new WixErrorEventArgs(sourceLineNumbers, 55, "WixErrors_TooManySearchElements_1", elementName); | ||
527 | } | ||
528 | |||
529 | public static MessageEventArgs IllegalAttributeExceptOnElement(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string expectedElementName) | ||
530 | { | ||
531 | return new WixErrorEventArgs(sourceLineNumbers, 56, "WixErrors_IllegalAttributeExceptOnElement_1", elementName, attributeName, expectedElementName); | ||
532 | } | ||
533 | |||
534 | public static MessageEventArgs SearchElementRequired(SourceLineNumber sourceLineNumbers, string elementName) | ||
535 | { | ||
536 | return new WixErrorEventArgs(sourceLineNumbers, 57, "WixErrors_SearchElementRequired_1", elementName); | ||
537 | } | ||
538 | |||
539 | public static MessageEventArgs MultipleIdentifiersFound(SourceLineNumber sourceLineNumbers, string elementName, string identifier, string mismatchIdentifier) | ||
540 | { | ||
541 | return new WixErrorEventArgs(sourceLineNumbers, 58, "WixErrors_MultipleIdentifiersFound_1", elementName, identifier, mismatchIdentifier); | ||
542 | } | ||
543 | |||
544 | public static MessageEventArgs AdvertiseStateMustMatch(SourceLineNumber sourceLineNumbers, string advertiseState, string parentAdvertiseState) | ||
545 | { | ||
546 | return new WixErrorEventArgs(sourceLineNumbers, 59, "WixErrors_AdvertiseStateMustMatch_1", advertiseState, parentAdvertiseState); | ||
547 | } | ||
548 | |||
549 | public static MessageEventArgs DuplicateContextValue(SourceLineNumber sourceLineNumbers, string contextValue) | ||
550 | { | ||
551 | return new WixErrorEventArgs(sourceLineNumbers, 60, "WixErrors_DuplicateContextValue_1", contextValue); | ||
552 | } | ||
553 | |||
554 | public static MessageEventArgs RelativePathForRegistryElement(SourceLineNumber sourceLineNumbers) | ||
555 | { | ||
556 | return new WixErrorEventArgs(sourceLineNumbers, 61, "WixErrors_RelativePathForRegistryElement_1"); | ||
557 | } | ||
558 | |||
559 | public static MessageEventArgs IllegalAttributeWhenNested(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string parentElement) | ||
560 | { | ||
561 | return new WixErrorEventArgs(sourceLineNumbers, 62, "WixErrors_IllegalAttributeWhenNested_1", elementName, attributeName, parentElement); | ||
562 | } | ||
563 | |||
564 | public static MessageEventArgs ExpectedElement(SourceLineNumber sourceLineNumbers, string elementName, string childName) | ||
565 | { | ||
566 | return new WixErrorEventArgs(sourceLineNumbers, 63, "WixErrors_ExpectedElement_1", elementName, childName); | ||
567 | } | ||
568 | |||
569 | public static MessageEventArgs ExpectedElement(SourceLineNumber sourceLineNumbers, string elementName, string childName1, string childName2) | ||
570 | { | ||
571 | return new WixErrorEventArgs(sourceLineNumbers, 63, "WixErrors_ExpectedElement_2", elementName, childName1, childName2); | ||
572 | } | ||
573 | |||
574 | public static MessageEventArgs ExpectedElement(SourceLineNumber sourceLineNumbers, string elementName, string childName1, string childName2, string childName3) | ||
575 | { | ||
576 | return new WixErrorEventArgs(sourceLineNumbers, 63, "WixErrors_ExpectedElement_3", elementName, childName1, childName2, childName3); | ||
577 | } | ||
578 | |||
579 | public static MessageEventArgs ExpectedElement(SourceLineNumber sourceLineNumbers, string elementName, string childName1, string childName2, string childName3, string childName4) | ||
580 | { | ||
581 | return new WixErrorEventArgs(sourceLineNumbers, 63, "WixErrors_ExpectedElement_4", elementName, childName1, childName2, childName3, childName4); | ||
582 | } | ||
583 | |||
584 | public static MessageEventArgs RegistryRootInvalid(SourceLineNumber sourceLineNumbers) | ||
585 | { | ||
586 | return new WixErrorEventArgs(sourceLineNumbers, 64, "WixErrors_RegistryRootInvalid_1"); | ||
587 | } | ||
588 | |||
589 | public static MessageEventArgs IllegalYesNoDefaultValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
590 | { | ||
591 | return new WixErrorEventArgs(sourceLineNumbers, 65, "WixErrors_IllegalYesNoDefaultValue_1", elementName, attributeName, value); | ||
592 | } | ||
593 | |||
594 | public static MessageEventArgs IllegalAttributeInMergeModule(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
595 | { | ||
596 | return new WixErrorEventArgs(sourceLineNumbers, 66, "WixErrors_IllegalAttributeInMergeModule_1", elementName, attributeName); | ||
597 | } | ||
598 | |||
599 | public static MessageEventArgs GenericReadNotAllowed(SourceLineNumber sourceLineNumbers) | ||
600 | { | ||
601 | return new WixErrorEventArgs(sourceLineNumbers, 67, "WixErrors_GenericReadNotAllowed_1"); | ||
602 | } | ||
603 | |||
604 | public static MessageEventArgs IllegalAttributeWithInnerText(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
605 | { | ||
606 | return new WixErrorEventArgs(sourceLineNumbers, 68, "WixErrors_IllegalAttributeWithInnerText_1", elementName, attributeName); | ||
607 | } | ||
608 | |||
609 | public static MessageEventArgs SearchElementRequiredWithAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) | ||
610 | { | ||
611 | return new WixErrorEventArgs(sourceLineNumbers, 69, "WixErrors_SearchElementRequiredWithAttribute_1", elementName, attributeName, attributeValue); | ||
612 | } | ||
613 | |||
614 | public static MessageEventArgs CannotAuthorSpecialProperties(SourceLineNumber sourceLineNumbers, string propertyName) | ||
615 | { | ||
616 | return new WixErrorEventArgs(sourceLineNumbers, 70, "WixErrors_CannotAuthorSpecialProperties_1", propertyName); | ||
617 | } | ||
618 | |||
619 | public static MessageEventArgs NeedSequenceBeforeOrAfter(SourceLineNumber sourceLineNumbers, string elementName) | ||
620 | { | ||
621 | return new WixErrorEventArgs(sourceLineNumbers, 72, "WixErrors_NeedSequenceBeforeOrAfter_1", elementName); | ||
622 | } | ||
623 | |||
624 | public static MessageEventArgs ValueNotSupported(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) | ||
625 | { | ||
626 | return new WixErrorEventArgs(sourceLineNumbers, 73, "WixErrors_ValueNotSupported_1", elementName, attributeName, attributeValue); | ||
627 | } | ||
628 | |||
629 | public static MessageEventArgs TabbableControlNotAllowedInBillboard(SourceLineNumber sourceLineNumbers, string elementName, string controlType) | ||
630 | { | ||
631 | return new WixErrorEventArgs(sourceLineNumbers, 74, "WixErrors_TabbableControlNotAllowedInBillboard_1", elementName, controlType); | ||
632 | } | ||
633 | |||
634 | public static MessageEventArgs CheckBoxValueOnlyValidWithCheckBox(SourceLineNumber sourceLineNumbers, string elementName, string controlType) | ||
635 | { | ||
636 | return new WixErrorEventArgs(sourceLineNumbers, 75, "WixErrors_CheckBoxValueOnlyValidWithCheckBox_1", elementName, controlType); | ||
637 | } | ||
638 | |||
639 | public static MessageEventArgs CabFileDoesNotExist(string cabName, string mergeModulePath, string directoryName) | ||
640 | { | ||
641 | return new WixErrorEventArgs(null, 76, "WixErrors_CabFileDoesNotExist_1", cabName, mergeModulePath, directoryName); | ||
642 | } | ||
643 | |||
644 | public static MessageEventArgs RadioButtonTypeInconsistent(SourceLineNumber sourceLineNumbers) | ||
645 | { | ||
646 | return new WixErrorEventArgs(sourceLineNumbers, 77, "WixErrors_RadioButtonTypeInconsistent_1"); | ||
647 | } | ||
648 | |||
649 | public static MessageEventArgs RadioButtonBitmapAndIconDisallowed(SourceLineNumber sourceLineNumbers) | ||
650 | { | ||
651 | return new WixErrorEventArgs(sourceLineNumbers, 78, "WixErrors_RadioButtonBitmapAndIconDisallowed_1"); | ||
652 | } | ||
653 | |||
654 | public static MessageEventArgs IllegalSuppressWarningId(string suppressedId) | ||
655 | { | ||
656 | return new WixErrorEventArgs(null, 79, "WixErrors_IllegalSuppressWarningId_1", suppressedId); | ||
657 | } | ||
658 | |||
659 | public static MessageEventArgs PreprocessorIllegalForeachVariable(SourceLineNumber sourceLineNumbers, string variableName) | ||
660 | { | ||
661 | return new WixErrorEventArgs(sourceLineNumbers, 80, "WixErrors_PreprocessorIllegalForeachVariable_1", variableName); | ||
662 | } | ||
663 | |||
664 | public static MessageEventArgs PreprocessorMissingParameterPrefix(SourceLineNumber sourceLineNumbers, string parameterName) | ||
665 | { | ||
666 | return new WixErrorEventArgs(sourceLineNumbers, 81, "WixErrors_PreprocessorMissingParameterPrefix_1", parameterName); | ||
667 | } | ||
668 | |||
669 | public static MessageEventArgs PreprocessorExtensionForParameterMissing(SourceLineNumber sourceLineNumbers, string parameterName, string parameterPrefix) | ||
670 | { | ||
671 | return new WixErrorEventArgs(sourceLineNumbers, 82, "WixErrors_PreprocessorExtensionForParameterMissing_1", parameterName, parameterPrefix); | ||
672 | } | ||
673 | |||
674 | public static MessageEventArgs CannotFindFile(SourceLineNumber sourceLineNumbers, string fileId, string fileName, string filePath) | ||
675 | { | ||
676 | return new WixErrorEventArgs(sourceLineNumbers, 83, "WixErrors_CannotFindFile_1", fileId, fileName, filePath); | ||
677 | } | ||
678 | |||
679 | public static MessageEventArgs BinderFileManagerMissingFile(SourceLineNumber sourceLineNumbers, string exceptionMessage) | ||
680 | { | ||
681 | return new WixErrorEventArgs(sourceLineNumbers, 84, "WixErrors_BinderFileManagerMissingFile_1", exceptionMessage); | ||
682 | } | ||
683 | |||
684 | public static MessageEventArgs ReferenceLoopDetected(SourceLineNumber sourceLineNumbers, string loopList) | ||
685 | { | ||
686 | return new WixErrorEventArgs(sourceLineNumbers, 86, "WixErrors_ReferenceLoopDetected_1", loopList); | ||
687 | } | ||
688 | |||
689 | public static MessageEventArgs GuidContainsLowercaseLetters(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
690 | { | ||
691 | return new WixErrorEventArgs(sourceLineNumbers, 87, "WixErrors_GuidContainsLowercaseLetters_1", elementName, attributeName, value); | ||
692 | } | ||
693 | |||
694 | public static MessageEventArgs InvalidDateTimeFormat(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
695 | { | ||
696 | return new WixErrorEventArgs(sourceLineNumbers, 88, "WixErrors_InvalidDateTimeFormat_1", elementName, attributeName, value); | ||
697 | } | ||
698 | |||
699 | public static MessageEventArgs MultipleEntrySections(SourceLineNumber sourceLineNumbers, string sectionName1, string sectionName2) | ||
700 | { | ||
701 | return new WixErrorEventArgs(sourceLineNumbers, 89, "WixErrors_MultipleEntrySections_1", sectionName1, sectionName2); | ||
702 | } | ||
703 | |||
704 | public static MessageEventArgs MultipleEntrySections2(SourceLineNumber sourceLineNumbers) | ||
705 | { | ||
706 | return new WixErrorEventArgs(sourceLineNumbers, 90, "WixErrors_MultipleEntrySections2_1"); | ||
707 | } | ||
708 | |||
709 | public static MessageEventArgs DuplicateSymbol(SourceLineNumber sourceLineNumbers, string symbolName) | ||
710 | { | ||
711 | return new WixErrorEventArgs(sourceLineNumbers, 91, "WixErrors_DuplicateSymbol_1", symbolName); | ||
712 | } | ||
713 | |||
714 | public static MessageEventArgs DuplicateSymbol(SourceLineNumber sourceLineNumbers, string symbolName, string referencingSourceLineNumber) | ||
715 | { | ||
716 | return new WixErrorEventArgs(sourceLineNumbers, 91, "WixErrors_DuplicateSymbol_2", symbolName, referencingSourceLineNumber); | ||
717 | } | ||
718 | |||
719 | public static MessageEventArgs DuplicateSymbol2(SourceLineNumber sourceLineNumbers) | ||
720 | { | ||
721 | return new WixErrorEventArgs(sourceLineNumbers, 92, "WixErrors_DuplicateSymbol2_1"); | ||
722 | } | ||
723 | |||
724 | public static MessageEventArgs MissingEntrySection(string sectionType) | ||
725 | { | ||
726 | return new WixErrorEventArgs(null, 93, "WixErrors_MissingEntrySection_1", sectionType); | ||
727 | } | ||
728 | |||
729 | public static MessageEventArgs UnresolvedReference(SourceLineNumber sourceLineNumbers, string symbolName) | ||
730 | { | ||
731 | return new WixErrorEventArgs(sourceLineNumbers, 94, "WixErrors_UnresolvedReference_1", symbolName); | ||
732 | } | ||
733 | |||
734 | public static MessageEventArgs UnresolvedReference(SourceLineNumber sourceLineNumbers, string symbolName, WixToolset.Data.AccessModifier accessModifier) | ||
735 | { | ||
736 | return new WixErrorEventArgs(sourceLineNumbers, 94, "WixErrors_UnresolvedReference_2", symbolName, accessModifier); | ||
737 | } | ||
738 | |||
739 | public static MessageEventArgs MultiplePrimaryReferences(SourceLineNumber sourceLineNumbers, string crefChildType, string crefChildId, string crefParentType, string crefParentId, string conflictParentType, string conflictParentId) | ||
740 | { | ||
741 | return new WixErrorEventArgs(sourceLineNumbers, 95, "WixErrors_MultiplePrimaryReferences_1", crefChildType, crefChildId, crefParentType, crefParentId, conflictParentType, conflictParentId); | ||
742 | } | ||
743 | |||
744 | public static MessageEventArgs ComponentReferencedTwice(SourceLineNumber sourceLineNumbers, string crefChildId) | ||
745 | { | ||
746 | return new WixErrorEventArgs(sourceLineNumbers, 96, "WixErrors_ComponentReferencedTwice_1", crefChildId); | ||
747 | } | ||
748 | |||
749 | public static MessageEventArgs DuplicateModuleFileIdentifier(SourceLineNumber sourceLineNumbers, string moduleId, string fileId) | ||
750 | { | ||
751 | return new WixErrorEventArgs(sourceLineNumbers, 97, "WixErrors_DuplicateModuleFileIdentifier_1", moduleId, fileId); | ||
752 | } | ||
753 | |||
754 | public static MessageEventArgs DuplicateModuleCaseInsensitiveFileIdentifier(SourceLineNumber sourceLineNumbers, string moduleId, string fileId1, string fileId2) | ||
755 | { | ||
756 | return new WixErrorEventArgs(sourceLineNumbers, 98, "WixErrors_DuplicateModuleCaseInsensitiveFileIdentifier_1", moduleId, fileId1, fileId2); | ||
757 | } | ||
758 | |||
759 | public static MessageEventArgs ImplicitComponentKeyPath(SourceLineNumber sourceLineNumbers, string componentId) | ||
760 | { | ||
761 | return new WixErrorEventArgs(sourceLineNumbers, 99, "WixErrors_ImplicitComponentKeyPath_1", componentId); | ||
762 | } | ||
763 | |||
764 | public static MessageEventArgs DuplicateLocalizationIdentifier(SourceLineNumber sourceLineNumbers, string localizationId) | ||
765 | { | ||
766 | return new WixErrorEventArgs(sourceLineNumbers, 100, "WixErrors_DuplicateLocalizationIdentifier_1", localizationId); | ||
767 | } | ||
768 | |||
769 | public static MessageEventArgs LocalizationVariableUnknown(SourceLineNumber sourceLineNumbers, string variableId) | ||
770 | { | ||
771 | return new WixErrorEventArgs(sourceLineNumbers, 102, "WixErrors_LocalizationVariableUnknown_1", variableId); | ||
772 | } | ||
773 | |||
774 | public static MessageEventArgs FileNotFound(SourceLineNumber sourceLineNumbers, string file) | ||
775 | { | ||
776 | return new WixErrorEventArgs(sourceLineNumbers, 103, "WixErrors_FileNotFound_1", file); | ||
777 | } | ||
778 | |||
779 | public static MessageEventArgs FileNotFound(SourceLineNumber sourceLineNumbers, string file, string fileType) | ||
780 | { | ||
781 | return new WixErrorEventArgs(sourceLineNumbers, 103, "WixErrors_FileNotFound_2", file, fileType); | ||
782 | } | ||
783 | |||
784 | public static MessageEventArgs InvalidXml(SourceLineNumber sourceLineNumbers, string fileType, string detail) | ||
785 | { | ||
786 | return new WixErrorEventArgs(sourceLineNumbers, 104, "WixErrors_InvalidXml_1", fileType, detail); | ||
787 | } | ||
788 | |||
789 | public static MessageEventArgs ProgIdNestedTooDeep(SourceLineNumber sourceLineNumbers) | ||
790 | { | ||
791 | return new WixErrorEventArgs(sourceLineNumbers, 105, "WixErrors_ProgIdNestedTooDeep_1"); | ||
792 | } | ||
793 | |||
794 | public static MessageEventArgs CanNotHaveTwoParents(SourceLineNumber sourceLineNumbers, string directorySearch, string parentAttribute, string parentElement) | ||
795 | { | ||
796 | return new WixErrorEventArgs(sourceLineNumbers, 106, "WixErrors_CanNotHaveTwoParents_1", directorySearch, parentAttribute, parentElement); | ||
797 | } | ||
798 | |||
799 | public static MessageEventArgs SchemaValidationFailed(SourceLineNumber sourceLineNumbers, string validationError, int lineNumber, int linePosition) | ||
800 | { | ||
801 | return new WixErrorEventArgs(sourceLineNumbers, 107, "WixErrors_SchemaValidationFailed_1", validationError, lineNumber, linePosition); | ||
802 | } | ||
803 | |||
804 | public static MessageEventArgs IllegalVersionValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
805 | { | ||
806 | return new WixErrorEventArgs(sourceLineNumbers, 108, "WixErrors_IllegalVersionValue_1", elementName, attributeName, value); | ||
807 | } | ||
808 | |||
809 | public static MessageEventArgs CustomTableNameTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
810 | { | ||
811 | return new WixErrorEventArgs(sourceLineNumbers, 109, "WixErrors_CustomTableNameTooLong_1", elementName, attributeName, value); | ||
812 | } | ||
813 | |||
814 | public static MessageEventArgs CustomTableIllegalColumnWidth(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, int value) | ||
815 | { | ||
816 | return new WixErrorEventArgs(sourceLineNumbers, 110, "WixErrors_CustomTableIllegalColumnWidth_1", elementName, attributeName, value); | ||
817 | } | ||
818 | |||
819 | public static MessageEventArgs CustomTableMissingPrimaryKey(SourceLineNumber sourceLineNumbers) | ||
820 | { | ||
821 | return new WixErrorEventArgs(sourceLineNumbers, 111, "WixErrors_CustomTableMissingPrimaryKey_1"); | ||
822 | } | ||
823 | |||
824 | public static MessageEventArgs TypeSpecificationForExtensionRequired(string parameter) | ||
825 | { | ||
826 | return new WixErrorEventArgs(null, 113, "WixErrors_TypeSpecificationForExtensionRequired_1", parameter); | ||
827 | } | ||
828 | |||
829 | public static MessageEventArgs FilePathRequired(string parameter) | ||
830 | { | ||
831 | return new WixErrorEventArgs(null, 114, "WixErrors_FilePathRequired_1", parameter); | ||
832 | } | ||
833 | |||
834 | public static MessageEventArgs DirectoryPathRequired(string parameter) | ||
835 | { | ||
836 | return new WixErrorEventArgs(null, 115, "WixErrors_DirectoryPathRequired_1", parameter); | ||
837 | } | ||
838 | |||
839 | public static MessageEventArgs FileOrDirectoryPathRequired(string parameter) | ||
840 | { | ||
841 | return new WixErrorEventArgs(null, 116, "WixErrors_FileOrDirectoryPathRequired_1", parameter); | ||
842 | } | ||
843 | |||
844 | public static MessageEventArgs PathCannotContainQuote(string fileName) | ||
845 | { | ||
846 | return new WixErrorEventArgs(null, 117, "WixErrors_PathCannotContainQuote_1", fileName); | ||
847 | } | ||
848 | |||
849 | public static MessageEventArgs AdditionalArgumentUnexpected(string argument) | ||
850 | { | ||
851 | return new WixErrorEventArgs(null, 118, "WixErrors_AdditionalArgumentUnexpected_1", argument); | ||
852 | } | ||
853 | |||
854 | public static MessageEventArgs RegistryNameValueIncorrect(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
855 | { | ||
856 | return new WixErrorEventArgs(sourceLineNumbers, 119, "WixErrors_RegistryNameValueIncorrect_1", elementName, attributeName, value); | ||
857 | } | ||
858 | |||
859 | public static MessageEventArgs FamilyNameTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, int length) | ||
860 | { | ||
861 | return new WixErrorEventArgs(sourceLineNumbers, 120, "WixErrors_FamilyNameTooLong_1", elementName, attributeName, value, length); | ||
862 | } | ||
863 | |||
864 | public static MessageEventArgs IllegalFamilyName(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
865 | { | ||
866 | return new WixErrorEventArgs(sourceLineNumbers, 121, "WixErrors_IllegalFamilyName_1", elementName, attributeName, value); | ||
867 | } | ||
868 | |||
869 | public static MessageEventArgs IllegalLongValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
870 | { | ||
871 | return new WixErrorEventArgs(sourceLineNumbers, 122, "WixErrors_IllegalLongValue_1", elementName, attributeName, value); | ||
872 | } | ||
873 | |||
874 | public static MessageEventArgs IntegralValueOutOfRange(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, int value, int minimum, int maximum) | ||
875 | { | ||
876 | return new WixErrorEventArgs(sourceLineNumbers, 123, "WixErrors_IntegralValueOutOfRange_1", elementName, attributeName, value, minimum, maximum); | ||
877 | } | ||
878 | |||
879 | public static MessageEventArgs IntegralValueOutOfRange(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, long value, long minimum, long maximum) | ||
880 | { | ||
881 | return new WixErrorEventArgs(sourceLineNumbers, 123, "WixErrors_IntegralValueOutOfRange_2", elementName, attributeName, value, minimum, maximum); | ||
882 | } | ||
883 | |||
884 | public static MessageEventArgs DuplicateExtensionXmlSchemaNamespace(string extension, string extensionXmlSchemaNamespace, string collidingExtension) | ||
885 | { | ||
886 | return new WixErrorEventArgs(null, 125, "WixErrors_DuplicateExtensionXmlSchemaNamespace_1", extension, extensionXmlSchemaNamespace, collidingExtension); | ||
887 | } | ||
888 | |||
889 | public static MessageEventArgs DuplicateExtensionTable(string extension, string tableName) | ||
890 | { | ||
891 | return new WixErrorEventArgs(null, 126, "WixErrors_DuplicateExtensionTable_1", extension, tableName); | ||
892 | } | ||
893 | |||
894 | public static MessageEventArgs DuplicateExtensionPreprocessorType(string extension, string variablePrefix, string collidingExtension) | ||
895 | { | ||
896 | return new WixErrorEventArgs(null, 127, "WixErrors_DuplicateExtensionPreprocessorType_1", extension, variablePrefix, collidingExtension); | ||
897 | } | ||
898 | |||
899 | public static MessageEventArgs FileInUse(SourceLineNumber sourceLineNumbers, string file) | ||
900 | { | ||
901 | return new WixErrorEventArgs(sourceLineNumbers, 128, "WixErrors_FileInUse_1", file); | ||
902 | } | ||
903 | |||
904 | public static MessageEventArgs CannotOpenMergeModule(SourceLineNumber sourceLineNumbers, string mergeModuleIdentifier, string mergeModuleFile) | ||
905 | { | ||
906 | return new WixErrorEventArgs(sourceLineNumbers, 129, "WixErrors_CannotOpenMergeModule_1", mergeModuleIdentifier, mergeModuleFile); | ||
907 | } | ||
908 | |||
909 | public static MessageEventArgs DuplicatePrimaryKey(SourceLineNumber sourceLineNumbers, string primaryKey, string tableName) | ||
910 | { | ||
911 | return new WixErrorEventArgs(sourceLineNumbers, 130, "WixErrors_DuplicatePrimaryKey_1", primaryKey, tableName); | ||
912 | } | ||
913 | |||
914 | public static MessageEventArgs FileIdentifierNotFound(SourceLineNumber sourceLineNumbers, string fileIdentifier) | ||
915 | { | ||
916 | return new WixErrorEventArgs(sourceLineNumbers, 131, "WixErrors_FileIdentifierNotFound_1", fileIdentifier); | ||
917 | } | ||
918 | |||
919 | public static MessageEventArgs InvalidAssemblyFile(SourceLineNumber sourceLineNumbers, string assemblyFile, string moreInformation) | ||
920 | { | ||
921 | return new WixErrorEventArgs(sourceLineNumbers, 132, "WixErrors_InvalidAssemblyFile_1", assemblyFile, moreInformation); | ||
922 | } | ||
923 | |||
924 | public static MessageEventArgs ExpectedEndElement(SourceLineNumber sourceLineNumbers, string elementName) | ||
925 | { | ||
926 | return new WixErrorEventArgs(sourceLineNumbers, 133, "WixErrors_ExpectedEndElement_1", elementName); | ||
927 | } | ||
928 | |||
929 | public static MessageEventArgs IllegalCodepage(int codepage) | ||
930 | { | ||
931 | return new WixErrorEventArgs(null, 134, "WixErrors_IllegalCodepage_1", codepage); | ||
932 | } | ||
933 | |||
934 | public static MessageEventArgs ExpectedMediaCabinet(SourceLineNumber sourceLineNumbers, string fileId, int diskId) | ||
935 | { | ||
936 | return new WixErrorEventArgs(sourceLineNumbers, 135, "WixErrors_ExpectedMediaCabinet_1", fileId, diskId); | ||
937 | } | ||
938 | |||
939 | public static MessageEventArgs InvalidIdt(SourceLineNumber sourceLineNumbers, string idtFile) | ||
940 | { | ||
941 | return new WixErrorEventArgs(sourceLineNumbers, 136, "WixErrors_InvalidIdt_1", idtFile); | ||
942 | } | ||
943 | |||
944 | public static MessageEventArgs InvalidIdt(SourceLineNumber sourceLineNumbers, string idtFile, string tableName) | ||
945 | { | ||
946 | return new WixErrorEventArgs(sourceLineNumbers, 136, "WixErrors_InvalidIdt_2", idtFile, tableName); | ||
947 | } | ||
948 | |||
949 | public static MessageEventArgs InvalidSequenceTable(string sequenceTableName) | ||
950 | { | ||
951 | return new WixErrorEventArgs(null, 137, "WixErrors_InvalidSequenceTable_1", sequenceTableName); | ||
952 | } | ||
953 | |||
954 | public static MessageEventArgs ExpectedDirectory(string directory) | ||
955 | { | ||
956 | return new WixErrorEventArgs(null, 138, "WixErrors_ExpectedDirectory_1", directory); | ||
957 | } | ||
958 | |||
959 | public static MessageEventArgs ComponentExpectedFeature(SourceLineNumber sourceLineNumbers, string component, string type, string target) | ||
960 | { | ||
961 | return new WixErrorEventArgs(sourceLineNumbers, 139, "WixErrors_ComponentExpectedFeature_1", component, type, target); | ||
962 | } | ||
963 | |||
964 | public static MessageEventArgs RecursiveAction(string action, string tableName) | ||
965 | { | ||
966 | return new WixErrorEventArgs(null, 140, "WixErrors_RecursiveAction_1", action, tableName); | ||
967 | } | ||
968 | |||
969 | public static MessageEventArgs VersionMismatch(SourceLineNumber sourceLineNumbers, string fileType, string version, string expectedVersion) | ||
970 | { | ||
971 | return new WixErrorEventArgs(sourceLineNumbers, 141, "WixErrors_VersionMismatch_1", fileType, version, expectedVersion); | ||
972 | } | ||
973 | |||
974 | public static MessageEventArgs UnexpectedContentNode(SourceLineNumber sourceLineNumbers, string elementName, string unexpectedNodeType) | ||
975 | { | ||
976 | return new WixErrorEventArgs(sourceLineNumbers, 142, "WixErrors_UnexpectedContentNode_1", elementName, unexpectedNodeType); | ||
977 | } | ||
978 | |||
979 | public static MessageEventArgs UnexpectedColumnCount(SourceLineNumber sourceLineNumbers, string tableName) | ||
980 | { | ||
981 | return new WixErrorEventArgs(sourceLineNumbers, 143, "WixErrors_UnexpectedColumnCount_1", tableName); | ||
982 | } | ||
983 | |||
984 | public static MessageEventArgs InvalidExtension(string extension) | ||
985 | { | ||
986 | return new WixErrorEventArgs(null, 144, "WixErrors_InvalidExtension_1", extension); | ||
987 | } | ||
988 | |||
989 | public static MessageEventArgs InvalidExtension(string extension, string invalidReason) | ||
990 | { | ||
991 | return new WixErrorEventArgs(null, 144, "WixErrors_InvalidExtension_2", extension, invalidReason); | ||
992 | } | ||
993 | |||
994 | public static MessageEventArgs InvalidExtension(string extension, string extensionType, string expectedType) | ||
995 | { | ||
996 | return new WixErrorEventArgs(null, 144, "WixErrors_InvalidExtension_3", extension, extensionType, expectedType); | ||
997 | } | ||
998 | |||
999 | public static MessageEventArgs InvalidExtension(string extension, string extensionType, string expectedType1, string expectedType2) | ||
1000 | { | ||
1001 | return new WixErrorEventArgs(null, 144, "WixErrors_InvalidExtension_4", extension, extensionType, expectedType1, expectedType2); | ||
1002 | } | ||
1003 | |||
1004 | public static MessageEventArgs InvalidSubExpression(SourceLineNumber sourceLineNumbers, string subExpression, string expression) | ||
1005 | { | ||
1006 | return new WixErrorEventArgs(sourceLineNumbers, 145, "WixErrors_InvalidSubExpression_1", subExpression, expression); | ||
1007 | } | ||
1008 | |||
1009 | public static MessageEventArgs UnmatchedPreprocessorInstruction(SourceLineNumber sourceLineNumbers, string beginInstruction, string endInstruction) | ||
1010 | { | ||
1011 | return new WixErrorEventArgs(sourceLineNumbers, 146, "WixErrors_UnmatchedPreprocessorInstruction_1", beginInstruction, endInstruction); | ||
1012 | } | ||
1013 | |||
1014 | public static MessageEventArgs NonterminatedPreprocessorInstruction(SourceLineNumber sourceLineNumbers, string beginInstruction, string endInstruction) | ||
1015 | { | ||
1016 | return new WixErrorEventArgs(sourceLineNumbers, 147, "WixErrors_NonterminatedPreprocessorInstruction_1", beginInstruction, endInstruction); | ||
1017 | } | ||
1018 | |||
1019 | public static MessageEventArgs ExpectedExpressionAfterNot(SourceLineNumber sourceLineNumbers, string expression) | ||
1020 | { | ||
1021 | return new WixErrorEventArgs(sourceLineNumbers, 148, "WixErrors_ExpectedExpressionAfterNot_1", expression); | ||
1022 | } | ||
1023 | |||
1024 | public static MessageEventArgs InvalidPreprocessorVariable(SourceLineNumber sourceLineNumbers, string variable) | ||
1025 | { | ||
1026 | return new WixErrorEventArgs(sourceLineNumbers, 149, "WixErrors_InvalidPreprocessorVariable_1", variable); | ||
1027 | } | ||
1028 | |||
1029 | public static MessageEventArgs UndefinedPreprocessorVariable(SourceLineNumber sourceLineNumbers, string variableName) | ||
1030 | { | ||
1031 | return new WixErrorEventArgs(sourceLineNumbers, 150, "WixErrors_UndefinedPreprocessorVariable_1", variableName); | ||
1032 | } | ||
1033 | |||
1034 | public static MessageEventArgs IllegalDefineStatement(SourceLineNumber sourceLineNumbers, string defineStatement) | ||
1035 | { | ||
1036 | return new WixErrorEventArgs(sourceLineNumbers, 151, "WixErrors_IllegalDefineStatement_1", defineStatement); | ||
1037 | } | ||
1038 | |||
1039 | public static MessageEventArgs VariableDeclarationCollision(SourceLineNumber sourceLineNumbers, string variableName, string variableValue, string variableCollidingValue) | ||
1040 | { | ||
1041 | return new WixErrorEventArgs(sourceLineNumbers, 152, "WixErrors_VariableDeclarationCollision_1", variableName, variableValue, variableCollidingValue); | ||
1042 | } | ||
1043 | |||
1044 | public static MessageEventArgs CannotReundefineVariable(SourceLineNumber sourceLineNumbers, string variableName) | ||
1045 | { | ||
1046 | return new WixErrorEventArgs(sourceLineNumbers, 153, "WixErrors_CannotReundefineVariable_1", variableName); | ||
1047 | } | ||
1048 | |||
1049 | public static MessageEventArgs IllegalForeach(SourceLineNumber sourceLineNumbers, string foreachStatement) | ||
1050 | { | ||
1051 | return new WixErrorEventArgs(sourceLineNumbers, 154, "WixErrors_IllegalForeach_1", foreachStatement); | ||
1052 | } | ||
1053 | |||
1054 | public static MessageEventArgs IllegalParentAttributeWhenNested(SourceLineNumber sourceLineNumbers, string parentElementName, string parentAttributeName, string childElement) | ||
1055 | { | ||
1056 | return new WixErrorEventArgs(sourceLineNumbers, 155, "WixErrors_IllegalParentAttributeWhenNested_1", parentElementName, parentAttributeName, childElement); | ||
1057 | } | ||
1058 | |||
1059 | public static MessageEventArgs ExpectedEndforeach(SourceLineNumber sourceLineNumbers) | ||
1060 | { | ||
1061 | return new WixErrorEventArgs(sourceLineNumbers, 156, "WixErrors_ExpectedEndforeach_1"); | ||
1062 | } | ||
1063 | |||
1064 | public static MessageEventArgs UnmatchedQuotesInExpression(SourceLineNumber sourceLineNumbers, string expression) | ||
1065 | { | ||
1066 | return new WixErrorEventArgs(sourceLineNumbers, 158, "WixErrors_UnmatchedQuotesInExpression_1", expression); | ||
1067 | } | ||
1068 | |||
1069 | public static MessageEventArgs UnmatchedParenthesisInExpression(SourceLineNumber sourceLineNumbers, string expression) | ||
1070 | { | ||
1071 | return new WixErrorEventArgs(sourceLineNumbers, 159, "WixErrors_UnmatchedParenthesisInExpression_1", expression); | ||
1072 | } | ||
1073 | |||
1074 | public static MessageEventArgs ExpectedVariable(SourceLineNumber sourceLineNumbers, string expression) | ||
1075 | { | ||
1076 | return new WixErrorEventArgs(sourceLineNumbers, 160, "WixErrors_ExpectedVariable_1", expression); | ||
1077 | } | ||
1078 | |||
1079 | public static MessageEventArgs UnexpectedLiteral(SourceLineNumber sourceLineNumbers, string expression) | ||
1080 | { | ||
1081 | return new WixErrorEventArgs(sourceLineNumbers, 161, "WixErrors_UnexpectedLiteral_1", expression); | ||
1082 | } | ||
1083 | |||
1084 | public static MessageEventArgs IllegalIntegerInExpression(SourceLineNumber sourceLineNumbers, string expression) | ||
1085 | { | ||
1086 | return new WixErrorEventArgs(sourceLineNumbers, 162, "WixErrors_IllegalIntegerInExpression_1", expression); | ||
1087 | } | ||
1088 | |||
1089 | public static MessageEventArgs UnexpectedPreprocessorOperator(SourceLineNumber sourceLineNumbers, string @operator) | ||
1090 | { | ||
1091 | return new WixErrorEventArgs(sourceLineNumbers, 163, "WixErrors_UnexpectedPreprocessorOperator_1", @operator); | ||
1092 | } | ||
1093 | |||
1094 | public static MessageEventArgs UnexpectedEmptySubexpression(SourceLineNumber sourceLineNumbers, string expression) | ||
1095 | { | ||
1096 | return new WixErrorEventArgs(sourceLineNumbers, 164, "WixErrors_UnexpectedEmptySubexpression_1", expression); | ||
1097 | } | ||
1098 | |||
1099 | public static MessageEventArgs UnexpectedCustomTableColumn(SourceLineNumber sourceLineNumbers, string column) | ||
1100 | { | ||
1101 | return new WixErrorEventArgs(sourceLineNumbers, 165, "WixErrors_UnexpectedCustomTableColumn_1", column); | ||
1102 | } | ||
1103 | |||
1104 | public static MessageEventArgs UnknownCustomTableColumnType(SourceLineNumber sourceLineNumbers, string columnType) | ||
1105 | { | ||
1106 | return new WixErrorEventArgs(sourceLineNumbers, 166, "WixErrors_UnknownCustomTableColumnType_1", columnType); | ||
1107 | } | ||
1108 | |||
1109 | public static MessageEventArgs IllegalFileCompressionAttributes(SourceLineNumber sourceLineNumbers) | ||
1110 | { | ||
1111 | return new WixErrorEventArgs(sourceLineNumbers, 167, "WixErrors_IllegalFileCompressionAttributes_1"); | ||
1112 | } | ||
1113 | |||
1114 | public static MessageEventArgs OverridableActionCollision(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
1115 | { | ||
1116 | return new WixErrorEventArgs(sourceLineNumbers, 168, "WixErrors_OverridableActionCollision_1", sequenceTableName, actionName); | ||
1117 | } | ||
1118 | |||
1119 | public static MessageEventArgs OverridableActionCollision2(SourceLineNumber sourceLineNumbers) | ||
1120 | { | ||
1121 | return new WixErrorEventArgs(sourceLineNumbers, 169, "WixErrors_OverridableActionCollision2_1"); | ||
1122 | } | ||
1123 | |||
1124 | public static MessageEventArgs ActionCollision(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
1125 | { | ||
1126 | return new WixErrorEventArgs(sourceLineNumbers, 170, "WixErrors_ActionCollision_1", sequenceTableName, actionName); | ||
1127 | } | ||
1128 | |||
1129 | public static MessageEventArgs ActionCollision2(SourceLineNumber sourceLineNumbers) | ||
1130 | { | ||
1131 | return new WixErrorEventArgs(sourceLineNumbers, 171, "WixErrors_ActionCollision2_1"); | ||
1132 | } | ||
1133 | |||
1134 | public static MessageEventArgs SuppressNonoverridableAction(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
1135 | { | ||
1136 | return new WixErrorEventArgs(sourceLineNumbers, 172, "WixErrors_SuppressNonoverridableAction_1", sequenceTableName, actionName); | ||
1137 | } | ||
1138 | |||
1139 | public static MessageEventArgs SuppressNonoverridableAction2(SourceLineNumber sourceLineNumbers) | ||
1140 | { | ||
1141 | return new WixErrorEventArgs(sourceLineNumbers, 173, "WixErrors_SuppressNonoverridableAction2_1"); | ||
1142 | } | ||
1143 | |||
1144 | public static MessageEventArgs CustomActionSequencedInModule(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
1145 | { | ||
1146 | return new WixErrorEventArgs(sourceLineNumbers, 174, "WixErrors_CustomActionSequencedInModule_1", sequenceTableName, actionName); | ||
1147 | } | ||
1148 | |||
1149 | public static MessageEventArgs StandardActionRelativelyScheduledInModule(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
1150 | { | ||
1151 | return new WixErrorEventArgs(sourceLineNumbers, 175, "WixErrors_StandardActionRelativelyScheduledInModule_1", sequenceTableName, actionName); | ||
1152 | } | ||
1153 | |||
1154 | public static MessageEventArgs ActionCircularDependency(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName1, string actionName2) | ||
1155 | { | ||
1156 | return new WixErrorEventArgs(sourceLineNumbers, 176, "WixErrors_ActionCircularDependency_1", sequenceTableName, actionName1, actionName2); | ||
1157 | } | ||
1158 | |||
1159 | public static MessageEventArgs ActionScheduledRelativeToTerminationAction(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName1, string actionName2) | ||
1160 | { | ||
1161 | return new WixErrorEventArgs(sourceLineNumbers, 177, "WixErrors_ActionScheduledRelativeToTerminationAction_1", sequenceTableName, actionName1, actionName2); | ||
1162 | } | ||
1163 | |||
1164 | public static MessageEventArgs ActionScheduledRelativeToTerminationAction2(SourceLineNumber sourceLineNumbers) | ||
1165 | { | ||
1166 | return new WixErrorEventArgs(sourceLineNumbers, 178, "WixErrors_ActionScheduledRelativeToTerminationAction2_1"); | ||
1167 | } | ||
1168 | |||
1169 | public static MessageEventArgs NoUniqueActionSequenceNumber(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName1, string actionName2) | ||
1170 | { | ||
1171 | return new WixErrorEventArgs(sourceLineNumbers, 179, "WixErrors_NoUniqueActionSequenceNumber_1", sequenceTableName, actionName1, actionName2); | ||
1172 | } | ||
1173 | |||
1174 | public static MessageEventArgs NoUniqueActionSequenceNumber2(SourceLineNumber sourceLineNumbers) | ||
1175 | { | ||
1176 | return new WixErrorEventArgs(sourceLineNumbers, 180, "WixErrors_NoUniqueActionSequenceNumber2_1"); | ||
1177 | } | ||
1178 | |||
1179 | public static MessageEventArgs ActionScheduledRelativeToItself(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) | ||
1180 | { | ||
1181 | return new WixErrorEventArgs(sourceLineNumbers, 181, "WixErrors_ActionScheduledRelativeToItself_1", elementName, attributeName, attributeValue); | ||
1182 | } | ||
1183 | |||
1184 | public static MessageEventArgs MissingTableDefinition(string tableName) | ||
1185 | { | ||
1186 | return new WixErrorEventArgs(null, 182, "WixErrors_MissingTableDefinition_1", tableName); | ||
1187 | } | ||
1188 | |||
1189 | public static MessageEventArgs ExpectedRowInPatchCreationPackage(string tableName) | ||
1190 | { | ||
1191 | return new WixErrorEventArgs(null, 183, "WixErrors_ExpectedRowInPatchCreationPackage_1", tableName); | ||
1192 | } | ||
1193 | |||
1194 | public static MessageEventArgs UnexpectedTableInMergeModule(SourceLineNumber sourceLineNumbers, string tableName) | ||
1195 | { | ||
1196 | return new WixErrorEventArgs(sourceLineNumbers, 184, "WixErrors_UnexpectedTableInMergeModule_1", tableName); | ||
1197 | } | ||
1198 | |||
1199 | public static MessageEventArgs UnexpectedTableInPatchCreationPackage(SourceLineNumber sourceLineNumbers, string tableName) | ||
1200 | { | ||
1201 | return new WixErrorEventArgs(sourceLineNumbers, 185, "WixErrors_UnexpectedTableInPatchCreationPackage_1", tableName); | ||
1202 | } | ||
1203 | |||
1204 | public static MessageEventArgs MergeExcludedModule(SourceLineNumber sourceLineNumbers, string mergeId, string otherMergeId) | ||
1205 | { | ||
1206 | return new WixErrorEventArgs(sourceLineNumbers, 186, "WixErrors_MergeExcludedModule_1", mergeId, otherMergeId); | ||
1207 | } | ||
1208 | |||
1209 | public static MessageEventArgs MergeFeatureRequired(SourceLineNumber sourceLineNumbers, string tableName, string primaryKeys, string mergeModuleFile, string mergeId) | ||
1210 | { | ||
1211 | return new WixErrorEventArgs(sourceLineNumbers, 187, "WixErrors_MergeFeatureRequired_1", tableName, primaryKeys, mergeModuleFile, mergeId); | ||
1212 | } | ||
1213 | |||
1214 | public static MessageEventArgs MergeLanguageFailed(SourceLineNumber sourceLineNumbers, short language, string mergeModuleFile) | ||
1215 | { | ||
1216 | return new WixErrorEventArgs(sourceLineNumbers, 188, "WixErrors_MergeLanguageFailed_1", language, mergeModuleFile); | ||
1217 | } | ||
1218 | |||
1219 | public static MessageEventArgs MergeLanguageUnsupported(SourceLineNumber sourceLineNumbers, short language, string mergeModuleFile) | ||
1220 | { | ||
1221 | return new WixErrorEventArgs(sourceLineNumbers, 189, "WixErrors_MergeLanguageUnsupported_1", language, mergeModuleFile); | ||
1222 | } | ||
1223 | |||
1224 | public static MessageEventArgs TableDecompilationUnimplemented(string tableName) | ||
1225 | { | ||
1226 | return new WixErrorEventArgs(null, 190, "WixErrors_TableDecompilationUnimplemented_1", tableName); | ||
1227 | } | ||
1228 | |||
1229 | public static MessageEventArgs CannotDefaultMismatchedAdvertiseStates(SourceLineNumber sourceLineNumbers) | ||
1230 | { | ||
1231 | return new WixErrorEventArgs(sourceLineNumbers, 191, "WixErrors_CannotDefaultMismatchedAdvertiseStates_1"); | ||
1232 | } | ||
1233 | |||
1234 | public static MessageEventArgs VersionIndependentProgIdsCannotHaveIcons(SourceLineNumber sourceLineNumbers) | ||
1235 | { | ||
1236 | return new WixErrorEventArgs(sourceLineNumbers, 192, "WixErrors_VersionIndependentProgIdsCannotHaveIcons_1"); | ||
1237 | } | ||
1238 | |||
1239 | public static MessageEventArgs IllegalAttributeValueWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue, string otherAttributeName) | ||
1240 | { | ||
1241 | return new WixErrorEventArgs(sourceLineNumbers, 193, "WixErrors_IllegalAttributeValueWithOtherAttribute_1", elementName, attributeName, attributeValue, otherAttributeName); | ||
1242 | } | ||
1243 | |||
1244 | public static MessageEventArgs IllegalAttributeValueWithOtherAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue, string otherAttributeName, string otherAttributeValue) | ||
1245 | { | ||
1246 | return new WixErrorEventArgs(sourceLineNumbers, 193, "WixErrors_IllegalAttributeValueWithOtherAttribute_2", elementName, attributeName, attributeValue, otherAttributeName, otherAttributeValue); | ||
1247 | } | ||
1248 | |||
1249 | public static MessageEventArgs InvalidMergeLanguage(SourceLineNumber sourceLineNumbers, string mergeId, string mergeLanguage) | ||
1250 | { | ||
1251 | return new WixErrorEventArgs(sourceLineNumbers, 194, "WixErrors_InvalidMergeLanguage_1", mergeId, mergeLanguage); | ||
1252 | } | ||
1253 | |||
1254 | public static MessageEventArgs WixVariableCollision(SourceLineNumber sourceLineNumbers, string variableId) | ||
1255 | { | ||
1256 | return new WixErrorEventArgs(sourceLineNumbers, 195, "WixErrors_WixVariableCollision_1", variableId); | ||
1257 | } | ||
1258 | |||
1259 | public static MessageEventArgs ExpectedWixVariableValue(string variableId) | ||
1260 | { | ||
1261 | return new WixErrorEventArgs(null, 196, "WixErrors_ExpectedWixVariableValue_1", variableId); | ||
1262 | } | ||
1263 | |||
1264 | public static MessageEventArgs WixVariableUnknown(SourceLineNumber sourceLineNumbers, string variableId) | ||
1265 | { | ||
1266 | return new WixErrorEventArgs(sourceLineNumbers, 197, "WixErrors_WixVariableUnknown_1", variableId); | ||
1267 | } | ||
1268 | |||
1269 | public static MessageEventArgs IllegalWixVariablePrefix(SourceLineNumber sourceLineNumbers, string variableId) | ||
1270 | { | ||
1271 | return new WixErrorEventArgs(sourceLineNumbers, 198, "WixErrors_IllegalWixVariablePrefix_1", variableId); | ||
1272 | } | ||
1273 | |||
1274 | public static MessageEventArgs InvalidWixXmlNamespace(SourceLineNumber sourceLineNumbers, string wixElementName, string wixNamespace) | ||
1275 | { | ||
1276 | return new WixErrorEventArgs(sourceLineNumbers, 199, "WixErrors_InvalidWixXmlNamespace_1", wixElementName, wixNamespace); | ||
1277 | } | ||
1278 | |||
1279 | public static MessageEventArgs InvalidWixXmlNamespace(SourceLineNumber sourceLineNumbers, string wixElementName, string elementNamespace, string wixNamespace) | ||
1280 | { | ||
1281 | return new WixErrorEventArgs(sourceLineNumbers, 199, "WixErrors_InvalidWixXmlNamespace_2", wixElementName, elementNamespace, wixNamespace); | ||
1282 | } | ||
1283 | |||
1284 | public static MessageEventArgs UnhandledExtensionElement(SourceLineNumber sourceLineNumbers, string elementName, string extensionElementName, string extensionNamespace) | ||
1285 | { | ||
1286 | return new WixErrorEventArgs(sourceLineNumbers, 200, "WixErrors_UnhandledExtensionElement_1", elementName, extensionElementName, extensionNamespace); | ||
1287 | } | ||
1288 | |||
1289 | public static MessageEventArgs UnhandledExtensionAttribute(SourceLineNumber sourceLineNumbers, string elementName, string extensionAttributeName, string extensionNamespace) | ||
1290 | { | ||
1291 | return new WixErrorEventArgs(sourceLineNumbers, 201, "WixErrors_UnhandledExtensionAttribute_1", elementName, extensionAttributeName, extensionNamespace); | ||
1292 | } | ||
1293 | |||
1294 | public static MessageEventArgs UnsupportedExtensionAttribute(SourceLineNumber sourceLineNumbers, string elementName, string extensionElementName) | ||
1295 | { | ||
1296 | return new WixErrorEventArgs(sourceLineNumbers, 202, "WixErrors_UnsupportedExtensionAttribute_1", elementName, extensionElementName); | ||
1297 | } | ||
1298 | |||
1299 | public static MessageEventArgs UnsupportedExtensionElement(SourceLineNumber sourceLineNumbers, string elementName, string extensionElementName) | ||
1300 | { | ||
1301 | return new WixErrorEventArgs(sourceLineNumbers, 203, "WixErrors_UnsupportedExtensionElement_1", elementName, extensionElementName); | ||
1302 | } | ||
1303 | |||
1304 | public static MessageEventArgs ValidationError(SourceLineNumber sourceLineNumbers, string ice, string message) | ||
1305 | { | ||
1306 | return new WixErrorEventArgs(sourceLineNumbers, 204, "WixErrors_ValidationError_1", ice, message); | ||
1307 | } | ||
1308 | |||
1309 | public static MessageEventArgs IllegalRootDirectory(SourceLineNumber sourceLineNumbers, string directoryId) | ||
1310 | { | ||
1311 | return new WixErrorEventArgs(sourceLineNumbers, 205, "WixErrors_IllegalRootDirectory_1", directoryId); | ||
1312 | } | ||
1313 | |||
1314 | public static MessageEventArgs IllegalTargetDirDefaultDir(SourceLineNumber sourceLineNumbers, string defaultDir) | ||
1315 | { | ||
1316 | return new WixErrorEventArgs(sourceLineNumbers, 206, "WixErrors_IllegalTargetDirDefaultDir_1", defaultDir); | ||
1317 | } | ||
1318 | |||
1319 | public static MessageEventArgs TooManyElements(SourceLineNumber sourceLineNumbers, string elementName, string childElementName, int expectedInstances) | ||
1320 | { | ||
1321 | return new WixErrorEventArgs(sourceLineNumbers, 207, "WixErrors_TooManyElements_1", elementName, childElementName, expectedInstances); | ||
1322 | } | ||
1323 | |||
1324 | public static MessageEventArgs ExpectedBinaryCategory(SourceLineNumber sourceLineNumbers) | ||
1325 | { | ||
1326 | return new WixErrorEventArgs(sourceLineNumbers, 208, "WixErrors_ExpectedBinaryCategory_1"); | ||
1327 | } | ||
1328 | |||
1329 | public static MessageEventArgs RootFeatureCannotFollowParent(SourceLineNumber sourceLineNumbers) | ||
1330 | { | ||
1331 | return new WixErrorEventArgs(sourceLineNumbers, 209, "WixErrors_RootFeatureCannotFollowParent_1"); | ||
1332 | } | ||
1333 | |||
1334 | public static MessageEventArgs FeatureNameTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) | ||
1335 | { | ||
1336 | return new WixErrorEventArgs(sourceLineNumbers, 210, "WixErrors_FeatureNameTooLong_1", elementName, attributeName, attributeValue); | ||
1337 | } | ||
1338 | |||
1339 | public static MessageEventArgs SignedEmbeddedCabinet(SourceLineNumber sourceLineNumbers) | ||
1340 | { | ||
1341 | return new WixErrorEventArgs(sourceLineNumbers, 211, "WixErrors_SignedEmbeddedCabinet_1"); | ||
1342 | } | ||
1343 | |||
1344 | public static MessageEventArgs ExpectedSignedCabinetName(SourceLineNumber sourceLineNumbers) | ||
1345 | { | ||
1346 | return new WixErrorEventArgs(sourceLineNumbers, 212, "WixErrors_ExpectedSignedCabinetName_1"); | ||
1347 | } | ||
1348 | |||
1349 | public static MessageEventArgs IllegalInlineLocVariable(SourceLineNumber sourceLineNumbers, string variableName, string variableValue) | ||
1350 | { | ||
1351 | return new WixErrorEventArgs(sourceLineNumbers, 213, "WixErrors_IllegalInlineLocVariable_1", variableName, variableValue); | ||
1352 | } | ||
1353 | |||
1354 | public static MessageEventArgs MergeModuleExpectedFeature(SourceLineNumber sourceLineNumbers, string mergeId) | ||
1355 | { | ||
1356 | return new WixErrorEventArgs(sourceLineNumbers, 215, "WixErrors_MergeModuleExpectedFeature_1", mergeId); | ||
1357 | } | ||
1358 | |||
1359 | public static MessageEventArgs Win32Exception(int nativeErrorCode, string message) | ||
1360 | { | ||
1361 | return new WixErrorEventArgs(null, 216, "WixErrors_Win32Exception_1", nativeErrorCode, message); | ||
1362 | } | ||
1363 | |||
1364 | public static MessageEventArgs Win32Exception(int nativeErrorCode, string file, string message) | ||
1365 | { | ||
1366 | return new WixErrorEventArgs(null, 216, "WixErrors_Win32Exception_2", nativeErrorCode, file, message); | ||
1367 | } | ||
1368 | |||
1369 | public static MessageEventArgs UnexpectedExternalUIMessage(string message) | ||
1370 | { | ||
1371 | return new WixErrorEventArgs(null, 217, "WixErrors_UnexpectedExternalUIMessage_1", message); | ||
1372 | } | ||
1373 | |||
1374 | public static MessageEventArgs UnexpectedExternalUIMessage(string message, string action) | ||
1375 | { | ||
1376 | return new WixErrorEventArgs(null, 217, "WixErrors_UnexpectedExternalUIMessage_2", message, action); | ||
1377 | } | ||
1378 | |||
1379 | public static MessageEventArgs IllegalCabbingThreadCount(string numThreads) | ||
1380 | { | ||
1381 | return new WixErrorEventArgs(null, 218, "WixErrors_IllegalCabbingThreadCount_1", numThreads); | ||
1382 | } | ||
1383 | |||
1384 | public static MessageEventArgs IllegalEnvironmentVariable(string environmentVariable, string value) | ||
1385 | { | ||
1386 | return new WixErrorEventArgs(null, 219, "WixErrors_IllegalEnvironmentVariable_1", environmentVariable, value); | ||
1387 | } | ||
1388 | |||
1389 | public static MessageEventArgs InvalidKeyColumn(string tableName, string columnName, string foreignTableName, int foreignColumnNumber) | ||
1390 | { | ||
1391 | return new WixErrorEventArgs(null, 220, "WixErrors_InvalidKeyColumn_1", tableName, columnName, foreignTableName, foreignColumnNumber); | ||
1392 | } | ||
1393 | |||
1394 | public static MessageEventArgs CollidingModularizationTypes(string tableName, string columnName, string foreignTableName, int foreignColumnNumber, string modularizationType, string foreignModularizationType) | ||
1395 | { | ||
1396 | return new WixErrorEventArgs(null, 221, "WixErrors_CollidingModularizationTypes_1", tableName, columnName, foreignTableName, foreignColumnNumber, modularizationType, foreignModularizationType); | ||
1397 | } | ||
1398 | |||
1399 | public static MessageEventArgs CubeFileNotFound(string cubeFile) | ||
1400 | { | ||
1401 | return new WixErrorEventArgs(null, 222, "WixErrors_CubeFileNotFound_1", cubeFile); | ||
1402 | } | ||
1403 | |||
1404 | public static MessageEventArgs OpenDatabaseFailed(string databaseFile) | ||
1405 | { | ||
1406 | return new WixErrorEventArgs(null, 223, "WixErrors_OpenDatabaseFailed_1", databaseFile); | ||
1407 | } | ||
1408 | |||
1409 | public static MessageEventArgs OutputTypeMismatch(SourceLineNumber sourceLineNumbers, string beforeOutputType, string afterOutputType) | ||
1410 | { | ||
1411 | return new WixErrorEventArgs(sourceLineNumbers, 224, "WixErrors_OutputTypeMismatch_1", beforeOutputType, afterOutputType); | ||
1412 | } | ||
1413 | |||
1414 | public static MessageEventArgs RealTableMissingPrimaryKeyColumn(SourceLineNumber sourceLineNumbers, string tableName) | ||
1415 | { | ||
1416 | return new WixErrorEventArgs(sourceLineNumbers, 225, "WixErrors_RealTableMissingPrimaryKeyColumn_1", tableName); | ||
1417 | } | ||
1418 | |||
1419 | public static MessageEventArgs IllegalColumnName(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
1420 | { | ||
1421 | return new WixErrorEventArgs(sourceLineNumbers, 226, "WixErrors_IllegalColumnName_1", elementName, attributeName, value); | ||
1422 | } | ||
1423 | |||
1424 | public static MessageEventArgs NoDifferencesInTransform(SourceLineNumber sourceLineNumbers) | ||
1425 | { | ||
1426 | return new WixErrorEventArgs(sourceLineNumbers, 227, "WixErrors_NoDifferencesInTransform_1"); | ||
1427 | } | ||
1428 | |||
1429 | public static MessageEventArgs OutputCodepageMismatch(SourceLineNumber sourceLineNumbers, int beforeCodepage, int afterCodepage) | ||
1430 | { | ||
1431 | return new WixErrorEventArgs(sourceLineNumbers, 228, "WixErrors_OutputCodepageMismatch_1", beforeCodepage, afterCodepage); | ||
1432 | } | ||
1433 | |||
1434 | public static MessageEventArgs OutputCodepageMismatch2(SourceLineNumber sourceLineNumbers) | ||
1435 | { | ||
1436 | return new WixErrorEventArgs(sourceLineNumbers, 229, "WixErrors_OutputCodepageMismatch2_1"); | ||
1437 | } | ||
1438 | |||
1439 | public static MessageEventArgs IllegalComponentWithAutoGeneratedGuid(SourceLineNumber sourceLineNumbers) | ||
1440 | { | ||
1441 | return new WixErrorEventArgs(sourceLineNumbers, 230, "WixErrors_IllegalComponentWithAutoGeneratedGuid_1"); | ||
1442 | } | ||
1443 | |||
1444 | public static MessageEventArgs IllegalComponentWithAutoGeneratedGuid(SourceLineNumber sourceLineNumbers, bool registryKeyPath) | ||
1445 | { | ||
1446 | return new WixErrorEventArgs(sourceLineNumbers, 230, "WixErrors_IllegalComponentWithAutoGeneratedGuid_2", registryKeyPath); | ||
1447 | } | ||
1448 | |||
1449 | public static MessageEventArgs IllegalPathForGeneratedComponentGuid(SourceLineNumber sourceLineNumbers, string componentName, string keyFilePath) | ||
1450 | { | ||
1451 | return new WixErrorEventArgs(sourceLineNumbers, 231, "WixErrors_IllegalPathForGeneratedComponentGuid_1", componentName, keyFilePath); | ||
1452 | } | ||
1453 | |||
1454 | public static MessageEventArgs IllegalTerminalServerCustomActionAttributes(SourceLineNumber sourceLineNumbers) | ||
1455 | { | ||
1456 | return new WixErrorEventArgs(sourceLineNumbers, 232, "WixErrors_IllegalTerminalServerCustomActionAttributes_1"); | ||
1457 | } | ||
1458 | |||
1459 | public static MessageEventArgs IllegalPropertyCustomActionAttributes(SourceLineNumber sourceLineNumbers) | ||
1460 | { | ||
1461 | return new WixErrorEventArgs(sourceLineNumbers, 233, "WixErrors_IllegalPropertyCustomActionAttributes_1"); | ||
1462 | } | ||
1463 | |||
1464 | public static MessageEventArgs InvalidPreprocessorFunction(SourceLineNumber sourceLineNumbers, string variable) | ||
1465 | { | ||
1466 | return new WixErrorEventArgs(sourceLineNumbers, 234, "WixErrors_InvalidPreprocessorFunction_1", variable); | ||
1467 | } | ||
1468 | |||
1469 | public static MessageEventArgs UndefinedPreprocessorFunction(SourceLineNumber sourceLineNumbers, string variableName) | ||
1470 | { | ||
1471 | return new WixErrorEventArgs(sourceLineNumbers, 235, "WixErrors_UndefinedPreprocessorFunction_1", variableName); | ||
1472 | } | ||
1473 | |||
1474 | public static MessageEventArgs PreprocessorExtensionEvaluateFunctionFailed(SourceLineNumber sourceLineNumbers, string prefix, string function, string args, string message) | ||
1475 | { | ||
1476 | return new WixErrorEventArgs(sourceLineNumbers, 236, "WixErrors_PreprocessorExtensionEvaluateFunctionFailed_1", prefix, function, args, message); | ||
1477 | } | ||
1478 | |||
1479 | public static MessageEventArgs PreprocessorExtensionGetVariableValueFailed(SourceLineNumber sourceLineNumbers, string prefix, string variable, string message) | ||
1480 | { | ||
1481 | return new WixErrorEventArgs(sourceLineNumbers, 237, "WixErrors_PreprocessorExtensionGetVariableValueFailed_1", prefix, variable, message); | ||
1482 | } | ||
1483 | |||
1484 | public static MessageEventArgs InvalidManifestContent(SourceLineNumber sourceLineNumbers, string fileName) | ||
1485 | { | ||
1486 | return new WixErrorEventArgs(sourceLineNumbers, 238, "WixErrors_InvalidManifestContent_1", fileName); | ||
1487 | } | ||
1488 | |||
1489 | public static MessageEventArgs InvalidWixTransform(string fileName) | ||
1490 | { | ||
1491 | return new WixErrorEventArgs(null, 239, "WixErrors_InvalidWixTransform_1", fileName); | ||
1492 | } | ||
1493 | |||
1494 | public static MessageEventArgs UnexpectedFileExtension(string fileName, string expectedExtensions) | ||
1495 | { | ||
1496 | return new WixErrorEventArgs(null, 240, "WixErrors_UnexpectedFileExtension_1", fileName, expectedExtensions); | ||
1497 | } | ||
1498 | |||
1499 | public static MessageEventArgs UnexpectedTableInPatch(SourceLineNumber sourceLineNumbers, string tableName) | ||
1500 | { | ||
1501 | return new WixErrorEventArgs(sourceLineNumbers, 241, "WixErrors_UnexpectedTableInPatch_1", tableName); | ||
1502 | } | ||
1503 | |||
1504 | public static MessageEventArgs InvalidProductVersion(SourceLineNumber sourceLineNumbers, string version) | ||
1505 | { | ||
1506 | return new WixErrorEventArgs(sourceLineNumbers, 242, "WixErrors_InvalidProductVersion_1", version); | ||
1507 | } | ||
1508 | |||
1509 | public static MessageEventArgs InvalidProductVersion(SourceLineNumber sourceLineNumbers, string version, string packagePath) | ||
1510 | { | ||
1511 | return new WixErrorEventArgs(sourceLineNumbers, 242, "WixErrors_InvalidProductVersion_2", version, packagePath); | ||
1512 | } | ||
1513 | |||
1514 | public static MessageEventArgs InvalidKeypathChange(SourceLineNumber sourceLineNumbers, string component, string transformPath) | ||
1515 | { | ||
1516 | return new WixErrorEventArgs(sourceLineNumbers, 243, "WixErrors_InvalidKeypathChange_1", component, transformPath); | ||
1517 | } | ||
1518 | |||
1519 | public static MessageEventArgs MissingValidatorExtension() | ||
1520 | { | ||
1521 | return new WixErrorEventArgs(null, 244, "WixErrors_MissingValidatorExtension_1"); | ||
1522 | } | ||
1523 | |||
1524 | public static MessageEventArgs InvalidValidatorMessageType(string type) | ||
1525 | { | ||
1526 | return new WixErrorEventArgs(null, 245, "WixErrors_InvalidValidatorMessageType_1", type); | ||
1527 | } | ||
1528 | |||
1529 | public static MessageEventArgs PatchWithoutTransforms() | ||
1530 | { | ||
1531 | return new WixErrorEventArgs(null, 246, "WixErrors_PatchWithoutTransforms_1"); | ||
1532 | } | ||
1533 | |||
1534 | public static MessageEventArgs SingleExtensionSupported() | ||
1535 | { | ||
1536 | return new WixErrorEventArgs(null, 247, "WixErrors_SingleExtensionSupported_1"); | ||
1537 | } | ||
1538 | |||
1539 | public static MessageEventArgs DuplicateTransform(string transform) | ||
1540 | { | ||
1541 | return new WixErrorEventArgs(null, 248, "WixErrors_DuplicateTransform_1", transform); | ||
1542 | } | ||
1543 | |||
1544 | public static MessageEventArgs BaselineRequired() | ||
1545 | { | ||
1546 | return new WixErrorEventArgs(null, 249, "WixErrors_BaselineRequired_1"); | ||
1547 | } | ||
1548 | |||
1549 | public static MessageEventArgs PreprocessorError(SourceLineNumber sourceLineNumbers, string message) | ||
1550 | { | ||
1551 | return new WixErrorEventArgs(sourceLineNumbers, 250, "WixErrors_PreprocessorError_1", message); | ||
1552 | } | ||
1553 | |||
1554 | public static MessageEventArgs ExpectedArgument(string argument) | ||
1555 | { | ||
1556 | return new WixErrorEventArgs(null, 251, "WixErrors_ExpectedArgument_1", argument); | ||
1557 | } | ||
1558 | |||
1559 | public static MessageEventArgs PatchWithoutValidTransforms() | ||
1560 | { | ||
1561 | return new WixErrorEventArgs(null, 252, "WixErrors_PatchWithoutValidTransforms_1"); | ||
1562 | } | ||
1563 | |||
1564 | public static MessageEventArgs ExpectedDecompiler(string identifier) | ||
1565 | { | ||
1566 | return new WixErrorEventArgs(null, 253, "WixErrors_ExpectedDecompiler_1", identifier); | ||
1567 | } | ||
1568 | |||
1569 | public static MessageEventArgs ExpectedTableInMergeModule(string identifier) | ||
1570 | { | ||
1571 | return new WixErrorEventArgs(null, 254, "WixErrors_ExpectedTableInMergeModule_1", identifier); | ||
1572 | } | ||
1573 | |||
1574 | public static MessageEventArgs UnexpectedElementWithAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string childElementName, string attribute, string attributeValue) | ||
1575 | { | ||
1576 | return new WixErrorEventArgs(sourceLineNumbers, 255, "WixErrors_UnexpectedElementWithAttributeValue_1", elementName, childElementName, attribute, attributeValue); | ||
1577 | } | ||
1578 | |||
1579 | public static MessageEventArgs UnexpectedElementWithAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string childElementName, string attribute, string attributeValue1, string attributeValue2) | ||
1580 | { | ||
1581 | return new WixErrorEventArgs(sourceLineNumbers, 255, "WixErrors_UnexpectedElementWithAttributeValue_2", elementName, childElementName, attribute, attributeValue1, attributeValue2); | ||
1582 | } | ||
1583 | |||
1584 | public static MessageEventArgs ExpectedPatchIdInWixMsp() | ||
1585 | { | ||
1586 | return new WixErrorEventArgs(null, 256, "WixErrors_ExpectedPatchIdInWixMsp_1"); | ||
1587 | } | ||
1588 | |||
1589 | public static MessageEventArgs ExpectedMediaRowsInWixMsp() | ||
1590 | { | ||
1591 | return new WixErrorEventArgs(null, 257, "WixErrors_ExpectedMediaRowsInWixMsp_1"); | ||
1592 | } | ||
1593 | |||
1594 | public static MessageEventArgs WixFileNotFound(string file) | ||
1595 | { | ||
1596 | return new WixErrorEventArgs(null, 258, "WixErrors_WixFileNotFound_1", file); | ||
1597 | } | ||
1598 | |||
1599 | public static MessageEventArgs ExpectedClientPatchIdInWixMsp() | ||
1600 | { | ||
1601 | return new WixErrorEventArgs(null, 259, "WixErrors_ExpectedClientPatchIdInWixMsp_1"); | ||
1602 | } | ||
1603 | |||
1604 | public static MessageEventArgs NewRowAddedInTable(SourceLineNumber sourceLineNumbers, string productCode, string tableName, string rowId) | ||
1605 | { | ||
1606 | return new WixErrorEventArgs(sourceLineNumbers, 260, "WixErrors_NewRowAddedInTable_1", productCode, tableName, rowId); | ||
1607 | } | ||
1608 | |||
1609 | public static MessageEventArgs PatchNotRemovable() | ||
1610 | { | ||
1611 | return new WixErrorEventArgs(null, 261, "WixErrors_PatchNotRemovable_1"); | ||
1612 | } | ||
1613 | |||
1614 | public static MessageEventArgs FileTooLarge(SourceLineNumber sourceLineNumbers, string fileName) | ||
1615 | { | ||
1616 | return new WixErrorEventArgs(sourceLineNumbers, 263, "WixErrors_FileTooLarge_1", fileName); | ||
1617 | } | ||
1618 | |||
1619 | public static MessageEventArgs InvalidPlatformParameter(string name, string value) | ||
1620 | { | ||
1621 | return new WixErrorEventArgs(null, 264, "WixErrors_InvalidPlatformParameter_1", name, value); | ||
1622 | } | ||
1623 | |||
1624 | public static MessageEventArgs InvalidPlatformValue(SourceLineNumber sourceLineNumbers, string value) | ||
1625 | { | ||
1626 | return new WixErrorEventArgs(sourceLineNumbers, 265, "WixErrors_InvalidPlatformValue_1", value); | ||
1627 | } | ||
1628 | |||
1629 | public static MessageEventArgs IllegalValidationArguments() | ||
1630 | { | ||
1631 | return new WixErrorEventArgs(null, 266, "WixErrors_IllegalValidationArguments_1"); | ||
1632 | } | ||
1633 | |||
1634 | public static MessageEventArgs OrphanedComponent(SourceLineNumber sourceLineNumbers, string componentName) | ||
1635 | { | ||
1636 | return new WixErrorEventArgs(sourceLineNumbers, 267, "WixErrors_OrphanedComponent_1", componentName); | ||
1637 | } | ||
1638 | |||
1639 | public static MessageEventArgs IllegalCommandlineArgumentCombination(string arg1, string arg2) | ||
1640 | { | ||
1641 | return new WixErrorEventArgs(null, 268, "WixErrors_IllegalCommandlineArgumentCombination_1", arg1, arg2); | ||
1642 | } | ||
1643 | |||
1644 | public static MessageEventArgs ProductCodeInvalidForTransform(SourceLineNumber sourceLineNumbers) | ||
1645 | { | ||
1646 | return new WixErrorEventArgs(sourceLineNumbers, 269, "WixErrors_ProductCodeInvalidForTransform_1"); | ||
1647 | } | ||
1648 | |||
1649 | public static MessageEventArgs InsertInvalidSequenceActionOrder(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionNameBefore, string actionNameAfter, string actionNameNew) | ||
1650 | { | ||
1651 | return new WixErrorEventArgs(sourceLineNumbers, 270, "WixErrors_InsertInvalidSequenceActionOrder_1", sequenceTableName, actionNameBefore, actionNameAfter, actionNameNew); | ||
1652 | } | ||
1653 | |||
1654 | public static MessageEventArgs InsertSequenceNoSpace(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionNameBefore, string actionNameAfter, string actionNameNew) | ||
1655 | { | ||
1656 | return new WixErrorEventArgs(sourceLineNumbers, 271, "WixErrors_InsertSequenceNoSpace_1", sequenceTableName, actionNameBefore, actionNameAfter, actionNameNew); | ||
1657 | } | ||
1658 | |||
1659 | public static MessageEventArgs MissingManifestForWin32Assembly(SourceLineNumber sourceLineNumbers, string file, string manifest) | ||
1660 | { | ||
1661 | return new WixErrorEventArgs(sourceLineNumbers, 272, "WixErrors_MissingManifestForWin32Assembly_1", file, manifest); | ||
1662 | } | ||
1663 | |||
1664 | public static MessageEventArgs UnableToOpenModule(SourceLineNumber sourceLineNumbers, string modulePath, string message) | ||
1665 | { | ||
1666 | return new WixErrorEventArgs(sourceLineNumbers, 273, "WixErrors_UnableToOpenModule_1", modulePath, message); | ||
1667 | } | ||
1668 | |||
1669 | public static MessageEventArgs ExpectedAttributeWhenElementNotUnderElement(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string parentElementName) | ||
1670 | { | ||
1671 | return new WixErrorEventArgs(sourceLineNumbers, 274, "WixErrors_ExpectedAttributeWhenElementNotUnderElement_1", elementName, attributeName, parentElementName); | ||
1672 | } | ||
1673 | |||
1674 | public static MessageEventArgs IllegalIdentifierLooksLikeFormatted(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
1675 | { | ||
1676 | return new WixErrorEventArgs(sourceLineNumbers, 275, "WixErrors_IllegalIdentifierLooksLikeFormatted_1", elementName, attributeName, value); | ||
1677 | } | ||
1678 | |||
1679 | public static MessageEventArgs IllegalCodepageAttribute(SourceLineNumber sourceLineNumbers, string codepage, string elementName, string attributeName) | ||
1680 | { | ||
1681 | return new WixErrorEventArgs(sourceLineNumbers, 276, "WixErrors_IllegalCodepageAttribute_1", codepage, elementName, attributeName); | ||
1682 | } | ||
1683 | |||
1684 | public static MessageEventArgs IllegalCompressionLevel(string compressionLevel) | ||
1685 | { | ||
1686 | return new WixErrorEventArgs(null, 277, "WixErrors_IllegalCompressionLevel_1", compressionLevel); | ||
1687 | } | ||
1688 | |||
1689 | public static MessageEventArgs TransformSchemaMismatch() | ||
1690 | { | ||
1691 | return new WixErrorEventArgs(null, 278, "WixErrors_TransformSchemaMismatch_1"); | ||
1692 | } | ||
1693 | |||
1694 | public static MessageEventArgs DatabaseSchemaMismatch(SourceLineNumber sourceLineNumbers, string tableName) | ||
1695 | { | ||
1696 | return new WixErrorEventArgs(sourceLineNumbers, 279, "WixErrors_DatabaseSchemaMismatch_1", tableName); | ||
1697 | } | ||
1698 | |||
1699 | public static MessageEventArgs ExpectedDirectoryGotFile(string option, string path) | ||
1700 | { | ||
1701 | return new WixErrorEventArgs(null, 280, "WixErrors_ExpectedDirectoryGotFile_1", option, path); | ||
1702 | } | ||
1703 | |||
1704 | public static MessageEventArgs ExpectedFileGotDirectory(string option, string path) | ||
1705 | { | ||
1706 | return new WixErrorEventArgs(null, 281, "WixErrors_ExpectedFileGotDirectory_1", option, path); | ||
1707 | } | ||
1708 | |||
1709 | public static MessageEventArgs GacAssemblyNoStrongName(SourceLineNumber sourceLineNumbers, string assemblyName, string componentName) | ||
1710 | { | ||
1711 | return new WixErrorEventArgs(sourceLineNumbers, 282, "WixErrors_GacAssemblyNoStrongName_1", assemblyName, componentName); | ||
1712 | } | ||
1713 | |||
1714 | public static MessageEventArgs FileWriteError(string path, string error) | ||
1715 | { | ||
1716 | return new WixErrorEventArgs(null, 283, "WixErrors_FileWriteError_1", path, error); | ||
1717 | } | ||
1718 | |||
1719 | public static MessageEventArgs InvalidCommandLineFileName(string fileName, string error) | ||
1720 | { | ||
1721 | return new WixErrorEventArgs(null, 284, "WixErrors_InvalidCommandLineFileName_1", fileName, error); | ||
1722 | } | ||
1723 | |||
1724 | public static MessageEventArgs ExpectedParentWithAttribute(SourceLineNumber sourceLineNumbers, string parentElement, string attribute, string grandparentElement) | ||
1725 | { | ||
1726 | return new WixErrorEventArgs(sourceLineNumbers, 285, "WixErrors_ExpectedParentWithAttribute_1", parentElement, attribute, grandparentElement); | ||
1727 | } | ||
1728 | |||
1729 | public static MessageEventArgs IllegalWarningIdAsError(string warningId) | ||
1730 | { | ||
1731 | return new WixErrorEventArgs(null, 286, "WixErrors_IllegalWarningIdAsError_1", warningId); | ||
1732 | } | ||
1733 | |||
1734 | public static MessageEventArgs ExpectedAttributeOrElement(SourceLineNumber sourceLineNumbers, string parentElement, string attribute, string childElement) | ||
1735 | { | ||
1736 | return new WixErrorEventArgs(sourceLineNumbers, 287, "WixErrors_ExpectedAttributeOrElement_1", parentElement, attribute, childElement); | ||
1737 | } | ||
1738 | |||
1739 | public static MessageEventArgs DuplicateVariableDefinition(string variableName, string variableValue, string variableCollidingValue) | ||
1740 | { | ||
1741 | return new WixErrorEventArgs(null, 288, "WixErrors_DuplicateVariableDefinition_1", variableName, variableValue, variableCollidingValue); | ||
1742 | } | ||
1743 | |||
1744 | public static MessageEventArgs InvalidVariableDefinition(string variableDefinition) | ||
1745 | { | ||
1746 | return new WixErrorEventArgs(null, 289, "WixErrors_InvalidVariableDefinition_1", variableDefinition); | ||
1747 | } | ||
1748 | |||
1749 | public static MessageEventArgs DuplicateCabinetName(SourceLineNumber sourceLineNumbers, string cabinetName) | ||
1750 | { | ||
1751 | return new WixErrorEventArgs(sourceLineNumbers, 290, "WixErrors_DuplicateCabinetName_1", cabinetName); | ||
1752 | } | ||
1753 | |||
1754 | public static MessageEventArgs DuplicateCabinetName2(SourceLineNumber sourceLineNumbers, string cabinetName) | ||
1755 | { | ||
1756 | return new WixErrorEventArgs(sourceLineNumbers, 291, "WixErrors_DuplicateCabinetName2_1", cabinetName); | ||
1757 | } | ||
1758 | |||
1759 | public static MessageEventArgs InvalidAddedFileRowWithoutSequence(SourceLineNumber sourceLineNumbers, string fileRowId) | ||
1760 | { | ||
1761 | return new WixErrorEventArgs(sourceLineNumbers, 292, "WixErrors_InvalidAddedFileRowWithoutSequence_1", fileRowId); | ||
1762 | } | ||
1763 | |||
1764 | public static MessageEventArgs DuplicateFileId(string fileId) | ||
1765 | { | ||
1766 | return new WixErrorEventArgs(null, 293, "WixErrors_DuplicateFileId_1", fileId); | ||
1767 | } | ||
1768 | |||
1769 | public static MessageEventArgs FullTempDirectory(string prefix, string directory) | ||
1770 | { | ||
1771 | return new WixErrorEventArgs(null, 294, "WixErrors_FullTempDirectory_1", prefix, directory); | ||
1772 | } | ||
1773 | |||
1774 | public static MessageEventArgs CreateCabAddFileFailed() | ||
1775 | { | ||
1776 | return new WixErrorEventArgs(null, 296, "WixErrors_CreateCabAddFileFailed_1"); | ||
1777 | } | ||
1778 | |||
1779 | public static MessageEventArgs CreateCabInsufficientDiskSpace() | ||
1780 | { | ||
1781 | return new WixErrorEventArgs(null, 297, "WixErrors_CreateCabInsufficientDiskSpace_1"); | ||
1782 | } | ||
1783 | |||
1784 | public static MessageEventArgs UnresolvedBindReference(SourceLineNumber sourceLineNumbers, string BindRef) | ||
1785 | { | ||
1786 | return new WixErrorEventArgs(sourceLineNumbers, 298, "WixErrors_UnresolvedBindReference_1", BindRef); | ||
1787 | } | ||
1788 | |||
1789 | public static MessageEventArgs GACAssemblyIdentityWarning(SourceLineNumber sourceLineNumbers, string fileName, string assemblyName) | ||
1790 | { | ||
1791 | return new WixErrorEventArgs(sourceLineNumbers, 299, "WixErrors_GACAssemblyIdentityWarning_1", fileName, assemblyName); | ||
1792 | } | ||
1793 | |||
1794 | public static MessageEventArgs IllegalCharactersInPath(string pathName) | ||
1795 | { | ||
1796 | return new WixErrorEventArgs(null, 300, "WixErrors_IllegalCharactersInPath_1", pathName); | ||
1797 | } | ||
1798 | |||
1799 | public static MessageEventArgs ValidationFailedToOpenDatabase() | ||
1800 | { | ||
1801 | return new WixErrorEventArgs(null, 301, "WixErrors_ValidationFailedToOpenDatabase_1"); | ||
1802 | } | ||
1803 | |||
1804 | public static MessageEventArgs MustSpecifyOutputWithMoreThanOneInput() | ||
1805 | { | ||
1806 | return new WixErrorEventArgs(null, 302, "WixErrors_MustSpecifyOutputWithMoreThanOneInput_1"); | ||
1807 | } | ||
1808 | |||
1809 | public static MessageEventArgs IllegalSearchIdForParentDepth(SourceLineNumber sourceLineNumbers, string id, string parentId) | ||
1810 | { | ||
1811 | return new WixErrorEventArgs(sourceLineNumbers, 303, "WixErrors_IllegalSearchIdForParentDepth_1", id, parentId); | ||
1812 | } | ||
1813 | |||
1814 | public static MessageEventArgs IdentifierTooLongError(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, int maxLength) | ||
1815 | { | ||
1816 | return new WixErrorEventArgs(sourceLineNumbers, 304, "WixErrors_IdentifierTooLongError_1", elementName, attributeName, value, maxLength); | ||
1817 | } | ||
1818 | |||
1819 | public static MessageEventArgs InvalidRemoveComponent(SourceLineNumber sourceLineNumbers, string component, string feature, string transformPath) | ||
1820 | { | ||
1821 | return new WixErrorEventArgs(sourceLineNumbers, 305, "WixErrors_InvalidRemoveComponent_1", component, feature, transformPath); | ||
1822 | } | ||
1823 | |||
1824 | public static MessageEventArgs FinishCabFailed() | ||
1825 | { | ||
1826 | return new WixErrorEventArgs(null, 306, "WixErrors_FinishCabFailed_1"); | ||
1827 | } | ||
1828 | |||
1829 | public static MessageEventArgs InvalidExtensionType(string extension, string attributeType) | ||
1830 | { | ||
1831 | return new WixErrorEventArgs(null, 307, "WixErrors_InvalidExtensionType_1", extension, attributeType); | ||
1832 | } | ||
1833 | |||
1834 | public static MessageEventArgs InvalidExtensionType(string extension, string className, string expectedType) | ||
1835 | { | ||
1836 | return new WixErrorEventArgs(null, 307, "WixErrors_InvalidExtensionType_2", extension, className, expectedType); | ||
1837 | } | ||
1838 | |||
1839 | public static MessageEventArgs InvalidExtensionType(string extension, string className, string exceptionType, string exceptionMessage) | ||
1840 | { | ||
1841 | return new WixErrorEventArgs(null, 307, "WixErrors_InvalidExtensionType_3", extension, className, exceptionType, exceptionMessage); | ||
1842 | } | ||
1843 | |||
1844 | public static MessageEventArgs ValidationFailedDueToMultilanguageMergeModule() | ||
1845 | { | ||
1846 | return new WixErrorEventArgs(null, 309, "WixErrors_ValidationFailedDueToMultilanguageMergeModule_1"); | ||
1847 | } | ||
1848 | |||
1849 | public static MessageEventArgs ValidationFailedDueToInvalidPackage() | ||
1850 | { | ||
1851 | return new WixErrorEventArgs(null, 310, "WixErrors_ValidationFailedDueToInvalidPackage_1"); | ||
1852 | } | ||
1853 | |||
1854 | public static MessageEventArgs InvalidStringForCodepage(SourceLineNumber sourceLineNumbers, string codepage) | ||
1855 | { | ||
1856 | return new WixErrorEventArgs(sourceLineNumbers, 311, "WixErrors_InvalidStringForCodepage_1", codepage); | ||
1857 | } | ||
1858 | |||
1859 | public static MessageEventArgs InvalidEmbeddedUIFileName(SourceLineNumber sourceLineNumbers, string codepage) | ||
1860 | { | ||
1861 | return new WixErrorEventArgs(sourceLineNumbers, 312, "WixErrors_InvalidEmbeddedUIFileName_1", codepage); | ||
1862 | } | ||
1863 | |||
1864 | public static MessageEventArgs UniqueFileSearchIdRequired(SourceLineNumber sourceLineNumbers, string id, string elementName) | ||
1865 | { | ||
1866 | return new WixErrorEventArgs(sourceLineNumbers, 313, "WixErrors_UniqueFileSearchIdRequired_1", id, elementName); | ||
1867 | } | ||
1868 | |||
1869 | public static MessageEventArgs IllegalAttributeValueWhenNested(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attrivuteValue, string parentElementName) | ||
1870 | { | ||
1871 | return new WixErrorEventArgs(sourceLineNumbers, 314, "WixErrors_IllegalAttributeValueWhenNested_1", elementName, attributeName, attrivuteValue, parentElementName); | ||
1872 | } | ||
1873 | |||
1874 | public static MessageEventArgs AdminImageRequired(string productCode) | ||
1875 | { | ||
1876 | return new WixErrorEventArgs(null, 315, "WixErrors_AdminImageRequired_1", productCode); | ||
1877 | } | ||
1878 | |||
1879 | public static MessageEventArgs SamePatchBaselineId(SourceLineNumber sourceLineNumbers, string id) | ||
1880 | { | ||
1881 | return new WixErrorEventArgs(sourceLineNumbers, 316, "WixErrors_SamePatchBaselineId_1", id); | ||
1882 | } | ||
1883 | |||
1884 | public static MessageEventArgs SameFileIdDifferentSource(SourceLineNumber sourceLineNumbers, string fileId, string sourcePath1, string sourcePath2) | ||
1885 | { | ||
1886 | return new WixErrorEventArgs(sourceLineNumbers, 317, "WixErrors_SameFileIdDifferentSource_1", fileId, sourcePath1, sourcePath2); | ||
1887 | } | ||
1888 | |||
1889 | public static MessageEventArgs HarvestSourceNotSpecified() | ||
1890 | { | ||
1891 | return new WixErrorEventArgs(null, 318, "WixErrors_HarvestSourceNotSpecified_1"); | ||
1892 | } | ||
1893 | |||
1894 | public static MessageEventArgs OutputTargetNotSpecified() | ||
1895 | { | ||
1896 | return new WixErrorEventArgs(null, 319, "WixErrors_OutputTargetNotSpecified_1"); | ||
1897 | } | ||
1898 | |||
1899 | public static MessageEventArgs DuplicateCommandLineOptionInExtension(string @switch) | ||
1900 | { | ||
1901 | return new WixErrorEventArgs(null, 320, "WixErrors_DuplicateCommandLineOptionInExtension_1", @switch); | ||
1902 | } | ||
1903 | |||
1904 | public static MessageEventArgs HarvestTypeNotFound() | ||
1905 | { | ||
1906 | return new WixErrorEventArgs(null, 321, "WixErrors_HarvestTypeNotFound_1"); | ||
1907 | } | ||
1908 | |||
1909 | public static MessageEventArgs HarvestTypeNotFound(string harvestType) | ||
1910 | { | ||
1911 | return new WixErrorEventArgs(null, 321, "WixErrors_HarvestTypeNotFound_2", harvestType); | ||
1912 | } | ||
1913 | |||
1914 | public static MessageEventArgs BothUpgradeCodesRequired() | ||
1915 | { | ||
1916 | return new WixErrorEventArgs(null, 322, "WixErrors_BothUpgradeCodesRequired_1"); | ||
1917 | } | ||
1918 | |||
1919 | public static MessageEventArgs IllegalBinderClassName() | ||
1920 | { | ||
1921 | return new WixErrorEventArgs(null, 323, "WixErrors_IllegalBinderClassName_1"); | ||
1922 | } | ||
1923 | |||
1924 | public static MessageEventArgs SpecifiedBinderNotFound(string binderClass) | ||
1925 | { | ||
1926 | return new WixErrorEventArgs(null, 324, "WixErrors_SpecifiedBinderNotFound_1", binderClass); | ||
1927 | } | ||
1928 | |||
1929 | public static MessageEventArgs CannotLoadBinderFileManager(string binderFileManager, string currentBinderFileManager) | ||
1930 | { | ||
1931 | return new WixErrorEventArgs(null, 325, "WixErrors_CannotLoadBinderFileManager_1", binderFileManager, currentBinderFileManager); | ||
1932 | } | ||
1933 | |||
1934 | public static MessageEventArgs CannotLoadLinkerExtension(string linkerExtension, string currentLinkerExtension) | ||
1935 | { | ||
1936 | return new WixErrorEventArgs(null, 326, "WixErrors_CannotLoadLinkerExtension_1", linkerExtension, currentLinkerExtension); | ||
1937 | } | ||
1938 | |||
1939 | public static MessageEventArgs UnableToGetAuthenticodeCertOfFile(string filePath, string moreInformation) | ||
1940 | { | ||
1941 | return new WixErrorEventArgs(null, 327, "WixErrors_UnableToGetAuthenticodeCertOfFile_1", filePath, moreInformation); | ||
1942 | } | ||
1943 | |||
1944 | public static MessageEventArgs UnableToGetAuthenticodeCertOfFileDownlevelOS(string filePath, string moreInformation) | ||
1945 | { | ||
1946 | return new WixErrorEventArgs(null, 328, "WixErrors_UnableToGetAuthenticodeCertOfFileDownlevelOS_1", filePath, moreInformation); | ||
1947 | } | ||
1948 | |||
1949 | public static MessageEventArgs ReadOnlyOutputFile(string filePath) | ||
1950 | { | ||
1951 | return new WixErrorEventArgs(null, 329, "WixErrors_ReadOnlyOutputFile_1", filePath); | ||
1952 | } | ||
1953 | |||
1954 | public static MessageEventArgs CannotDefaultComponentId(SourceLineNumber sourceLineNumbers) | ||
1955 | { | ||
1956 | return new WixErrorEventArgs(sourceLineNumbers, 330, "WixErrors_CannotDefaultComponentId_1"); | ||
1957 | } | ||
1958 | |||
1959 | public static MessageEventArgs ParentElementAttributeRequired(SourceLineNumber sourceLineNumbers, string parentElement, string parentAttribute, string childElement) | ||
1960 | { | ||
1961 | return new WixErrorEventArgs(sourceLineNumbers, 331, "WixErrors_ParentElementAttributeRequired_1", parentElement, parentAttribute, childElement); | ||
1962 | } | ||
1963 | |||
1964 | public static MessageEventArgs PreprocessorExtensionPragmaFailed(SourceLineNumber sourceLineNumbers, string pragma, string message) | ||
1965 | { | ||
1966 | return new WixErrorEventArgs(sourceLineNumbers, 333, "WixErrors_PreprocessorExtensionPragmaFailed_1", pragma, message); | ||
1967 | } | ||
1968 | |||
1969 | public static MessageEventArgs InvalidPreprocessorPragma(SourceLineNumber sourceLineNumbers, string variable) | ||
1970 | { | ||
1971 | return new WixErrorEventArgs(sourceLineNumbers, 334, "WixErrors_InvalidPreprocessorPragma_1", variable); | ||
1972 | } | ||
1973 | |||
1974 | public static MessageEventArgs SmokeUnknownFileExtension() | ||
1975 | { | ||
1976 | return new WixErrorEventArgs(null, 335, "WixErrors_SmokeUnknownFileExtension_1"); | ||
1977 | } | ||
1978 | |||
1979 | public static MessageEventArgs SmokeUnsupportedFileExtension() | ||
1980 | { | ||
1981 | return new WixErrorEventArgs(null, 336, "WixErrors_SmokeUnsupportedFileExtension_1"); | ||
1982 | } | ||
1983 | |||
1984 | public static MessageEventArgs SmokeMalformedPath() | ||
1985 | { | ||
1986 | return new WixErrorEventArgs(null, 337, "WixErrors_SmokeMalformedPath_1"); | ||
1987 | } | ||
1988 | |||
1989 | public static MessageEventArgs InvalidStubExe(string filename) | ||
1990 | { | ||
1991 | return new WixErrorEventArgs(null, 338, "WixErrors_InvalidStubExe_1", filename); | ||
1992 | } | ||
1993 | |||
1994 | public static MessageEventArgs StubMissingWixburnSection(string filename) | ||
1995 | { | ||
1996 | return new WixErrorEventArgs(null, 339, "WixErrors_StubMissingWixburnSection_1", filename); | ||
1997 | } | ||
1998 | |||
1999 | public static MessageEventArgs StubWixburnSectionTooSmall(string filename) | ||
2000 | { | ||
2001 | return new WixErrorEventArgs(null, 340, "WixErrors_StubWixburnSectionTooSmall_1", filename); | ||
2002 | } | ||
2003 | |||
2004 | public static MessageEventArgs MissingBundleInformation(string data) | ||
2005 | { | ||
2006 | return new WixErrorEventArgs(null, 341, "WixErrors_MissingBundleInformation_1", data); | ||
2007 | } | ||
2008 | |||
2009 | public static MessageEventArgs UnexpectedGroupChild(string parentType, string parentId, string childType, string childId) | ||
2010 | { | ||
2011 | return new WixErrorEventArgs(null, 342, "WixErrors_UnexpectedGroupChild_1", parentType, parentId, childType, childId); | ||
2012 | } | ||
2013 | |||
2014 | public static MessageEventArgs OrderingReferenceLoopDetected(SourceLineNumber sourceLineNumbers, string loopList) | ||
2015 | { | ||
2016 | return new WixErrorEventArgs(sourceLineNumbers, 343, "WixErrors_OrderingReferenceLoopDetected_1", loopList); | ||
2017 | } | ||
2018 | |||
2019 | public static MessageEventArgs IdentifierNotFound(string type, string identifier) | ||
2020 | { | ||
2021 | return new WixErrorEventArgs(null, 344, "WixErrors_IdentifierNotFound_1", type, identifier); | ||
2022 | } | ||
2023 | |||
2024 | public static MessageEventArgs MergePlatformMismatch(SourceLineNumber sourceLineNumbers, string mergeModuleFile) | ||
2025 | { | ||
2026 | return new WixErrorEventArgs(sourceLineNumbers, 345, "WixErrors_MergePlatformMismatch_1", mergeModuleFile); | ||
2027 | } | ||
2028 | |||
2029 | public static MessageEventArgs IllegalRelativeLongFilename(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2030 | { | ||
2031 | return new WixErrorEventArgs(sourceLineNumbers, 346, "WixErrors_IllegalRelativeLongFilename_1", elementName, attributeName, value); | ||
2032 | } | ||
2033 | |||
2034 | public static MessageEventArgs IllegalAttributeValueWithLegalList(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string legalValueList) | ||
2035 | { | ||
2036 | return new WixErrorEventArgs(sourceLineNumbers, 347, "WixErrors_IllegalAttributeValueWithLegalList_1", elementName, attributeName, value, legalValueList); | ||
2037 | } | ||
2038 | |||
2039 | public static MessageEventArgs IllegalAttributeValueWithIllegalList(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string illegalValueList) | ||
2040 | { | ||
2041 | return new WixErrorEventArgs(sourceLineNumbers, 348, "WixErrors_IllegalAttributeValueWithIllegalList_1", elementName, attributeName, value, illegalValueList); | ||
2042 | } | ||
2043 | |||
2044 | public static MessageEventArgs InvalidSummaryInfoCodePage(SourceLineNumber sourceLineNumbers, int codePage) | ||
2045 | { | ||
2046 | return new WixErrorEventArgs(sourceLineNumbers, 349, "WixErrors_InvalidSummaryInfoCodePage_1", codePage); | ||
2047 | } | ||
2048 | |||
2049 | public static MessageEventArgs ValidationFailedDueToLowMsiEngine() | ||
2050 | { | ||
2051 | return new WixErrorEventArgs(null, 350, "WixErrors_ValidationFailedDueToLowMsiEngine_1"); | ||
2052 | } | ||
2053 | |||
2054 | public static MessageEventArgs DuplicateSourcesForOutput(string sourceList, string outputFile) | ||
2055 | { | ||
2056 | return new WixErrorEventArgs(null, 351, "WixErrors_DuplicateSourcesForOutput_1", sourceList, outputFile); | ||
2057 | } | ||
2058 | |||
2059 | public static MessageEventArgs UnableToReadPackageInformation(SourceLineNumber sourceLineNumbers, string packagePath, string detailedErrorMessage) | ||
2060 | { | ||
2061 | return new WixErrorEventArgs(sourceLineNumbers, 352, "WixErrors_UnableToReadPackageInformation_1", packagePath, detailedErrorMessage); | ||
2062 | } | ||
2063 | |||
2064 | public static MessageEventArgs MultipleFilesMatchedWithOutputSpecification(string sourceSpecification, string sourceList) | ||
2065 | { | ||
2066 | return new WixErrorEventArgs(null, 353, "WixErrors_MultipleFilesMatchedWithOutputSpecification_1", sourceSpecification, sourceList); | ||
2067 | } | ||
2068 | |||
2069 | public static MessageEventArgs InvalidBundle(string bundleExecutable) | ||
2070 | { | ||
2071 | return new WixErrorEventArgs(null, 354, "WixErrors_InvalidBundle_1", bundleExecutable); | ||
2072 | } | ||
2073 | |||
2074 | public static MessageEventArgs BundleTooNew(string bundleExecutable, long bundleVersion) | ||
2075 | { | ||
2076 | return new WixErrorEventArgs(null, 355, "WixErrors_BundleTooNew_1", bundleExecutable, bundleVersion); | ||
2077 | } | ||
2078 | |||
2079 | public static MessageEventArgs WrongFileExtensionForNumberOfInputs(string inputExtension, string input) | ||
2080 | { | ||
2081 | return new WixErrorEventArgs(null, 356, "WixErrors_WrongFileExtensionForNumberOfInputs_1", inputExtension, input); | ||
2082 | } | ||
2083 | |||
2084 | public static MessageEventArgs MediaTableCollision(SourceLineNumber sourceLineNumbers) | ||
2085 | { | ||
2086 | return new WixErrorEventArgs(sourceLineNumbers, 357, "WixErrors_MediaTableCollision_1"); | ||
2087 | } | ||
2088 | |||
2089 | public static MessageEventArgs InvalidCabinetTemplate(SourceLineNumber sourceLineNumbers, string cabinetTemplate) | ||
2090 | { | ||
2091 | return new WixErrorEventArgs(sourceLineNumbers, 358, "WixErrors_InvalidCabinetTemplate_1", cabinetTemplate); | ||
2092 | } | ||
2093 | |||
2094 | public static MessageEventArgs MaximumUncompressedMediaSizeTooLarge(SourceLineNumber sourceLineNumbers, int maximumUncompressedMediaSize) | ||
2095 | { | ||
2096 | return new WixErrorEventArgs(sourceLineNumbers, 359, "WixErrors_MaximumUncompressedMediaSizeTooLarge_1", maximumUncompressedMediaSize); | ||
2097 | } | ||
2098 | |||
2099 | public static MessageEventArgs CatalogVerificationFailed(string fileName) | ||
2100 | { | ||
2101 | return new WixErrorEventArgs(null, 360, "WixErrors_CatalogVerificationFailed_1", fileName); | ||
2102 | } | ||
2103 | |||
2104 | public static MessageEventArgs CatalogFileHashFailed(string fileName, int errorCode) | ||
2105 | { | ||
2106 | return new WixErrorEventArgs(null, 361, "WixErrors_CatalogFileHashFailed_1", fileName, errorCode); | ||
2107 | } | ||
2108 | |||
2109 | public static MessageEventArgs ReservedNamespaceViolation(SourceLineNumber sourceLineNumbers, string element, string attribute, string prefix) | ||
2110 | { | ||
2111 | return new WixErrorEventArgs(sourceLineNumbers, 362, "WixErrors_ReservedNamespaceViolation_1", element, attribute, prefix); | ||
2112 | } | ||
2113 | |||
2114 | public static MessageEventArgs PerUserButAllUsersEquals1(SourceLineNumber sourceLineNumbers, string path) | ||
2115 | { | ||
2116 | return new WixErrorEventArgs(sourceLineNumbers, 363, "WixErrors_PerUserButAllUsersEquals1_1", path); | ||
2117 | } | ||
2118 | |||
2119 | public static MessageEventArgs UnsupportedAllUsersValue(SourceLineNumber sourceLineNumbers, string path, string value) | ||
2120 | { | ||
2121 | return new WixErrorEventArgs(sourceLineNumbers, 364, "WixErrors_UnsupportedAllUsersValue_1", path, value); | ||
2122 | } | ||
2123 | |||
2124 | public static MessageEventArgs DisallowedMsiProperty(SourceLineNumber sourceLineNumbers, string property, string illegalValueList) | ||
2125 | { | ||
2126 | return new WixErrorEventArgs(sourceLineNumbers, 365, "WixErrors_DisallowedMsiProperty_1", property, illegalValueList); | ||
2127 | } | ||
2128 | |||
2129 | public static MessageEventArgs MissingOrInvalidModuleInstallerVersion(SourceLineNumber sourceLineNumbers, string moduleId, string mergeModuleFile, string productInstallerVersion) | ||
2130 | { | ||
2131 | return new WixErrorEventArgs(sourceLineNumbers, 366, "WixErrors_MissingOrInvalidModuleInstallerVersion_1", moduleId, mergeModuleFile, productInstallerVersion); | ||
2132 | } | ||
2133 | |||
2134 | public static MessageEventArgs IllegalGeneratedGuidComponentUnversionedKeypath(SourceLineNumber sourceLineNumbers) | ||
2135 | { | ||
2136 | return new WixErrorEventArgs(sourceLineNumbers, 367, "WixErrors_IllegalGeneratedGuidComponentUnversionedKeypath_1"); | ||
2137 | } | ||
2138 | |||
2139 | public static MessageEventArgs IllegalGeneratedGuidComponentVersionedNonkeypath(SourceLineNumber sourceLineNumbers) | ||
2140 | { | ||
2141 | return new WixErrorEventArgs(sourceLineNumbers, 368, "WixErrors_IllegalGeneratedGuidComponentVersionedNonkeypath_1"); | ||
2142 | } | ||
2143 | |||
2144 | public static MessageEventArgs DuplicateComponentGuids(SourceLineNumber sourceLineNumbers, string componentId, string guid) | ||
2145 | { | ||
2146 | return new WixErrorEventArgs(sourceLineNumbers, 369, "WixErrors_DuplicateComponentGuids_1", componentId, guid); | ||
2147 | } | ||
2148 | |||
2149 | public static MessageEventArgs DuplicateProviderDependencyKey(string providerKey, string packageId) | ||
2150 | { | ||
2151 | return new WixErrorEventArgs(null, 370, "WixErrors_DuplicateProviderDependencyKey_1", providerKey, packageId); | ||
2152 | } | ||
2153 | |||
2154 | public static MessageEventArgs MissingDependencyVersion(string packageId) | ||
2155 | { | ||
2156 | return new WixErrorEventArgs(null, 371, "WixErrors_MissingDependencyVersion_1", packageId); | ||
2157 | } | ||
2158 | |||
2159 | public static MessageEventArgs UnexpectedElementWithAttribute(SourceLineNumber sourceLineNumbers, string elementName, string childElementName, string attribute) | ||
2160 | { | ||
2161 | return new WixErrorEventArgs(sourceLineNumbers, 372, "WixErrors_UnexpectedElementWithAttribute_1", elementName, childElementName, attribute); | ||
2162 | } | ||
2163 | |||
2164 | public static MessageEventArgs ExpectedAttributeWithElement(SourceLineNumber sourceLineNumbers, string elementName, string attribute, string childElementName) | ||
2165 | { | ||
2166 | return new WixErrorEventArgs(sourceLineNumbers, 373, "WixErrors_ExpectedAttributeWithElement_1", elementName, attribute, childElementName); | ||
2167 | } | ||
2168 | |||
2169 | public static MessageEventArgs DuplicatedUiLocalization(SourceLineNumber sourceLineNumbers, string controlName, string dialogName) | ||
2170 | { | ||
2171 | return new WixErrorEventArgs(sourceLineNumbers, 374, "WixErrors_DuplicatedUiLocalization_1", controlName, dialogName); | ||
2172 | } | ||
2173 | |||
2174 | public static MessageEventArgs DuplicatedUiLocalization(SourceLineNumber sourceLineNumbers, string dialogName) | ||
2175 | { | ||
2176 | return new WixErrorEventArgs(sourceLineNumbers, 374, "WixErrors_DuplicatedUiLocalization_2", dialogName); | ||
2177 | } | ||
2178 | |||
2179 | public static MessageEventArgs MaximumCabinetSizeForLargeFileSplittingTooLarge(SourceLineNumber sourceLineNumbers, int maximumCabinetSizeForLargeFileSplitting, int maxValueOfMaxCabSizeForLargeFileSplitting) | ||
2180 | { | ||
2181 | return new WixErrorEventArgs(sourceLineNumbers, 375, "WixErrors_MaximumCabinetSizeForLargeFileSplittingTooLarge_1", maximumCabinetSizeForLargeFileSplitting, maxValueOfMaxCabSizeForLargeFileSplitting); | ||
2182 | } | ||
2183 | |||
2184 | public static MessageEventArgs SplitCabinetCopyRegistrationFailed(string newCabName, string firstCabName) | ||
2185 | { | ||
2186 | return new WixErrorEventArgs(null, 376, "WixErrors_SplitCabinetCopyRegistrationFailed_1", newCabName, firstCabName); | ||
2187 | } | ||
2188 | |||
2189 | public static MessageEventArgs SplitCabinetNameCollision(string newCabName, string firstCabName) | ||
2190 | { | ||
2191 | return new WixErrorEventArgs(null, 377, "WixErrors_SplitCabinetNameCollision_1", newCabName, firstCabName); | ||
2192 | } | ||
2193 | |||
2194 | public static MessageEventArgs SplitCabinetInsertionFailed(string newCabName, string firstCabName, string lastCabinetOfThisSequence) | ||
2195 | { | ||
2196 | return new WixErrorEventArgs(null, 378, "WixErrors_SplitCabinetInsertionFailed_1", newCabName, firstCabName, lastCabinetOfThisSequence); | ||
2197 | } | ||
2198 | |||
2199 | public static MessageEventArgs InvalidPreprocessorFunctionAutoVersion(SourceLineNumber sourceLineNumbers) | ||
2200 | { | ||
2201 | return new WixErrorEventArgs(sourceLineNumbers, 379, "WixErrors_InvalidPreprocessorFunctionAutoVersion_1"); | ||
2202 | } | ||
2203 | |||
2204 | public static MessageEventArgs InvalidModuleOrBundleVersion(SourceLineNumber sourceLineNumbers, string moduleOrBundle, string version) | ||
2205 | { | ||
2206 | return new WixErrorEventArgs(sourceLineNumbers, 380, "WixErrors_InvalidModuleOrBundleVersion_1", moduleOrBundle, version); | ||
2207 | } | ||
2208 | |||
2209 | public static MessageEventArgs UnsupportedPlatformForElement(SourceLineNumber sourceLineNumbers, string platform, string elementName) | ||
2210 | { | ||
2211 | return new WixErrorEventArgs(sourceLineNumbers, 381, "WixErrors_UnsupportedPlatformForElement_1", platform, elementName); | ||
2212 | } | ||
2213 | |||
2214 | public static MessageEventArgs MissingMedia(SourceLineNumber sourceLineNumbers, int diskId) | ||
2215 | { | ||
2216 | return new WixErrorEventArgs(sourceLineNumbers, 382, "WixErrors_MissingMedia_1", diskId); | ||
2217 | } | ||
2218 | |||
2219 | public static MessageEventArgs RemotePayloadUnsupported(SourceLineNumber sourceLineNumbers) | ||
2220 | { | ||
2221 | return new WixErrorEventArgs(sourceLineNumbers, 383, "WixErrors_RemotePayloadUnsupported_1"); | ||
2222 | } | ||
2223 | |||
2224 | public static MessageEventArgs IllegalYesNoAlwaysValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2225 | { | ||
2226 | return new WixErrorEventArgs(sourceLineNumbers, 384, "WixErrors_IllegalYesNoAlwaysValue_1", elementName, attributeName, value); | ||
2227 | } | ||
2228 | |||
2229 | public static MessageEventArgs TooDeeplyIncluded(SourceLineNumber sourceLineNumbers, int depth) | ||
2230 | { | ||
2231 | return new WixErrorEventArgs(sourceLineNumbers, 385, "WixErrors_TooDeeplyIncluded_1", depth); | ||
2232 | } | ||
2233 | |||
2234 | public static MessageEventArgs InlineDirectorySyntaxRequiresPath(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, string identifier) | ||
2235 | { | ||
2236 | return new WixErrorEventArgs(sourceLineNumbers, 387, "WixErrors_InlineDirectorySyntaxRequiresPath_1", elementName, attributeName, value, identifier); | ||
2237 | } | ||
2238 | |||
2239 | public static MessageEventArgs InsecureBundleFilename(string filename) | ||
2240 | { | ||
2241 | return new WixErrorEventArgs(null, 388, "WixErrors_InsecureBundleFilename_1", filename); | ||
2242 | } | ||
2243 | |||
2244 | public static MessageEventArgs PayloadMustBeRelativeToCache(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) | ||
2245 | { | ||
2246 | return new WixErrorEventArgs(sourceLineNumbers, 389, "WixErrors_PayloadMustBeRelativeToCache_1", elementName, attributeName, attributeValue); | ||
2247 | } | ||
2248 | |||
2249 | public static MessageEventArgs MsiTransactionX86BeforeX64(SourceLineNumber sourceLineNumbers) | ||
2250 | { | ||
2251 | return new WixErrorEventArgs(sourceLineNumbers, 390, "WixErrors_MsiTransactionX86BeforeX64_1"); | ||
2252 | } | ||
2253 | } | ||
2254 | |||
2255 | public class WixWarningEventArgs : MessageEventArgs | ||
2256 | { | ||
2257 | |||
2258 | private static ResourceManager resourceManager = new ResourceManager("WixToolset.Core.Data.Messages", Assembly.GetExecutingAssembly()); | ||
2259 | |||
2260 | public WixWarningEventArgs(SourceLineNumber sourceLineNumbers, int id, string resourceName, params object[] messageArgs) : | ||
2261 | base(sourceLineNumbers, id, resourceName, messageArgs) | ||
2262 | { | ||
2263 | base.Level = MessageLevel.Warning; | ||
2264 | base.ResourceManager = resourceManager; | ||
2265 | } | ||
2266 | } | ||
2267 | |||
2268 | public sealed class WixWarnings | ||
2269 | { | ||
2270 | |||
2271 | private WixWarnings() | ||
2272 | { | ||
2273 | } | ||
2274 | |||
2275 | public static MessageEventArgs IdentifierCannotBeModularized(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string identifier, int length, int maximumLength) | ||
2276 | { | ||
2277 | return new WixWarningEventArgs(sourceLineNumbers, 1000, "WixWarnings_IdentifierCannotBeModularized_1", elementName, attributeName, identifier, length, maximumLength); | ||
2278 | } | ||
2279 | |||
2280 | public static MessageEventArgs EmptyAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
2281 | { | ||
2282 | return new WixWarningEventArgs(sourceLineNumbers, 1001, "WixWarnings_EmptyAttributeValue_1", elementName, attributeName); | ||
2283 | } | ||
2284 | |||
2285 | public static MessageEventArgs UnableToFindFileFromCabOrImage(SourceLineNumber sourceLineNumbers, string existingFileSpec, string srcFileSpec) | ||
2286 | { | ||
2287 | return new WixWarningEventArgs(sourceLineNumbers, 1002, "WixWarnings_UnableToFindFileFromCabOrImage_1", existingFileSpec, srcFileSpec); | ||
2288 | } | ||
2289 | |||
2290 | public static MessageEventArgs CopyFileFileIdUseless(SourceLineNumber sourceLineNumbers) | ||
2291 | { | ||
2292 | return new WixWarningEventArgs(sourceLineNumbers, 1003, "WixWarnings_CopyFileFileIdUseless_1"); | ||
2293 | } | ||
2294 | |||
2295 | public static MessageEventArgs NestedInstall(SourceLineNumber sourceLineNumbers, string tableName, string columnName, object value) | ||
2296 | { | ||
2297 | return new WixWarningEventArgs(sourceLineNumbers, 1004, "WixWarnings_NestedInstall_1", tableName, columnName, value); | ||
2298 | } | ||
2299 | |||
2300 | public static MessageEventArgs OrphanedProgId(SourceLineNumber sourceLineNumbers, string progId) | ||
2301 | { | ||
2302 | return new WixWarningEventArgs(sourceLineNumbers, 1005, "WixWarnings_OrphanedProgId_1", progId); | ||
2303 | } | ||
2304 | |||
2305 | public static MessageEventArgs PropertyUseless(SourceLineNumber sourceLineNumbers, string id) | ||
2306 | { | ||
2307 | return new WixWarningEventArgs(sourceLineNumbers, 1006, "WixWarnings_PropertyUseless_1", id); | ||
2308 | } | ||
2309 | |||
2310 | public static MessageEventArgs RemoveFileNameRequired(SourceLineNumber sourceLineNumbers) | ||
2311 | { | ||
2312 | return new WixWarningEventArgs(sourceLineNumbers, 1007, "WixWarnings_RemoveFileNameRequired_1"); | ||
2313 | } | ||
2314 | |||
2315 | public static MessageEventArgs SuppressAction(SourceLineNumber sourceLineNumbers, string action, string sequenceName) | ||
2316 | { | ||
2317 | return new WixWarningEventArgs(sourceLineNumbers, 1008, "WixWarnings_SuppressAction_1", action, sequenceName); | ||
2318 | } | ||
2319 | |||
2320 | public static MessageEventArgs SuppressMergedAction(string action, string sequenceName) | ||
2321 | { | ||
2322 | return new WixWarningEventArgs(null, 1009, "WixWarnings_SuppressMergedAction_1", action, sequenceName); | ||
2323 | } | ||
2324 | |||
2325 | public static MessageEventArgs TargetDirCorrectedDefaultDir() | ||
2326 | { | ||
2327 | return new WixWarningEventArgs(null, 1010, "WixWarnings_TargetDirCorrectedDefaultDir_1"); | ||
2328 | } | ||
2329 | |||
2330 | public static MessageEventArgs AccessDeniedForDeletion(SourceLineNumber sourceLineNumbers, string tempFilesBasePath) | ||
2331 | { | ||
2332 | return new WixWarningEventArgs(sourceLineNumbers, 1011, "WixWarnings_AccessDeniedForDeletion_1", tempFilesBasePath); | ||
2333 | } | ||
2334 | |||
2335 | public static MessageEventArgs DirectoryInUse(SourceLineNumber sourceLineNumbers, string filePath) | ||
2336 | { | ||
2337 | return new WixWarningEventArgs(sourceLineNumbers, 1012, "WixWarnings_DirectoryInUse_1", filePath); | ||
2338 | } | ||
2339 | |||
2340 | public static MessageEventArgs AccessDeniedForSettingAttributes(SourceLineNumber sourceLineNumbers, string filePath) | ||
2341 | { | ||
2342 | return new WixWarningEventArgs(sourceLineNumbers, 1013, "WixWarnings_AccessDeniedForSettingAttributes_1", filePath); | ||
2343 | } | ||
2344 | |||
2345 | public static MessageEventArgs UnknownAction(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
2346 | { | ||
2347 | return new WixWarningEventArgs(sourceLineNumbers, 1024, "WixWarnings_UnknownAction_1", sequenceTableName, actionName); | ||
2348 | } | ||
2349 | |||
2350 | public static MessageEventArgs IdentifierTooLong(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2351 | { | ||
2352 | return new WixWarningEventArgs(sourceLineNumbers, 1026, "WixWarnings_IdentifierTooLong_1", elementName, attributeName, value); | ||
2353 | } | ||
2354 | |||
2355 | public static MessageEventArgs UnknownPermission(SourceLineNumber sourceLineNumbers, string tableName, string primaryKey, int bitPosition) | ||
2356 | { | ||
2357 | return new WixWarningEventArgs(sourceLineNumbers, 1030, "WixWarnings_UnknownPermission_1", tableName, primaryKey, bitPosition); | ||
2358 | } | ||
2359 | |||
2360 | public static MessageEventArgs DirectoryRedundantNames(SourceLineNumber sourceLineNumbers, string elementName, string shortNameAttributeName, string longNameAttributeName, string attributeValue) | ||
2361 | { | ||
2362 | return new WixWarningEventArgs(sourceLineNumbers, 1031, "WixWarnings_DirectoryRedundantNames_1", elementName, shortNameAttributeName, longNameAttributeName, attributeValue); | ||
2363 | } | ||
2364 | |||
2365 | public static MessageEventArgs DirectoryRedundantNames(SourceLineNumber sourceLineNumbers, string elementName, string sourceNameAttributeName, string longSourceAttributeName) | ||
2366 | { | ||
2367 | return new WixWarningEventArgs(sourceLineNumbers, 1031, "WixWarnings_DirectoryRedundantNames_2", elementName, sourceNameAttributeName, longSourceAttributeName); | ||
2368 | } | ||
2369 | |||
2370 | public static MessageEventArgs UnableToResetAcls() | ||
2371 | { | ||
2372 | return new WixWarningEventArgs(null, 1032, "WixWarnings_UnableToResetAcls_1"); | ||
2373 | } | ||
2374 | |||
2375 | public static MessageEventArgs MediaExternalCabinetFilenameIllegal(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2376 | { | ||
2377 | return new WixWarningEventArgs(sourceLineNumbers, 1033, "WixWarnings_MediaExternalCabinetFilenameIllegal_1", elementName, attributeName, value); | ||
2378 | } | ||
2379 | |||
2380 | public static MessageEventArgs DeprecatedPreProcVariable(SourceLineNumber sourceLineNumbers, string oldName, string newName) | ||
2381 | { | ||
2382 | return new WixWarningEventArgs(sourceLineNumbers, 1034, "WixWarnings_DeprecatedPreProcVariable_1", oldName, newName); | ||
2383 | } | ||
2384 | |||
2385 | public static MessageEventArgs FileSearchFileNameIssue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2) | ||
2386 | { | ||
2387 | return new WixWarningEventArgs(sourceLineNumbers, 1043, "WixWarnings_FileSearchFileNameIssue_1", elementName, attributeName1, attributeName2); | ||
2388 | } | ||
2389 | |||
2390 | public static MessageEventArgs AmbiguousFileOrDirectoryName(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2391 | { | ||
2392 | return new WixWarningEventArgs(sourceLineNumbers, 1044, "WixWarnings_AmbiguousFileOrDirectoryName_1", elementName, attributeName, value); | ||
2393 | } | ||
2394 | |||
2395 | public static MessageEventArgs PossiblyIncorrectTypelibVersion(SourceLineNumber sourceLineNumbers, string id) | ||
2396 | { | ||
2397 | return new WixWarningEventArgs(sourceLineNumbers, 1048, "WixWarnings_PossiblyIncorrectTypelibVersion_1", id); | ||
2398 | } | ||
2399 | |||
2400 | public static MessageEventArgs ImplicitComponentPrimaryFeature(string componentId) | ||
2401 | { | ||
2402 | return new WixWarningEventArgs(null, 1049, "WixWarnings_ImplicitComponentPrimaryFeature_1", componentId); | ||
2403 | } | ||
2404 | |||
2405 | public static MessageEventArgs ActionSequenceCollision(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName1, string actionName2, int sequenceNumber) | ||
2406 | { | ||
2407 | return new WixWarningEventArgs(sourceLineNumbers, 1050, "WixWarnings_ActionSequenceCollision_1", sequenceTableName, actionName1, actionName2, sequenceNumber); | ||
2408 | } | ||
2409 | |||
2410 | public static MessageEventArgs ActionSequenceCollision2(SourceLineNumber sourceLineNumbers) | ||
2411 | { | ||
2412 | return new WixWarningEventArgs(sourceLineNumbers, 1051, "WixWarnings_ActionSequenceCollision2_1"); | ||
2413 | } | ||
2414 | |||
2415 | public static MessageEventArgs SuppressAction2(SourceLineNumber sourceLineNumbers) | ||
2416 | { | ||
2417 | return new WixWarningEventArgs(sourceLineNumbers, 1052, "WixWarnings_SuppressAction2_1"); | ||
2418 | } | ||
2419 | |||
2420 | public static MessageEventArgs UnexpectedTableInProduct(SourceLineNumber sourceLineNumbers, string tableName) | ||
2421 | { | ||
2422 | return new WixWarningEventArgs(sourceLineNumbers, 1053, "WixWarnings_UnexpectedTableInProduct_1", tableName); | ||
2423 | } | ||
2424 | |||
2425 | public static MessageEventArgs DeprecatedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
2426 | { | ||
2427 | return new WixWarningEventArgs(sourceLineNumbers, 1054, "WixWarnings_DeprecatedAttribute_1", elementName, attributeName); | ||
2428 | } | ||
2429 | |||
2430 | public static MessageEventArgs DeprecatedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string newAttributeName) | ||
2431 | { | ||
2432 | return new WixWarningEventArgs(sourceLineNumbers, 1054, "WixWarnings_DeprecatedAttribute_2", elementName, attributeName, newAttributeName); | ||
2433 | } | ||
2434 | |||
2435 | public static MessageEventArgs DeprecatedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string newAttributeName1, string newAttributeName2) | ||
2436 | { | ||
2437 | return new WixWarningEventArgs(sourceLineNumbers, 1054, "WixWarnings_DeprecatedAttribute_3", elementName, attributeName, newAttributeName1, newAttributeName2); | ||
2438 | } | ||
2439 | |||
2440 | public static MessageEventArgs MergeRescheduledAction(SourceLineNumber sourceLineNumbers, string tableName, string actionName, string mergeModuleFile) | ||
2441 | { | ||
2442 | return new WixWarningEventArgs(sourceLineNumbers, 1055, "WixWarnings_MergeRescheduledAction_1", tableName, actionName, mergeModuleFile); | ||
2443 | } | ||
2444 | |||
2445 | public static MessageEventArgs MergeTableFailed(SourceLineNumber sourceLineNumbers, string tableName, string primaryKeys, string mergeModuleFile) | ||
2446 | { | ||
2447 | return new WixWarningEventArgs(sourceLineNumbers, 1056, "WixWarnings_MergeTableFailed_1", tableName, primaryKeys, mergeModuleFile); | ||
2448 | } | ||
2449 | |||
2450 | public static MessageEventArgs DecompiledStandardActionRelativelyScheduledInModule(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
2451 | { | ||
2452 | return new WixWarningEventArgs(sourceLineNumbers, 1057, "WixWarnings_DecompiledStandardActionRelativelyScheduledInModule_1", sequenceTableName, actionName); | ||
2453 | } | ||
2454 | |||
2455 | public static MessageEventArgs IllegalActionInSequence(SourceLineNumber sourceLineNumbers, string sequenceTableName, string actionName) | ||
2456 | { | ||
2457 | return new WixWarningEventArgs(sourceLineNumbers, 1058, "WixWarnings_IllegalActionInSequence_1", sequenceTableName, actionName); | ||
2458 | } | ||
2459 | |||
2460 | public static MessageEventArgs ExpectedForeignRow(SourceLineNumber sourceLineNumbers, string tableName, string primaryKey, string columnName, string columnValue, string foreignTableName) | ||
2461 | { | ||
2462 | return new WixWarningEventArgs(sourceLineNumbers, 1059, "WixWarnings_ExpectedForeignRow_1", tableName, primaryKey, columnName, columnValue, foreignTableName); | ||
2463 | } | ||
2464 | |||
2465 | public static MessageEventArgs ExpectedForeignRow(SourceLineNumber sourceLineNumbers, string tableName, string primaryKey, string columnName1, string columnValue1, string columnName2, string columnValue2, string foreignTableName) | ||
2466 | { | ||
2467 | return new WixWarningEventArgs(sourceLineNumbers, 1059, "WixWarnings_ExpectedForeignRow_2", tableName, primaryKey, columnName1, columnValue1, columnName2, columnValue2, foreignTableName); | ||
2468 | } | ||
2469 | |||
2470 | public static MessageEventArgs DecompilingAsCustomTable(SourceLineNumber sourceLineNumbers, string tableName) | ||
2471 | { | ||
2472 | return new WixWarningEventArgs(sourceLineNumbers, 1060, "WixWarnings_DecompilingAsCustomTable_1", tableName); | ||
2473 | } | ||
2474 | |||
2475 | public static MessageEventArgs IllegalPatchCreationTable(SourceLineNumber sourceLineNumbers, string tableName) | ||
2476 | { | ||
2477 | return new WixWarningEventArgs(sourceLineNumbers, 1061, "WixWarnings_IllegalPatchCreationTable_1", tableName); | ||
2478 | } | ||
2479 | |||
2480 | public static MessageEventArgs SkippingMergeModuleTable(SourceLineNumber sourceLineNumbers, string tableName) | ||
2481 | { | ||
2482 | return new WixWarningEventArgs(sourceLineNumbers, 1062, "WixWarnings_SkippingMergeModuleTable_1", tableName); | ||
2483 | } | ||
2484 | |||
2485 | public static MessageEventArgs SkippingPatchCreationTable(SourceLineNumber sourceLineNumbers, string tableName) | ||
2486 | { | ||
2487 | return new WixWarningEventArgs(sourceLineNumbers, 1063, "WixWarnings_SkippingPatchCreationTable_1", tableName); | ||
2488 | } | ||
2489 | |||
2490 | public static MessageEventArgs UnrepresentableColumnValue(SourceLineNumber sourceLineNumbers, string tableName, string columnName, object value) | ||
2491 | { | ||
2492 | return new WixWarningEventArgs(sourceLineNumbers, 1064, "WixWarnings_UnrepresentableColumnValue_1", tableName, columnName, value); | ||
2493 | } | ||
2494 | |||
2495 | public static MessageEventArgs DeprecatedTable(string tableName) | ||
2496 | { | ||
2497 | return new WixWarningEventArgs(null, 1065, "WixWarnings_DeprecatedTable_1", tableName); | ||
2498 | } | ||
2499 | |||
2500 | public static MessageEventArgs PatchTable(SourceLineNumber sourceLineNumbers, string tableName) | ||
2501 | { | ||
2502 | return new WixWarningEventArgs(sourceLineNumbers, 1066, "WixWarnings_PatchTable_1", tableName); | ||
2503 | } | ||
2504 | |||
2505 | public static MessageEventArgs IllegalColumnValue(SourceLineNumber sourceLineNumbers, string tableName, string columnName, object value) | ||
2506 | { | ||
2507 | return new WixWarningEventArgs(sourceLineNumbers, 1067, "WixWarnings_IllegalColumnValue_1", tableName, columnName, value); | ||
2508 | } | ||
2509 | |||
2510 | public static MessageEventArgs DeprecatedLongNameAttribute(SourceLineNumber sourceLineNumbers, string elementName, string longNameAttributeName, string nameAttributeName, string shortNameAttributeName) | ||
2511 | { | ||
2512 | return new WixWarningEventArgs(sourceLineNumbers, 1069, "WixWarnings_DeprecatedLongNameAttribute_1", elementName, longNameAttributeName, nameAttributeName, shortNameAttributeName); | ||
2513 | } | ||
2514 | |||
2515 | public static MessageEventArgs GeneratedShortFileNameConflict(SourceLineNumber sourceLineNumbers, string shortFileName) | ||
2516 | { | ||
2517 | return new WixWarningEventArgs(sourceLineNumbers, 1070, "WixWarnings_GeneratedShortFileNameConflict_1", shortFileName); | ||
2518 | } | ||
2519 | |||
2520 | public static MessageEventArgs GeneratedShortFileNameConflict2(SourceLineNumber sourceLineNumbers) | ||
2521 | { | ||
2522 | return new WixWarningEventArgs(sourceLineNumbers, 1071, "WixWarnings_GeneratedShortFileNameConflict2_1"); | ||
2523 | } | ||
2524 | |||
2525 | public static MessageEventArgs DangerousTableInMergeModule(SourceLineNumber sourceLineNumbers, string tableName) | ||
2526 | { | ||
2527 | return new WixWarningEventArgs(sourceLineNumbers, 1072, "WixWarnings_DangerousTableInMergeModule_1", tableName); | ||
2528 | } | ||
2529 | |||
2530 | public static MessageEventArgs DeprecatedLocalizationVariablePrefix(SourceLineNumber sourceLineNumbers, string variableId) | ||
2531 | { | ||
2532 | return new WixWarningEventArgs(sourceLineNumbers, 1073, "WixWarnings_DeprecatedLocalizationVariablePrefix_1", variableId); | ||
2533 | } | ||
2534 | |||
2535 | public static MessageEventArgs PlaceholderValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2536 | { | ||
2537 | return new WixWarningEventArgs(sourceLineNumbers, 1074, "WixWarnings_PlaceholderValue_1", elementName, attributeName, value); | ||
2538 | } | ||
2539 | |||
2540 | public static MessageEventArgs MissingUpgradeCode(SourceLineNumber sourceLineNumbers) | ||
2541 | { | ||
2542 | return new WixWarningEventArgs(sourceLineNumbers, 1075, "WixWarnings_MissingUpgradeCode_1"); | ||
2543 | } | ||
2544 | |||
2545 | public static MessageEventArgs ValidationWarning(SourceLineNumber sourceLineNumbers, string ice, string message) | ||
2546 | { | ||
2547 | return new WixWarningEventArgs(sourceLineNumbers, 1076, "WixWarnings_ValidationWarning_1", ice, message); | ||
2548 | } | ||
2549 | |||
2550 | public static MessageEventArgs PropertyValueContainsPropertyReference(SourceLineNumber sourceLineNumbers, string propertyId, string otherProperty) | ||
2551 | { | ||
2552 | return new WixWarningEventArgs(sourceLineNumbers, 1077, "WixWarnings_PropertyValueContainsPropertyReference_1", propertyId, otherProperty); | ||
2553 | } | ||
2554 | |||
2555 | public static MessageEventArgs DeprecatedUpgradeProperty(SourceLineNumber sourceLineNumbers) | ||
2556 | { | ||
2557 | return new WixWarningEventArgs(sourceLineNumbers, 1078, "WixWarnings_DeprecatedUpgradeProperty_1"); | ||
2558 | } | ||
2559 | |||
2560 | public static MessageEventArgs EmptyCabinet(SourceLineNumber sourceLineNumbers, string cabinetName) | ||
2561 | { | ||
2562 | return new WixWarningEventArgs(sourceLineNumbers, 1079, "WixWarnings_EmptyCabinet_1", cabinetName); | ||
2563 | } | ||
2564 | |||
2565 | public static MessageEventArgs EmptyCabinet(SourceLineNumber sourceLineNumbers, string cabinetName, bool isPatch) | ||
2566 | { | ||
2567 | return new WixWarningEventArgs(sourceLineNumbers, 1079, "WixWarnings_EmptyCabinet_2", cabinetName, isPatch); | ||
2568 | } | ||
2569 | |||
2570 | public static MessageEventArgs DeprecatedRegistryElement(SourceLineNumber sourceLineNumbers) | ||
2571 | { | ||
2572 | return new WixWarningEventArgs(sourceLineNumbers, 1080, "WixWarnings_DeprecatedRegistryElement_1"); | ||
2573 | } | ||
2574 | |||
2575 | public static MessageEventArgs IllegalRegistryKeyPath(SourceLineNumber sourceLineNumbers, string componentName, string registryId) | ||
2576 | { | ||
2577 | return new WixWarningEventArgs(sourceLineNumbers, 1081, "WixWarnings_IllegalRegistryKeyPath_1", componentName, registryId); | ||
2578 | } | ||
2579 | |||
2580 | public static MessageEventArgs DeprecatedPatchSequenceTargetAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
2581 | { | ||
2582 | return new WixWarningEventArgs(sourceLineNumbers, 1082, "WixWarnings_DeprecatedPatchSequenceTargetAttribute_1", elementName, attributeName); | ||
2583 | } | ||
2584 | |||
2585 | public static MessageEventArgs ProductIdAuthored(SourceLineNumber sourceLineNumbers) | ||
2586 | { | ||
2587 | return new WixWarningEventArgs(sourceLineNumbers, 1083, "WixWarnings_ProductIdAuthored_1"); | ||
2588 | } | ||
2589 | |||
2590 | public static MessageEventArgs ImplicitMergeModulePrimaryFeature(string componentId) | ||
2591 | { | ||
2592 | return new WixWarningEventArgs(null, 1084, "WixWarnings_ImplicitMergeModulePrimaryFeature_1", componentId); | ||
2593 | } | ||
2594 | |||
2595 | public static MessageEventArgs DeprecatedIgnoreModularizationElement(SourceLineNumber sourceLineNumbers) | ||
2596 | { | ||
2597 | return new WixWarningEventArgs(sourceLineNumbers, 1085, "WixWarnings_DeprecatedIgnoreModularizationElement_1"); | ||
2598 | } | ||
2599 | |||
2600 | public static MessageEventArgs PropertyModularizationSuppressed(SourceLineNumber sourceLineNumbers) | ||
2601 | { | ||
2602 | return new WixWarningEventArgs(sourceLineNumbers, 1086, "WixWarnings_PropertyModularizationSuppressed_1"); | ||
2603 | } | ||
2604 | |||
2605 | public static MessageEventArgs DeprecatedPackageCompressedAttribute(SourceLineNumber sourceLineNumbers) | ||
2606 | { | ||
2607 | return new WixWarningEventArgs(sourceLineNumbers, 1087, "WixWarnings_DeprecatedPackageCompressedAttribute_1"); | ||
2608 | } | ||
2609 | |||
2610 | public static MessageEventArgs DeprecatedModuleGuidAttribute(SourceLineNumber sourceLineNumbers) | ||
2611 | { | ||
2612 | return new WixWarningEventArgs(sourceLineNumbers, 1088, "WixWarnings_DeprecatedModuleGuidAttribute_1"); | ||
2613 | } | ||
2614 | |||
2615 | public static MessageEventArgs DeprecatedQuestionMarksGuid(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
2616 | { | ||
2617 | return new WixWarningEventArgs(sourceLineNumbers, 1090, "WixWarnings_DeprecatedQuestionMarksGuid_1", elementName, attributeName); | ||
2618 | } | ||
2619 | |||
2620 | public static MessageEventArgs PackageCodeSet(SourceLineNumber sourceLineNumbers) | ||
2621 | { | ||
2622 | return new WixWarningEventArgs(sourceLineNumbers, 1091, "WixWarnings_PackageCodeSet_1"); | ||
2623 | } | ||
2624 | |||
2625 | public static MessageEventArgs InvalidModuleOrBundleVersion(SourceLineNumber sourceLineNumbers, string moduleOrBundle, string version) | ||
2626 | { | ||
2627 | return new WixWarningEventArgs(sourceLineNumbers, 1093, "WixWarnings_InvalidModuleOrBundleVersion_1", moduleOrBundle, version); | ||
2628 | } | ||
2629 | |||
2630 | public static MessageEventArgs InvalidRemoveFile(SourceLineNumber sourceLineNumbers, string file, string component) | ||
2631 | { | ||
2632 | return new WixWarningEventArgs(sourceLineNumbers, 1095, "WixWarnings_InvalidRemoveFile_1", file, component); | ||
2633 | } | ||
2634 | |||
2635 | public static MessageEventArgs PreprocessorWarning(SourceLineNumber sourceLineNumbers, string message) | ||
2636 | { | ||
2637 | return new WixWarningEventArgs(sourceLineNumbers, 1096, "WixWarnings_PreprocessorWarning_1", message); | ||
2638 | } | ||
2639 | |||
2640 | public static MessageEventArgs UpdateOfNonKeyPathFile(string nonKeyPathFileId, string componentId, string keyPathFileId) | ||
2641 | { | ||
2642 | return new WixWarningEventArgs(null, 1097, "WixWarnings_UpdateOfNonKeyPathFile_1", nonKeyPathFileId, componentId, keyPathFileId); | ||
2643 | } | ||
2644 | |||
2645 | public static MessageEventArgs UnsupportedCommandLineArgument(string arg) | ||
2646 | { | ||
2647 | return new WixWarningEventArgs(null, 1098, "WixWarnings_UnsupportedCommandLineArgument_1", arg); | ||
2648 | } | ||
2649 | |||
2650 | public static MessageEventArgs MajorUpgradePatchNotRecommended() | ||
2651 | { | ||
2652 | return new WixWarningEventArgs(null, 1099, "WixWarnings_MajorUpgradePatchNotRecommended_1"); | ||
2653 | } | ||
2654 | |||
2655 | public static MessageEventArgs RetainRangeMismatch(SourceLineNumber sourceLineNumbers, string fileId) | ||
2656 | { | ||
2657 | return new WixWarningEventArgs(sourceLineNumbers, 1100, "WixWarnings_RetainRangeMismatch_1", fileId); | ||
2658 | } | ||
2659 | |||
2660 | public static MessageEventArgs DefaultLanguageUsedForVersionedFile(SourceLineNumber sourceLineNumbers, string language, string fileId) | ||
2661 | { | ||
2662 | return new WixWarningEventArgs(sourceLineNumbers, 1101, "WixWarnings_DefaultLanguageUsedForVersionedFile_1", language, fileId); | ||
2663 | } | ||
2664 | |||
2665 | public static MessageEventArgs DefaultLanguageUsedForUnversionedFile(SourceLineNumber sourceLineNumbers, string language, string fileId) | ||
2666 | { | ||
2667 | return new WixWarningEventArgs(sourceLineNumbers, 1102, "WixWarnings_DefaultLanguageUsedForUnversionedFile_1", language, fileId); | ||
2668 | } | ||
2669 | |||
2670 | public static MessageEventArgs DefaultVersionUsedForUnversionedFile(SourceLineNumber sourceLineNumbers, string version, string fileId) | ||
2671 | { | ||
2672 | return new WixWarningEventArgs(sourceLineNumbers, 1103, "WixWarnings_DefaultVersionUsedForUnversionedFile_1", version, fileId); | ||
2673 | } | ||
2674 | |||
2675 | public static MessageEventArgs InvalidHigherInstallerVersionInModule(SourceLineNumber sourceLineNumbers, string moduleId, int moduleInstallerVersion, int productInstallerVersion) | ||
2676 | { | ||
2677 | return new WixWarningEventArgs(sourceLineNumbers, 1104, "WixWarnings_InvalidHigherInstallerVersionInModule_1", moduleId, moduleInstallerVersion, productInstallerVersion); | ||
2678 | } | ||
2679 | |||
2680 | public static MessageEventArgs ValidationFailedDueToSystemPolicy() | ||
2681 | { | ||
2682 | return new WixWarningEventArgs(null, 1105, "WixWarnings_ValidationFailedDueToSystemPolicy_1"); | ||
2683 | } | ||
2684 | |||
2685 | public static MessageEventArgs ColumnsIncompatibleWithInstallerVersion(SourceLineNumber sourceLineNumbers, string tableName, int productInstallerVersion) | ||
2686 | { | ||
2687 | return new WixWarningEventArgs(sourceLineNumbers, 1106, "WixWarnings_ColumnsIncompatibleWithInstallerVersion_1", tableName, productInstallerVersion); | ||
2688 | } | ||
2689 | |||
2690 | public static MessageEventArgs TableIncompatibleWithInstallerVersion(SourceLineNumber sourceLineNumbers, string tableName, int productInstallerVersion) | ||
2691 | { | ||
2692 | return new WixWarningEventArgs(sourceLineNumbers, 1107, "WixWarnings_TableIncompatibleWithInstallerVersion_1", tableName, productInstallerVersion); | ||
2693 | } | ||
2694 | |||
2695 | public static MessageEventArgs DeprecatedCommandLineSwitch(string oldSwitch) | ||
2696 | { | ||
2697 | return new WixWarningEventArgs(null, 1108, "WixWarnings_DeprecatedCommandLineSwitch_1", oldSwitch); | ||
2698 | } | ||
2699 | |||
2700 | public static MessageEventArgs DeprecatedCommandLineSwitch(string oldSwitch, string newSwitch) | ||
2701 | { | ||
2702 | return new WixWarningEventArgs(null, 1108, "WixWarnings_DeprecatedCommandLineSwitch_2", oldSwitch, newSwitch); | ||
2703 | } | ||
2704 | |||
2705 | public static MessageEventArgs UnexpectedEntrySection(SourceLineNumber sourceLineNumbers, string sectionType, string expectedType, string outputExtension) | ||
2706 | { | ||
2707 | return new WixWarningEventArgs(sourceLineNumbers, 1109, "WixWarnings_UnexpectedEntrySection_1", sectionType, expectedType, outputExtension); | ||
2708 | } | ||
2709 | |||
2710 | public static MessageEventArgs NewComponentAddedToExistingFeature(SourceLineNumber sourceLineNumbers, string component, string feature, string transformPath) | ||
2711 | { | ||
2712 | return new WixWarningEventArgs(sourceLineNumbers, 1110, "WixWarnings_NewComponentAddedToExistingFeature_1", component, feature, transformPath); | ||
2713 | } | ||
2714 | |||
2715 | public static MessageEventArgs DeprecatedAttributeValue(SourceLineNumber sourceLineNumbers, string attributeValue, string elementName, string attributeName, string newAttributeValue) | ||
2716 | { | ||
2717 | return new WixWarningEventArgs(sourceLineNumbers, 1111, "WixWarnings_DeprecatedAttributeValue_1", attributeValue, elementName, attributeName, newAttributeValue); | ||
2718 | } | ||
2719 | |||
2720 | public static MessageEventArgs InsufficientPermissionHarvestTypeLib() | ||
2721 | { | ||
2722 | return new WixWarningEventArgs(null, 1112, "WixWarnings_InsufficientPermissionHarvestTypeLib_1"); | ||
2723 | } | ||
2724 | |||
2725 | public static MessageEventArgs UnclearShortcut(SourceLineNumber sourceLineNumbers, string shortcutId, string fileId, string componentId) | ||
2726 | { | ||
2727 | return new WixWarningEventArgs(sourceLineNumbers, 1113, "WixWarnings_UnclearShortcut_1", shortcutId, fileId, componentId); | ||
2728 | } | ||
2729 | |||
2730 | public static MessageEventArgs TooManyProgIds(SourceLineNumber sourceLineNumbers, string clsId, string progId, string otherClsId) | ||
2731 | { | ||
2732 | return new WixWarningEventArgs(sourceLineNumbers, 1114, "WixWarnings_TooManyProgIds_1", clsId, progId, otherClsId); | ||
2733 | } | ||
2734 | |||
2735 | public static MessageEventArgs BadColumnDataIgnored(SourceLineNumber sourceLineNumbers, string value, string tableName, string columnName) | ||
2736 | { | ||
2737 | return new WixWarningEventArgs(sourceLineNumbers, 1115, "WixWarnings_BadColumnDataIgnored_1", value, tableName, columnName); | ||
2738 | } | ||
2739 | |||
2740 | public static MessageEventArgs NullMsiAssemblyNameValue(SourceLineNumber sourceLineNumbers, string componentName, string name) | ||
2741 | { | ||
2742 | return new WixWarningEventArgs(sourceLineNumbers, 1116, "WixWarnings_NullMsiAssemblyNameValue_1", componentName, name); | ||
2743 | } | ||
2744 | |||
2745 | public static MessageEventArgs InvalidAttributeCombination(SourceLineNumber sourceLineNumbers, string attrib1, string attrib2, string name, string value) | ||
2746 | { | ||
2747 | return new WixWarningEventArgs(sourceLineNumbers, 1117, "WixWarnings_InvalidAttributeCombination_1", attrib1, attrib2, name, value); | ||
2748 | } | ||
2749 | |||
2750 | public static MessageEventArgs VariableDeclarationCollision(SourceLineNumber sourceLineNumbers, string variableName, string variableValue, string variableCollidingValue) | ||
2751 | { | ||
2752 | return new WixWarningEventArgs(sourceLineNumbers, 1118, "WixWarnings_VariableDeclarationCollision_1", variableName, variableValue, variableCollidingValue); | ||
2753 | } | ||
2754 | |||
2755 | public static MessageEventArgs DuplicatePrimaryKey(SourceLineNumber sourceLineNumbers, string primaryKey, string tableName) | ||
2756 | { | ||
2757 | return new WixWarningEventArgs(sourceLineNumbers, 1119, "WixWarnings_DuplicatePrimaryKey_1", primaryKey, tableName); | ||
2758 | } | ||
2759 | |||
2760 | public static MessageEventArgs RequiresMsi200for64bitPackage(SourceLineNumber sourceLineNumbers) | ||
2761 | { | ||
2762 | return new WixWarningEventArgs(sourceLineNumbers, 1121, "WixWarnings_RequiresMsi200for64bitPackage_1"); | ||
2763 | } | ||
2764 | |||
2765 | public static MessageEventArgs ExternalCabsAreNotSigned(string databaseFile) | ||
2766 | { | ||
2767 | return new WixWarningEventArgs(null, 1122, "WixWarnings_ExternalCabsAreNotSigned_1", databaseFile); | ||
2768 | } | ||
2769 | |||
2770 | public static MessageEventArgs FailedToDeleteTempDir(string directory) | ||
2771 | { | ||
2772 | return new WixWarningEventArgs(null, 1123, "WixWarnings_FailedToDeleteTempDir_1", directory); | ||
2773 | } | ||
2774 | |||
2775 | public static MessageEventArgs StandardDirectoryConflictInMergeModule(SourceLineNumber sourceLineNumbers, string directory, string standardDirectory) | ||
2776 | { | ||
2777 | return new WixWarningEventArgs(sourceLineNumbers, 1124, "WixWarnings_StandardDirectoryConflictInMergeModule_1", directory, standardDirectory); | ||
2778 | } | ||
2779 | |||
2780 | public static MessageEventArgs PreprocessorUnknownPragma(SourceLineNumber sourceLineNumbers, string pragmaName) | ||
2781 | { | ||
2782 | return new WixWarningEventArgs(sourceLineNumbers, 1125, "WixWarnings_PreprocessorUnknownPragma_1", pragmaName); | ||
2783 | } | ||
2784 | |||
2785 | public static MessageEventArgs DeprecatedComponentGroupId(SourceLineNumber sourceLineNumbers, string elementName) | ||
2786 | { | ||
2787 | return new WixWarningEventArgs(sourceLineNumbers, 1126, "WixWarnings_DeprecatedComponentGroupId_1", elementName); | ||
2788 | } | ||
2789 | |||
2790 | public static MessageEventArgs UxPayloadsOnlySupportEmbedding(SourceLineNumber sourceLineNumbers, string sourceFile) | ||
2791 | { | ||
2792 | return new WixWarningEventArgs(sourceLineNumbers, 1127, "WixWarnings_UxPayloadsOnlySupportEmbedding_1", sourceFile); | ||
2793 | } | ||
2794 | |||
2795 | public static MessageEventArgs DiscardedRollbackBoundary(SourceLineNumber sourceLineNumbers, string rollbackBoundaryId) | ||
2796 | { | ||
2797 | return new WixWarningEventArgs(sourceLineNumbers, 1129, "WixWarnings_DiscardedRollbackBoundary_1", rollbackBoundaryId); | ||
2798 | } | ||
2799 | |||
2800 | public static MessageEventArgs DeprecatedElement(SourceLineNumber sourceLineNumbers, string elementName) | ||
2801 | { | ||
2802 | return new WixWarningEventArgs(sourceLineNumbers, 1130, "WixWarnings_DeprecatedElement_1", elementName); | ||
2803 | } | ||
2804 | |||
2805 | public static MessageEventArgs DeprecatedElement(SourceLineNumber sourceLineNumbers, string elementName, string newElementName) | ||
2806 | { | ||
2807 | return new WixWarningEventArgs(sourceLineNumbers, 1130, "WixWarnings_DeprecatedElement_2", elementName, newElementName); | ||
2808 | } | ||
2809 | |||
2810 | public static MessageEventArgs DeprecatedElement(SourceLineNumber sourceLineNumbers, string elementName, string newElementName1, string newElementName2) | ||
2811 | { | ||
2812 | return new WixWarningEventArgs(sourceLineNumbers, 1130, "WixWarnings_DeprecatedElement_3", elementName, newElementName1, newElementName2); | ||
2813 | } | ||
2814 | |||
2815 | public static MessageEventArgs CannotUpdateCabCache(SourceLineNumber sourceLineNumbers, string cabinetPath, string detail) | ||
2816 | { | ||
2817 | return new WixWarningEventArgs(sourceLineNumbers, 1131, "WixWarnings_CannotUpdateCabCache_1", cabinetPath, detail); | ||
2818 | } | ||
2819 | |||
2820 | public static MessageEventArgs DownloadUrlNotSupportedForEmbeddedPayloads(SourceLineNumber sourceLineNumbers, string payloadId) | ||
2821 | { | ||
2822 | return new WixWarningEventArgs(sourceLineNumbers, 1132, "WixWarnings_DownloadUrlNotSupportedForEmbeddedPayloads_1", payloadId); | ||
2823 | } | ||
2824 | |||
2825 | public static MessageEventArgs DiscouragedAllUsersValue(SourceLineNumber sourceLineNumbers, string path, string machineOrUser) | ||
2826 | { | ||
2827 | return new WixWarningEventArgs(sourceLineNumbers, 1133, "WixWarnings_DiscouragedAllUsersValue_1", path, machineOrUser); | ||
2828 | } | ||
2829 | |||
2830 | public static MessageEventArgs ImplicitlyPerUser(SourceLineNumber sourceLineNumbers, string path) | ||
2831 | { | ||
2832 | return new WixWarningEventArgs(sourceLineNumbers, 1134, "WixWarnings_ImplicitlyPerUser_1", path); | ||
2833 | } | ||
2834 | |||
2835 | public static MessageEventArgs PerUserButForcingPerMachine(SourceLineNumber sourceLineNumbers, string path) | ||
2836 | { | ||
2837 | return new WixWarningEventArgs(sourceLineNumbers, 1135, "WixWarnings_PerUserButForcingPerMachine_1", path); | ||
2838 | } | ||
2839 | |||
2840 | public static MessageEventArgs AttributeShouldContain(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue, string expectedContains, string otherAttributeName, string otherAttributeValue) | ||
2841 | { | ||
2842 | return new WixWarningEventArgs(sourceLineNumbers, 1136, "WixWarnings_AttributeShouldContain_1", elementName, attributeName, attributeValue, expectedContains, otherAttributeName, otherAttributeValue); | ||
2843 | } | ||
2844 | |||
2845 | public static MessageEventArgs DuplicateComponentGuidsMustHaveMutuallyExclusiveConditions(SourceLineNumber sourceLineNumbers, string componentId, string guid) | ||
2846 | { | ||
2847 | return new WixWarningEventArgs(sourceLineNumbers, 1137, "WixWarnings_DuplicateComponentGuidsMustHaveMutuallyExclusiveConditions_1", componentId, guid); | ||
2848 | } | ||
2849 | |||
2850 | public static MessageEventArgs DeprecatedRegistryKeyActionAttribute(SourceLineNumber sourceLineNumbers) | ||
2851 | { | ||
2852 | return new WixWarningEventArgs(sourceLineNumbers, 1138, "WixWarnings_DeprecatedRegistryKeyActionAttribute_1"); | ||
2853 | } | ||
2854 | |||
2855 | public static MessageEventArgs NotABinaryWixlib(string wixlib) | ||
2856 | { | ||
2857 | return new WixWarningEventArgs(null, 1139, "WixWarnings_NotABinaryWixlib_1", wixlib); | ||
2858 | } | ||
2859 | |||
2860 | public static MessageEventArgs NoPerMachineDependencies(SourceLineNumber sourceLineNumbers, string packageId) | ||
2861 | { | ||
2862 | return new WixWarningEventArgs(sourceLineNumbers, 1140, "WixWarnings_NoPerMachineDependencies_1", packageId); | ||
2863 | } | ||
2864 | |||
2865 | public static MessageEventArgs DownloadUrlNotSupportedForAttachedContainers(SourceLineNumber sourceLineNumbers, string containerId) | ||
2866 | { | ||
2867 | return new WixWarningEventArgs(sourceLineNumbers, 1141, "WixWarnings_DownloadUrlNotSupportedForAttachedContainers_1", containerId); | ||
2868 | } | ||
2869 | |||
2870 | public static MessageEventArgs ReservedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) | ||
2871 | { | ||
2872 | return new WixWarningEventArgs(sourceLineNumbers, 1142, "WixWarnings_ReservedAttribute_1", elementName, attributeName); | ||
2873 | } | ||
2874 | |||
2875 | public static MessageEventArgs RequiresMsi500forArmPackage(SourceLineNumber sourceLineNumbers) | ||
2876 | { | ||
2877 | return new WixWarningEventArgs(sourceLineNumbers, 1143, "WixWarnings_RequiresMsi500forArmPackage_1"); | ||
2878 | } | ||
2879 | |||
2880 | public static MessageEventArgs RemotePayloadsMustNotAlsoBeCompressed(SourceLineNumber sourceLineNumbers, string elementName) | ||
2881 | { | ||
2882 | return new WixWarningEventArgs(sourceLineNumbers, 1144, "WixWarnings_RemotePayloadsMustNotAlsoBeCompressed_1", elementName); | ||
2883 | } | ||
2884 | |||
2885 | public static MessageEventArgs AllChangesIncludedInPatch(SourceLineNumber sourceLineNumbers) | ||
2886 | { | ||
2887 | return new WixWarningEventArgs(sourceLineNumbers, 1145, "WixWarnings_AllChangesIncludedInPatch_1"); | ||
2888 | } | ||
2889 | |||
2890 | public static MessageEventArgs RelatedAttributeConditionallyIgnored(SourceLineNumber sourceLineNumbers, string recessiveAttribute, string dominantAttribute, string dominantValue) | ||
2891 | { | ||
2892 | return new WixWarningEventArgs(sourceLineNumbers, 1146, "WixWarnings_RelatedAttributeConditionallyIgnored_1", recessiveAttribute, dominantAttribute, dominantValue); | ||
2893 | } | ||
2894 | |||
2895 | public static MessageEventArgs BackslashTerminateInlineDirectorySyntax(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) | ||
2896 | { | ||
2897 | return new WixWarningEventArgs(sourceLineNumbers, 1147, "WixWarnings_BackslashTerminateInlineDirectorySyntax_1", elementName, attributeName, value); | ||
2898 | } | ||
2899 | |||
2900 | public static MessageEventArgs VersionTruncated(SourceLineNumber sourceLineNumbers, string originalVersion, string package, string truncatedVersion) | ||
2901 | { | ||
2902 | return new WixWarningEventArgs(sourceLineNumbers, 1148, "WixWarnings_VersionTruncated_1", originalVersion, package, truncatedVersion); | ||
2903 | } | ||
2904 | |||
2905 | public static MessageEventArgs ServiceConfigFamilyNotSupported(SourceLineNumber sourceLineNumbers, string elementName) | ||
2906 | { | ||
2907 | return new WixWarningEventArgs(sourceLineNumbers, 1149, "WixWarnings_ServiceConfigFamilyNotSupported_1", elementName); | ||
2908 | } | ||
2909 | } | ||
2910 | |||
2911 | public class WixVerboseEventArgs : MessageEventArgs | ||
2912 | { | ||
2913 | |||
2914 | private static ResourceManager resourceManager = new ResourceManager("WixToolset.Core.Data.Messages", Assembly.GetExecutingAssembly()); | ||
2915 | |||
2916 | public WixVerboseEventArgs(SourceLineNumber sourceLineNumbers, int id, string resourceName, params object[] messageArgs) : | ||
2917 | base(sourceLineNumbers, id, resourceName, messageArgs) | ||
2918 | { | ||
2919 | base.Level = MessageLevel.Verbose; | ||
2920 | base.ResourceManager = resourceManager; | ||
2921 | } | ||
2922 | } | ||
2923 | |||
2924 | public sealed class WixVerboses | ||
2925 | { | ||
2926 | |||
2927 | private WixVerboses() | ||
2928 | { | ||
2929 | } | ||
2930 | |||
2931 | public static MessageEventArgs ImportBinaryStream(string streamSource) | ||
2932 | { | ||
2933 | return new WixVerboseEventArgs(null, 9000, "WixVerboses_ImportBinaryStream_1", streamSource); | ||
2934 | } | ||
2935 | |||
2936 | public static MessageEventArgs ImportIconStream(string streamSource) | ||
2937 | { | ||
2938 | return new WixVerboseEventArgs(null, 9001, "WixVerboses_ImportIconStream_1", streamSource); | ||
2939 | } | ||
2940 | |||
2941 | public static MessageEventArgs CopyFile(string sourceFile, string destinationFile) | ||
2942 | { | ||
2943 | return new WixVerboseEventArgs(null, 9002, "WixVerboses_CopyFile_1", sourceFile, destinationFile); | ||
2944 | } | ||
2945 | |||
2946 | public static MessageEventArgs MoveFile(string sourceFile, string destinationFile) | ||
2947 | { | ||
2948 | return new WixVerboseEventArgs(null, 9003, "WixVerboses_MoveFile_1", sourceFile, destinationFile); | ||
2949 | } | ||
2950 | |||
2951 | public static MessageEventArgs CreateDirectory(string directory) | ||
2952 | { | ||
2953 | return new WixVerboseEventArgs(null, 9004, "WixVerboses_CreateDirectory_1", directory); | ||
2954 | } | ||
2955 | |||
2956 | public static MessageEventArgs RemoveDestinationFile(string destinationFile) | ||
2957 | { | ||
2958 | return new WixVerboseEventArgs(null, 9005, "WixVerboses_RemoveDestinationFile_1", destinationFile); | ||
2959 | } | ||
2960 | |||
2961 | public static MessageEventArgs CabFile(string fileId, string filePath) | ||
2962 | { | ||
2963 | return new WixVerboseEventArgs(null, 9006, "WixVerboses_CabFile_1", fileId, filePath); | ||
2964 | } | ||
2965 | |||
2966 | public static MessageEventArgs UpdatingFileInformation() | ||
2967 | { | ||
2968 | return new WixVerboseEventArgs(null, 9007, "WixVerboses_UpdatingFileInformation_1"); | ||
2969 | } | ||
2970 | |||
2971 | public static MessageEventArgs GeneratingDatabase() | ||
2972 | { | ||
2973 | return new WixVerboseEventArgs(null, 9008, "WixVerboses_GeneratingDatabase_1"); | ||
2974 | } | ||
2975 | |||
2976 | public static MessageEventArgs MergingModules() | ||
2977 | { | ||
2978 | return new WixVerboseEventArgs(null, 9009, "WixVerboses_MergingModules_1"); | ||
2979 | } | ||
2980 | |||
2981 | public static MessageEventArgs CreatingCabinetFiles() | ||
2982 | { | ||
2983 | return new WixVerboseEventArgs(null, 9010, "WixVerboses_CreatingCabinetFiles_1"); | ||
2984 | } | ||
2985 | |||
2986 | public static MessageEventArgs ImportingStreams() | ||
2987 | { | ||
2988 | return new WixVerboseEventArgs(null, 9011, "WixVerboses_ImportingStreams_1"); | ||
2989 | } | ||
2990 | |||
2991 | public static MessageEventArgs LayingOutMedia() | ||
2992 | { | ||
2993 | return new WixVerboseEventArgs(null, 9012, "WixVerboses_LayingOutMedia_1"); | ||
2994 | } | ||
2995 | |||
2996 | public static MessageEventArgs DecompilingTable(string tableName) | ||
2997 | { | ||
2998 | return new WixVerboseEventArgs(null, 9013, "WixVerboses_DecompilingTable_1", tableName); | ||
2999 | } | ||
3000 | |||
3001 | public static MessageEventArgs ValidationInfo(string ice, string message) | ||
3002 | { | ||
3003 | return new WixVerboseEventArgs(null, 9014, "WixVerboses_ValidationInfo_1", ice, message); | ||
3004 | } | ||
3005 | |||
3006 | public static MessageEventArgs CreateCabinet(string cabinet) | ||
3007 | { | ||
3008 | return new WixVerboseEventArgs(null, 9015, "WixVerboses_CreateCabinet_1", cabinet); | ||
3009 | } | ||
3010 | |||
3011 | public static MessageEventArgs ValidatingDatabase() | ||
3012 | { | ||
3013 | return new WixVerboseEventArgs(null, 9016, "WixVerboses_ValidatingDatabase_1"); | ||
3014 | } | ||
3015 | |||
3016 | public static MessageEventArgs OpeningMergeModule(string modulePath, short language) | ||
3017 | { | ||
3018 | return new WixVerboseEventArgs(null, 9017, "WixVerboses_OpeningMergeModule_1", modulePath, language); | ||
3019 | } | ||
3020 | |||
3021 | public static MessageEventArgs MergingMergeModule(string modulePath) | ||
3022 | { | ||
3023 | return new WixVerboseEventArgs(null, 9018, "WixVerboses_MergingMergeModule_1", modulePath); | ||
3024 | } | ||
3025 | |||
3026 | public static MessageEventArgs ConnectingMergeModule(string modulePath, string feature) | ||
3027 | { | ||
3028 | return new WixVerboseEventArgs(null, 9019, "WixVerboses_ConnectingMergeModule_1", modulePath, feature); | ||
3029 | } | ||
3030 | |||
3031 | public static MessageEventArgs ResequencingMergeModuleFiles() | ||
3032 | { | ||
3033 | return new WixVerboseEventArgs(null, 9020, "WixVerboses_ResequencingMergeModuleFiles_1"); | ||
3034 | } | ||
3035 | |||
3036 | public static MessageEventArgs BinderTempDirLocatedAt(string directory) | ||
3037 | { | ||
3038 | return new WixVerboseEventArgs(null, 9021, "WixVerboses_BinderTempDirLocatedAt_1", directory); | ||
3039 | } | ||
3040 | |||
3041 | public static MessageEventArgs ValidatorTempDirLocatedAt(string directory) | ||
3042 | { | ||
3043 | return new WixVerboseEventArgs(null, 9022, "WixVerboses_ValidatorTempDirLocatedAt_1", directory); | ||
3044 | } | ||
3045 | |||
3046 | public static MessageEventArgs GeneratingBundle(string bundleFile, string stubFile) | ||
3047 | { | ||
3048 | return new WixVerboseEventArgs(null, 9023, "WixVerboses_GeneratingBundle_1", bundleFile, stubFile); | ||
3049 | } | ||
3050 | |||
3051 | public static MessageEventArgs ResolvingManifest(string manifestFile) | ||
3052 | { | ||
3053 | return new WixVerboseEventArgs(null, 9024, "WixVerboses_ResolvingManifest_1", manifestFile); | ||
3054 | } | ||
3055 | |||
3056 | public static MessageEventArgs LoadingPayload(string payload) | ||
3057 | { | ||
3058 | return new WixVerboseEventArgs(null, 9025, "WixVerboses_LoadingPayload_1", payload); | ||
3059 | } | ||
3060 | |||
3061 | public static MessageEventArgs BundleGuid(string bundleGuid) | ||
3062 | { | ||
3063 | return new WixVerboseEventArgs(null, 9026, "WixVerboses_BundleGuid_1", bundleGuid); | ||
3064 | } | ||
3065 | |||
3066 | public static MessageEventArgs CopyingExternalPayload(string payload, string outputDirectory) | ||
3067 | { | ||
3068 | return new WixVerboseEventArgs(null, 9027, "WixVerboses_CopyingExternalPayload_1", payload, outputDirectory); | ||
3069 | } | ||
3070 | |||
3071 | public static MessageEventArgs EmbeddingContainer(string container, long size, string compression) | ||
3072 | { | ||
3073 | return new WixVerboseEventArgs(null, 9028, "WixVerboses_EmbeddingContainer_1", container, size, compression); | ||
3074 | } | ||
3075 | |||
3076 | public static MessageEventArgs SwitchingToPerUserPackage(SourceLineNumber sourceLineNumbers, string path) | ||
3077 | { | ||
3078 | return new WixVerboseEventArgs(sourceLineNumbers, 9029, "WixVerboses_SwitchingToPerUserPackage_1", path); | ||
3079 | } | ||
3080 | |||
3081 | public static MessageEventArgs SetCabbingThreadCount(string threads) | ||
3082 | { | ||
3083 | return new WixVerboseEventArgs(null, 9030, "WixVerboses_SetCabbingThreadCount_1", threads); | ||
3084 | } | ||
3085 | |||
3086 | public static MessageEventArgs ValidationSerialized() | ||
3087 | { | ||
3088 | return new WixVerboseEventArgs(null, 9031, "WixVerboses_ValidationSerialized_1"); | ||
3089 | } | ||
3090 | |||
3091 | public static MessageEventArgs ReusingCabCache(SourceLineNumber sourceLineNumbers, string cabinetName, string source) | ||
3092 | { | ||
3093 | return new WixVerboseEventArgs(sourceLineNumbers, 9032, "WixVerboses_ReusingCabCache_1", cabinetName, source); | ||
3094 | } | ||
3095 | |||
3096 | public static MessageEventArgs CabinetsSplitInParallel() | ||
3097 | { | ||
3098 | return new WixVerboseEventArgs(null, 9033, "WixVerboses_CabinetsSplitInParallel_1"); | ||
3099 | } | ||
3100 | |||
3101 | public static MessageEventArgs ValidatedDatabase(long size) | ||
3102 | { | ||
3103 | return new WixVerboseEventArgs(null, 9034, "WixVerboses_ValidatedDatabase_1", size); | ||
3104 | } | ||
3105 | } | ||
3106 | } | ||
diff --git a/src/WixToolset.Core/Data/messages.xml.old b/src/WixToolset.Core/Data/messages.xml.old deleted file mode 100644 index d981e2d1..00000000 --- a/src/WixToolset.Core/Data/messages.xml.old +++ /dev/null | |||
@@ -1,3998 +0,0 @@ | |||
1 | <?xml version='1.0' encoding='utf-8'?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | |||
5 | <Messages Namespace="WixToolset" Resources="Core.Data.Messages" xmlns="http://schemas.microsoft.com/genmsgs/2004/07/messages"> | ||
6 | <Class Name="WixErrors" ContainerName="WixErrorEventArgs" BaseContainerName="MessageEventArgs" Level="Error"> | ||
7 | <Message Id="UnexpectedException" Number="1" SourceLineNumbers="no"> | ||
8 | <Instance> | ||
9 | {0} Exception Type: {1} Stack Trace: {2} | ||
10 | <Parameter Type="System.String" Name="message" /> | ||
11 | <Parameter Type="System.String" Name="type" /> | ||
12 | <Parameter Type="System.String" Name="stackTrace" /> | ||
13 | </Instance> | ||
14 | </Message> | ||
15 | <Message Id="UnexpectedAttribute" Number="4"> | ||
16 | <Instance> | ||
17 | The {0} element contains an unexpected attribute '{1}'. | ||
18 | <Parameter Type="System.String" Name="elementName" /> | ||
19 | <Parameter Type="System.String" Name="attributeName" /> | ||
20 | </Instance> | ||
21 | </Message> | ||
22 | <Message Id="UnexpectedElement" Number="5"> | ||
23 | <Instance> | ||
24 | The {0} element contains an unexpected child element '{1}'. | ||
25 | <Parameter Type="System.String" Name="elementName" /> | ||
26 | <Parameter Type="System.String" Name="childElementName" /> | ||
27 | </Instance> | ||
28 | </Message> | ||
29 | <Message Id="IllegalEmptyAttributeValue" Number="6"> | ||
30 | <Instance> | ||
31 | The {0}/@{1} attribute's value cannot be an empty string. If a value is not required, simply remove the entire attribute. | ||
32 | <Parameter Type="System.String" Name="elementName" /> | ||
33 | <Parameter Type="System.String" Name="attributeName" /> | ||
34 | </Instance> | ||
35 | <Instance> | ||
36 | The {0}/@{1} attribute's value cannot be an empty string. To use the default value "{2}", simply remove the entire attribute. | ||
37 | <Parameter Type="System.String" Name="elementName" /> | ||
38 | <Parameter Type="System.String" Name="attributeName" /> | ||
39 | <Parameter Type="System.String" Name="defaultValue" /> | ||
40 | </Instance> | ||
41 | </Message> | ||
42 | <Message Id="InsufficientVersion" Number="7"> | ||
43 | <Instance> | ||
44 | The current version of the toolset is {0}, but version {1} is required. | ||
45 | <Parameter Type="System.Version" Name="currentVersion" /> | ||
46 | <Parameter Type="System.Version" Name="requiredVersion" /> | ||
47 | </Instance> | ||
48 | <Instance> | ||
49 | The current version of the extension '{2}' is {0}, but version {1} is required. | ||
50 | <Parameter Type="System.Version" Name="currentVersion" /> | ||
51 | <Parameter Type="System.Version" Name="requiredVersion" /> | ||
52 | <Parameter Type="System.String" Name="extension" /> | ||
53 | </Instance> | ||
54 | </Message> | ||
55 | <Message Id="IllegalIntegerValue" Number="8"> | ||
56 | <Instance> | ||
57 | The {0}/@{1} attribute's value, '{2}', is not a legal integer value. Legal integer values are from -2,147,483,648 to 2,147,483,647. | ||
58 | <Parameter Type="System.String" Name="elementName" /> | ||
59 | <Parameter Type="System.String" Name="attributeName" /> | ||
60 | <Parameter Type="System.String" Name="value" /> | ||
61 | </Instance> | ||
62 | </Message> | ||
63 | <Message Id="IllegalGuidValue" Number="9"> | ||
64 | <Instance> | ||
65 | The {0}/@{1} attribute's value, '{2}', is not a legal guid value. | ||
66 | <Parameter Type="System.String" Name="elementName" /> | ||
67 | <Parameter Type="System.String" Name="attributeName" /> | ||
68 | <Parameter Type="System.String" Name="value" /> | ||
69 | </Instance> | ||
70 | </Message> | ||
71 | <Message Id="ExpectedAttribute" Number="10"> | ||
72 | <Instance> | ||
73 | The {0}/@{1} attribute was not found; it is required. | ||
74 | <Parameter Type="System.String" Name="elementName" /> | ||
75 | <Parameter Type="System.String" Name="attributeName" /> | ||
76 | </Instance> | ||
77 | <Instance> | ||
78 | The {0} element must have a value for exactly one of the {1} or {2} attributes. | ||
79 | <Parameter Type="System.String" Name="elementName" /> | ||
80 | <Parameter Type="System.String" Name="attribute1Name" /> | ||
81 | <Parameter Type="System.String" Name="attribute2Name" /> | ||
82 | <Parameter Type="System.Boolean" Name="eitherOr" /> | ||
83 | </Instance> | ||
84 | <Instance> | ||
85 | The {0}/@{1} attribute was not found; it is required when attribute {2} is specified. | ||
86 | <Parameter Type="System.String" Name="elementName" /> | ||
87 | <Parameter Type="System.String" Name="attributeName" /> | ||
88 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
89 | </Instance> | ||
90 | <Instance> | ||
91 | The {0}/@{1} attribute was not found; it is required when attribute {2} has a value of '{3}'. | ||
92 | <Parameter Type="System.String" Name="elementName" /> | ||
93 | <Parameter Type="System.String" Name="attributeName" /> | ||
94 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
95 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
96 | </Instance> | ||
97 | <Instance> | ||
98 | The {0}/@{1} attribute was not found; it is required unless the attribute {2} has a value of '{3}'. | ||
99 | <Parameter Type="System.String" Name="elementName" /> | ||
100 | <Parameter Type="System.String" Name="attributeName" /> | ||
101 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
102 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
103 | <Parameter Type="System.Boolean" Name="otherAttributeValueUnless" /> | ||
104 | </Instance> | ||
105 | </Message> | ||
106 | <Message Id="SecurePropertyNotUppercase" Number="11"> | ||
107 | <Instance> | ||
108 | The {0}/@{1} attribute's value, '{2}', cannot contain lowercase characters. Since this is a secure property, it must also be a public property. This means the Property/@Id value must be completely uppercase. | ||
109 | <Parameter Type="System.String" Name="elementName" /> | ||
110 | <Parameter Type="System.String" Name="attributeName" /> | ||
111 | <Parameter Type="System.String" Name="propertyId" /> | ||
112 | </Instance> | ||
113 | </Message> | ||
114 | <Message Id="SearchPropertyNotUppercase" Number="12"> | ||
115 | <Instance> | ||
116 | The {0}/@{1} attribute's value, '{2}', cannot contain lowercase characters. Since this is a search property, it must also be a public property. This means the Property/@Id value must be completely uppercase. | ||
117 | <Parameter Type="System.String" Name="elementName" /> | ||
118 | <Parameter Type="System.String" Name="attributeName" /> | ||
119 | <Parameter Type="System.String" Name="value" /> | ||
120 | </Instance> | ||
121 | </Message> | ||
122 | <Message Id="StreamNameTooLong" Number="13"> | ||
123 | <Instance> | ||
124 | The {0}/@{1} attribute's value, '{2}', is {3} characters long. This is too long because it will be used to create a stream name. It cannot be more than than {4} characters long. | ||
125 | <Parameter Type="System.String" Name="elementName" /> | ||
126 | <Parameter Type="System.String" Name="attributeName" /> | ||
127 | <Parameter Type="System.String" Name="value" /> | ||
128 | <Parameter Type="System.Int32" Name="length" /> | ||
129 | <Parameter Type="System.Int32" Name="maximumLength" /> | ||
130 | </Instance> | ||
131 | <Instance> | ||
132 | The binary value in table '{0}' will be stored with a stream name, '{1}', that is {2} characters long. This is too long because the maximum allowed length for a stream name is 62 characters long. Since the stream name is created by concatenating the table name and values of the primary key for a row (delimited by periods), this error can be resolved by shortening a value that is part of the primary key. | ||
133 | <Parameter Type="System.String" Name="tableName" /> | ||
134 | <Parameter Type="System.String" Name="streamName" /> | ||
135 | <Parameter Type="System.Int32" Name="streamLength" /> | ||
136 | </Instance> | ||
137 | </Message> | ||
138 | <Message Id="IllegalIdentifier" Number="14"> | ||
139 | <Instance> | ||
140 | The {0} element's value, '{1}', is not a legal identifier. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore. | ||
141 | <Parameter Type="System.String" Name="elementName" /> | ||
142 | <Parameter Type="System.String" Name="value" /> | ||
143 | </Instance> | ||
144 | <Instance> | ||
145 | The {0}/@{1} attribute's value is not a legal identifier. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore. | ||
146 | <Parameter Type="System.String" Name="elementName" /> | ||
147 | <Parameter Type="System.String" Name="attributeName" /> | ||
148 | <Parameter Type="System.Int32" Name="disambiguator" /> | ||
149 | </Instance> | ||
150 | <Instance> | ||
151 | The {0}/@{1} attribute's value, '{2}', is not a legal identifier. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore. | ||
152 | <Parameter Type="System.String" Name="elementName" /> | ||
153 | <Parameter Type="System.String" Name="attributeName" /> | ||
154 | <Parameter Type="System.String" Name="value" /> | ||
155 | </Instance> | ||
156 | <Instance> | ||
157 | The {0}/@{1} attribute's value '{2}' contains an illegal identifier '{3}'. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore. | ||
158 | <Parameter Type="System.String" Name="elementName" /> | ||
159 | <Parameter Type="System.String" Name="attributeName" /> | ||
160 | <Parameter Type="System.String" Name="value" /> | ||
161 | <Parameter Type="System.String" Name="identifier" /> | ||
162 | </Instance> | ||
163 | </Message> | ||
164 | <Message Id="IllegalYesNoValue" Number="15"> | ||
165 | <Instance> | ||
166 | The {0}/@{1} attribute's value, '{2}', is not a legal yes/no value. The only legal values are 'no' and 'yes'. | ||
167 | <Parameter Type="System.String" Name="elementName" /> | ||
168 | <Parameter Type="System.String" Name="attributeName" /> | ||
169 | <Parameter Type="System.String" Name="value" /> | ||
170 | </Instance> | ||
171 | </Message> | ||
172 | <Message Id="CabCreationFailed" Number="16" SourceLineNumbers="no"> | ||
173 | <Instance> | ||
174 | Failed to create cab '{0}' while compressing file '{1}' with error 0x{2:X8}. | ||
175 | <Parameter Type="System.String" Name="cabName" /> | ||
176 | <Parameter Type="System.String" Name="fileName" /> | ||
177 | <Parameter Type="System.Int32" Name="error" /> | ||
178 | </Instance> | ||
179 | <Instance> | ||
180 | Failed to create cab '{0}' with error 0x{1:X8}. | ||
181 | <Parameter Type="System.String" Name="cabName" /> | ||
182 | <Parameter Type="System.Int32" Name="error" /> | ||
183 | </Instance> | ||
184 | </Message> | ||
185 | <Message Id="CabExtractionFailed" Number="17" SourceLineNumbers="no"> | ||
186 | <Instance> | ||
187 | Failed to extract cab '{0}' to directory '{1}'. This is most likely due to a lack of available disk space on the destination drive. | ||
188 | <Parameter Type="System.String" Name="cabName" /> | ||
189 | <Parameter Type="System.String" Name="directoryName" /> | ||
190 | </Instance> | ||
191 | <Instance> | ||
192 | Failed to extract cab '{0}' from merge module '{1}' to directory '{2}'. This is most likely due to a lack of available disk space on the destination drive. | ||
193 | <Parameter Type="System.String" Name="cabName" /> | ||
194 | <Parameter Type="System.String" Name="mergeModulePath" /> | ||
195 | <Parameter Type="System.String" Name="directoryName" /> | ||
196 | </Instance> | ||
197 | </Message> | ||
198 | <Message Id="AppIdIncompatibleAdvertiseState" Number="18"> | ||
199 | <Instance> | ||
200 | The {0}/@(1) attribute's value, '{2}' does not match the advertise state on its parent element: '{3}'. (Note: AppIds nested under Fragment, Module, or Product elements must be advertised.) | ||
201 | <Parameter Type="System.String" Name="elementName" /> | ||
202 | <Parameter Type="System.String" Name="attributeName" /> | ||
203 | <Parameter Type="System.String" Name="value" /> | ||
204 | <Parameter Type="System.String" Name="parentValue" /> | ||
205 | </Instance> | ||
206 | </Message> | ||
207 | <Message Id="IllegalAttributeWhenAdvertised" Number="19"> | ||
208 | <Instance> | ||
209 | The {0}/@{1} attribute cannot be specified because the element is advertised. | ||
210 | <Parameter Type="System.String" Name="elementName" /> | ||
211 | <Parameter Type="System.String" Name="attributeName" /> | ||
212 | </Instance> | ||
213 | </Message> | ||
214 | <Message Id="ConditionExpected" Number="20"> | ||
215 | <Instance> | ||
216 | The {0} element's inner text cannot be an empty string or completely whitespace. If you don't want a condition, then simply remove the entire {0} element. | ||
217 | <Parameter Type="System.String" Name="elementName" /> | ||
218 | </Instance> | ||
219 | </Message> | ||
220 | <Message Id="IllegalAttributeValue" Number="21"> | ||
221 | <Instance> | ||
222 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}'. | ||
223 | <Parameter Type="System.String" Name="elementName" /> | ||
224 | <Parameter Type="System.String" Name="attributeName" /> | ||
225 | <Parameter Type="System.String" Name="value" /> | ||
226 | <Parameter Type="System.String" Name="legalValue1" /> | ||
227 | </Instance> | ||
228 | <Instance> | ||
229 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', or '{4}'. | ||
230 | <Parameter Type="System.String" Name="elementName" /> | ||
231 | <Parameter Type="System.String" Name="attributeName" /> | ||
232 | <Parameter Type="System.String" Name="value" /> | ||
233 | <Parameter Type="System.String" Name="legalValue1" /> | ||
234 | <Parameter Type="System.String" Name="legalValue2" /> | ||
235 | </Instance> | ||
236 | <Instance> | ||
237 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', or '{5}'. | ||
238 | <Parameter Type="System.String" Name="elementName" /> | ||
239 | <Parameter Type="System.String" Name="attributeName" /> | ||
240 | <Parameter Type="System.String" Name="value" /> | ||
241 | <Parameter Type="System.String" Name="legalValue1" /> | ||
242 | <Parameter Type="System.String" Name="legalValue2" /> | ||
243 | <Parameter Type="System.String" Name="legalValue3" /> | ||
244 | </Instance> | ||
245 | <Instance> | ||
246 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', '{5}', or '{6}'. | ||
247 | <Parameter Type="System.String" Name="elementName" /> | ||
248 | <Parameter Type="System.String" Name="attributeName" /> | ||
249 | <Parameter Type="System.String" Name="value" /> | ||
250 | <Parameter Type="System.String" Name="legalValue1" /> | ||
251 | <Parameter Type="System.String" Name="legalValue2" /> | ||
252 | <Parameter Type="System.String" Name="legalValue3" /> | ||
253 | <Parameter Type="System.String" Name="legalValue4" /> | ||
254 | </Instance> | ||
255 | <Instance> | ||
256 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', '{5}', '{6}', or '{7}'. | ||
257 | <Parameter Type="System.String" Name="elementName" /> | ||
258 | <Parameter Type="System.String" Name="attributeName" /> | ||
259 | <Parameter Type="System.String" Name="value" /> | ||
260 | <Parameter Type="System.String" Name="legalValue1" /> | ||
261 | <Parameter Type="System.String" Name="legalValue2" /> | ||
262 | <Parameter Type="System.String" Name="legalValue3" /> | ||
263 | <Parameter Type="System.String" Name="legalValue4" /> | ||
264 | <Parameter Type="System.String" Name="legalValue5" /> | ||
265 | </Instance> | ||
266 | <Instance> | ||
267 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', '{5}', '{6}', '{7}', or '{8}'. | ||
268 | <Parameter Type="System.String" Name="elementName" /> | ||
269 | <Parameter Type="System.String" Name="attributeName" /> | ||
270 | <Parameter Type="System.String" Name="value" /> | ||
271 | <Parameter Type="System.String" Name="legalValue1" /> | ||
272 | <Parameter Type="System.String" Name="legalValue2" /> | ||
273 | <Parameter Type="System.String" Name="legalValue3" /> | ||
274 | <Parameter Type="System.String" Name="legalValue4" /> | ||
275 | <Parameter Type="System.String" Name="legalValue5" /> | ||
276 | <Parameter Type="System.String" Name="legalValue6" /> | ||
277 | </Instance> | ||
278 | <Instance> | ||
279 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', or '{9}'. | ||
280 | <Parameter Type="System.String" Name="elementName" /> | ||
281 | <Parameter Type="System.String" Name="attributeName" /> | ||
282 | <Parameter Type="System.String" Name="value" /> | ||
283 | <Parameter Type="System.String" Name="legalValue1" /> | ||
284 | <Parameter Type="System.String" Name="legalValue2" /> | ||
285 | <Parameter Type="System.String" Name="legalValue3" /> | ||
286 | <Parameter Type="System.String" Name="legalValue4" /> | ||
287 | <Parameter Type="System.String" Name="legalValue5" /> | ||
288 | <Parameter Type="System.String" Name="legalValue6" /> | ||
289 | <Parameter Type="System.String" Name="legalValue7" /> | ||
290 | </Instance> | ||
291 | <Instance> | ||
292 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', or '{10}'. | ||
293 | <Parameter Type="System.String" Name="elementName" /> | ||
294 | <Parameter Type="System.String" Name="attributeName" /> | ||
295 | <Parameter Type="System.String" Name="value" /> | ||
296 | <Parameter Type="System.String" Name="legalValue1" /> | ||
297 | <Parameter Type="System.String" Name="legalValue2" /> | ||
298 | <Parameter Type="System.String" Name="legalValue3" /> | ||
299 | <Parameter Type="System.String" Name="legalValue4" /> | ||
300 | <Parameter Type="System.String" Name="legalValue5" /> | ||
301 | <Parameter Type="System.String" Name="legalValue6" /> | ||
302 | <Parameter Type="System.String" Name="legalValue7" /> | ||
303 | <Parameter Type="System.String" Name="legalValue8" /> | ||
304 | </Instance> | ||
305 | <Instance> | ||
306 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', '{18}', '{19}', '{20}', '{21}', '{22}', '{23}', '{24}', '{25}', '{26}', '{27}', or '{28}'. | ||
307 | <Parameter Type="System.String" Name="elementName" /> | ||
308 | <Parameter Type="System.String" Name="attributeName" /> | ||
309 | <Parameter Type="System.String" Name="value" /> | ||
310 | <Parameter Type="System.String" Name="legalValue1" /> | ||
311 | <Parameter Type="System.String" Name="legalValue2" /> | ||
312 | <Parameter Type="System.String" Name="legalValue3" /> | ||
313 | <Parameter Type="System.String" Name="legalValue4" /> | ||
314 | <Parameter Type="System.String" Name="legalValue5" /> | ||
315 | <Parameter Type="System.String" Name="legalValue6" /> | ||
316 | <Parameter Type="System.String" Name="legalValue7" /> | ||
317 | <Parameter Type="System.String" Name="legalValue8" /> | ||
318 | <Parameter Type="System.String" Name="legalValue9" /> | ||
319 | <Parameter Type="System.String" Name="legalValue10" /> | ||
320 | <Parameter Type="System.String" Name="legalValue11" /> | ||
321 | <Parameter Type="System.String" Name="legalValue12" /> | ||
322 | <Parameter Type="System.String" Name="legalValue13" /> | ||
323 | <Parameter Type="System.String" Name="legalValue14" /> | ||
324 | <Parameter Type="System.String" Name="legalValue15" /> | ||
325 | <Parameter Type="System.String" Name="legalValue16" /> | ||
326 | <Parameter Type="System.String" Name="legalValue17" /> | ||
327 | <Parameter Type="System.String" Name="legalValue18" /> | ||
328 | <Parameter Type="System.String" Name="legalValue19" /> | ||
329 | <Parameter Type="System.String" Name="legalValue20" /> | ||
330 | <Parameter Type="System.String" Name="legalValue21" /> | ||
331 | <Parameter Type="System.String" Name="legalValue22" /> | ||
332 | <Parameter Type="System.String" Name="legalValue23" /> | ||
333 | <Parameter Type="System.String" Name="legalValue24" /> | ||
334 | <Parameter Type="System.String" Name="legalValue25" /> | ||
335 | <Parameter Type="System.String" Name="legalValue26" /> | ||
336 | </Instance> | ||
337 | </Message> | ||
338 | <Message Id="CustomActionMultipleSources" Number="22"> | ||
339 | <Instance> | ||
340 | The {0}/@{1} attribute cannot coexist with a previously specified attribute on this element. The {0} element may only have one of the following source attributes specified at a time: {2}, {3}, {4}, {5}, or {6}. | ||
341 | <Parameter Type="System.String" Name="elementName" /> | ||
342 | <Parameter Type="System.String" Name="attributeName" /> | ||
343 | <Parameter Type="System.String" Name="attributeName1" /> | ||
344 | <Parameter Type="System.String" Name="attributeName2" /> | ||
345 | <Parameter Type="System.String" Name="attributeName3" /> | ||
346 | <Parameter Type="System.String" Name="attributeName4" /> | ||
347 | <Parameter Type="System.String" Name="attributeName5" /> | ||
348 | </Instance> | ||
349 | </Message> | ||
350 | <Message Id="CustomActionMultipleTargets" Number="23"> | ||
351 | <Instance> | ||
352 | The {0}/@{1} attribute cannot coexist with a previously specified attribute on this element. The {0} element may only have one of the following target attributes specified at a time: {2}, {3}, {4}, {5}, {6}, {7}, or {8}. | ||
353 | <Parameter Type="System.String" Name="elementName" /> | ||
354 | <Parameter Type="System.String" Name="attributeName" /> | ||
355 | <Parameter Type="System.String" Name="attributeName1" /> | ||
356 | <Parameter Type="System.String" Name="attributeName2" /> | ||
357 | <Parameter Type="System.String" Name="attributeName3" /> | ||
358 | <Parameter Type="System.String" Name="attributeName4" /> | ||
359 | <Parameter Type="System.String" Name="attributeName5" /> | ||
360 | <Parameter Type="System.String" Name="attributeName6" /> | ||
361 | <Parameter Type="System.String" Name="attributeName7" /> | ||
362 | </Instance> | ||
363 | </Message> | ||
364 | <Message Id="CustomActionIllegalInnerText" Number="24"> | ||
365 | <Instance> | ||
366 | The {0} element contains illegal inner text: '{1}'. It may not contain inner text unless the {2} attribute is specified. | ||
367 | <Parameter Type="System.String" Name="elementName" /> | ||
368 | <Parameter Type="System.String" Name="innerText" /> | ||
369 | <Parameter Type="System.String" Name="attributeName" /> | ||
370 | </Instance> | ||
371 | </Message> | ||
372 | <Message Id="DirectoryRootWithoutName" Number="25"> | ||
373 | <Instance> | ||
374 | The {0} element requires the {1} attribute because there is no parent {0} element. | ||
375 | <Parameter Type="System.String" Name="elementName" /> | ||
376 | <Parameter Type="System.String" Name="attributeName" /> | ||
377 | </Instance> | ||
378 | </Message> | ||
379 | <Message Id="IllegalShortFilename" Number="26"> | ||
380 | <Instance> | ||
381 | The {0}/@{1} attribute's value, '{2}', is not a valid 8.3-compliant name. Legal names contain no more than 8 non-period characters followed by an optional period and extension of no more than 3 non-period characters. Any character except for the follow may be used: \ ? | > < : / * " + , ; = [ ] (space). | ||
382 | <Parameter Type="System.String" Name="elementName" /> | ||
383 | <Parameter Type="System.String" Name="attributeName" /> | ||
384 | <Parameter Type="System.String" Name="value" /> | ||
385 | </Instance> | ||
386 | </Message> | ||
387 | <Message Id="IllegalLongFilename" Number="27"> | ||
388 | <Instance> | ||
389 | The {0}/@{1} attribute's value, '{2}', is not a valid filename because it contains illegal characters. Legal filenames contain no more than 260 characters and must contain at least one non-period character. Any character except for the follow may be used: \ ? | > < : / * ". | ||
390 | <Parameter Type="System.String" Name="elementName" /> | ||
391 | <Parameter Type="System.String" Name="attributeName" /> | ||
392 | <Parameter Type="System.String" Name="value" /> | ||
393 | </Instance> | ||
394 | <Instance> | ||
395 | The {0}/@{1} attribute's value '{2}' contains a invalid filename '{3}'. Legal filenames contain no more than 260 characters and must contain at least one non-period character. Any character except for the follow may be used: \ ? | > < : / * ". | ||
396 | <Parameter Type="System.String" Name="elementName" /> | ||
397 | <Parameter Type="System.String" Name="attributeName" /> | ||
398 | <Parameter Type="System.String" Name="value" /> | ||
399 | <Parameter Type="System.String" Name="filename" /> | ||
400 | </Instance> | ||
401 | </Message> | ||
402 | <Message Id="TableNameTooLong" Number="28"> | ||
403 | <Instance> | ||
404 | The {0}/@{1} attribute's value, '{2}', is too long for a table name. It cannot be more than than 31 characters long. | ||
405 | <Parameter Type="System.String" Name="elementName" /> | ||
406 | <Parameter Type="System.String" Name="attributeName" /> | ||
407 | <Parameter Type="System.String" Name="value" /> | ||
408 | </Instance> | ||
409 | </Message> | ||
410 | <Message Id="FeatureConfigurableDirectoryNotUppercase" Number="29"> | ||
411 | <Instance> | ||
412 | The {0}/@{1} attribute's value, '{2}', contains lowercase characters. Since this directory is user-configurable, it needs to be a public property. This means the value must be completely uppercase. | ||
413 | <Parameter Type="System.String" Name="elementName" /> | ||
414 | <Parameter Type="System.String" Name="attributeName" /> | ||
415 | <Parameter Type="System.String" Name="value" /> | ||
416 | </Instance> | ||
417 | </Message> | ||
418 | <Message Id="FeatureCannotFavorAndDisallowAdvertise" Number="30"> | ||
419 | <Instance> | ||
420 | The {0}/@{1} attribute's value, '{2}', cannot coexist with the {3} attribute's value of '{4}'. These options would ask the installer to disallow the advertised state for this feature while at the same time favoring it. | ||
421 | <Parameter Type="System.String" Name="elementName" /> | ||
422 | <Parameter Type="System.String" Name="attributeName" /> | ||
423 | <Parameter Type="System.String" Name="value" /> | ||
424 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
425 | <Parameter Type="System.String" Name="otherValue" /> | ||
426 | </Instance> | ||
427 | </Message> | ||
428 | <Message Id="FeatureCannotFollowParentAndFavorLocalOrSource" Number="31"> | ||
429 | <Instance> | ||
430 | The {0}/@{1} attribute cannot be specified if the {2} attribute's value is '{3}'. These options would ask the installer to force this feature to follow the parent installation state and simultaneously favor a particular installation state just for this feature. | ||
431 | <Parameter Type="System.String" Name="elementName" /> | ||
432 | <Parameter Type="System.String" Name="attributeName" /> | ||
433 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
434 | <Parameter Type="System.String" Name="otherValue" /> | ||
435 | </Instance> | ||
436 | </Message> | ||
437 | <Message Id="MediaEmbeddedCabinetNameTooLong" Number="32"> | ||
438 | <Instance> | ||
439 | The {0}/@{1} attribute's value, '{2}', is {3} characters long. The name is too long for an embedded cabinet. It cannot be more than than 62 characters long. | ||
440 | <Parameter Type="System.String" Name="elementName" /> | ||
441 | <Parameter Type="System.String" Name="attributeName" /> | ||
442 | <Parameter Type="System.String" Name="value" /> | ||
443 | <Parameter Type="System.Int32" Name="length" /> | ||
444 | </Instance> | ||
445 | </Message> | ||
446 | <Message Id="RegistrySubElementCannotBeRemoved" Number="33"> | ||
447 | <Instance> | ||
448 | The {0}/{1} element cannot be specified if the {2} attribute's value is '{3}' or '{4}'. | ||
449 | <Parameter Type="System.String" Name="registryElementName" /> | ||
450 | <Parameter Type="System.String" Name="registryValueElementName" /> | ||
451 | <Parameter Type="System.String" Name="actionAttributeName" /> | ||
452 | <Parameter Type="System.String" Name="removeValue" /> | ||
453 | <Parameter Type="System.String" Name="removeKeyOnInstallValue" /> | ||
454 | </Instance> | ||
455 | </Message> | ||
456 | <Message Id="RegistryMultipleValuesWithoutMultiString" Number="34"> | ||
457 | <Instance> | ||
458 | The {0}/@{1} attribute and a {0}/{2} element cannot both be specified. Only one may be specified if the {3} attribute's value is not 'multiString'. | ||
459 | <Parameter Type="System.String" Name="registryElementName" /> | ||
460 | <Parameter Type="System.String" Name="valueAttributeName" /> | ||
461 | <Parameter Type="System.String" Name="registryValueElementName" /> | ||
462 | <Parameter Type="System.String" Name="typeAttributeName" /> | ||
463 | </Instance> | ||
464 | </Message> | ||
465 | <Message Id="IllegalAttributeWithOtherAttribute" Number="35"> | ||
466 | <Instance> | ||
467 | The {0}/@{1} attribute cannot be specified when attribute {2} is present. | ||
468 | <Parameter Type="System.String" Name="elementName" /> | ||
469 | <Parameter Type="System.String" Name="attributeName" /> | ||
470 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
471 | </Instance> | ||
472 | <Instance> | ||
473 | The {0}/@{1} attribute cannot be specified when attribute {2} is present with value '{3}'. | ||
474 | <Parameter Type="System.String" Name="elementName" /> | ||
475 | <Parameter Type="System.String" Name="attributeName" /> | ||
476 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
477 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
478 | </Instance> | ||
479 | </Message> | ||
480 | <Message Id="IllegalAttributeWithOtherAttributes" Number="36"> | ||
481 | <Instance> | ||
482 | The {0}/@{1} attribute cannot be specified when attribute {2} or {3} is also present. | ||
483 | <Parameter Type="System.String" Name="elementName" /> | ||
484 | <Parameter Type="System.String" Name="attributeName" /> | ||
485 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
486 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
487 | </Instance> | ||
488 | <Instance> | ||
489 | The {0}/@{1} attribute cannot be specified when attribute {2}, {3}, or {4} is also present. | ||
490 | <Parameter Type="System.String" Name="elementName" /> | ||
491 | <Parameter Type="System.String" Name="attributeName" /> | ||
492 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
493 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
494 | <Parameter Type="System.String" Name="otherAttributeName3" /> | ||
495 | </Instance> | ||
496 | <Instance> | ||
497 | The {0}/@{1} attribute cannot be specified when attribute {2}, {3}, {4}, or {5} is also present. | ||
498 | <Parameter Type="System.String" Name="elementName" /> | ||
499 | <Parameter Type="System.String" Name="attributeName" /> | ||
500 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
501 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
502 | <Parameter Type="System.String" Name="otherAttributeName3" /> | ||
503 | <Parameter Type="System.String" Name="otherAttributeName4" /> | ||
504 | </Instance> | ||
505 | </Message> | ||
506 | <Message Id="IllegalAttributeWithoutOtherAttributes" Number="37"> | ||
507 | <Instance> | ||
508 | The {0}/@{1} attribute can only be specified with the following attribute {2} present. | ||
509 | <Parameter Type="System.String" Name="elementName" /> | ||
510 | <Parameter Type="System.String" Name="attributeName" /> | ||
511 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
512 | </Instance> | ||
513 | <Instance> | ||
514 | The {0}/@{1} attribute can only be specified with one of the following attributes: {2} or {3} present. | ||
515 | <Parameter Type="System.String" Name="elementName" /> | ||
516 | <Parameter Type="System.String" Name="attributeName" /> | ||
517 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
518 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
519 | </Instance> | ||
520 | <Instance> | ||
521 | The {0}/@{1} attribute can only be specified with one of the following attributes: {2} or {3} present with value '{4}'. | ||
522 | <Parameter Type="System.String" Name="elementName" /> | ||
523 | <Parameter Type="System.String" Name="attributeName" /> | ||
524 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
525 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
526 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
527 | <Parameter Type="System.Boolean" Name="uniquifier" /> | ||
528 | </Instance> | ||
529 | <Instance> | ||
530 | The {0}/@{1} attribute can only be specified with one of the following attributes: {2}, {3}, or {4} present. | ||
531 | <Parameter Type="System.String" Name="elementName" /> | ||
532 | <Parameter Type="System.String" Name="attributeName" /> | ||
533 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
534 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
535 | <Parameter Type="System.String" Name="otherAttributeName3" /> | ||
536 | </Instance> | ||
537 | <Instance> | ||
538 | The {0}/@{1} attribute can only be specified with one of the following attributes: {2}, {3}, {4}, or {5} present. | ||
539 | <Parameter Type="System.String" Name="elementName" /> | ||
540 | <Parameter Type="System.String" Name="attributeName" /> | ||
541 | <Parameter Type="System.String" Name="otherAttributeName1" /> | ||
542 | <Parameter Type="System.String" Name="otherAttributeName2" /> | ||
543 | <Parameter Type="System.String" Name="otherAttributeName3" /> | ||
544 | <Parameter Type="System.String" Name="otherAttributeName4" /> | ||
545 | </Instance> | ||
546 | </Message> | ||
547 | <Message Id="IllegalAttributeValueWithoutOtherAttribute" Number="38"> | ||
548 | <Instance> | ||
549 | The {0}/@{1} attribute's value, '{2}', can only be specified with attribute {3} present with value '{4}'. | ||
550 | <Parameter Type="System.String" Name="elementName" /> | ||
551 | <Parameter Type="System.String" Name="attributeName" /> | ||
552 | <Parameter Type="System.String" Name="attributeValue" /> | ||
553 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
554 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
555 | </Instance> | ||
556 | <Instance> | ||
557 | The {0}/@{1} attribute's value, '{2}', cannot be specified without attribute {3} present. | ||
558 | <Parameter Type="System.String" Name="elementName" /> | ||
559 | <Parameter Type="System.String" Name="attributeName" /> | ||
560 | <Parameter Type="System.String" Name="attributeValue" /> | ||
561 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
562 | </Instance> | ||
563 | </Message> | ||
564 | <Message Id="IntegralValueSentinelCollision" Number="39"> | ||
565 | <Instance> | ||
566 | The integer value {0} collides with a sentinel value in the compiler code. | ||
567 | <Parameter Type="System.Int32" Name="value" /> | ||
568 | </Instance> | ||
569 | <Instance> | ||
570 | The long integral value {0} collides with a sentinel value in the compiler code. | ||
571 | <Parameter Type="System.Int64" Name="value" /> | ||
572 | </Instance> | ||
573 | </Message> | ||
574 | <Message Id="ExampleGuid" Number="40"> | ||
575 | <Instance> | ||
576 | The {0}/@{1} attribute's value, '{2}', is not a legal Guid value. A Guid needs to be generated and put in place of '{2}' in the source file. | ||
577 | <Parameter Type="System.String" Name="elementName" /> | ||
578 | <Parameter Type="System.String" Name="attributeName" /> | ||
579 | <Parameter Type="System.String" Name="value" /> | ||
580 | </Instance> | ||
581 | </Message> | ||
582 | <Message Id="TooManyChildren" Number="41"> | ||
583 | <Instance> | ||
584 | The {0} element contains multiple {1} child elements. There can only be one {1} child element per {0} element. | ||
585 | <Parameter Type="System.String" Name="elementName" /> | ||
586 | <Parameter Type="System.String" Name="childElementName" /> | ||
587 | </Instance> | ||
588 | </Message> | ||
589 | <Message Id="ComponentMultipleKeyPaths" Number="42"> | ||
590 | <Instance> | ||
591 | The {0} element has multiple key paths set. The key path may only be set to '{2}' in extension elements that support it or one of the following locations: {0}/@{1}, {3}/@{1}, {4}/@{1}, or {5}/@{1}. | ||
592 | <Parameter Type="System.String" Name="elementName" /> | ||
593 | <Parameter Type="System.String" Name="attributeName" /> | ||
594 | <Parameter Type="System.String" Name="value" /> | ||
595 | <Parameter Type="System.String" Name="fileElementName" /> | ||
596 | <Parameter Type="System.String" Name="registryElementName" /> | ||
597 | <Parameter Type="System.String" Name="odbcDataSourceElementName" /> | ||
598 | </Instance> | ||
599 | </Message> | ||
600 | <Message Id="CabClosureFailed" Number="43" SourceLineNumbers="no"> | ||
601 | <Instance> | ||
602 | Failed to close cab '{0}'. | ||
603 | <Parameter Type="System.String" Name="cabinet" /> | ||
604 | </Instance> | ||
605 | <Instance> | ||
606 | Failed to close cab '{0}', error: {1}. | ||
607 | <Parameter Type="System.String" Name="cabinet" /> | ||
608 | <Parameter Type="System.Int32" Name="error" /> | ||
609 | </Instance> | ||
610 | </Message> | ||
611 | <Message Id="ExpectedAttributes" Number="44"> | ||
612 | <Instance> | ||
613 | The {0} element's {1} or {2} attribute was not found; one of these is required. | ||
614 | <Parameter Type="System.String" Name="elementName" /> | ||
615 | <Parameter Type="System.String" Name="attributeName1" /> | ||
616 | <Parameter Type="System.String" Name="attributeName2" /> | ||
617 | </Instance> | ||
618 | <Instance> | ||
619 | The {0} element's {1}, {2}, or {3} attribute was not found; one of these is required. | ||
620 | <Parameter Type="System.String" Name="elementName" /> | ||
621 | <Parameter Type="System.String" Name="attributeName1" /> | ||
622 | <Parameter Type="System.String" Name="attributeName2" /> | ||
623 | <Parameter Type="System.String" Name="attributeName3" /> | ||
624 | </Instance> | ||
625 | <Instance> | ||
626 | The {0} element's {1}, {2}, {3}, or {4} attribute was not found; one of these is required. | ||
627 | <Parameter Type="System.String" Name="elementName" /> | ||
628 | <Parameter Type="System.String" Name="attributeName1" /> | ||
629 | <Parameter Type="System.String" Name="attributeName2" /> | ||
630 | <Parameter Type="System.String" Name="attributeName3" /> | ||
631 | <Parameter Type="System.String" Name="attributeName4" /> | ||
632 | </Instance> | ||
633 | <Instance> | ||
634 | The {0} element's {1}, {2}, {3}, {4}, or {5} attribute was not found; one of these is required. | ||
635 | <Parameter Type="System.String" Name="elementName" /> | ||
636 | <Parameter Type="System.String" Name="attributeName1" /> | ||
637 | <Parameter Type="System.String" Name="attributeName2" /> | ||
638 | <Parameter Type="System.String" Name="attributeName3" /> | ||
639 | <Parameter Type="System.String" Name="attributeName4" /> | ||
640 | <Parameter Type="System.String" Name="attributeName5" /> | ||
641 | </Instance> | ||
642 | <Instance> | ||
643 | The {0} element's {1}, {2}, {3}, {4}, {5}, or {6} attribute was not found; one of these is required. | ||
644 | <Parameter Type="System.String" Name="elementName" /> | ||
645 | <Parameter Type="System.String" Name="attributeName1" /> | ||
646 | <Parameter Type="System.String" Name="attributeName2" /> | ||
647 | <Parameter Type="System.String" Name="attributeName3" /> | ||
648 | <Parameter Type="System.String" Name="attributeName4" /> | ||
649 | <Parameter Type="System.String" Name="attributeName5" /> | ||
650 | <Parameter Type="System.String" Name="attributeName6" /> | ||
651 | </Instance> | ||
652 | <Instance> | ||
653 | The {0} element's {1}, {2}, {3}, {4}, {5}, {6}, or {7} attribute was not found; one of these is required. | ||
654 | <Parameter Type="System.String" Name="elementName" /> | ||
655 | <Parameter Type="System.String" Name="attributeName1" /> | ||
656 | <Parameter Type="System.String" Name="attributeName2" /> | ||
657 | <Parameter Type="System.String" Name="attributeName3" /> | ||
658 | <Parameter Type="System.String" Name="attributeName4" /> | ||
659 | <Parameter Type="System.String" Name="attributeName5" /> | ||
660 | <Parameter Type="System.String" Name="attributeName6" /> | ||
661 | <Parameter Type="System.String" Name="attributeName7" /> | ||
662 | </Instance> | ||
663 | </Message> | ||
664 | <Message Id="ExpectedAttributesWithOtherAttribute" Number="45"> | ||
665 | <Instance> | ||
666 | The {0} element's {1} or {2} attribute was not found; at least one of these attributes must be specified. | ||
667 | <Parameter Type="System.String" Name="elementName" /> | ||
668 | <Parameter Type="System.String" Name="attributeName1" /> | ||
669 | <Parameter Type="System.String" Name="attributeName2" /> | ||
670 | </Instance> | ||
671 | <Instance> | ||
672 | The {0} element's {1} or {2} attribute was not found; one of these is required when attribute {3} is present. | ||
673 | <Parameter Type="System.String" Name="elementName" /> | ||
674 | <Parameter Type="System.String" Name="attributeName1" /> | ||
675 | <Parameter Type="System.String" Name="attributeName2" /> | ||
676 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
677 | </Instance> | ||
678 | <Instance> | ||
679 | The {0} element's {1} or {2} attribute was not found; one of these is required when attribute {3} has a value of '{4}'. | ||
680 | <Parameter Type="System.String" Name="elementName" /> | ||
681 | <Parameter Type="System.String" Name="attributeName1" /> | ||
682 | <Parameter Type="System.String" Name="attributeName2" /> | ||
683 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
684 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
685 | </Instance> | ||
686 | </Message> | ||
687 | <Message Id="ExpectedAttributesWithoutOtherAttribute" Number="46"> | ||
688 | <Instance> | ||
689 | The {0} element's {1} or {2} attribute was not found; one of these is required without attribute {3} present. | ||
690 | <Parameter Type="System.String" Name="elementName" /> | ||
691 | <Parameter Type="System.String" Name="attributeName1" /> | ||
692 | <Parameter Type="System.String" Name="attributeName2" /> | ||
693 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
694 | </Instance> | ||
695 | </Message> | ||
696 | <Message Id="MissingTypeLibFile" Number="47"> | ||
697 | <Instance> | ||
698 | The {0} element is non-advertised and therefore requires a parent {1} element. | ||
699 | <Parameter Type="System.String" Name="elementName" /> | ||
700 | <Parameter Type="System.String" Name="fileElementName" /> | ||
701 | </Instance> | ||
702 | </Message> | ||
703 | <Message Id="InvalidDocumentElement" Number="48"> | ||
704 | <Instance> | ||
705 | The document element name '{0}' is invalid. A WiX {1} file must use '{2}' as the document element name. | ||
706 | <Parameter Type="System.String" Name="elementName" /> | ||
707 | <Parameter Type="System.String" Name="fileType" /> | ||
708 | <Parameter Type="System.String" Name="expectedElementName" /> | ||
709 | </Instance> | ||
710 | </Message> | ||
711 | <Message Id="ExpectedAttributeInElementOrParent" Number="49"> | ||
712 | <Instance> | ||
713 | The {0}/@{1} attribute was not found or empty; it is required, or it can be specified in the parent {2} element. | ||
714 | <Parameter Type="System.String" Name="elementName" /> | ||
715 | <Parameter Type="System.String" Name="attributeName" /> | ||
716 | <Parameter Type="System.String" Name="parentElementName" /> | ||
717 | </Instance> | ||
718 | <Instance> | ||
719 | The {0}/@{1} attribute was not found or empty; it is required, or it can be specified in the parent {2}/@{3} attribute. | ||
720 | <Parameter Type="System.String" Name="elementName" /> | ||
721 | <Parameter Type="System.String" Name="attributeName" /> | ||
722 | <Parameter Type="System.String" Name="parentElementName" /> | ||
723 | <Parameter Type="System.String" Name="parentAttributeName" /> | ||
724 | </Instance> | ||
725 | </Message> | ||
726 | <Message Id="UnauthorizedAccess" Number="50" SourceLineNumbers="no"> | ||
727 | <Instance> | ||
728 | Access to the path '{0}' is denied. | ||
729 | <Parameter Type="System.String" Name="filePath" /> | ||
730 | </Instance> | ||
731 | </Message> | ||
732 | <Message Id="IllegalModuleExclusionLanguageAttributes" Number="51"> | ||
733 | <Instance>Cannot set both ExcludeLanguage and ExcludeExceptLanguage attributes on a ModuleExclusion element.</Instance> | ||
734 | </Message> | ||
735 | <Message Id="NoFirstControlSpecified" Number="52"> | ||
736 | <Instance> | ||
737 | The '{0}' dialog element does not have a valid tabbable control. You must either have a tabbable control that is not marked TabSkip='yes', or you must mark a control TabSkip='no'. If you have a page with no tabbable controls (a progress page, for example), you might want to set the first Text control to be TabSkip='no'. | ||
738 | <Parameter Type="System.String" Name="dialogName" /> | ||
739 | </Instance> | ||
740 | </Message> | ||
741 | <Message Id="NoDataForColumn" Number="53"> | ||
742 | <Instance> | ||
743 | There is no data for column '{0}' in a contained row of custom table '{1}'. A non-null value must be supplied for this column. | ||
744 | <Parameter Type="System.String" Name="columnName" /> | ||
745 | <Parameter Type="System.String" Name="tableName" /> | ||
746 | </Instance> | ||
747 | </Message> | ||
748 | <Message Id="ValueAndMaskMustBeSameLength" Number="54"> | ||
749 | <Instance> | ||
750 | The FileTypeMask/@Value and FileTypeMask/@Mask attributes must be the same length. | ||
751 | </Instance> | ||
752 | </Message> | ||
753 | <Message Id="TooManySearchElements" Number="55"> | ||
754 | <Instance> | ||
755 | Only one search element can appear under a '{0}' element. | ||
756 | <Parameter Type="System.String" Name="elementName" /> | ||
757 | </Instance> | ||
758 | </Message> | ||
759 | <Message Id="IllegalAttributeExceptOnElement" Number="56"> | ||
760 | <Instance> | ||
761 | The {1} attribute can only be specified on the {2} element. | ||
762 | <Parameter Type="System.String" Name="elementName" /> | ||
763 | <Parameter Type="System.String" Name="attributeName" /> | ||
764 | <Parameter Type="System.String" Name="expectedElementName" /> | ||
765 | </Instance> | ||
766 | </Message> | ||
767 | <Message Id="SearchElementRequired" Number="57"> | ||
768 | <Instance> | ||
769 | A '{0}' element must have a search element as a child. | ||
770 | <Parameter Type="System.String" Name="elementName" /> | ||
771 | </Instance> | ||
772 | </Message> | ||
773 | <Message Id="MultipleIdentifiersFound" Number="58"> | ||
774 | <Instance> | ||
775 | Under a '{0}' element, multiple identifiers were found: '{1}' and '{2}'. All search elements under this element must have the same id. | ||
776 | <Parameter Type="System.String" Name="elementName" /> | ||
777 | <Parameter Type="System.String" Name="identifier" /> | ||
778 | <Parameter Type="System.String" Name="mismatchIdentifier" /> | ||
779 | </Instance> | ||
780 | </Message> | ||
781 | <Message Id="AdvertiseStateMustMatch" Number="59"> | ||
782 | <Instance> | ||
783 | The advertise state of this element: '{0}', does not match the advertise state set on the parent element: '{1}'. | ||
784 | <Parameter Type="System.String" Name="advertiseState" /> | ||
785 | <Parameter Type="System.String" Name="parentAdvertiseState" /> | ||
786 | </Instance> | ||
787 | </Message> | ||
788 | <Message Id="DuplicateContextValue" Number="60"> | ||
789 | <Instance> | ||
790 | The context value '{0}' was duplicated. Context values must be distinct. | ||
791 | <Parameter Type="System.String" Name="contextValue" /> | ||
792 | </Instance> | ||
793 | </Message> | ||
794 | <Message Id="RelativePathForRegistryElement" Number="61"> | ||
795 | <Instance> | ||
796 | Cannot convert RelativePath into Registry elements. | ||
797 | </Instance> | ||
798 | </Message> | ||
799 | <Message Id="IllegalAttributeWhenNested" Number="62"> | ||
800 | <Instance> | ||
801 | The {0}/@{1} attribute cannot be specified when the {0} element is nested underneath a {2} element. If this {0} is a member of a ComponentGroup where ComponentGroup/@{1} is set, then the {0}/@{1} attribute should be removed. | ||
802 | <Parameter Type="System.String" Name="elementName" /> | ||
803 | <Parameter Type="System.String" Name="attributeName" /> | ||
804 | <Parameter Type="System.String" Name="parentElement" /> | ||
805 | </Instance> | ||
806 | </Message> | ||
807 | <Message Id="ExpectedElement" Number="63"> | ||
808 | <Instance> | ||
809 | A {0} element must have at least one child element of type {1}. | ||
810 | <Parameter Type="System.String" Name="elementName" /> | ||
811 | <Parameter Type="System.String" Name="childName" /> | ||
812 | </Instance> | ||
813 | <Instance> | ||
814 | A {0} element must have at least one child element of type {1} or {2}. | ||
815 | <Parameter Type="System.String" Name="elementName" /> | ||
816 | <Parameter Type="System.String" Name="childName1" /> | ||
817 | <Parameter Type="System.String" Name="childName2" /> | ||
818 | </Instance> | ||
819 | <Instance> | ||
820 | A {0} element must have at least one child element of type {1}, {2}, or {3}. | ||
821 | <Parameter Type="System.String" Name="elementName" /> | ||
822 | <Parameter Type="System.String" Name="childName1" /> | ||
823 | <Parameter Type="System.String" Name="childName2" /> | ||
824 | <Parameter Type="System.String" Name="childName3" /> | ||
825 | </Instance> | ||
826 | <Instance> | ||
827 | A {0} element must have at least one child element of type {1}, {2}, {3}, or {4}. | ||
828 | <Parameter Type="System.String" Name="elementName" /> | ||
829 | <Parameter Type="System.String" Name="childName1" /> | ||
830 | <Parameter Type="System.String" Name="childName2" /> | ||
831 | <Parameter Type="System.String" Name="childName3" /> | ||
832 | <Parameter Type="System.String" Name="childName4" /> | ||
833 | </Instance> | ||
834 | </Message> | ||
835 | <Message Id="RegistryRootInvalid" Number="64"> | ||
836 | <Instance> | ||
837 | Registry/@Root attribute is invalid on a nested Registry element. Either remove the Root attribute or move the Registry element so it is not nested under another Registry element. | ||
838 | </Instance> | ||
839 | </Message> | ||
840 | <Message Id="IllegalYesNoDefaultValue" Number="65"> | ||
841 | <Instance> | ||
842 | The {0}/@{1} attribute's value, '{2}', is not a legal yes/no/default value. The only legal values are 'default', 'no' or 'yes'. | ||
843 | <Parameter Type="System.String" Name="elementName" /> | ||
844 | <Parameter Type="System.String" Name="attributeName" /> | ||
845 | <Parameter Type="System.String" Name="value" /> | ||
846 | </Instance> | ||
847 | </Message> | ||
848 | <Message Id="IllegalAttributeInMergeModule" Number="66"> | ||
849 | <Instance> | ||
850 | The {0}/@{1} attribute cannot be specified in a merge module. | ||
851 | <Parameter Type="System.String" Name="elementName" /> | ||
852 | <Parameter Type="System.String" Name="attributeName" /> | ||
853 | </Instance> | ||
854 | </Message> | ||
855 | <Message Id="GenericReadNotAllowed" Number="67"> | ||
856 | <Instance>Permission elements cannot have GenericRead as the only permission specified. Include at least one other permission.</Instance> | ||
857 | </Message> | ||
858 | <Message Id="IllegalAttributeWithInnerText" Number="68"> | ||
859 | <Instance> | ||
860 | The {0}/@{1} attribute cannot be specified when the element has body text as well. Specify either the attribute or the body, but not both. | ||
861 | <Parameter Type="System.String" Name="elementName" /> | ||
862 | <Parameter Type="System.String" Name="attributeName" /> | ||
863 | </Instance> | ||
864 | </Message> | ||
865 | <Message Id="SearchElementRequiredWithAttribute" Number="69"> | ||
866 | <Instance> | ||
867 | A {0} element must have a search element as a child when the {0}/@{1} attribute has the value '{2}'. | ||
868 | <Parameter Type="System.String" Name="elementName" /> | ||
869 | <Parameter Type="System.String" Name="attributeName" /> | ||
870 | <Parameter Type="System.String" Name="attributeValue" /> | ||
871 | </Instance> | ||
872 | </Message> | ||
873 | <Message Id="CannotAuthorSpecialProperties" Number="70"> | ||
874 | <Instance> | ||
875 | The {0} property was specified. Special MSI properties cannot be authored. Use the attributes on the Property element instead. | ||
876 | <Parameter Type="System.String" Name="propertyName" /> | ||
877 | </Instance> | ||
878 | </Message> | ||
879 | <Message Id="NeedSequenceBeforeOrAfter" Number="72"> | ||
880 | <Instance> | ||
881 | A {0} element must have a Before attribute, After attribute, or a Sequence attribute. | ||
882 | <Parameter Type="System.String" Name="elementName" /> | ||
883 | </Instance> | ||
884 | </Message> | ||
885 | <Message Id="ValueNotSupported" Number="73"> | ||
886 | <Instance> | ||
887 | The {0}/@{1} attribute's value, '{2}, is not supported by the Windows Installer. | ||
888 | <Parameter Type="System.String" Name="elementName" /> | ||
889 | <Parameter Type="System.String" Name="attributeName" /> | ||
890 | <Parameter Type="System.String" Name="attributeValue" /> | ||
891 | </Instance> | ||
892 | </Message> | ||
893 | <Message Id="TabbableControlNotAllowedInBillboard" Number="74"> | ||
894 | <Instance> | ||
895 | A {0} element was specified with Type='{1}' and TabSkip='no'. Tabbable controls are not allowed in Billboards. | ||
896 | <Parameter Type="System.String" Name="elementName" /> | ||
897 | <Parameter Type="System.String" Name="controlType" /> | ||
898 | </Instance> | ||
899 | </Message> | ||
900 | <Message Id="CheckBoxValueOnlyValidWithCheckBox" Number="75"> | ||
901 | <Instance> | ||
902 | A {0} element was specified with Type='{1}' and a CheckBoxValue. Check box values can only be specified with Type='CheckBox'. | ||
903 | <Parameter Type="System.String" Name="elementName" /> | ||
904 | <Parameter Type="System.String" Name="controlType" /> | ||
905 | </Instance> | ||
906 | </Message> | ||
907 | <Message Id="CabFileDoesNotExist" Number="76" SourceLineNumbers="no"> | ||
908 | <Instance> | ||
909 | Attempted to extract cab '{0}' from merge module '{1}' to directory '{2}'. The cab file was not found. This usually means that you have a merge module without a cabinet inside it. | ||
910 | <Parameter Type="System.String" Name="cabName" /> | ||
911 | <Parameter Type="System.String" Name="mergeModulePath" /> | ||
912 | <Parameter Type="System.String" Name="directoryName" /> | ||
913 | </Instance> | ||
914 | </Message> | ||
915 | <Message Id="RadioButtonTypeInconsistent" Number="77"> | ||
916 | <Instance>All RadioButton elements in a RadioButtonGroup must be consistent with their use of the Bitmap, Icon, and Text attributes. Ensure all of the RadioButton elements in this group have the same attribute specified.</Instance> | ||
917 | </Message> | ||
918 | <Message Id="RadioButtonBitmapAndIconDisallowed" Number="78"> | ||
919 | <Instance>RadioButtonGroup elements that contain RadioButton elements with Bitmap or Icon attributes set to "yes" can only be specified under a Control element. Move your RadioButtonGroup element as a child of the appropriate Control element.</Instance> | ||
920 | </Message> | ||
921 | <Message Id="IllegalSuppressWarningId" Number="79" SourceLineNumbers="no"> | ||
922 | <Instance> | ||
923 | Illegal value '{0}' for the -sw<N> command line option. Specify a particular warning number, like '-sw6' to suppress the warning with ID 6, or '-sw' alone to suppress all warnings. | ||
924 | <Parameter Type="System.String" Name="suppressedId" /> | ||
925 | </Instance> | ||
926 | </Message> | ||
927 | <Message Id="PreprocessorIllegalForeachVariable" Number="80"> | ||
928 | <Instance> | ||
929 | The variable named '{0}' is not allowed in a foreach expression. | ||
930 | <Parameter Type="System.String" Name="variableName" /> | ||
931 | </Instance> | ||
932 | </Message> | ||
933 | <Message Id="PreprocessorMissingParameterPrefix" Number="81"> | ||
934 | <Instance> | ||
935 | Could not find the prefix in parameter name: '{0}'. | ||
936 | <Parameter Type="System.String" Name="parameterName" /> | ||
937 | </Instance> | ||
938 | </Message> | ||
939 | <Message Id="PreprocessorExtensionForParameterMissing" Number="82"> | ||
940 | <Instance> | ||
941 | Could not find the preprocessor extension for parameter '{0}'. A preprocessor extension is expected because the parameter prefix, '{1}', is not one of the standard types: 'env', 'res', 'sys', or 'var'. | ||
942 | <Parameter Type="System.String" Name="parameterName" /> | ||
943 | <Parameter Type="System.String" Name="parameterPrefix" /> | ||
944 | </Instance> | ||
945 | </Message> | ||
946 | <Message Id="CannotFindFile" Number="83"> | ||
947 | <Instance> | ||
948 | The file with id '{0}' and name '{1}' could not be found with source path: '{2}'. | ||
949 | <Parameter Type="System.String" Name="fileId" /> | ||
950 | <Parameter Type="System.String" Name="fileName" /> | ||
951 | <Parameter Type="System.String" Name="filePath" /> | ||
952 | </Instance> | ||
953 | </Message> | ||
954 | <Message Id="BinderFileManagerMissingFile" Number="84"> | ||
955 | <Instance> | ||
956 | {0} | ||
957 | <Parameter Type="System.String" Name="exceptionMessage" /> | ||
958 | </Instance> | ||
959 | </Message> | ||
960 | <Message Id="ReferenceLoopDetected" Number="86"> | ||
961 | <Instance> | ||
962 | A circular reference of groups was detected. The infinite loop includes: {0}. Group references must form a directed acyclic graph. | ||
963 | <Parameter Type="System.String" Name="loopList" /> | ||
964 | </Instance> | ||
965 | </Message> | ||
966 | <Message Id="GuidContainsLowercaseLetters" Number="87"> | ||
967 | <Instance> | ||
968 | The {0}/@{1} attribute's value, '{2}', is a mixed-case guid. All letters in a guid value should be uppercase. | ||
969 | <Parameter Type="System.String" Name="elementName" /> | ||
970 | <Parameter Type="System.String" Name="attributeName" /> | ||
971 | <Parameter Type="System.String" Name="value" /> | ||
972 | </Instance> | ||
973 | </Message> | ||
974 | <Message Id="InvalidDateTimeFormat" Number="88"> | ||
975 | <Instance> | ||
976 | The {0}/@{1} attribute's value '{2}' is not a valid date/time value. A date/time value should follow the format YYYY-MM-DDTHH:mm:ss. | ||
977 | <Parameter Type="System.String" Name="elementName" /> | ||
978 | <Parameter Type="System.String" Name="attributeName" /> | ||
979 | <Parameter Type="System.String" Name="value" /> | ||
980 | </Instance> | ||
981 | </Message> | ||
982 | <Message Id="MultipleEntrySections" Number="89"> | ||
983 | <Instance> | ||
984 | Multiple entry sections '{0}' and '{1}' found. Only one entry section may be present in a single target. | ||
985 | <Parameter Type="System.String" Name="sectionName1" /> | ||
986 | <Parameter Type="System.String" Name="sectionName2" /> | ||
987 | </Instance> | ||
988 | </Message> | ||
989 | <Message Id="MultipleEntrySections2" Number="90"> | ||
990 | <Instance>Location of entry section related to previous error.</Instance> | ||
991 | </Message> | ||
992 | <Message Id="DuplicateSymbol" Number="91"> | ||
993 | <Instance> | ||
994 | Duplicate symbol '{0}' found. This typically means that an Id is duplicated. Access modifiers (internal, protected, private) cannot prevent these conflicts. Ensure all your identifiers of a given type (File, Component, Feature) are unique. | ||
995 | <Parameter Type="System.String" Name="symbolName" /> | ||
996 | </Instance> | ||
997 | <Instance> | ||
998 | Duplicate symbol '{0}' referenced by {1}. This typically means that an Id is duplicated. Ensure all your identifiers of a given type (File, Component, Feature) are unique or use an access modifier to scope the identfier. | ||
999 | <Parameter Type="System.String" Name="symbolName" /> | ||
1000 | <Parameter Type="System.String" Name="referencingSourceLineNumber" /> | ||
1001 | </Instance> | ||
1002 | </Message> | ||
1003 | <Message Id="DuplicateSymbol2" Number="92"> | ||
1004 | <Instance>Location of symbol related to previous error.</Instance> | ||
1005 | </Message> | ||
1006 | <Message Id="MissingEntrySection" Number="93" SourceLineNumbers="no"> | ||
1007 | <Instance> | ||
1008 | Could not find entry section in provided list of intermediates. Expected section of type '{0}'. | ||
1009 | <Parameter Type="System.String" Name="sectionType" /> | ||
1010 | </Instance> | ||
1011 | </Message> | ||
1012 | <Message Id="UnresolvedReference" Number="94"> | ||
1013 | <Instance> | ||
1014 | The identifier '{0}' could not be found. Ensure you have typed the reference correctly and that all the necessary inputs are provided to the linker. | ||
1015 | <Parameter Type="System.String" Name="symbolName" /> | ||
1016 | </Instance> | ||
1017 | <Instance> | ||
1018 | The identifier '{0}' is inaccessible due to its protection level. | ||
1019 | <Parameter Type="System.String" Name="symbolName" /> | ||
1020 | <Parameter Type="WixToolset.Data.AccessModifier" Name="accessModifier" /> | ||
1021 | </Instance> | ||
1022 | </Message> | ||
1023 | <Message Id="MultiplePrimaryReferences" Number="95"> | ||
1024 | <Instance> | ||
1025 | Multiple primary references were found for {0} '{1}' in {2} '{3}' and {4} '{5}'. | ||
1026 | <Parameter Type="System.String" Name="crefChildType" /> | ||
1027 | <Parameter Type="System.String" Name="crefChildId" /> | ||
1028 | <Parameter Type="System.String" Name="crefParentType" /> | ||
1029 | <Parameter Type="System.String" Name="crefParentId" /> | ||
1030 | <Parameter Type="System.String" Name="conflictParentType" /> | ||
1031 | <Parameter Type="System.String" Name="conflictParentId" /> | ||
1032 | </Instance> | ||
1033 | </Message> | ||
1034 | <Message Id="ComponentReferencedTwice" Number="96"> | ||
1035 | <Instance> | ||
1036 | Component {0} cannot be contained in a Module twice. | ||
1037 | <Parameter Type="System.String" Name="crefChildId" /> | ||
1038 | </Instance> | ||
1039 | </Message> | ||
1040 | <Message Id="DuplicateModuleFileIdentifier" Number="97"> | ||
1041 | <Instance> | ||
1042 | The merge module '{0}' contains a file identifier, '{1}', that is duplicated either in another merge module or in a File/@Id attribute. File identifiers must be unique. Please change one of the file identifiers to a different value. | ||
1043 | <Parameter Type="System.String" Name="moduleId" /> | ||
1044 | <Parameter Type="System.String" Name="fileId" /> | ||
1045 | </Instance> | ||
1046 | </Message> | ||
1047 | <Message Id="DuplicateModuleCaseInsensitiveFileIdentifier" Number="98"> | ||
1048 | <Instance> | ||
1049 | The merge module '{0}' contains 2 or more file identifiers that only differ by case: '{1}' and '{2}'. The WiX toolset extracts merge module files to the file system using these identifiers. Since most file systems are not case-sensitive a collision is likely. Please contact the owner of the merge module for a fix. | ||
1050 | <Parameter Type="System.String" Name="moduleId" /> | ||
1051 | <Parameter Type="System.String" Name="fileId1" /> | ||
1052 | <Parameter Type="System.String" Name="fileId2" /> | ||
1053 | </Instance> | ||
1054 | </Message> | ||
1055 | <Message Id="ImplicitComponentKeyPath" Number="99"> | ||
1056 | <Instance> | ||
1057 | The component '{0}' does not have an explicit key path specified. If the ordering of the elements under the Component element changes, the key path will also change. To prevent accidental changes, the key path should be set to 'yes' in one of the following locations: Component/@KeyPath, File/@KeyPath, ODBCDataSource/@KeyPath, or Registry/@KeyPath. | ||
1058 | <Parameter Type="System.String" Name="componentId" /> | ||
1059 | </Instance> | ||
1060 | </Message> | ||
1061 | <Message Id="DuplicateLocalizationIdentifier" Number="100"> | ||
1062 | <Instance> | ||
1063 | The localization identifier '{0}' has been duplicated in multiple locations. Please resolve the conflict. | ||
1064 | <Parameter Type="System.String" Name="localizationId" /> | ||
1065 | </Instance> | ||
1066 | </Message> | ||
1067 | <Message Id="LocalizationVariableUnknown" Number="102"> | ||
1068 | <Instance> | ||
1069 | The localization variable !(loc.{0}) is unknown. Please ensure the variable is defined. | ||
1070 | <Parameter Type="System.String" Name="variableId" /> | ||
1071 | </Instance> | ||
1072 | </Message> | ||
1073 | <Message Id="FileNotFound" Number="103"> | ||
1074 | <Instance> | ||
1075 | The system cannot find the file '{0}'. | ||
1076 | <Parameter Type="System.String" Name="file" /> | ||
1077 | </Instance> | ||
1078 | <Instance> | ||
1079 | The system cannot find the file '{0}' with type '{1}'. | ||
1080 | <Parameter Type="System.String" Name="file" /> | ||
1081 | <Parameter Type="System.String" Name="fileType" /> | ||
1082 | </Instance> | ||
1083 | </Message> | ||
1084 | <Message Id="InvalidXml" Number="104"> | ||
1085 | <Instance> | ||
1086 | Not a valid {0} file; detail: {1} | ||
1087 | <Parameter Type="System.String" Name="fileType" /> | ||
1088 | <Parameter Type="System.String" Name="detail" /> | ||
1089 | </Instance> | ||
1090 | </Message> | ||
1091 | <Message Id="ProgIdNestedTooDeep" Number="105"> | ||
1092 | <Instance>ProgId elements may not be nested more than 1 level deep.</Instance> | ||
1093 | </Message> | ||
1094 | <Message Id="CanNotHaveTwoParents" Number="106"> | ||
1095 | <Instance> | ||
1096 | The DirectorySearchRef {0} can not have a Parent attribute {1} and also be nested under parent element {2} | ||
1097 | <Parameter Type="System.String" Name="directorySearch" /> | ||
1098 | <Parameter Type="System.String" Name="parentAttribute" /> | ||
1099 | <Parameter Type="System.String" Name="parentElement" /> | ||
1100 | </Instance> | ||
1101 | </Message> | ||
1102 | <Message Id="SchemaValidationFailed" Number="107"> | ||
1103 | <Instance> | ||
1104 | Schema validation failed with the following error at line {1}, column {2}: {0} | ||
1105 | <Parameter Type="System.String" Name="validationError" /> | ||
1106 | <Parameter Type="System.Int32" Name="lineNumber" /> | ||
1107 | <Parameter Type="System.Int32" Name="linePosition" /> | ||
1108 | </Instance> | ||
1109 | </Message> | ||
1110 | <Message Id="IllegalVersionValue" Number="108"> | ||
1111 | <Instance> | ||
1112 | The {0}/@{1} attribute's value, '{2}', is not a valid version. Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534. | ||
1113 | <Parameter Type="System.String" Name="elementName" /> | ||
1114 | <Parameter Type="System.String" Name="attributeName" /> | ||
1115 | <Parameter Type="System.String" Name="value" /> | ||
1116 | </Instance> | ||
1117 | </Message> | ||
1118 | <Message Id="CustomTableNameTooLong" Number="109"> | ||
1119 | <Instance> | ||
1120 | The {0}/@{1} attribute's value, '{2}', is too long for a table name. It cannot be more than than 31 characters long. | ||
1121 | <Parameter Type="System.String" Name="elementName" /> | ||
1122 | <Parameter Type="System.String" Name="attributeName" /> | ||
1123 | <Parameter Type="System.String" Name="value" /> | ||
1124 | </Instance> | ||
1125 | </Message> | ||
1126 | <Message Id="CustomTableIllegalColumnWidth" Number="110"> | ||
1127 | <Instance> | ||
1128 | The {0}/@{1} attribute's value, '{2}', is not a valid column width. Valid column widths are 2 or 4. | ||
1129 | <Parameter Type="System.String" Name="elementName" /> | ||
1130 | <Parameter Type="System.String" Name="attributeName" /> | ||
1131 | <Parameter Type="System.Int32" Name="value" /> | ||
1132 | </Instance> | ||
1133 | </Message> | ||
1134 | <Message Id="CustomTableMissingPrimaryKey" Number="111"> | ||
1135 | <Instance>The CustomTable is missing a Column element with the PrimaryKey attribute set to 'yes'. At least one column must be marked as the primary key.</Instance> | ||
1136 | </Message> | ||
1137 | <Message Id="TypeSpecificationForExtensionRequired" Number="113" SourceLineNumbers="no"> | ||
1138 | <Instance> | ||
1139 | The parameter '{0}' must be followed by the extension's type specification. The type specification should be a fully qualified class and assembly identity, for example: "MyNamespace.MyClass,myextension.dll". | ||
1140 | <Parameter Type="System.String" Name="parameter" /> | ||
1141 | </Instance> | ||
1142 | </Message> | ||
1143 | <Message Id="FilePathRequired" SourceLineNumbers="no" Number="114"> | ||
1144 | <Instance> | ||
1145 | The parameter '{0}' must be followed by a file path. | ||
1146 | <Parameter Type="System.String" Name="parameter" /> | ||
1147 | </Instance> | ||
1148 | </Message> | ||
1149 | <Message Id="DirectoryPathRequired" Number="115" SourceLineNumbers="no"> | ||
1150 | <Instance> | ||
1151 | The parameter '{0}' must be followed by a directory path. | ||
1152 | <Parameter Type="System.String" Name="parameter" /> | ||
1153 | </Instance> | ||
1154 | </Message> | ||
1155 | <Message Id="FileOrDirectoryPathRequired" Number="116" SourceLineNumbers="no"> | ||
1156 | <Instance> | ||
1157 | The parameter '{0}' must be followed by a file or directory path. To specify a directory path the string must end with a backslash, for example: "C:\Path\". | ||
1158 | <Parameter Type="System.String" Name="parameter" /> | ||
1159 | </Instance> | ||
1160 | </Message> | ||
1161 | <Message Id="PathCannotContainQuote" Number="117" SourceLineNumbers="no"> | ||
1162 | <Instance> | ||
1163 | Path '{0}' contains a literal quote character. Quotes are often accidentally introduced when trying to refer to a directory path with spaces in it, such as "C:\Out Directory\" -- the backslash before the quote acts an escape character. The correct representation for that path is: "C:\Out Directory\\". | ||
1164 | <Parameter Type="System.String" Name="fileName" /> | ||
1165 | </Instance> | ||
1166 | </Message> | ||
1167 | <Message Id="AdditionalArgumentUnexpected" Number="118" SourceLineNumbers="no"> | ||
1168 | <Instance> | ||
1169 | Additional argument '{0}' was unexpected. Remove the argument and add the '-?' switch for more information. | ||
1170 | <Parameter Type="System.String" Name="argument" /> | ||
1171 | </Instance> | ||
1172 | </Message> | ||
1173 | <Message Id="RegistryNameValueIncorrect" Number="119"> | ||
1174 | <Instance> | ||
1175 | The {0}/@{1} attribute's value, '{2}', is incorrect. It should not contain values of '+', '-', or '*' when the {0}/@Value attribute is empty. Instead, use the proper element and attributes: for Name='+' use RegistryKey/@Action='createKey', for Name='-' use RemoveRegistryKey/@Action='removeOnUninstall', for Name='*' use RegistryKey/@Action='createAndRemoveOnUninstall'. | ||
1176 | <Parameter Type="System.String" Name="elementName" /> | ||
1177 | <Parameter Type="System.String" Name="attributeName" /> | ||
1178 | <Parameter Type="System.String" Name="value" /> | ||
1179 | </Instance> | ||
1180 | </Message> | ||
1181 | <Message Id="FamilyNameTooLong" Number="120"> | ||
1182 | <Instance> | ||
1183 | The {0}/@{1} attribute's value, '{2}', is {3} characters long. This is too long for a family name because the maximum allowed length is 8 characters long. | ||
1184 | <Parameter Type="System.String" Name="elementName" /> | ||
1185 | <Parameter Type="System.String" Name="attributeName" /> | ||
1186 | <Parameter Type="System.String" Name="value" /> | ||
1187 | <Parameter Type="System.Int32" Name="length" /> | ||
1188 | </Instance> | ||
1189 | </Message> | ||
1190 | <Message Id="IllegalFamilyName" Number="121"> | ||
1191 | <Instance> | ||
1192 | The {0}/@{1} attribute's value, '{2}', contains illegal characters for a family name. Legal values include letters, numbers, and underscores. | ||
1193 | <Parameter Type="System.String" Name="elementName" /> | ||
1194 | <Parameter Type="System.String" Name="attributeName" /> | ||
1195 | <Parameter Type="System.String" Name="value" /> | ||
1196 | </Instance> | ||
1197 | </Message> | ||
1198 | <Message Id="IllegalLongValue" Number="122"> | ||
1199 | <Instance> | ||
1200 | The {0}/@{1} attribute's value, '{2}', is not a legal long value. Legal long values are from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. | ||
1201 | <Parameter Type="System.String" Name="elementName" /> | ||
1202 | <Parameter Type="System.String" Name="attributeName" /> | ||
1203 | <Parameter Type="System.String" Name="value" /> | ||
1204 | </Instance> | ||
1205 | </Message> | ||
1206 | <Message Id="IntegralValueOutOfRange" Number="123"> | ||
1207 | <Instance> | ||
1208 | The {0}/@{1} attribute's value, '{2}', is not in the range of legal values. Legal values for this attribute are from {3} to {4}. | ||
1209 | <Parameter Type="System.String" Name="elementName" /> | ||
1210 | <Parameter Type="System.String" Name="attributeName" /> | ||
1211 | <Parameter Type="System.Int32" Name="value" /> | ||
1212 | <Parameter Type="System.Int32" Name="minimum" /> | ||
1213 | <Parameter Type="System.Int32" Name="maximum" /> | ||
1214 | </Instance> | ||
1215 | <Instance> | ||
1216 | The {0}/@{1} attribute's value, '{2}', is not in the range of legal values. Legal values for this attribute are from {3} to {4}. | ||
1217 | <Parameter Type="System.String" Name="elementName" /> | ||
1218 | <Parameter Type="System.String" Name="attributeName" /> | ||
1219 | <Parameter Type="System.Int64" Name="value" /> | ||
1220 | <Parameter Type="System.Int64" Name="minimum" /> | ||
1221 | <Parameter Type="System.Int64" Name="maximum" /> | ||
1222 | </Instance> | ||
1223 | </Message> | ||
1224 | <Message Id="DuplicateExtensionXmlSchemaNamespace" Number="125" SourceLineNumbers="no"> | ||
1225 | <Instance> | ||
1226 | The extension '{0}' uses the same xml schema namespace, '{1}', as previously loaded extension '{2}'. Please either remove one of the extensions or rename the xml schema namespace to avoid the collision. | ||
1227 | <Parameter Type="System.String" Name="extension" /> | ||
1228 | <Parameter Type="System.String" Name="extensionXmlSchemaNamespace" /> | ||
1229 | <Parameter Type="System.String" Name="collidingExtension" /> | ||
1230 | </Instance> | ||
1231 | </Message> | ||
1232 | <Message Id="DuplicateExtensionTable" Number="126" SourceLineNumbers="no"> | ||
1233 | <Instance> | ||
1234 | The extension '{0}' contains a definition for table '{1}' that collides with a previously loaded table definition. Please remove one of the conflicting extensions or rename one of the tables to avoid the collision. | ||
1235 | <Parameter Type="System.String" Name="extension" /> | ||
1236 | <Parameter Type="System.String" Name="tableName" /> | ||
1237 | </Instance> | ||
1238 | </Message> | ||
1239 | <Message Id="DuplicateExtensionPreprocessorType" Number="127" SourceLineNumbers="no"> | ||
1240 | <Instance> | ||
1241 | The extension '{0}' uses the same preprocessor variable prefix, '{1}', as previously loaded extension '{2}'. Please remove one of the extensions or rename the prefix to avoid the collision. | ||
1242 | <Parameter Type="System.String" Name="extension" /> | ||
1243 | <Parameter Type="System.String" Name="variablePrefix" /> | ||
1244 | <Parameter Type="System.String" Name="collidingExtension" /> | ||
1245 | </Instance> | ||
1246 | </Message> | ||
1247 | <Message Id="FileInUse" Number="128"> | ||
1248 | <Instance> | ||
1249 | The process can not access the file '{0}' because it is being used by another process. | ||
1250 | <Parameter Type="System.String" Name="file" /> | ||
1251 | </Instance> | ||
1252 | </Message> | ||
1253 | <Message Id="CannotOpenMergeModule" Number="129"> | ||
1254 | <Instance> | ||
1255 | Cannot open the merge module '{0}' from file '{1}'. | ||
1256 | <Parameter Type="System.String" Name="mergeModuleIdentifier" /> | ||
1257 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
1258 | </Instance> | ||
1259 | </Message> | ||
1260 | <Message Id="DuplicatePrimaryKey" Number="130"> | ||
1261 | <Instance> | ||
1262 | The primary key '{0}' is duplicated in table '{1}'. Please remove one of the entries or rename a part of the primary key to avoid the collision. | ||
1263 | <Parameter Type="System.String" Name="primaryKey" /> | ||
1264 | <Parameter Type="System.String" Name="tableName" /> | ||
1265 | </Instance> | ||
1266 | </Message> | ||
1267 | <Message Id="FileIdentifierNotFound" Number="131"> | ||
1268 | <Instance> | ||
1269 | The file row with identifier '{0}' could not be found. | ||
1270 | <Parameter Type="System.String" Name="fileIdentifier" /> | ||
1271 | </Instance> | ||
1272 | </Message> | ||
1273 | <Message Id="InvalidAssemblyFile" Number="132"> | ||
1274 | <Instance> | ||
1275 | The assembly file '{0}' appears to be invalid. Please ensure this is a valid assembly file and that the user has the appropriate access rights to this file. More information: {1} | ||
1276 | <Parameter Type="System.String" Name="assemblyFile" /> | ||
1277 | <Parameter Type="System.String" Name="moreInformation" /> | ||
1278 | </Instance> | ||
1279 | </Message> | ||
1280 | <Message Id="ExpectedEndElement" Number="133"> | ||
1281 | <Instance> | ||
1282 | The end element matching the '{0}' start element was not found. | ||
1283 | <Parameter Type="System.String" Name="elementName" /> | ||
1284 | </Instance> | ||
1285 | </Message> | ||
1286 | <Message Id="IllegalCodepage" Number="134" SourceLineNumbers="no"> | ||
1287 | <Instance> | ||
1288 | The code page '{0}' is not a valid Windows code page. Update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage. | ||
1289 | <Parameter Type="System.Int32" Name="codepage" /> | ||
1290 | </Instance> | ||
1291 | </Message> | ||
1292 | <Message Id="ExpectedMediaCabinet" Number="135"> | ||
1293 | <Instance> | ||
1294 | The file '{0}' should be compressed but is not part of a compressed media. Files will be compressed if either the File/@Compressed or Package/@Compressed attributes are set to 'yes'. This can be fixed by setting the Media/@Cabinet attribute for media '{1}'. | ||
1295 | <Parameter Type="System.String" Name="fileId" /> | ||
1296 | <Parameter Type="System.Int32" Name="diskId" /> | ||
1297 | </Instance> | ||
1298 | </Message> | ||
1299 | <Message Id="InvalidIdt" Number="136"> | ||
1300 | <Instance> | ||
1301 | There was an error importing the file '{0}'. | ||
1302 | <Parameter Type="System.String" Name="idtFile" /> | ||
1303 | </Instance> | ||
1304 | <Instance> | ||
1305 | There was an error importing table '{1}' from file '{0}'. | ||
1306 | <Parameter Type="System.String" Name="idtFile" /> | ||
1307 | <Parameter Type="System.String" Name="tableName" /> | ||
1308 | </Instance> | ||
1309 | </Message> | ||
1310 | <Message Id="InvalidSequenceTable" Number="137" SourceLineNumbers="no"> | ||
1311 | <Instance> | ||
1312 | Found an invalid sequence table '{0}'. | ||
1313 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1314 | </Instance> | ||
1315 | </Message> | ||
1316 | <Message Id="ExpectedDirectory" Number="138" SourceLineNumbers="no"> | ||
1317 | <Instance> | ||
1318 | The directory '{0}' could not be found. | ||
1319 | <Parameter Type="System.String" Name="directory" /> | ||
1320 | </Instance> | ||
1321 | </Message> | ||
1322 | <Message Id="ComponentExpectedFeature" Number="139"> | ||
1323 | <Instance> | ||
1324 | The component '{0}' is not assigned to a feature. The component's {1} '{2}' requires it to be assigned to at least one feature. | ||
1325 | <Parameter Type="System.String" Name="component" /> | ||
1326 | <Parameter Type="System.String" Name="type" /> | ||
1327 | <Parameter Type="System.String" Name="target" /> | ||
1328 | </Instance> | ||
1329 | </Message> | ||
1330 | <Message Id="RecursiveAction" Number="140" SourceLineNumbers="no"> | ||
1331 | <Instance> | ||
1332 | The action '{0}' is recursively placed in the '{1}' table. | ||
1333 | <Parameter Type="System.String" Name="action" /> | ||
1334 | <Parameter Type="System.String" Name="tableName" /> | ||
1335 | </Instance> | ||
1336 | </Message> | ||
1337 | <Message Id="VersionMismatch" Number="141"> | ||
1338 | <Instance> | ||
1339 | The {0} file format version {1} is not compatible with the expected {0} file format version {2}. | ||
1340 | <Parameter Type="System.String" Name="fileType" /> | ||
1341 | <Parameter Type="System.String" Name="version" /> | ||
1342 | <Parameter Type="System.String" Name="expectedVersion" /> | ||
1343 | </Instance> | ||
1344 | </Message> | ||
1345 | <Message Id="UnexpectedContentNode" Number="142"> | ||
1346 | <Instance> | ||
1347 | The {0} element contains an unexpected xml node of type {1}. | ||
1348 | <Parameter Type="System.String" Name="elementName" /> | ||
1349 | <Parameter Type="System.String" Name="unexpectedNodeType" /> | ||
1350 | </Instance> | ||
1351 | </Message> | ||
1352 | <Message Id="UnexpectedColumnCount" Number="143"> | ||
1353 | <Instance> | ||
1354 | A parsed row has more fields that contain data for table '{0}' than are defined. This is potentially because a standard table is being redefined as a custom table or is based on an older table schema. | ||
1355 | <Parameter Type="System.String" Name="tableName" /> | ||
1356 | </Instance> | ||
1357 | </Message> | ||
1358 | <Message Id="InvalidExtension" Number="144" SourceLineNumbers="no"> | ||
1359 | <Instance> | ||
1360 | The extension '{0}' could not be loaded. | ||
1361 | <Parameter Type="System.String" Name="extension" /> | ||
1362 | </Instance> | ||
1363 | <Instance> | ||
1364 | The extension '{0}' could not be loaded because of the following reason: {1} | ||
1365 | <Parameter Type="System.String" Name="extension" /> | ||
1366 | <Parameter Type="System.String" Name="invalidReason" /> | ||
1367 | </Instance> | ||
1368 | <Instance> | ||
1369 | The extension '{0}' is the wrong type: '{1}'. The expected type was '{2}'. | ||
1370 | <Parameter Type="System.String" Name="extension" /> | ||
1371 | <Parameter Type="System.String" Name="extensionType" /> | ||
1372 | <Parameter Type="System.String" Name="expectedType" /> | ||
1373 | </Instance> | ||
1374 | <Instance> | ||
1375 | The extension '{0}' is the wrong type: '{1}'. The expected type was '{2}' or '{3}'. | ||
1376 | <Parameter Type="System.String" Name="extension" /> | ||
1377 | <Parameter Type="System.String" Name="extensionType" /> | ||
1378 | <Parameter Type="System.String" Name="expectedType1" /> | ||
1379 | <Parameter Type="System.String" Name="expectedType2" /> | ||
1380 | </Instance> | ||
1381 | </Message> | ||
1382 | <Message Id="InvalidSubExpression" Number="145"> | ||
1383 | <Instance> | ||
1384 | Found invalid subexpression '{0}' in expression '{1}'. | ||
1385 | <Parameter Type="System.String" Name="subExpression" /> | ||
1386 | <Parameter Type="System.String" Name="expression" /> | ||
1387 | </Instance> | ||
1388 | </Message> | ||
1389 | <Message Id="UnmatchedPreprocessorInstruction" Number="146"> | ||
1390 | <Instance> | ||
1391 | Found a <?{1}?> processing instruction without a matching <?{0}?> before it. | ||
1392 | <Parameter Type="System.String" Name="beginInstruction" /> | ||
1393 | <Parameter Type="System.String" Name="endInstruction" /> | ||
1394 | </Instance> | ||
1395 | </Message> | ||
1396 | <Message Id="NonterminatedPreprocessorInstruction" Number="147"> | ||
1397 | <Instance> | ||
1398 | Found a <?{0}?> processing instruction without a matching <?{1}?> after it. | ||
1399 | <Parameter Type="System.String" Name="beginInstruction" /> | ||
1400 | <Parameter Type="System.String" Name="endInstruction" /> | ||
1401 | </Instance> | ||
1402 | </Message> | ||
1403 | <Message Id="ExpectedExpressionAfterNot" Number="148"> | ||
1404 | <Instance> | ||
1405 | Expecting an argument for 'NOT' in expression '{0}'. | ||
1406 | <Parameter Type="System.String" Name="expression" /> | ||
1407 | </Instance> | ||
1408 | </Message> | ||
1409 | <Message Id="InvalidPreprocessorVariable" Number="149"> | ||
1410 | <Instance> | ||
1411 | Ill-formed preprocessor variable '$({0})'. Variables must have a prefix (like 'var.', 'env.', or 'sys.') and a name at least 1 character long. If the literal string '$({0})' is desired, use '$$({0})'. | ||
1412 | <Parameter Type="System.String" Name="variable" /> | ||
1413 | </Instance> | ||
1414 | </Message> | ||
1415 | <Message Id="UndefinedPreprocessorVariable" Number="150"> | ||
1416 | <Instance> | ||
1417 | Undefined preprocessor variable '$({0})'. | ||
1418 | <Parameter Type="System.String" Name="variableName" /> | ||
1419 | </Instance> | ||
1420 | </Message> | ||
1421 | <Message Id="IllegalDefineStatement" Number="151"> | ||
1422 | <Instance> | ||
1423 | The define statement '<?define {0}?>' is not well-formed. Define statements should be in the form <?define variableName = "variable value"?>. | ||
1424 | <Parameter Type="System.String" Name="defineStatement" /> | ||
1425 | </Instance> | ||
1426 | </Message> | ||
1427 | <Message Id="VariableDeclarationCollision" Number="152"> | ||
1428 | <Instance> | ||
1429 | The variable '{0}' with value '{1}' was previously declared with value '{2}'. | ||
1430 | <Parameter Type="System.String" Name="variableName" /> | ||
1431 | <Parameter Type="System.String" Name="variableValue" /> | ||
1432 | <Parameter Type="System.String" Name="variableCollidingValue" /> | ||
1433 | </Instance> | ||
1434 | </Message> | ||
1435 | <Message Id="CannotReundefineVariable" Number="153"> | ||
1436 | <Instance> | ||
1437 | The variable '{0}' cannot be undefined because its already undefined. | ||
1438 | <Parameter Type="System.String" Name="variableName" /> | ||
1439 | </Instance> | ||
1440 | </Message> | ||
1441 | <Message Id="IllegalForeach" Number="154"> | ||
1442 | <Instance> | ||
1443 | The foreach statement '{0}' is illegal. The proper format for foreach is <?foreach varName in valueList?>. | ||
1444 | <Parameter Type="System.String" Name="foreachStatement" /> | ||
1445 | </Instance> | ||
1446 | </Message> | ||
1447 | <Message Id="IllegalParentAttributeWhenNested" Number="155"> | ||
1448 | <Instance> | ||
1449 | The {0}/@{1} attribute cannot be specified when a {2} element is nested underneath the {0} element. | ||
1450 | <Parameter Type="System.String" Name="parentElementName" /> | ||
1451 | <Parameter Type="System.String" Name="parentAttributeName" /> | ||
1452 | <Parameter Type="System.String" Name="childElement" /> | ||
1453 | </Instance> | ||
1454 | </Message> | ||
1455 | <Message Id="ExpectedEndforeach" Number="156"> | ||
1456 | <Instance>A <?foreach?> statement was found that had no matching <?endforeach?>.</Instance> | ||
1457 | </Message> | ||
1458 | <Message Id="UnmatchedQuotesInExpression" Number="158"> | ||
1459 | <Instance> | ||
1460 | The quotes don't match in the expression '{0}'. | ||
1461 | <Parameter Type="System.String" Name="expression" /> | ||
1462 | </Instance> | ||
1463 | </Message> | ||
1464 | <Message Id="UnmatchedParenthesisInExpression" Number="159"> | ||
1465 | <Instance> | ||
1466 | The parenthesis don't match in the expression '{0}'. | ||
1467 | <Parameter Type="System.String" Name="expression" /> | ||
1468 | </Instance> | ||
1469 | </Message> | ||
1470 | <Message Id="ExpectedVariable" Number="160"> | ||
1471 | <Instance> | ||
1472 | A required variable was missing in the expression '{0}'. | ||
1473 | <Parameter Type="System.String" Name="expression" /> | ||
1474 | </Instance> | ||
1475 | </Message> | ||
1476 | <Message Id="UnexpectedLiteral" Number="161"> | ||
1477 | <Instance> | ||
1478 | An unexpected literal was found in the expression '{0}'. | ||
1479 | <Parameter Type="System.String" Name="expression" /> | ||
1480 | </Instance> | ||
1481 | </Message> | ||
1482 | <Message Id="IllegalIntegerInExpression" Number="162"> | ||
1483 | <Instance> | ||
1484 | An illegal number was found in the expression '{0}'. | ||
1485 | <Parameter Type="System.String" Name="expression" /> | ||
1486 | </Instance> | ||
1487 | </Message> | ||
1488 | <Message Id="UnexpectedPreprocessorOperator" Number="163"> | ||
1489 | <Instance> | ||
1490 | The operator '{0}' is unexpected. | ||
1491 | <Parameter Type="System.String" Name="operator" /> | ||
1492 | </Instance> | ||
1493 | </Message> | ||
1494 | <Message Id="UnexpectedEmptySubexpression" Number="164"> | ||
1495 | <Instance> | ||
1496 | The empty subexpression is unexpected in the expression '{0}'. | ||
1497 | <Parameter Type="System.String" Name="expression" /> | ||
1498 | </Instance> | ||
1499 | </Message> | ||
1500 | <Message Id="UnexpectedCustomTableColumn" Number="165"> | ||
1501 | <Instance> | ||
1502 | The custom table column '{0}' is unknown. | ||
1503 | <Parameter Type="System.String" Name="column" /> | ||
1504 | </Instance> | ||
1505 | </Message> | ||
1506 | <Message Id="UnknownCustomTableColumnType" Number="166"> | ||
1507 | <Instance> | ||
1508 | Encountered an unknown custom table column type '{0}'. | ||
1509 | <Parameter Type="System.String" Name="columnType" /> | ||
1510 | </Instance> | ||
1511 | </Message> | ||
1512 | <Message Id="IllegalFileCompressionAttributes" Number="167"> | ||
1513 | <Instance>Cannot have both the MsidbFileAttributesCompressed and MsidbFileAttributesNoncompressed options set in a file attributes column.</Instance> | ||
1514 | </Message> | ||
1515 | <Message Id="OverridableActionCollision" Number="168"> | ||
1516 | <Instance> | ||
1517 | The {0} table contains an action '{1}' that is declared overridable in two different locations. Please remove one of the actions or the Overridable='yes' attribute from one of the actions. | ||
1518 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1519 | <Parameter Type="System.String" Name="actionName" /> | ||
1520 | </Instance> | ||
1521 | </Message> | ||
1522 | <Message Id="OverridableActionCollision2" Number="169"> | ||
1523 | <Instance>The location of the action related to previous error.</Instance> | ||
1524 | </Message> | ||
1525 | <Message Id="ActionCollision" Number="170"> | ||
1526 | <Instance> | ||
1527 | The {0} table contains an action '{1}' that is declared in two different locations. Please remove one of the actions or set the Overridable='yes' attribute on one of their elements. | ||
1528 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1529 | <Parameter Type="System.String" Name="actionName" /> | ||
1530 | </Instance> | ||
1531 | </Message> | ||
1532 | <Message Id="ActionCollision2" Number="171"> | ||
1533 | <Instance>The location of the action related to previous error.</Instance> | ||
1534 | </Message> | ||
1535 | <Message Id="SuppressNonoverridableAction" Number="172"> | ||
1536 | <Instance> | ||
1537 | The {0} table contains an action '{1}' that cannot be suppressed because it is not declared overridable in the base definition. Please stop suppressing the action or make it overridable in its base declaration. | ||
1538 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1539 | <Parameter Type="System.String" Name="actionName" /> | ||
1540 | </Instance> | ||
1541 | </Message> | ||
1542 | <Message Id="SuppressNonoverridableAction2" Number="173"> | ||
1543 | <Instance>The location of the non-overridable definition of the action related to previous error.</Instance> | ||
1544 | </Message> | ||
1545 | <Message Id="CustomActionSequencedInModule" Number="174"> | ||
1546 | <Instance> | ||
1547 | The {0} table contains a custom action '{1}' that has a sequence number specified. The Sequence attribute is not allowed for custom actions in a merge module. Please remove the action or use the Before or After attributes to specify where this action should be sequenced relative to another action. | ||
1548 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1549 | <Parameter Type="System.String" Name="actionName" /> | ||
1550 | </Instance> | ||
1551 | </Message> | ||
1552 | <Message Id="StandardActionRelativelyScheduledInModule" Number="175"> | ||
1553 | <Instance> | ||
1554 | The {0} table contains a standard action '{1}' that does not have a sequence number specified. The Sequence attribute is required for standard actions in a merge module. Please remove the action or use the Sequence attribute. | ||
1555 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1556 | <Parameter Type="System.String" Name="actionName" /> | ||
1557 | </Instance> | ||
1558 | </Message> | ||
1559 | <Message Id="ActionCircularDependency" Number="176"> | ||
1560 | <Instance> | ||
1561 | The {0} table contains an action '{1}' that is scheduled to come before or after action '{2}', which is also scheduled to come before or after action '{1}'. Please remove this circular dependency by changing the Before or After attribute for one of the actions. | ||
1562 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1563 | <Parameter Type="System.String" Name="actionName1" /> | ||
1564 | <Parameter Type="System.String" Name="actionName2" /> | ||
1565 | </Instance> | ||
1566 | </Message> | ||
1567 | <Message Id="ActionScheduledRelativeToTerminationAction" Number="177"> | ||
1568 | <Instance> | ||
1569 | The {0} table contains an action '{1}' that is scheduled to come before or after action '{2}', which is a special action which only occurs when the installer terminates. These special actions can be identified by their negative sequence numbers. Please schedule the action '{1}' to come before or after a different action. | ||
1570 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1571 | <Parameter Type="System.String" Name="actionName1" /> | ||
1572 | <Parameter Type="System.String" Name="actionName2" /> | ||
1573 | </Instance> | ||
1574 | </Message> | ||
1575 | <Message Id="ActionScheduledRelativeToTerminationAction2" Number="178"> | ||
1576 | <Instance>The location of the special termination action related to previous error(s).</Instance> | ||
1577 | </Message> | ||
1578 | <Message Id="NoUniqueActionSequenceNumber" Number="179"> | ||
1579 | <Instance> | ||
1580 | The {0} table contains an action '{1}' which cannot have a unique sequence number because it is scheduled before or after action '{2}'. There is not enough room before or after this action to assign a unique sequence number. Please schedule one of the actions differently so that it will be in a position with more sequence numbers available. Please note that sequence numbers must be an integer in the range 1 - 32767 (inclusive). | ||
1581 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
1582 | <Parameter Type="System.String" Name="actionName1" /> | ||
1583 | <Parameter Type="System.String" Name="actionName2" /> | ||
1584 | </Instance> | ||
1585 | </Message> | ||
1586 | <Message Id="NoUniqueActionSequenceNumber2" Number="180"> | ||
1587 | <Instance>The location of the sequenced action related to previous error.</Instance> | ||
1588 | </Message> | ||
1589 | <Message Id="ActionScheduledRelativeToItself" Number="181"> | ||
1590 | <Instance> | ||
1591 | The {0}/@{1} attribute's value '{2}' is invalid because it would make this action dependent upon itself. Please change the value to the name of a different action. | ||
1592 | <Parameter Type="System.String" Name="elementName" /> | ||
1593 | <Parameter Type="System.String" Name="attributeName" /> | ||
1594 | <Parameter Type="System.String" Name="attributeValue" /> | ||
1595 | </Instance> | ||
1596 | </Message> | ||
1597 | <Message Id="MissingTableDefinition" Number="182" SourceLineNumbers="no"> | ||
1598 | <Instance> | ||
1599 | Cannot find the table definitions for the '{0}' table. This is likely due to a typing error or missing extension. Please ensure all the necessary extensions are supplied on the command line with the -ext parameter. | ||
1600 | <Parameter Type="System.String" Name="tableName" /> | ||
1601 | </Instance> | ||
1602 | </Message> | ||
1603 | <Message Id="ExpectedRowInPatchCreationPackage" Number="183" SourceLineNumbers="no"> | ||
1604 | <Instance> | ||
1605 | Could not find a row in the '{0}' table for this patch creation package. Patch creation packages must contain at least one row in the '{0}' table. | ||
1606 | <Parameter Type="System.String" Name="tableName" /> | ||
1607 | </Instance> | ||
1608 | </Message> | ||
1609 | <Message Id="UnexpectedTableInMergeModule" Number="184"> | ||
1610 | <Instance> | ||
1611 | An unexpected row in the '{0}' table was found in this merge module. Merge modules cannot contain the '{0}' table. | ||
1612 | <Parameter Type="System.String" Name="tableName" /> | ||
1613 | </Instance> | ||
1614 | </Message> | ||
1615 | <Message Id="UnexpectedTableInPatchCreationPackage" Number="185"> | ||
1616 | <Instance> | ||
1617 | An unexpected row in the '{0}' table was found in this patch creation package. Patch creation packages cannot contain the '{0}' table. | ||
1618 | <Parameter Type="System.String" Name="tableName" /> | ||
1619 | </Instance> | ||
1620 | </Message> | ||
1621 | <Message Id="MergeExcludedModule" Number="186"> | ||
1622 | <Instance> | ||
1623 | The module '{0}' cannot be merged because it excludes or is excluded by the merge module with signature '{1}'. | ||
1624 | <Parameter Type="System.String" Name="mergeId" /> | ||
1625 | <Parameter Type="System.String" Name="otherMergeId" /> | ||
1626 | </Instance> | ||
1627 | </Message> | ||
1628 | <Message Id="MergeFeatureRequired" Number="187"> | ||
1629 | <Instance> | ||
1630 | The {0} table contains a row with primary key(s) '{1}' which requires a feature to properly merge from the merge module '{2}'. Nest a MergeRef element with an Id attribute set to the value '{3}' under a Feature element to fix this error. | ||
1631 | <Parameter Type="System.String" Name="tableName" /> | ||
1632 | <Parameter Type="System.String" Name="primaryKeys" /> | ||
1633 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
1634 | <Parameter Type="System.String" Name="mergeId" /> | ||
1635 | </Instance> | ||
1636 | </Message> | ||
1637 | <Message Id="MergeLanguageFailed" Number="188"> | ||
1638 | <Instance> | ||
1639 | The language '{0}' is supported but uses an invalid language transform in the merge module '{1}'. | ||
1640 | <Parameter Type="System.Int16" Name="language" /> | ||
1641 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
1642 | </Instance> | ||
1643 | </Message> | ||
1644 | <Message Id="MergeLanguageUnsupported" Number="189"> | ||
1645 | <Instance> | ||
1646 | Could not locate language '{0}' (or a transform for this language) in the merge module '{1}'. This is likely due to an incorrectly authored Merge/@Language attribute. | ||
1647 | <Parameter Type="System.Int16" Name="language" /> | ||
1648 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
1649 | </Instance> | ||
1650 | </Message> | ||
1651 | <Message Id="TableDecompilationUnimplemented" Number="190" SourceLineNumbers="no"> | ||
1652 | <Instance> | ||
1653 | Decompilation of the {0} table has not been implemented by its extension. | ||
1654 | <Parameter Type="System.String" Name="tableName" /> | ||
1655 | </Instance> | ||
1656 | </Message> | ||
1657 | <Message Id="CannotDefaultMismatchedAdvertiseStates" Number="191"> | ||
1658 | <Instance> | ||
1659 | MIME element cannot be marked as the default when its advertise state differs from its parent element. Ensure that the advertise state of the MIME element matches its parents element or remove the Mime/@Advertise attribute completely. | ||
1660 | </Instance> | ||
1661 | </Message> | ||
1662 | <Message Id="VersionIndependentProgIdsCannotHaveIcons" Number="192"> | ||
1663 | <Instance> | ||
1664 | Version independent ProgIds cannot have Icons. Remove the Icon and/or IconIndex attributes from your ProgId element. | ||
1665 | </Instance> | ||
1666 | </Message> | ||
1667 | <Message Id="IllegalAttributeValueWithOtherAttribute" Number="193"> | ||
1668 | <Instance> | ||
1669 | The {0}/@{1} attribute's value, '{2}', cannot be specified with attribute {3} present. | ||
1670 | <Parameter Type="System.String" Name="elementName" /> | ||
1671 | <Parameter Type="System.String" Name="attributeName" /> | ||
1672 | <Parameter Type="System.String" Name="attributeValue" /> | ||
1673 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
1674 | </Instance> | ||
1675 | <Instance> | ||
1676 | The {0}/@{1} attribute's value, '{2}', cannot be specified with attribute {3} present with value '{4}'. | ||
1677 | <Parameter Type="System.String" Name="elementName" /> | ||
1678 | <Parameter Type="System.String" Name="attributeName" /> | ||
1679 | <Parameter Type="System.String" Name="attributeValue" /> | ||
1680 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
1681 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
1682 | </Instance> | ||
1683 | </Message> | ||
1684 | <Message Id="InvalidMergeLanguage" Number="194"> | ||
1685 | <Instance> | ||
1686 | The Merge element '{0}' specified an invalid language '{1}'. Verify that localization tokens are being properly resolved to a numeric LCID. | ||
1687 | <Parameter Type="System.String" Name="mergeId" /> | ||
1688 | <Parameter Type="System.String" Name="mergeLanguage" /> | ||
1689 | </Instance> | ||
1690 | </Message> | ||
1691 | <Message Id="WixVariableCollision" Number="195"> | ||
1692 | <Instance> | ||
1693 | The WiX variable '{0}' is declared in more than one location. Please remove one of the declarations. | ||
1694 | <Parameter Type="System.String" Name="variableId" /> | ||
1695 | </Instance> | ||
1696 | </Message> | ||
1697 | <Message Id="ExpectedWixVariableValue" Number="196" SourceLineNumbers="no"> | ||
1698 | <Instance> | ||
1699 | The WiX variable '{0}' was declared without a value. Please specify a value for the variable. | ||
1700 | <Parameter Type="System.String" Name="variableId" /> | ||
1701 | </Instance> | ||
1702 | </Message> | ||
1703 | <Message Id="WixVariableUnknown" Number="197"> | ||
1704 | <Instance> | ||
1705 | The WiX variable !(wix.{0}) is unknown. Please ensure the variable is declared on the command line for light.exe, via a WixVariable element, or inline using the syntax !(wix.{0}=some value which doesn't contain parenthesis). | ||
1706 | <Parameter Type="System.String" Name="variableId" /> | ||
1707 | </Instance> | ||
1708 | </Message> | ||
1709 | <Message Id="IllegalWixVariablePrefix" Number="198"> | ||
1710 | <Instance> | ||
1711 | The WiX variable $(wix.{0}) uses an illegal prefix '$'. Please use the '!' prefix instead. | ||
1712 | <Parameter Type="System.String" Name="variableId" /> | ||
1713 | </Instance> | ||
1714 | </Message> | ||
1715 | <Message Id="InvalidWixXmlNamespace" Number="199"> | ||
1716 | <Instance> | ||
1717 | The {0} element has no namespace. Please make the {0} element look like the following: <{0} xmlns="{1}">. | ||
1718 | <Parameter Type="System.String" Name="wixElementName" /> | ||
1719 | <Parameter Type="System.String" Name="wixNamespace" /> | ||
1720 | </Instance> | ||
1721 | <Instance> | ||
1722 | The {0} element has an incorrect namespace of '{1}'. Please make the {0} element look like the following: <{0} xmlns="{2}">. | ||
1723 | <Parameter Type="System.String" Name="wixElementName" /> | ||
1724 | <Parameter Type="System.String" Name="elementNamespace" /> | ||
1725 | <Parameter Type="System.String" Name="wixNamespace" /> | ||
1726 | </Instance> | ||
1727 | </Message> | ||
1728 | <Message Id="UnhandledExtensionElement" Number="200"> | ||
1729 | <Instance> | ||
1730 | The {0} element contains an unhandled extension element '{1}'. Please ensure that the extension for elements in the '{2}' namespace has been provided. | ||
1731 | <Parameter Type="System.String" Name="elementName" /> | ||
1732 | <Parameter Type="System.String" Name="extensionElementName" /> | ||
1733 | <Parameter Type="System.String" Name="extensionNamespace" /> | ||
1734 | </Instance> | ||
1735 | </Message> | ||
1736 | <Message Id="UnhandledExtensionAttribute" Number="201"> | ||
1737 | <Instance> | ||
1738 | The {0} element contains an unhandled extension attribute '{1}'. Please ensure that the extension for attributes in the '{2}' namespace has been provided. | ||
1739 | <Parameter Type="System.String" Name="elementName" /> | ||
1740 | <Parameter Type="System.String" Name="extensionAttributeName" /> | ||
1741 | <Parameter Type="System.String" Name="extensionNamespace" /> | ||
1742 | </Instance> | ||
1743 | </Message> | ||
1744 | <Message Id="UnsupportedExtensionAttribute" Number="202"> | ||
1745 | <Instance> | ||
1746 | The {0} element contains an unsupported extension attribute '{1}'. The {0} element does not currently support extension attributes. Is the {1} attribute using the correct XML namespace? | ||
1747 | <Parameter Type="System.String" Name="elementName" /> | ||
1748 | <Parameter Type="System.String" Name="extensionElementName" /> | ||
1749 | </Instance> | ||
1750 | </Message> | ||
1751 | <Message Id="UnsupportedExtensionElement" Number="203"> | ||
1752 | <Instance> | ||
1753 | The {0} element contains an unsupported extension element '{1}'. The {0} element does not currently support extension elements. Is the {1} element using the correct XML namespace? | ||
1754 | <Parameter Type="System.String" Name="elementName" /> | ||
1755 | <Parameter Type="System.String" Name="extensionElementName" /> | ||
1756 | </Instance> | ||
1757 | </Message> | ||
1758 | <Message Id="ValidationError" Number="204"> | ||
1759 | <Instance> | ||
1760 | {0}: {1} | ||
1761 | <Parameter Type="System.String" Name="ice" /> | ||
1762 | <Parameter Type="System.String" Name="message" /> | ||
1763 | </Instance> | ||
1764 | </Message> | ||
1765 | <Message Id="IllegalRootDirectory" Number="205"> | ||
1766 | <Instance> | ||
1767 | The Directory with Id '{0}' is not a valid root directory. There may only be a single root directory per product or module and its Id attribute value must be 'TARGETDIR' and its Name attribute value must be 'SourceDir'. | ||
1768 | <Parameter Type="System.String" Name="directoryId" /> | ||
1769 | </Instance> | ||
1770 | </Message> | ||
1771 | <Message Id="IllegalTargetDirDefaultDir" Number="206"> | ||
1772 | <Instance> | ||
1773 | The 'TARGETDIR' directory has an illegal DefaultDir value of '{0}'. The DefaultDir value is created from the *Name attributes of the Directory element. The TARGETDIR directory is a special directory which must have its Name attribute set to 'SourceDir'. | ||
1774 | <Parameter Type="System.String" Name="defaultDir" /> | ||
1775 | </Instance> | ||
1776 | </Message> | ||
1777 | <Message Id="TooManyElements" Number="207"> | ||
1778 | <Instance> | ||
1779 | The {0} element contains an unexpected child element '{1}'. The '{1}' element may only occur {2} time(s) under the {0} element. | ||
1780 | <Parameter Type="System.String" Name="elementName" /> | ||
1781 | <Parameter Type="System.String" Name="childElementName" /> | ||
1782 | <Parameter Type="System.Int32" Name="expectedInstances" /> | ||
1783 | </Instance> | ||
1784 | </Message> | ||
1785 | <Message Id="ExpectedBinaryCategory" Number="208"> | ||
1786 | <Instance>The Column element specifies a binary column but does not have the correct Category specified. Windows Installer requires binary columns to specify their category as binary. Please set the Category attribute's value to 'Binary'.</Instance> | ||
1787 | </Message> | ||
1788 | <Message Id="RootFeatureCannotFollowParent" Number="209"> | ||
1789 | <Instance>The Feature element specifies a root feature with an illegal InstallDefault value of 'followParent'. Root features cannot follow their parent feature's install state because they don't have a parent feature. Please remove or change the value of the InstallDefault attribute.</Instance> | ||
1790 | </Message> | ||
1791 | <Message Id="FeatureNameTooLong" Number="210"> | ||
1792 | <Instance> | ||
1793 | The {0}/@{1} attribute with value '{2}', is too long for a feature name. Due to limitations in the Windows Installer, feature names cannot be longer than 38 characters in length. | ||
1794 | <Parameter Type="System.String" Name="elementName" /> | ||
1795 | <Parameter Type="System.String" Name="attributeName" /> | ||
1796 | <Parameter Type="System.String" Name="attributeValue" /> | ||
1797 | </Instance> | ||
1798 | </Message> | ||
1799 | <Message Id="SignedEmbeddedCabinet" Number="211"> | ||
1800 | <Instance>The DigitalSignature element cannot be nested under a Media element which specifies EmbedCab='yes'. This is because Windows Installer can only verify the digital signatures of external cabinets. Please either remove the DigitalSignature element or change the value of the Media/@EmbedCab attribute to 'no'.</Instance> | ||
1801 | </Message> | ||
1802 | <Message Id="ExpectedSignedCabinetName" Number="212"> | ||
1803 | <Instance>The Media/@Cabinet attribute was not found; it is required when this element contains a DigitalSignature child element. This is because Windows Installer can only verify the digital signatures of external cabinets. Please either remove the DigitalSignature element or specify a valid external cabinet name via the Cabinet attribute.</Instance> | ||
1804 | </Message> | ||
1805 | <Message Id="IllegalInlineLocVariable" Number="213"> | ||
1806 | <Instance> | ||
1807 | The localization variable '{0}' specifies an illegal inline default value of '{1}'. Localization variables cannot specify default values inline, instead the value should be specified in a WiX localization (.wxl) file. | ||
1808 | <Parameter Type="System.String" Name="variableName" /> | ||
1809 | <Parameter Type="System.String" Name="variableValue" /> | ||
1810 | </Instance> | ||
1811 | </Message> | ||
1812 | <Message Id="MergeModuleExpectedFeature" Number="215"> | ||
1813 | <Instance> | ||
1814 | The merge module '{0}' is not assigned to a feature. All merge modules must be assigned to at least one feature. | ||
1815 | <Parameter Type="System.String" Name="mergeId" /> | ||
1816 | </Instance> | ||
1817 | </Message> | ||
1818 | <Message Id="Win32Exception" Number="216" SourceLineNumbers="no"> | ||
1819 | <Instance> | ||
1820 | An unexpected Win32 exception with error code 0x{0:X} occurred: {1} | ||
1821 | <Parameter Type="System.Int32" Name="nativeErrorCode"/> | ||
1822 | <Parameter Type="System.String" Name="message" /> | ||
1823 | </Instance> | ||
1824 | <Instance> | ||
1825 | An unexpected Win32 exception with error code 0x{0:X} occurred while accessing file '{1}': {2} | ||
1826 | <Parameter Type="System.Int32" Name="nativeErrorCode"/> | ||
1827 | <Parameter Type="System.String" Name="file"/> | ||
1828 | <Parameter Type="System.String" Name="message" /> | ||
1829 | </Instance> | ||
1830 | </Message> | ||
1831 | <Message Id="UnexpectedExternalUIMessage" Number="217" SourceLineNumbers="no"> | ||
1832 | <Instance> | ||
1833 | Error executing unknown ICE action. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "{0}". | ||
1834 | <Parameter Type="System.String" Name="message" /> | ||
1835 | </Instance> | ||
1836 | <Instance> | ||
1837 | Error executing ICE action '{1}'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "{0}". | ||
1838 | <Parameter Type="System.String" Name="message" /> | ||
1839 | <Parameter Type="System.String" Name="action" /> | ||
1840 | </Instance> | ||
1841 | </Message> | ||
1842 | <Message Id="IllegalCabbingThreadCount" Number="218" SourceLineNumbers="no"> | ||
1843 | <Instance> | ||
1844 | Illegal number of threads to create cabinets: '{0}' for -ct <N> command line option. Specify the number of threads to use like -ct 2. | ||
1845 | <Parameter Type="System.String" Name="numThreads" /> | ||
1846 | </Instance> | ||
1847 | </Message> | ||
1848 | <Message Id="IllegalEnvironmentVariable" Number="219" SourceLineNumbers="no"> | ||
1849 | <Instance> | ||
1850 | The {0} environment variable is set to an invalid value of '{1}'. | ||
1851 | <Parameter Type="System.String" Name="environmentVariable" /> | ||
1852 | <Parameter Type="System.String" Name="value" /> | ||
1853 | </Instance> | ||
1854 | </Message> | ||
1855 | <Message Id="InvalidKeyColumn" Number="220" SourceLineNumbers="no"> | ||
1856 | <Instance> | ||
1857 | The definition for the '{0}' table's '{1}' column is an invalid foreign key relationship to the {2} table's column number {3}. It is not a valid foreign key table column number because it is too small (less than 1) or greater than the count of columns in the foreign table's definition. | ||
1858 | <Parameter Type="System.String" Name="tableName" /> | ||
1859 | <Parameter Type="System.String" Name="columnName" /> | ||
1860 | <Parameter Type="System.String" Name="foreignTableName" /> | ||
1861 | <Parameter Type="System.Int32" Name="foreignColumnNumber" /> | ||
1862 | </Instance> | ||
1863 | </Message> | ||
1864 | <Message Id="CollidingModularizationTypes" Number="221" SourceLineNumbers="no"> | ||
1865 | <Instance> | ||
1866 | The definition for the '{0}' table's '{1}' column is a foreign key relationship to the '{2}' table's column number {3}. The modularization types of the two column definitions differ: one is {4} and the other is {5}. Change one of the modularization types so that they match. | ||
1867 | <Parameter Type="System.String" Name="tableName" /> | ||
1868 | <Parameter Type="System.String" Name="columnName" /> | ||
1869 | <Parameter Type="System.String" Name="foreignTableName" /> | ||
1870 | <Parameter Type="System.Int32" Name="foreignColumnNumber" /> | ||
1871 | <Parameter Type="System.String" Name="modularizationType" /> | ||
1872 | <Parameter Type="System.String" Name="foreignModularizationType" /> | ||
1873 | </Instance> | ||
1874 | </Message> | ||
1875 | <Message Id="CubeFileNotFound" Number="222" SourceLineNumbers="no"> | ||
1876 | <Instance> | ||
1877 | The cube file '{0}' cannot be found. This file is required for MSI validation. | ||
1878 | <Parameter Type="System.String" Name="cubeFile" /> | ||
1879 | </Instance> | ||
1880 | </Message> | ||
1881 | <Message Id="OpenDatabaseFailed" Number="223" SourceLineNumbers="no"> | ||
1882 | <Instance> | ||
1883 | Failed to open database '{0}'. Ensure it is a valid database, and it is not open by another process. | ||
1884 | <Parameter Type="System.String" Name="databaseFile" /> | ||
1885 | </Instance> | ||
1886 | </Message> | ||
1887 | <Message Id="OutputTypeMismatch" Number="224"> | ||
1888 | <Instance> | ||
1889 | The types of the outputs do not match. One output's type is '{0}' while the other is '{1}'. | ||
1890 | <Parameter Type="System.String" Name="beforeOutputType" /> | ||
1891 | <Parameter Type="System.String" Name="afterOutputType" /> | ||
1892 | </Instance> | ||
1893 | </Message> | ||
1894 | <Message Id="RealTableMissingPrimaryKeyColumn" Number="225"> | ||
1895 | <Instance> | ||
1896 | The table '{0}' does not contain any primary key columns. At least one column must be marked as the primary key to ensure this table can be patched. | ||
1897 | <Parameter Type="System.String" Name="tableName" /> | ||
1898 | </Instance> | ||
1899 | </Message> | ||
1900 | <Message Id="IllegalColumnName" Number="226"> | ||
1901 | <Instance> | ||
1902 | The {0}/@{1} attribute's value, '{2}', is not a legal column name. It will collide with the sentinel values used in the _TransformView table. | ||
1903 | <Parameter Type="System.String" Name="elementName" /> | ||
1904 | <Parameter Type="System.String" Name="attributeName" /> | ||
1905 | <Parameter Type="System.String" Name="value" /> | ||
1906 | </Instance> | ||
1907 | </Message> | ||
1908 | <Message Id="NoDifferencesInTransform" Number="227"> | ||
1909 | <Instance> | ||
1910 | The transform being built did not contain any differences so it could not be created. | ||
1911 | </Instance> | ||
1912 | </Message> | ||
1913 | <Message Id="OutputCodepageMismatch" Number="228"> | ||
1914 | <Instance> | ||
1915 | The code pages of the outputs do not match. One output's code page is '{0}' while the other is '{1}'. | ||
1916 | <Parameter Type="System.Int32" Name="beforeCodepage" /> | ||
1917 | <Parameter Type="System.Int32" Name="afterCodepage" /> | ||
1918 | </Instance> | ||
1919 | </Message> | ||
1920 | <Message Id="OutputCodepageMismatch2" Number="229"> | ||
1921 | <Instance> | ||
1922 | The location of the mismatched code page related to the previous warning. | ||
1923 | </Instance> | ||
1924 | </Message> | ||
1925 | <Message Id="IllegalComponentWithAutoGeneratedGuid" Number="230"> | ||
1926 | <Instance> | ||
1927 | The Component/@Guid attribute's value '*' is not valid for this component because it does not meet the criteria for having an automatically generated guid. Components using a Directory as a KeyPath or containing ODBCDataSource child elements cannot use an automatically generated guid. Make sure your component doesn't have a Directory as the KeyPath and move any ODBCDataSource child elements to components with explicit component guids. | ||
1928 | </Instance> | ||
1929 | <Instance> | ||
1930 | The Component/@Guid attribute's value '*' is not valid for this component because it does not meet the criteria for having an automatically generated guid. Components with registry keypaths and files cannot use an automatically generated guid. Create multiple components, each with one file and/or one registry value keypath, to use automatically generated guids. | ||
1931 | <Parameter Type="System.Boolean" Name="registryKeyPath" /> | ||
1932 | </Instance> | ||
1933 | </Message> | ||
1934 | <Message Id="IllegalPathForGeneratedComponentGuid" Number="231"> | ||
1935 | <Instance> | ||
1936 | The component '{0}' has a key file with path '{1}'. Since this path is not rooted in one of the standard directories (like ProgramFilesFolder), this component does not fit the criteria for having an automatically generated guid. (This error may also occur if a path contains a likely standard directory such as nesting a directory with name "Common Files" under ProgramFilesFolder.) | ||
1937 | <Parameter Type="System.String" Name="componentName" /> | ||
1938 | <Parameter Type="System.String" Name="keyFilePath" /> | ||
1939 | </Instance> | ||
1940 | </Message> | ||
1941 | <Message Id="IllegalTerminalServerCustomActionAttributes" Number="232"> | ||
1942 | <Instance> | ||
1943 | The CustomAction/@TerminalServerAware attribute's value is 'yes' but the Execute attribute is not 'deferred,' 'rollback,' or 'commit.' Terminal-Server-aware custom actions must be deferred, rollback, or commit custom actions. For more information, see http://msdn.microsoft.com/library/aa372071.aspx." | ||
1944 | </Instance> | ||
1945 | </Message> | ||
1946 | <Message Id="IllegalPropertyCustomActionAttributes" Number="233"> | ||
1947 | <Instance> | ||
1948 | The CustomAction sets a property but its Execute attribute is not 'immediate' (the default). Property-setting custom actions cannot be deferred." | ||
1949 | </Instance> | ||
1950 | </Message> | ||
1951 | <Message Id="InvalidPreprocessorFunction" Number="234"> | ||
1952 | <Instance> | ||
1953 | Ill-formed preprocessor function '${0}'. Functions must have a prefix (like 'fun.'), a name at least 1 character long, and matching opening and closing parentheses. | ||
1954 | <Parameter Type="System.String" Name="variable" /> | ||
1955 | </Instance> | ||
1956 | </Message> | ||
1957 | <Message Id="UndefinedPreprocessorFunction" Number="235"> | ||
1958 | <Instance> | ||
1959 | Undefined preprocessor function '$({0})'. | ||
1960 | <Parameter Type="System.String" Name="variableName" /> | ||
1961 | </Instance> | ||
1962 | </Message> | ||
1963 | <Message Id="PreprocessorExtensionEvaluateFunctionFailed" Number="236"> | ||
1964 | <Instance> | ||
1965 | In the preprocessor extension that handles prefix '{0}' while trying to call function '{1}({2})' and exception has occurred : {3} | ||
1966 | <Parameter Type="System.String" Name="prefix" /> | ||
1967 | <Parameter Type="System.String" Name="function" /> | ||
1968 | <Parameter Type="System.String" Name="args" /> | ||
1969 | <Parameter Type="System.String" Name="message" /> | ||
1970 | </Instance> | ||
1971 | </Message> | ||
1972 | <Message Id="PreprocessorExtensionGetVariableValueFailed" Number="237"> | ||
1973 | <Instance> | ||
1974 | In the preprocessor extension that handles prefix '{0}' while trying to get the value for variable '{1}' and exception has occured : {2} | ||
1975 | <Parameter Type="System.String" Name="prefix" /> | ||
1976 | <Parameter Type="System.String" Name="variable" /> | ||
1977 | <Parameter Type="System.String" Name="message" /> | ||
1978 | </Instance> | ||
1979 | </Message> | ||
1980 | <Message Id="InvalidManifestContent" Number="238"> | ||
1981 | <Instance> | ||
1982 | The manifest '{0}' does not have the required assembly/assemblyIdentity element. | ||
1983 | <Parameter Type="System.String" Name="fileName" /> | ||
1984 | </Instance> | ||
1985 | </Message> | ||
1986 | <Message Id="InvalidWixTransform" Number="239" SourceLineNumbers="no"> | ||
1987 | <Instance> | ||
1988 | The file '{0}' is not a valid WiX Transform. | ||
1989 | <Parameter Type="System.String" Name="fileName" /> | ||
1990 | </Instance> | ||
1991 | </Message> | ||
1992 | <Message Id="UnexpectedFileExtension" Number="240" SourceLineNumbers="no"> | ||
1993 | <Instance> | ||
1994 | The file '{0}' has an unexpected extension. Expected one of the following: '{1}'. | ||
1995 | <Parameter Type="System.String" Name="fileName" /> | ||
1996 | <Parameter Type="System.String" Name="expectedExtensions" /> | ||
1997 | </Instance> | ||
1998 | </Message> | ||
1999 | <Message Id="UnexpectedTableInPatch" Number="241"> | ||
2000 | <Instance> | ||
2001 | An unexpected row in the '{0}' table was found in this patch. Patches cannot contain the '{0}' table. | ||
2002 | <Parameter Type="System.String" Name="tableName" /> | ||
2003 | </Instance> | ||
2004 | </Message> | ||
2005 | <Message Id="InvalidProductVersion" Number="242"> | ||
2006 | <Instance> | ||
2007 | Invalid product version '{0}'. Product version must have a major version less than 256, a minor version less than 256, and a build version less than 65536. | ||
2008 | <Parameter Type="System.String" Name="version" /> | ||
2009 | </Instance> | ||
2010 | <Instance> | ||
2011 | Invalid product version '{0}' in package '{1}'. When included in a bundle, all product version fields in an MSI package must be less than 65536. | ||
2012 | <Parameter Type="System.String" Name="version" /> | ||
2013 | <Parameter Type="System.String" Name="packagePath" /> | ||
2014 | </Instance> | ||
2015 | </Message> | ||
2016 | <Message Id="InvalidKeypathChange" Number="243"> | ||
2017 | <Instance> | ||
2018 | Component '{0}' has a changed keypath in the transform '{1}'. Patches cannot change the keypath of a component. | ||
2019 | <Parameter Type="System.String" Name="component" /> | ||
2020 | <Parameter Type="System.String" Name="transformPath" /> | ||
2021 | </Instance> | ||
2022 | </Message> | ||
2023 | <Message Id="MissingValidatorExtension" Number="244" SourceLineNumbers="no"> | ||
2024 | <Instance> | ||
2025 | The validator requires at least one extension. Add "ValidatorExtension, Wix" for the default implementation. | ||
2026 | </Instance> | ||
2027 | </Message> | ||
2028 | <Message Id="InvalidValidatorMessageType" Number="245" SourceLineNumbers="no"> | ||
2029 | <Instance> | ||
2030 | Unknown validation message type '{0}'. | ||
2031 | <Parameter Type="System.String" Name="type" /> | ||
2032 | </Instance> | ||
2033 | </Message> | ||
2034 | <Message Id="PatchWithoutTransforms" Number="246" SourceLineNumbers="no"> | ||
2035 | <Instance> | ||
2036 | No transforms were provided to attach to the patch. | ||
2037 | </Instance> | ||
2038 | </Message> | ||
2039 | <Message Id="SingleExtensionSupported" Number="247" SourceLineNumbers="no"> | ||
2040 | <Instance> | ||
2041 | Multiple extensions were specified on the command line, only a single extension is supported. | ||
2042 | </Instance> | ||
2043 | </Message> | ||
2044 | <Message Id="DuplicateTransform" Number="248" SourceLineNumbers="no"> | ||
2045 | <Instance> | ||
2046 | The transform {0} was included twice on the command line. Each transform can be applied to a patch only once. | ||
2047 | <Parameter Type="System.String" Name="transform" /> | ||
2048 | </Instance> | ||
2049 | </Message> | ||
2050 | <Message Id="BaselineRequired" Number="249" SourceLineNumbers="no"> | ||
2051 | <Instance> | ||
2052 | No baseline was specified for one of the transforms specified. A baseline is required for all transforms in a patch. | ||
2053 | </Instance> | ||
2054 | </Message> | ||
2055 | <Message Id="PreprocessorError" Number="250"> | ||
2056 | <Instance> | ||
2057 | {0} | ||
2058 | <Parameter Type="System.String" Name="message" /> | ||
2059 | </Instance> | ||
2060 | </Message> | ||
2061 | <Message Id="ExpectedArgument" Number="251" SourceLineNumbers="no"> | ||
2062 | <Instance> | ||
2063 | {0} is expected to be followed by a value argument. | ||
2064 | <Parameter Type="System.String" Name="argument" /> | ||
2065 | </Instance> | ||
2066 | </Message> | ||
2067 | <Message Id="PatchWithoutValidTransforms" Number="252" SourceLineNumbers="no"> | ||
2068 | <Instance> | ||
2069 | No valid transforms were provided to attach to the patch. Check to make sure the transforms you passed on the command line have a matching baseline authored in the patch. Also, make sure there are differences between your target and upgrade. | ||
2070 | </Instance> | ||
2071 | </Message> | ||
2072 | <Message Id="ExpectedDecompiler" Number="253" SourceLineNumbers="no"> | ||
2073 | <Instance> | ||
2074 | No decompiler was provided. {0} requires a decompiler. | ||
2075 | <Parameter Type="System.String" Name="identifier" /> | ||
2076 | </Instance> | ||
2077 | </Message> | ||
2078 | <Message Id="ExpectedTableInMergeModule" Number="254" SourceLineNumbers="no"> | ||
2079 | <Instance> | ||
2080 | The table '{0}' was expected but was missing. | ||
2081 | <Parameter Type="System.String" Name="identifier" /> | ||
2082 | </Instance> | ||
2083 | </Message> | ||
2084 | <Message Id="UnexpectedElementWithAttributeValue" Number="255"> | ||
2085 | <Instance> | ||
2086 | The {0} element cannot have a child element '{1}' unless attribute '{2}' is set to '{3}'. | ||
2087 | <Parameter Type="System.String" Name="elementName" /> | ||
2088 | <Parameter Type="System.String" Name="childElementName" /> | ||
2089 | <Parameter Type="System.String" Name="attribute" /> | ||
2090 | <Parameter Type="System.String" Name="attributeValue" /> | ||
2091 | </Instance> | ||
2092 | <Instance> | ||
2093 | The {0} element cannot have a child element '{1}' unless attribute '{2}' is set to '{3}' or '{4}'. | ||
2094 | <Parameter Type="System.String" Name="elementName" /> | ||
2095 | <Parameter Type="System.String" Name="childElementName" /> | ||
2096 | <Parameter Type="System.String" Name="attribute" /> | ||
2097 | <Parameter Type="System.String" Name="attributeValue1" /> | ||
2098 | <Parameter Type="System.String" Name="attributeValue2" /> | ||
2099 | </Instance> | ||
2100 | </Message> | ||
2101 | <Message Id="ExpectedPatchIdInWixMsp" Number="256" SourceLineNumbers="no"> | ||
2102 | <Instance> | ||
2103 | The WixMsp is missing the patch ID. | ||
2104 | </Instance> | ||
2105 | </Message> | ||
2106 | <Message Id="ExpectedMediaRowsInWixMsp" Number="257" SourceLineNumbers="no"> | ||
2107 | <Instance> | ||
2108 | The WixMsp has no media rows defined. | ||
2109 | </Instance> | ||
2110 | </Message> | ||
2111 | <Message Id="WixFileNotFound" Number="258" SourceLineNumbers="no"> | ||
2112 | <Instance> | ||
2113 | The file '{0}' cannot be found. | ||
2114 | <Parameter Type="System.String" Name="file" /> | ||
2115 | </Instance> | ||
2116 | </Message> | ||
2117 | <Message Id="ExpectedClientPatchIdInWixMsp" Number="259" SourceLineNumbers="no"> | ||
2118 | <Instance> | ||
2119 | The WixMsp is missing the client patch ID. Recompile the patch source files with the latest WiX toolset. | ||
2120 | </Instance> | ||
2121 | </Message> | ||
2122 | <Message Id="NewRowAddedInTable" Number="260"> | ||
2123 | <Instance> | ||
2124 | Product '{0}': Table '{1}' has a new row '{2}' added. This makes the patch not uninstallable. | ||
2125 | <Parameter Type="System.String" Name="productCode" /> | ||
2126 | <Parameter Type="System.String" Name="tableName" /> | ||
2127 | <Parameter Type="System.String" Name="rowId" /> | ||
2128 | </Instance> | ||
2129 | </Message> | ||
2130 | <Message Id="PatchNotRemovable" Number="261" SourceLineNumbers="no"> | ||
2131 | <Instance> | ||
2132 | This patch is not uninstallable. The 'Patch' element's attribute 'AllowRemoval' should be set to 'no'. | ||
2133 | </Instance> | ||
2134 | </Message> | ||
2135 | <Message Id="FileTooLarge" Number="263"> | ||
2136 | <Instance> | ||
2137 | '{0}' is too large, file size must be less than 2147483648. | ||
2138 | <Parameter Type="System.String" Name="fileName" /> | ||
2139 | </Instance> | ||
2140 | </Message> | ||
2141 | <Message Id="InvalidPlatformParameter" Number="264" SourceLineNumbers="no"> | ||
2142 | <Instance> | ||
2143 | The parameter '{0}' is missing or has an invalid value {1}. Possible values are x86, x64, or ia64. | ||
2144 | <Parameter Type="System.String" Name="name" /> | ||
2145 | <Parameter Type="System.String" Name="value" /> | ||
2146 | </Instance> | ||
2147 | </Message> | ||
2148 | <Message Id="InvalidPlatformValue" Number="265"> | ||
2149 | <Instance> | ||
2150 | The Platform attribute has an invalid value {0}. Possible values are x86, x64, or ia64. | ||
2151 | <Parameter Type="System.String" Name="value" /> | ||
2152 | </Instance> | ||
2153 | </Message> | ||
2154 | <Message Id="IllegalValidationArguments" Number="266" SourceLineNumbers="no"> | ||
2155 | <Instance> | ||
2156 | You may only specify a single default type using -t or specify custom validation using -serr and -val. | ||
2157 | </Instance> | ||
2158 | </Message> | ||
2159 | <Message Id="OrphanedComponent" Number="267"> | ||
2160 | <Instance> | ||
2161 | Found orphaned Component '{0}'. If this is a Product, every Component must have at least one parent Feature. To include a Component in a Module, you must include it directly as a Component element of the Module element or indirectly via ComponentRef, ComponentGroup, or ComponentGroupRef elements. | ||
2162 | <Parameter Type="System.String" Name="componentName" /> | ||
2163 | </Instance> | ||
2164 | </Message> | ||
2165 | <Message Id="IllegalCommandlineArgumentCombination" Number="268" SourceLineNumbers="no"> | ||
2166 | <Instance> | ||
2167 | '-{0}' cannot be specfied in combination with '-{1}'. | ||
2168 | <Parameter Type="System.String" Name="arg1" /> | ||
2169 | <Parameter Type="System.String" Name="arg2" /> | ||
2170 | </Instance> | ||
2171 | </Message> | ||
2172 | <Message Id="ProductCodeInvalidForTransform" Number="269"> | ||
2173 | <Instance> | ||
2174 | The value '*' is not valid for the ProductCode when used in a transform or in a patch. Copy the ProductCode from your target product MSI into the Product/@Id attribute value for your product authoring. | ||
2175 | </Instance> | ||
2176 | </Message> | ||
2177 | <Message Id="InsertInvalidSequenceActionOrder" Number="270"> | ||
2178 | <Instance> | ||
2179 | Invalid order of actions {1} and {2} in sequence table {0}. Action {3} must occur after {1} and before {2}, but {2} is currently sequenced after {1}. Please fix the ordering or explicitly supply a location for the action {3}. | ||
2180 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
2181 | <Parameter Type="System.String" Name="actionNameBefore" /> | ||
2182 | <Parameter Type="System.String" Name="actionNameAfter" /> | ||
2183 | <Parameter Type="System.String" Name="actionNameNew" /> | ||
2184 | </Instance> | ||
2185 | </Message> | ||
2186 | <Message Id="InsertSequenceNoSpace" Number="271"> | ||
2187 | <Instance> | ||
2188 | Not enough space exists to sequence action {3} in table {0}. It must be sequenced after {1} and before {2}, but those two actions are currently sequenced next to each other. Please move one of those actions to allow {3} to be inserted between them. | ||
2189 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
2190 | <Parameter Type="System.String" Name="actionNameBefore" /> | ||
2191 | <Parameter Type="System.String" Name="actionNameAfter" /> | ||
2192 | <Parameter Type="System.String" Name="actionNameNew" /> | ||
2193 | </Instance> | ||
2194 | </Message> | ||
2195 | <Message Id="MissingManifestForWin32Assembly" Number="272"> | ||
2196 | <Instance> | ||
2197 | File '{0}' is marked as a Win32 assembly but it refers to assembly manifest '{1}' that is not present in this product. | ||
2198 | <Parameter Type="System.String" Name="file" /> | ||
2199 | <Parameter Type="System.String" Name="manifest" /> | ||
2200 | </Instance> | ||
2201 | </Message> | ||
2202 | <Message Id="UnableToOpenModule" Number="273"> | ||
2203 | <Instance> | ||
2204 | Unable to open merge module '{0}'. Check to make sure the module language is correct. '{1}' | ||
2205 | <Parameter Type="System.String" Name="modulePath" /> | ||
2206 | <Parameter Type="System.String" Name="message" /> | ||
2207 | </Instance> | ||
2208 | </Message> | ||
2209 | <Message Id="ExpectedAttributeWhenElementNotUnderElement" Number="274"> | ||
2210 | <Instance> | ||
2211 | The '{0}/@{1}' attribute was not found; it is required when element '{0}' is not nested under a '{2}' element. | ||
2212 | <Parameter Type="System.String" Name="elementName" /> | ||
2213 | <Parameter Type="System.String" Name="attributeName" /> | ||
2214 | <Parameter Type="System.String" Name="parentElementName" /> | ||
2215 | </Instance> | ||
2216 | </Message> | ||
2217 | <Message Id="IllegalIdentifierLooksLikeFormatted" Number="275"> | ||
2218 | <Instance> | ||
2219 | The {0}/@{1} attribute's value, '{2}', is not a legal identifier. The {0}/@{1} attribute does not support formatted string values, such as property names enclosed in brackets ([LIKETHIS]). The value must be the identifier of another element, such as the Directory/@Id attribute value. | ||
2220 | <Parameter Type="System.String" Name="elementName" /> | ||
2221 | <Parameter Type="System.String" Name="attributeName" /> | ||
2222 | <Parameter Type="System.String" Name="value" /> | ||
2223 | </Instance> | ||
2224 | </Message> | ||
2225 | <Message Id="IllegalCodepageAttribute" Number="276"> | ||
2226 | <Instance> | ||
2227 | The code page '{0}' is not a valid Windows code page. Please check the {1}/@{2} attribute value in your source file. | ||
2228 | <Parameter Type="System.String" Name="codepage" /> | ||
2229 | <Parameter Type="System.String" Name="elementName" /> | ||
2230 | <Parameter Type="System.String" Name="attributeName" /> | ||
2231 | </Instance> | ||
2232 | </Message> | ||
2233 | <Message Id="IllegalCompressionLevel" Number="277" SourceLineNumbers="no"> | ||
2234 | <Instance> | ||
2235 | The compression level '{0}' is not valid. Valid values are 'none', 'low', 'medium', 'high', and 'mszip'. | ||
2236 | <Parameter Type="System.String" Name="compressionLevel" /> | ||
2237 | </Instance> | ||
2238 | </Message> | ||
2239 | <Message Id="TransformSchemaMismatch" Number="278" SourceLineNumbers="no"> | ||
2240 | <Instance>The transform schema does not match the database schema. The transform may have been generated from a different database.</Instance> | ||
2241 | </Message> | ||
2242 | <Message Id="DatabaseSchemaMismatch" Number="279"> | ||
2243 | <Instance> | ||
2244 | The table definition of '{0}' in the target database does not match the table definition in the updated database. A transform requires that the target database schema match the updated database schema. | ||
2245 | <Parameter Type="System.String" Name="tableName" /> | ||
2246 | </Instance> | ||
2247 | </Message> | ||
2248 | <Message Id="ExpectedDirectoryGotFile" Number="280" SourceLineNumbers="no"> | ||
2249 | <Instance> | ||
2250 | The {0} option requires a directory, but the provided path is a file: {1} | ||
2251 | <Parameter Type="System.String" Name="option" /> | ||
2252 | <Parameter Type="System.String" Name="path" /> | ||
2253 | </Instance> | ||
2254 | </Message> | ||
2255 | <Message Id="ExpectedFileGotDirectory" Number="281" SourceLineNumbers="no"> | ||
2256 | <Instance> | ||
2257 | The {0} option requires a file, but the provided path is a directory: {1} | ||
2258 | <Parameter Type="System.String" Name="option" /> | ||
2259 | <Parameter Type="System.String" Name="path" /> | ||
2260 | </Instance> | ||
2261 | </Message> | ||
2262 | <Message Id="GacAssemblyNoStrongName" Number="282"> | ||
2263 | <Instance> | ||
2264 | Assembly {0} in component {1} has no strong name and has been marked to be placed in the GAC. All assemblies installed to the GAC must have a valid strong name. | ||
2265 | <Parameter Type="System.String" Name="assemblyName" /> | ||
2266 | <Parameter Type="System.String" Name="componentName" /> | ||
2267 | </Instance> | ||
2268 | </Message> | ||
2269 | <Message Id="FileWriteError" Number="283" SourceLineNumbers="no"> | ||
2270 | <Instance> | ||
2271 | Error writing to the path: '{0}'. Error message: '{1}' | ||
2272 | <Parameter Type="System.String" Name="path" /> | ||
2273 | <Parameter Type="System.String" Name="error" /> | ||
2274 | </Instance> | ||
2275 | </Message> | ||
2276 | <Message Id="InvalidCommandLineFileName" Number="284" SourceLineNumbers="no"> | ||
2277 | <Instance> | ||
2278 | Invalid file name specified on the command line: '{0}'. Error message: '{1}' | ||
2279 | <Parameter Type="System.String" Name="fileName" /> | ||
2280 | <Parameter Type="System.String" Name="error" /> | ||
2281 | </Instance> | ||
2282 | </Message> | ||
2283 | <Message Id="ExpectedParentWithAttribute" Number="285"> | ||
2284 | <Instance> | ||
2285 | When the {0}/@{1} attribute is specified, the {0} element must be nested under a {2} element. | ||
2286 | <Parameter Type="System.String" Name="parentElement" /> | ||
2287 | <Parameter Type="System.String" Name="attribute" /> | ||
2288 | <Parameter Type="System.String" Name="grandparentElement" /> | ||
2289 | </Instance> | ||
2290 | </Message> | ||
2291 | <Message Id="IllegalWarningIdAsError" Number="286" SourceLineNumbers="no"> | ||
2292 | <Instance> | ||
2293 | Illegal value '{0}' for the -wx<N> command line option. Specify a particular warning number, like '-wx6' to display the warning with ID 6 as an error, or '-wx' alone to suppress all warnings. | ||
2294 | <Parameter Type="System.String" Name="warningId" /> | ||
2295 | </Instance> | ||
2296 | </Message> | ||
2297 | <Message Id="ExpectedAttributeOrElement" Number="287"> | ||
2298 | <Instance> | ||
2299 | Element '{0}' missing attribute '{1}' or child element '{2}'. Exactly one of those is required. | ||
2300 | <Parameter Type="System.String" Name="parentElement" /> | ||
2301 | <Parameter Type="System.String" Name="attribute" /> | ||
2302 | <Parameter Type="System.String" Name="childElement" /> | ||
2303 | </Instance> | ||
2304 | </Message> | ||
2305 | <Message Id="DuplicateVariableDefinition" Number="288" SourceLineNumbers="no"> | ||
2306 | <Instance> | ||
2307 | The variable '{0}' with value '{1}' was previously declared with value '{2}'. | ||
2308 | <Parameter Type="System.String" Name="variableName" /> | ||
2309 | <Parameter Type="System.String" Name="variableValue" /> | ||
2310 | <Parameter Type="System.String" Name="variableCollidingValue" /> | ||
2311 | </Instance> | ||
2312 | </Message> | ||
2313 | <Message Id="InvalidVariableDefinition" Number="289" SourceLineNumbers="no"> | ||
2314 | <Instance> | ||
2315 | The variable definition '{0}' is not valid. Variable definitions should be in the form -dname=value where the value is optional. | ||
2316 | <Parameter Type="System.String" Name="variableDefinition" /> | ||
2317 | </Instance> | ||
2318 | </Message> | ||
2319 | <Message Id="DuplicateCabinetName" Number="290"> | ||
2320 | <Instance> | ||
2321 | Duplicate cabinet name '{0}' found. | ||
2322 | <Parameter Type="System.String" Name="cabinetName" /> | ||
2323 | </Instance> | ||
2324 | </Message> | ||
2325 | <Message Id="DuplicateCabinetName2" Number="291"> | ||
2326 | <Instance> | ||
2327 | Duplicate cabinet name '{0}' error related to previous error. | ||
2328 | <Parameter Type="System.String" Name="cabinetName" /> | ||
2329 | </Instance> | ||
2330 | </Message> | ||
2331 | <Message Id="InvalidAddedFileRowWithoutSequence" Number="292"> | ||
2332 | <Instance> | ||
2333 | A row has been added to the File table with id '{1}' that does not have a sequence number assigned to it. Create your transform from a pair of msi's instead of xml outputs to get sequences assigned to your File table's rows. | ||
2334 | <Parameter Type="System.String" Name="fileRowId" /> | ||
2335 | </Instance> | ||
2336 | </Message> | ||
2337 | <Message Id="DuplicateFileId" Number="293" SourceLineNumbers="no"> | ||
2338 | <Instance> | ||
2339 | Multiple files with ID '{0}' exist. Windows Installer does not support file IDs that differ only by case. Change the file IDs to be unique. | ||
2340 | <Parameter Type="System.String" Name="fileId" /> | ||
2341 | </Instance> | ||
2342 | </Message> | ||
2343 | <Message Id="FullTempDirectory" Number="294" SourceLineNumbers="no"> | ||
2344 | <Instance> | ||
2345 | Unable to create temporary file. A common cause is that too many files that have names beginning with '{0}' are present. Delete any unneeded files in the '{1}' directory and try again. | ||
2346 | <Parameter Type="System.String" Name="prefix" /> | ||
2347 | <Parameter Type="System.String" Name="directory" /> | ||
2348 | </Instance> | ||
2349 | </Message> | ||
2350 | <Message Id="CreateCabAddFileFailed" Number="296" SourceLineNumbers="no"> | ||
2351 | <Instance> | ||
2352 | An error (E_FAIL) was returned while adding files to a CAB file. This most commonly happens when creating a CAB file 2 GB or larger. Either reduce the size of your installation package, raise Media/@CompressionLevel to a higher compression level, or split your installation package's files into more than one CAB file. | ||
2353 | </Instance> | ||
2354 | </Message> | ||
2355 | <Message Id="CreateCabInsufficientDiskSpace" Number="297" SourceLineNumbers="no"> | ||
2356 | <Instance> | ||
2357 | An error (ERROR_DISK_FULL) was returned while creating a CAB file. This means you have insufficient disk space - please clear more disk space and try this operation again. | ||
2358 | </Instance> | ||
2359 | </Message> | ||
2360 | <Message Id="UnresolvedBindReference" Number="298" SourceLineNumbers="yes"> | ||
2361 | <Instance> | ||
2362 | Unresolved bind-time variable {0}. | ||
2363 | <Parameter Type="System.String" Name="BindRef" /> | ||
2364 | </Instance> | ||
2365 | </Message> | ||
2366 | <Message Id="GACAssemblyIdentityWarning" Number="299" SourceLineNumbers="yes"> | ||
2367 | <Instance> | ||
2368 | The destination name of file '{0}' does not match its assembly name '{1}' in your authoring. This will cause an installation failure for this assembly, because it will be installed to the Global Assembly Cache. To fix this error, update File/@Name of file '{0}' to be the actual name of the assembly. | ||
2369 | <Parameter Type="System.String" Name="fileName" /> | ||
2370 | <Parameter Type="System.String" Name="assemblyName" /> | ||
2371 | </Instance> | ||
2372 | </Message> | ||
2373 | <Message Id="IllegalCharactersInPath" Number="300" SourceLineNumbers="no"> | ||
2374 | <Instance> | ||
2375 | Illegal characters in path '{0}'. Ensure you provided a valid path to the file. | ||
2376 | <Parameter Type="System.String" Name="pathName" /> | ||
2377 | </Instance> | ||
2378 | </Message> | ||
2379 | <Message Id="ValidationFailedToOpenDatabase" Number="301" SourceLineNumbers="no"> | ||
2380 | <Instance> | ||
2381 | Failed to open the database. During validation, this most commonly happens when attempting to open a database using an unsupported code page or a file that is not a valid Windows Installer database. Please use a different code page in Module/@Codepage, Package/@SummaryCodepage, Product/@Codepage, or WixLocalization/@Codepage; or make sure you provide the path to a valid Windows Installer database. | ||
2382 | </Instance> | ||
2383 | </Message> | ||
2384 | <Message Id="MustSpecifyOutputWithMoreThanOneInput" Number="302" SourceLineNumbers="no"> | ||
2385 | <Instance> | ||
2386 | You must specify an output file using the "-o" or "-out" switch when you provide more than one input file. | ||
2387 | </Instance> | ||
2388 | </Message> | ||
2389 | <Message Id="IllegalSearchIdForParentDepth" Number="303"> | ||
2390 | <Instance> | ||
2391 | When the parent DirectorySearch/@Depth attribute is greater than 1 for the DirectorySearch '{1}', the FileSearch/@Id attribute must be absent for FileSearch '{0}' unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. Remove the FileSearch/@Id attribute for '{0}' to resolve this issue. | ||
2392 | <Parameter Type="System.String" Name="id" /> | ||
2393 | <Parameter Type="System.String" Name="parentId" /> | ||
2394 | </Instance> | ||
2395 | </Message> | ||
2396 | <Message Id="IdentifierTooLongError" Number="304"> | ||
2397 | <Instance> | ||
2398 | The {0}/@{1} attribute's value, '{2}', is too long. {0}/@{1} attribute's must be {3} characters long or less. | ||
2399 | <Parameter Type="System.String" Name="elementName" /> | ||
2400 | <Parameter Type="System.String" Name="attributeName" /> | ||
2401 | <Parameter Type="System.String" Name="value" /> | ||
2402 | <Parameter Type="System.Int32" Name="maxLength" /> | ||
2403 | </Instance> | ||
2404 | </Message> | ||
2405 | <Message Id="InvalidRemoveComponent" Number="305"> | ||
2406 | <Instance> | ||
2407 | Removing component '{0}' from feature '{1}' is not supported. Either the component was removed or the guid changed in the transform '{2}'. Add the component back, undo the change to the component guid, or remove the entire feature. | ||
2408 | <Parameter Type="System.String" Name="component" /> | ||
2409 | <Parameter Type="System.String" Name="feature" /> | ||
2410 | <Parameter Type="System.String" Name="transformPath" /> | ||
2411 | </Instance> | ||
2412 | </Message> | ||
2413 | <Message Id="FinishCabFailed" Number="306" SourceLineNumbers="no"> | ||
2414 | <Instance> | ||
2415 | An error (E_FAIL) was returned while finalizing a CAB file. This most commonly happens when creating a CAB file with more than 65535 files in it. Either reduce the number of files in your installation package or split your installation package's files into more than one CAB file using the Media element. | ||
2416 | </Instance> | ||
2417 | </Message> | ||
2418 | <Message Id="InvalidExtensionType" Number="307" SourceLineNumbers="no"> | ||
2419 | <Instance> | ||
2420 | Either '{1}' was not defined in the assembly or the type defined in extension '{0}' could not be loaded. | ||
2421 | <Parameter Type="System.String" Name="extension" /> | ||
2422 | <Parameter Type="System.String" Name="attributeType" /> | ||
2423 | </Instance> | ||
2424 | <Instance> | ||
2425 | The extension type '{1}' in extension '{0}' does not inherit from the expected class '{2}'. | ||
2426 | <Parameter Type="System.String" Name="extension" /> | ||
2427 | <Parameter Type="System.String" Name="className" /> | ||
2428 | <Parameter Type="System.String" Name="expectedType" /> | ||
2429 | </Instance> | ||
2430 | <Instance> | ||
2431 | The type '{1}' in extension '{0}' could not be loaded. Exception type '{2}' returned the following message: {3} | ||
2432 | <Parameter Type="System.String" Name="extension" /> | ||
2433 | <Parameter Type="System.String" Name="className" /> | ||
2434 | <Parameter Type="System.String" Name="exceptionType" /> | ||
2435 | <Parameter Type="System.String" Name="exceptionMessage"/> | ||
2436 | </Instance> | ||
2437 | </Message> | ||
2438 | <Message Id="ValidationFailedDueToMultilanguageMergeModule" Number="309" SourceLineNumbers="no"> | ||
2439 | <Instance> | ||
2440 | Failed to open merge module for validation. The most common cause of this error is specifying that the merge module supports multiple languages (using the Package/@Languages attribute) but not including language-specific embedded transforms. To fix this error, make the merge module language-neutral, make it language-specific, embed language transforms as specified in the MSI SDK at http://msdn.microsoft.com/library/aa367799.aspx, or disable validation. | ||
2441 | </Instance> | ||
2442 | </Message> | ||
2443 | <Message Id="ValidationFailedDueToInvalidPackage" Number="310" SourceLineNumbers="no"> | ||
2444 | <Instance> | ||
2445 | Failed to open package for validation. The most common cause of this error is validating an x64 package on an x86 system. To fix this error, run validation on an x64 system or disable validation. | ||
2446 | </Instance> | ||
2447 | </Message> | ||
2448 | <Message Id="InvalidStringForCodepage" Number="311"> | ||
2449 | <Instance> | ||
2450 | A string was provided with characters that are not available in the specified database code page '{0}'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage. | ||
2451 | <Parameter Type="System.String" Name="codepage" /> | ||
2452 | </Instance> | ||
2453 | </Message> | ||
2454 | <Message Id="InvalidEmbeddedUIFileName" Number="312"> | ||
2455 | <Instance> | ||
2456 | The EmbeddedUI/@Name attribute value, '{0}', does not contain an extension. Windows Installer will not load an embedded UI DLL without an extension. Include an extension or just omit the Name attribute so it defaults to the file name portion of the Source attribute value. | ||
2457 | <Parameter Type="System.String" Name="codepage" /> | ||
2458 | </Instance> | ||
2459 | </Message> | ||
2460 | <Message Id="UniqueFileSearchIdRequired" Number="313"> | ||
2461 | <Instance> | ||
2462 | The DirectorySearch element '{0}' requires that the child {1} element has a unique Id when the DirectorySearch/@AssignToProperty attribute is set to 'yes'. | ||
2463 | <Parameter Type="System.String" Name="id" /> | ||
2464 | <Parameter Type="System.String" Name="elementName" /> | ||
2465 | </Instance> | ||
2466 | </Message> | ||
2467 | <Message Id="IllegalAttributeValueWhenNested" Number="314"> | ||
2468 | <Instance> | ||
2469 | The {0}/@{1} attribute value, '{2}', cannot be specified when the {0} element is nested underneath a {3} element. | ||
2470 | <Parameter Type="System.String" Name="elementName" /> | ||
2471 | <Parameter Type="System.String" Name="attributeName" /> | ||
2472 | <Parameter Type="System.String" Name="attrivuteValue" /> | ||
2473 | <Parameter Type="System.String" Name="parentElementName" /> | ||
2474 | </Instance> | ||
2475 | </Message> | ||
2476 | <Message Id="AdminImageRequired" Number="315" SourceLineNumbers="no"> | ||
2477 | <Instance> | ||
2478 | Source information is required for the product '{0}'. If you ran torch.exe with both target and updated .msi files, you must first perform an administrative installation of both .msi files then pass -a when running torch.exe. | ||
2479 | <Parameter Type="System.String" Name="productCode" /> | ||
2480 | </Instance> | ||
2481 | </Message> | ||
2482 | <Message Id="SamePatchBaselineId" Number="316"> | ||
2483 | <Instance> | ||
2484 | The PatchBaseline/@Id attribute value '{0}' is a child of multiple Media elements. This prevents transforms from being resolved to distinct media. Change the PatchBaseline/@Id attribute values to be unique. | ||
2485 | <Parameter Type="System.String" Name="id" /> | ||
2486 | </Instance> | ||
2487 | </Message> | ||
2488 | <Message Id="SameFileIdDifferentSource" Number="317"> | ||
2489 | <Instance> | ||
2490 | Two different source paths '{1}' and '{2}' were detected for the same file identifier '{0}'. You must either author these under Media elements with different Id attribute values or in different patches. | ||
2491 | <Parameter Type="System.String" Name="fileId" /> | ||
2492 | <Parameter Type="System.String" Name="sourcePath1" /> | ||
2493 | <Parameter Type="System.String" Name="sourcePath2" /> | ||
2494 | </Instance> | ||
2495 | </Message> | ||
2496 | <Message Id="HarvestSourceNotSpecified" Number="318" SourceLineNumbers="no"> | ||
2497 | <Instance> | ||
2498 | A harvest source must be specified after the harvest type and can be followed by harvester arguments. | ||
2499 | </Instance> | ||
2500 | </Message> | ||
2501 | <Message Id="OutputTargetNotSpecified" Number="319" SourceLineNumbers="no"> | ||
2502 | <Instance> | ||
2503 | The '-out' or '-o' parameter must specify a file path. | ||
2504 | </Instance> | ||
2505 | </Message> | ||
2506 | <Message Id="DuplicateCommandLineOptionInExtension" Number="320" SourceLineNumbers="no"> | ||
2507 | <Instance> | ||
2508 | The command line option '{0}' has already been loaded by another Heat extension. | ||
2509 | <Parameter Type="System.String" Name="switch" /> | ||
2510 | </Instance> | ||
2511 | </Message> | ||
2512 | <Message Id="HarvestTypeNotFound" Number="321" SourceLineNumbers="no"> | ||
2513 | <Instance> | ||
2514 | The harvest type was not found in the list of loaded Heat extensions. | ||
2515 | </Instance> | ||
2516 | <Instance> | ||
2517 | The harvest type '{0}' was specified. Harvest types cannot start with a '-'. Remove the '-' to specify a valid harvest type. | ||
2518 | <Parameter Type="System.String" Name="harvestType" /> | ||
2519 | </Instance> | ||
2520 | </Message> | ||
2521 | <Message Id="BothUpgradeCodesRequired" Number="322" SourceLineNumbers="no"> | ||
2522 | <Instance> | ||
2523 | Both the target and updated product authoring must define the Product/@UpgradeCode attribute if the transform validates the UpgradeCode (default). Either define the Product/@UpgradeCode attribute in both the target and updated authoring, or set the Validate/@UpgradeCode attribute to 'no' in the patch authoring. | ||
2524 | </Instance> | ||
2525 | </Message> | ||
2526 | <Message Id="IllegalBinderClassName" Number="323" SourceLineNumbers="no"> | ||
2527 | <Instance> | ||
2528 | Illegal binder class name specified for -binder command line option. | ||
2529 | </Instance> | ||
2530 | </Message> | ||
2531 | <Message Id="SpecifiedBinderNotFound" Number="324" SourceLineNumbers="no"> | ||
2532 | <Instance> | ||
2533 | The specified binder class '{0}' was not found in any extensions. | ||
2534 | <Parameter Type="System.String" Name="binderClass" /> | ||
2535 | </Instance> | ||
2536 | </Message> | ||
2537 | <Message Id="CannotLoadBinderFileManager" Number="325" SourceLineNumbers="no"> | ||
2538 | <Instance> | ||
2539 | Cannot load binder file manager: {0}. Light can only load one binder file manager and has already loaded binder file manager: {1}. | ||
2540 | <Parameter Type="System.String" Name="binderFileManager" /> | ||
2541 | <Parameter Type="System.String" Name="currentBinderFileManager" /> | ||
2542 | </Instance> | ||
2543 | </Message> | ||
2544 | <Message Id="CannotLoadLinkerExtension" Number="326" SourceLineNumbers="no"> | ||
2545 | <Instance> | ||
2546 | Cannot load linker extension: {0}. Light can only load one link extension and has already loaded link extension: {1}. | ||
2547 | <Parameter Type="System.String" Name="linkerExtension" /> | ||
2548 | <Parameter Type="System.String" Name="currentLinkerExtension" /> | ||
2549 | </Instance> | ||
2550 | </Message> | ||
2551 | <Message Id="UnableToGetAuthenticodeCertOfFile" Number="327" SourceLineNumbers="no"> | ||
2552 | <Instance> | ||
2553 | Unable to get the authenticode certificate of '{0}'. More information: {1} | ||
2554 | <Parameter Type="System.String" Name="filePath" /> | ||
2555 | <Parameter Type="System.String" Name="moreInformation" /> | ||
2556 | </Instance> | ||
2557 | </Message> | ||
2558 | <Message Id="UnableToGetAuthenticodeCertOfFileDownlevelOS" Number="328" SourceLineNumbers="no"> | ||
2559 | <Instance> | ||
2560 | Unable to get the authenticode certificate of '{0}'. The cryptography API has limitations on Windows XP and Windows Server 2003. More information: {1} | ||
2561 | <Parameter Type="System.String" Name="filePath" /> | ||
2562 | <Parameter Type="System.String" Name="moreInformation" /> | ||
2563 | </Instance> | ||
2564 | </Message> | ||
2565 | <Message Id="ReadOnlyOutputFile" Number="329" SourceLineNumbers="no"> | ||
2566 | <Instance> | ||
2567 | Unable to output to file '{0}' because it is marked as read-only. | ||
2568 | <Parameter Type="System.String" Name="filePath" /> | ||
2569 | </Instance> | ||
2570 | </Message> | ||
2571 | <Message Id="CannotDefaultComponentId" Number="330"> | ||
2572 | <Instance> | ||
2573 | The Component/@Id attribute was not found; it is required when there is no valid keypath to use as the default id value. | ||
2574 | </Instance> | ||
2575 | </Message> | ||
2576 | <Message Id="ParentElementAttributeRequired" Number="331"> | ||
2577 | <Instance> | ||
2578 | The parent {0} element is missing the {1} attribute that is required for the {2} child element. | ||
2579 | <Parameter Type="System.String" Name="parentElement" /> | ||
2580 | <Parameter Type="System.String" Name="parentAttribute" /> | ||
2581 | <Parameter Type="System.String" Name="childElement" /> | ||
2582 | </Instance> | ||
2583 | </Message> | ||
2584 | <Message Id="PreprocessorExtensionPragmaFailed" Number="333"> | ||
2585 | <Instance> | ||
2586 | Exception thrown while processing pragma '{0}'. The exception's message is: {1} | ||
2587 | <Parameter Type="System.String" Name="pragma" /> | ||
2588 | <Parameter Type="System.String" Name="message" /> | ||
2589 | </Instance> | ||
2590 | </Message> | ||
2591 | <Message Id="InvalidPreprocessorPragma" Number="334"> | ||
2592 | <Instance> | ||
2593 | Malformed preprocessor pragma '{0}'. Pragmas must have a prefix, a name of at least 1 character long, and be followed by optional arguments. | ||
2594 | <Parameter Type="System.String" Name="variable" /> | ||
2595 | </Instance> | ||
2596 | </Message> | ||
2597 | <Message Id="SmokeUnknownFileExtension" Number="335" SourceLineNumbers="no"> | ||
2598 | <Instance> | ||
2599 | Unknown input file format - expected a .msi or .msm file. | ||
2600 | </Instance> | ||
2601 | </Message> | ||
2602 | <Message Id="SmokeUnsupportedFileExtension" Number="336" SourceLineNumbers="no"> | ||
2603 | <Instance> | ||
2604 | Files with an extension of .msp are not currently supported. | ||
2605 | </Instance> | ||
2606 | </Message> | ||
2607 | <Message Id="SmokeMalformedPath" Number="337" SourceLineNumbers="no"> | ||
2608 | <Instance> | ||
2609 | Path contains one or more invalid characters. | ||
2610 | </Instance> | ||
2611 | </Message> | ||
2612 | <Message Id="InvalidStubExe" Number="338" SourceLineNumbers="no"> | ||
2613 | <Instance> | ||
2614 | Stub executable '{0}' is not a valid Win32 executable. | ||
2615 | <Parameter Type="System.String" Name="filename" /> | ||
2616 | </Instance> | ||
2617 | </Message> | ||
2618 | <Message Id="StubMissingWixburnSection" Number="339" SourceLineNumbers="no"> | ||
2619 | <Instance> | ||
2620 | Stub executable '{0}' does not contain a .wixburn data section. | ||
2621 | <Parameter Type="System.String" Name="filename" /> | ||
2622 | </Instance> | ||
2623 | </Message> | ||
2624 | <Message Id="StubWixburnSectionTooSmall" Number="340" SourceLineNumbers="no"> | ||
2625 | <Instance> | ||
2626 | Stub executable '{0}' .wixburn data section is too small to store the Burn container header. | ||
2627 | <Parameter Type="System.String" Name="filename" /> | ||
2628 | </Instance> | ||
2629 | </Message> | ||
2630 | <Message Id="MissingBundleInformation" Number="341" SourceLineNumbers="no"> | ||
2631 | <Instance> | ||
2632 | The Bundle is missing '{0}' data, and cannot continue. | ||
2633 | <Parameter Type="System.String" Name="data" /> | ||
2634 | </Instance> | ||
2635 | </Message> | ||
2636 | <Message Id="UnexpectedGroupChild" Number="342" SourceLineNumbers="no"> | ||
2637 | <Instance> | ||
2638 | A group parent ('{0}'/'{1}') had an unexpected child ('{2}'/'{3}'). | ||
2639 | <Parameter Type="System.String" Name="parentType" /> | ||
2640 | <Parameter Type="System.String" Name="parentId" /> | ||
2641 | <Parameter Type="System.String" Name="childType" /> | ||
2642 | <Parameter Type="System.String" Name="childId" /> | ||
2643 | </Instance> | ||
2644 | </Message> | ||
2645 | <Message Id="OrderingReferenceLoopDetected" Number="343"> | ||
2646 | <Instance> | ||
2647 | A circular reference of ordering dependencies was detected. The infinite loop includes: {0}. Ordering dependency references must form a directed acyclic graph. | ||
2648 | <Parameter Type="System.String" Name="loopList" /> | ||
2649 | </Instance> | ||
2650 | </Message> | ||
2651 | <Message Id="IdentifierNotFound" Number="344" SourceLineNumbers="no"> | ||
2652 | <Instance> | ||
2653 | An expected identifier ('{1}', of type '{0}') was not found. | ||
2654 | <Parameter Type="System.String" Name="type" /> | ||
2655 | <Parameter Type="System.String" Name="identifier" /> | ||
2656 | </Instance> | ||
2657 | </Message> | ||
2658 | <Message Id="MergePlatformMismatch" Number="345"> | ||
2659 | <Instance> | ||
2660 | '{0}' is a 64-bit merge module but the product consuming it is 32-bit. 32-bit products can consume only 32-bit merge modules. | ||
2661 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
2662 | </Instance> | ||
2663 | </Message> | ||
2664 | <Message Id="IllegalRelativeLongFilename" Number="346"> | ||
2665 | <Instance> | ||
2666 | The {0}/@{1} attribute's value, '{2}', is not a valid relative long name because it contains illegal characters. Legal relative long names contain no more than 260 characters and must contain at least one non-period character. Any character except for the follow may be used: ? | > < : / * ". | ||
2667 | <Parameter Type="System.String" Name="elementName" /> | ||
2668 | <Parameter Type="System.String" Name="attributeName" /> | ||
2669 | <Parameter Type="System.String" Name="value" /> | ||
2670 | </Instance> | ||
2671 | </Message> | ||
2672 | <Message Id="IllegalAttributeValueWithLegalList" Number="347"> | ||
2673 | <Instance> | ||
2674 | The {0}/@{1} attribute's value, '{2}', is not one of the legal options: {3}. | ||
2675 | <Parameter Type="System.String" Name="elementName" /> | ||
2676 | <Parameter Type="System.String" Name="attributeName" /> | ||
2677 | <Parameter Type="System.String" Name="value" /> | ||
2678 | <Parameter Type="System.String" Name="legalValueList" /> | ||
2679 | </Instance> | ||
2680 | </Message> | ||
2681 | <Message Id="IllegalAttributeValueWithIllegalList" Number="348"> | ||
2682 | <Instance> | ||
2683 | The {0}/@{1} attribute's value, '{2}', is one of the illegal options: {3}. | ||
2684 | <Parameter Type="System.String" Name="elementName" /> | ||
2685 | <Parameter Type="System.String" Name="attributeName" /> | ||
2686 | <Parameter Type="System.String" Name="value" /> | ||
2687 | <Parameter Type="System.String" Name="illegalValueList" /> | ||
2688 | </Instance> | ||
2689 | </Message> | ||
2690 | |||
2691 | <Message Id="InvalidSummaryInfoCodePage" Number="349"> | ||
2692 | <Instance> | ||
2693 | The code page '{0}' is invalid for summary information. You must specify an ANSI code page. | ||
2694 | <Parameter Type="System.Int32" Name="codePage" /> | ||
2695 | </Instance> | ||
2696 | </Message> | ||
2697 | <Message Id="ValidationFailedDueToLowMsiEngine" Number="350" SourceLineNumbers="no"> | ||
2698 | <Instance> | ||
2699 | The package being validated requires a higher version of Windows Installer than is installed on this machine. Validation cannot continue. | ||
2700 | </Instance> | ||
2701 | </Message> | ||
2702 | <Message Id="DuplicateSourcesForOutput" Number="351" SourceLineNumbers="no"> | ||
2703 | <Instance> | ||
2704 | Multiple source files ({0}) have resulted in the same output file '{1}'. This is likely because the source files only differ in extension or path. Rename the source files to avoid this problem. | ||
2705 | <Parameter Type="System.String" Name="sourceList" /> | ||
2706 | <Parameter Type="System.String" Name="outputFile" /> | ||
2707 | </Instance> | ||
2708 | </Message> | ||
2709 | <Message Id="UnableToReadPackageInformation" Number="352"> | ||
2710 | <Instance> | ||
2711 | Unable to read package '{0}'. {1} | ||
2712 | <Parameter Type="System.String" Name="packagePath" /> | ||
2713 | <Parameter Type="System.String" Name="detailedErrorMessage" /> | ||
2714 | </Instance> | ||
2715 | </Message> | ||
2716 | <Message Id="MultipleFilesMatchedWithOutputSpecification" Number="353" SourceLineNumbers="no"> | ||
2717 | <Instance> | ||
2718 | A per-source file output specification has been provided ('{0}'), but multiple source files match the source specification ({1}). Specifying a unique output requires that only a single source file match. | ||
2719 | <Parameter Type="System.String" Name="sourceSpecification" /> | ||
2720 | <Parameter Type="System.String" Name="sourceList" /> | ||
2721 | </Instance> | ||
2722 | </Message> | ||
2723 | <Message Id="InvalidBundle" Number="354" SourceLineNumbers="no"> | ||
2724 | <Instance> | ||
2725 | Unable to read bundle executable '{0}'. This is not a valid WiX bundle. | ||
2726 | <Parameter Type="System.String" Name="bundleExecutable" /> | ||
2727 | </Instance> | ||
2728 | </Message> | ||
2729 | <Message Id="BundleTooNew" Number="355" SourceLineNumbers="no"> | ||
2730 | <Instance> | ||
2731 | Unable to read bundle executable '{0}', because this bundle was created with a newer version of WiX (bundle version '{1}'). You must use a newer version of WiX in order to read this bundle. | ||
2732 | <Parameter Type="System.String" Name="bundleExecutable" /> | ||
2733 | <!-- we use a 64-bit field here because the field is really a 32-bit UInt, | ||
2734 | but UInt gives a non-CLS-compliant warning. | ||
2735 | So 64-bit makes sure we don't drop the last bit --> | ||
2736 | <Parameter Type="System.Int64" Name="bundleVersion" /> | ||
2737 | </Instance> | ||
2738 | </Message> | ||
2739 | <Message Id="WrongFileExtensionForNumberOfInputs" Number="356" SourceLineNumbers="no"> | ||
2740 | <Instance> | ||
2741 | The extension '{0}' on the input specified '{1}' does not match the number of inputs required to handle an input with this extension. Check if you are missing an input or have too many. | ||
2742 | <Parameter Type="System.String" Name="inputExtension" /> | ||
2743 | <Parameter Type="System.String" Name="input" /> | ||
2744 | </Instance> | ||
2745 | </Message> | ||
2746 | <Message Id="MediaTableCollision" Number="357"> | ||
2747 | <Instance> | ||
2748 | Only one of Media and MediaTemplate tables should be authored. | ||
2749 | </Instance> | ||
2750 | </Message> | ||
2751 | <Message Id="InvalidCabinetTemplate" Number="358"> | ||
2752 | <Instance> | ||
2753 | CabinetTemplate attribute's value '{0}' must contain '{{0}}' and should contain no more than 8 characters followed by an optional extension of no more than 3 characters. Any character except for the follow may be used: \ ? | > < : / * " + , ; = [ ] (space). The Windows Installer team has recommended following the 8.3 format for external cabinet files and any other naming scheme is officially unsupported (which means it is not guaranteed to work on all platforms). | ||
2754 | <Parameter Type="System.String" Name="cabinetTemplate" /> | ||
2755 | </Instance> | ||
2756 | </Message> | ||
2757 | <Message Id="MaximumUncompressedMediaSizeTooLarge" Number="359"> | ||
2758 | <Instance> | ||
2759 | '{0}' is too large. Reduce the size of maximum uncompressed media size. | ||
2760 | <Parameter Type="System.Int32" Name="maximumUncompressedMediaSize" /> | ||
2761 | </Instance> | ||
2762 | </Message> | ||
2763 | <Message Id="CatalogVerificationFailed" Number="360" SourceLineNumbers="no"> | ||
2764 | <Instance> | ||
2765 | File '{0}' could not be verified with a catalog file. | ||
2766 | <Parameter Type="System.String" Name="fileName" /> | ||
2767 | </Instance> | ||
2768 | </Message> | ||
2769 | <Message Id="CatalogFileHashFailed" Number="361" SourceLineNumbers="no"> | ||
2770 | <Instance> | ||
2771 | Could not get hash of file '{0}'. Error: {2}. | ||
2772 | <Parameter Type="System.String" Name="fileName" /> | ||
2773 | <Parameter Type="System.Int32" Name="errorCode" /> | ||
2774 | </Instance> | ||
2775 | </Message> | ||
2776 | <Message Id="ReservedNamespaceViolation" Number="362"> | ||
2777 | <Instance> | ||
2778 | The {0}/@{1} attribute's value begins with the reserved prefix '{2}'. Some prefixes are reserved by the Windows Installer and WiX toolset for well-known values. Change your attribute's value to not begin with the same prefix. | ||
2779 | <Parameter Type="System.String" Name="element" /> | ||
2780 | <Parameter Type="System.String" Name="attribute" /> | ||
2781 | <Parameter Type="System.String" Name="prefix" /> | ||
2782 | </Instance> | ||
2783 | </Message> | ||
2784 | <Message Id="PerUserButAllUsersEquals1" Number="363"> | ||
2785 | <Instance> | ||
2786 | The MSI '{0}' is explicitly marked to not elevate so it must be a per-user package but the ALLUSERS Property is set to '1' creating a per-machine package. Remove the Property with Id='ALLUSERS' and use Package/@InstallScope attribute to be explicit instead. | ||
2787 | <Parameter Type="System.String" Name="path" /> | ||
2788 | </Instance> | ||
2789 | </Message> | ||
2790 | <Message Id="UnsupportedAllUsersValue" Number="364"> | ||
2791 | <Instance> | ||
2792 | The MSI '{0}' set the ALLUSERS Property to '{0}' which is not supported. Remove the Property with Id='ALLUSERS' and use Package/@InstallScope attribute instead. | ||
2793 | <Parameter Type="System.String" Name="path" /> | ||
2794 | <Parameter Type="System.String" Name="value" /> | ||
2795 | </Instance> | ||
2796 | </Message> | ||
2797 | <Message Id="DisallowedMsiProperty" Number="365"> | ||
2798 | <Instance> | ||
2799 | The '{0}' MsiProperty is controlled by the bootstrapper and cannot be authored. (Illegal properties are: {1}.) Remove the MsiProperty element. | ||
2800 | <Parameter Type="System.String" Name="property" /> | ||
2801 | <Parameter Type="System.String" Name="illegalValueList" /> | ||
2802 | </Instance> | ||
2803 | </Message> | ||
2804 | <Message Id="MissingOrInvalidModuleInstallerVersion" Number="366"> | ||
2805 | <Instance> | ||
2806 | The merge module '{0}' from file '{1}' is either missing or has an invalid installer version. The value read from the installer version in module's summary information was '{2}'. This should be a numeric value representing a valid installer version such as 200 or 301. | ||
2807 | <Parameter Type="System.String" Name="moduleId" /> | ||
2808 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
2809 | <Parameter Type="System.String" Name="productInstallerVersion" /> | ||
2810 | </Instance> | ||
2811 | </Message> | ||
2812 | <Message Id="IllegalGeneratedGuidComponentUnversionedKeypath" Number="367"> | ||
2813 | <Instance> | ||
2814 | The Component/@Guid attribute's value '*' is not valid for this component because it does not meet the criteria for having an automatically generated guid. Components with more than one file cannot use an automatically generated guid unless a versioned file is the keypath and the other files are unversioned. This component's keypath is not versioned. Create multiple components to use automatically generated guids. | ||
2815 | </Instance> | ||
2816 | </Message> | ||
2817 | <Message Id="IllegalGeneratedGuidComponentVersionedNonkeypath" Number="368"> | ||
2818 | <Instance> | ||
2819 | The Component/@Guid attribute's value '*' is not valid for this component because it does not meet the criteria for having an automatically generated guid. Components with more than one file cannot use an automatically generated guid unless a versioned file is the keypath and the other files are unversioned. This component has a non-keypath file that is versioned. Create multiple components to use automatically generated guids. | ||
2820 | </Instance> | ||
2821 | </Message> | ||
2822 | <Message Id="DuplicateComponentGuids" Number="369"> | ||
2823 | <Instance> | ||
2824 | Component/@Id='{0}' has a @Guid value '{1}' that duplicates another component in this package. It is recommended to give each component its own unique GUID. | ||
2825 | <Parameter Type="System.String" Name="componentId" /> | ||
2826 | <Parameter Type="System.String" Name="guid" /> | ||
2827 | </Instance> | ||
2828 | </Message> | ||
2829 | <Message Id="DuplicateProviderDependencyKey" Number="370" SourceLineNumbers="no"> | ||
2830 | <Instance> | ||
2831 | The provider dependency key '{0}' was already imported from the package with Id '{1}'. Please remove the Provides element with the key '{0}' from the package authoring. | ||
2832 | <Parameter Type="System.String" Name="providerKey" /> | ||
2833 | <Parameter Type="System.String" Name="packageId" /> | ||
2834 | </Instance> | ||
2835 | </Message> | ||
2836 | <Message Id="MissingDependencyVersion" Number="371" SourceLineNumbers="no"> | ||
2837 | <Instance> | ||
2838 | The provider dependency version was not authored for the package with Id '{0}'. Please author the Provides/@Version attribute for this package. | ||
2839 | <Parameter Type="System.String" Name="packageId" /> | ||
2840 | </Instance> | ||
2841 | </Message> | ||
2842 | |||
2843 | <Message Id="UnexpectedElementWithAttribute" Number="372"> | ||
2844 | <Instance> | ||
2845 | The {0} element cannot have a child element '{1}' when attribute '{2}' is set. | ||
2846 | <Parameter Type="System.String" Name="elementName" /> | ||
2847 | <Parameter Type="System.String" Name="childElementName" /> | ||
2848 | <Parameter Type="System.String" Name="attribute" /> | ||
2849 | </Instance> | ||
2850 | </Message> | ||
2851 | <Message Id="ExpectedAttributeWithElement" Number="373"> | ||
2852 | <Instance> | ||
2853 | The {0} element must have attribute '{1}' when child element '{2}' is present. | ||
2854 | <Parameter Type="System.String" Name="elementName" /> | ||
2855 | <Parameter Type="System.String" Name="attribute" /> | ||
2856 | <Parameter Type="System.String" Name="childElementName" /> | ||
2857 | </Instance> | ||
2858 | </Message> | ||
2859 | <Message Id="DuplicatedUiLocalization" Number="374"> | ||
2860 | <Instance> | ||
2861 | The localization for control {0} in dialog {1} is duplicated. Only one localization per control is allowed. | ||
2862 | <Parameter Type="System.String" Name="controlName" /> | ||
2863 | <Parameter Type="System.String" Name="dialogName" /> | ||
2864 | </Instance> | ||
2865 | <Instance> | ||
2866 | The localization for dialog {0} is duplicated. Only one localization per dialog is allowed. | ||
2867 | <Parameter Type="System.String" Name="dialogName" /> | ||
2868 | </Instance> | ||
2869 | </Message> | ||
2870 | <Message Id="MaximumCabinetSizeForLargeFileSplittingTooLarge" Number="375"> | ||
2871 | <Instance> | ||
2872 | '{0}' is too large. Reduce the size of maximum cabinet size for large file splitting. The maximum permitted value is '{1}' MB. | ||
2873 | <Parameter Type="System.Int32" Name="maximumCabinetSizeForLargeFileSplitting" /> | ||
2874 | <Parameter Type="System.Int32" Name="maxValueOfMaxCabSizeForLargeFileSplitting" /> | ||
2875 | </Instance> | ||
2876 | </Message> | ||
2877 | <Message Id="SplitCabinetCopyRegistrationFailed" Number="376" SourceLineNumbers="no"> | ||
2878 | <Instance> | ||
2879 | Failed to register the copy command for cabinet '{0}' formed by splitting cabinet '{1}'. | ||
2880 | <Parameter Type="System.String" Name="newCabName" /> | ||
2881 | <Parameter Type="System.String" Name="firstCabName" /> | ||
2882 | </Instance> | ||
2883 | </Message> | ||
2884 | <Message Id="SplitCabinetNameCollision" Number="377" SourceLineNumbers="no"> | ||
2885 | <Instance> | ||
2886 | The cabinet name '{0}' collides with the new cabinet formed by splitting cabinet '{1}', consider renaming cabinet '{0}'. | ||
2887 | <Parameter Type="System.String" Name="newCabName" /> | ||
2888 | <Parameter Type="System.String" Name="firstCabName" /> | ||
2889 | </Instance> | ||
2890 | </Message> | ||
2891 | <Message Id="SplitCabinetInsertionFailed" Number="378" SourceLineNumbers="no"> | ||
2892 | <Instance> | ||
2893 | Could not find the last split cabinet '{2}' in the Media Table. So failed to add new cabinet '{0}' formed by splitting cabinet '{1}' to the installer package. | ||
2894 | <Parameter Type="System.String" Name="newCabName" /> | ||
2895 | <Parameter Type="System.String" Name="firstCabName" /> | ||
2896 | <Parameter Type="System.String" Name="lastCabinetOfThisSequence" /> | ||
2897 | </Instance> | ||
2898 | </Message> | ||
2899 | <Message Id="InvalidPreprocessorFunctionAutoVersion" Number="379"> | ||
2900 | <Instance> | ||
2901 | Invalid AutoVersion template specified. | ||
2902 | </Instance> | ||
2903 | </Message> | ||
2904 | <Message Id="InvalidModuleOrBundleVersion" Number="380"> | ||
2905 | <Instance> | ||
2906 | Invalid {0}/@Version '{1}'. {0} version has a max value of "65535.65535.65535.65535" and must be all numeric. | ||
2907 | <Parameter Type="System.String" Name="moduleOrBundle" /> | ||
2908 | <Parameter Type="System.String" Name="version" /> | ||
2909 | </Instance> | ||
2910 | </Message> | ||
2911 | <Message Id="UnsupportedPlatformForElement" Number="381"> | ||
2912 | <Instance> | ||
2913 | The element {1} does not support platform '{0}'. Consider removing the element or using the preprocessor to conditionally include the element based on the platform. | ||
2914 | <Parameter Type="System.String" Name="platform" /> | ||
2915 | <Parameter Type="System.String" Name="elementName" /> | ||
2916 | </Instance> | ||
2917 | </Message> | ||
2918 | <Message Id="MissingMedia" Number="382"> | ||
2919 | <Instance> | ||
2920 | There is no media defined for disk id '{0}'. You must author either <Media Id='{0}' ...> or <MediaTemplate ...>. | ||
2921 | <Parameter Type="System.Int32" Name="diskId" /> | ||
2922 | </Instance> | ||
2923 | </Message> | ||
2924 | <Message Id="RemotePayloadUnsupported" Number="383"> | ||
2925 | <Instance> | ||
2926 | The RemotePayload element can only be used for ExePackage and MsuPackage payloads. | ||
2927 | </Instance> | ||
2928 | </Message> | ||
2929 | <Message Id="IllegalYesNoAlwaysValue" Number="384"> | ||
2930 | <Instance> | ||
2931 | The {0}/@{1} attribute's value, '{2}', is not a legal yes/no/always value. The only legal values are 'always', 'no' or 'yes'. | ||
2932 | <Parameter Type="System.String" Name="elementName" /> | ||
2933 | <Parameter Type="System.String" Name="attributeName" /> | ||
2934 | <Parameter Type="System.String" Name="value" /> | ||
2935 | </Instance> | ||
2936 | </Message> | ||
2937 | <Message Id="TooDeeplyIncluded" Number="385"> | ||
2938 | <Instance> | ||
2939 | Include files cannot be nested more deeply than {0} times. Make sure included files don't accidentally include themselves. | ||
2940 | <Parameter Type="System.Int32" Name="depth" /> | ||
2941 | </Instance> | ||
2942 | </Message> | ||
2943 | <Message Id="InlineDirectorySyntaxRequiresPath" Number="387"> | ||
2944 | <Instance> | ||
2945 | The {0}/@{1} attribute's value '{2}' only specifies a directory reference. The inline directory syntax requires that at least one directory be specified in addition to the value. For example, use '{3}:\foo\' to add a 'foo' directory. | ||
2946 | <Parameter Type="System.String" Name="elementName" /> | ||
2947 | <Parameter Type="System.String" Name="attributeName" /> | ||
2948 | <Parameter Type="System.String" Name="value" /> | ||
2949 | <Parameter Type="System.String" Name="identifier" /> | ||
2950 | </Instance> | ||
2951 | </Message> | ||
2952 | <Message Id="InsecureBundleFilename" Number="388" SourceLineNumbers="no"> | ||
2953 | <Instance> | ||
2954 | The file name '{0}' creates an insecure bundle. Windows will load unnecessary compatibility shims into a bundle with that file name. These compatibility shims can be DLL hijacked allowing attackers to compromise your customers' computer. Choose a different bundle file name. | ||
2955 | <Parameter Type="System.String" Name="filename" /> | ||
2956 | </Instance> | ||
2957 | </Message> | ||
2958 | <Message Id="PayloadMustBeRelativeToCache" Number="389"> | ||
2959 | <Instance> | ||
2960 | The {0}/@{1} attribute's value, '{2}', is not a legal path name: Payload names must be relative to their cache directory and cannot contain '..'. | ||
2961 | <Parameter Type="System.String" Name="elementName" /> | ||
2962 | <Parameter Type="System.String" Name="attributeName" /> | ||
2963 | <Parameter Type="System.String" Name="attributeValue" /> | ||
2964 | </Instance> | ||
2965 | </Message> | ||
2966 | <Message Id="MsiTransactionX86BeforeX64" Number="390"> | ||
2967 | <Instance> | ||
2968 | MSI transactions must install all x64 packages before any x86 package. | ||
2969 | </Instance> | ||
2970 | </Message> | ||
2971 | </Class> | ||
2972 | |||
2973 | <Class Name="WixWarnings" ContainerName="WixWarningEventArgs" BaseContainerName="MessageEventArgs" Level="Warning"> | ||
2974 | <Message Id="IdentifierCannotBeModularized" Number="1000"> | ||
2975 | <Instance> | ||
2976 | The {0}/@{1} attribute's value, '{2}', is {3} characters long. It will be too long if modularized. The identifier shouldn't be longer than {4} characters long to allow for modularization (appending a guid for merge modules). | ||
2977 | <Parameter Type="System.String" Name="elementName" /> | ||
2978 | <Parameter Type="System.String" Name="attributeName" /> | ||
2979 | <Parameter Type="System.String" Name="identifier" /> | ||
2980 | <Parameter Type="System.Int32" Name="length" /> | ||
2981 | <Parameter Type="System.Int32" Name="maximumLength" /> | ||
2982 | </Instance> | ||
2983 | </Message> | ||
2984 | <Message Id="EmptyAttributeValue" Number="1001"> | ||
2985 | <Instance> | ||
2986 | The {0}/@{1} attribute's value cannot be an empty string. If you want the value to be null or empty, simply remove the entire attribute. | ||
2987 | <Parameter Type="System.String" Name="elementName" /> | ||
2988 | <Parameter Type="System.String" Name="attributeName" /> | ||
2989 | </Instance> | ||
2990 | </Message> | ||
2991 | <Message Id="UnableToFindFileFromCabOrImage" Number="1002"> | ||
2992 | <Instance> | ||
2993 | Unable to find existing file {0} to place in src location {1}. Will likely cause a linker break. | ||
2994 | <Parameter Type="System.String" Name="existingFileSpec" /> | ||
2995 | <Parameter Type="System.String" Name="srcFileSpec" /> | ||
2996 | </Instance> | ||
2997 | </Message> | ||
2998 | <Message Id="CopyFileFileIdUseless" Number="1003"> | ||
2999 | <Instance>Since the CopyFile/@FileId attribute was specified but none of the following attributes (DestinationName, DestinationDirectory, DestinationProperty) were specified, this authoring will not do anything.</Instance> | ||
3000 | </Message> | ||
3001 | <Message Id="NestedInstall" Number="1004"> | ||
3002 | <Instance> | ||
3003 | The {0}.{1} column's value, '{2}', indicates a nested install. Nested installations are not supported by the WiX team. This action will be left out of the decompiled output. | ||
3004 | <Parameter Type="System.String" Name="tableName" /> | ||
3005 | <Parameter Type="System.String" Name="columnName" /> | ||
3006 | <Parameter Type="System.Object" Name="value" /> | ||
3007 | </Instance> | ||
3008 | </Message> | ||
3009 | <Message Id="OrphanedProgId" Number="1005"> | ||
3010 | <Instance> | ||
3011 | ProgId '{0}' is orphaned. It has no associated component, so it will never install. Every ProgId should have either a parent Class element or child Extension element (at any distance). | ||
3012 | <Parameter Type="System.String" Name="progId" /> | ||
3013 | </Instance> | ||
3014 | </Message> | ||
3015 | <Message Id="PropertyUseless" Number="1006"> | ||
3016 | <Instance> | ||
3017 | Property '{0}' does not contain a Value attribute and is not marked as Admin, Secure, or Hidden. The Property element is being ignored. | ||
3018 | <Parameter Type="System.String" Name="id" /> | ||
3019 | </Instance> | ||
3020 | </Message> | ||
3021 | <Message Id="RemoveFileNameRequired" Number="1007"> | ||
3022 | <Instance>The RemoveFile/@Name attribute will soon become required. In order to match the old functionality of not specifying this attribute, please use the new RemoveFolder element instead.</Instance> | ||
3023 | </Message> | ||
3024 | <Message Id="SuppressAction" Number="1008"> | ||
3025 | <Instance> | ||
3026 | The action '{0}' in the {1} table is being suppressed. | ||
3027 | <Parameter Type="System.String" Name="action" /> | ||
3028 | <Parameter Type="System.String" Name="sequenceName" /> | ||
3029 | </Instance> | ||
3030 | </Message> | ||
3031 | <Message Id="SuppressMergedAction" Number="1009" SourceLineNumbers="no"> | ||
3032 | <Instance> | ||
3033 | The merged action '{0}' in the {1} table is being suppressed. | ||
3034 | <Parameter Type="System.String" Name="action" /> | ||
3035 | <Parameter Type="System.String" Name="sequenceName" /> | ||
3036 | </Instance> | ||
3037 | </Message> | ||
3038 | <Message Id="TargetDirCorrectedDefaultDir" Number="1010" SourceLineNumbers="no"> | ||
3039 | <Instance> | ||
3040 | The Directory with Id 'TARGETDIR' must have the value 'SourceDir' in its 'DefaultDir' column. This has been automatically corrected for you in the decompiled output. | ||
3041 | </Instance> | ||
3042 | </Message> | ||
3043 | <Message Id="AccessDeniedForDeletion" Number="1011"> | ||
3044 | <Instance> | ||
3045 | Access denied; cannot delete '{0}'. | ||
3046 | <Parameter Type="System.String" Name="tempFilesBasePath" /> | ||
3047 | </Instance> | ||
3048 | </Message> | ||
3049 | <Message Id="DirectoryInUse" Number="1012"> | ||
3050 | <Instance> | ||
3051 | The directory '{0}' is in use and cannot be deleted. | ||
3052 | <Parameter Type="System.String" Name="filePath" /> | ||
3053 | </Instance> | ||
3054 | </Message> | ||
3055 | <Message Id="AccessDeniedForSettingAttributes" Number="1013"> | ||
3056 | <Instance> | ||
3057 | Access denied; cannot set attributes on '{0}'. | ||
3058 | <Parameter Type="System.String" Name="filePath" /> | ||
3059 | </Instance> | ||
3060 | </Message> | ||
3061 | <Message Id="UnknownAction" Number="1024"> | ||
3062 | <Instance> | ||
3063 | The {0} table contains an action '{1}' which is not a known custom action, dialog, or standard action. This action will be left out of the decompiled output. | ||
3064 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
3065 | <Parameter Type="System.String" Name="actionName" /> | ||
3066 | </Instance> | ||
3067 | </Message> | ||
3068 | <Message Id="IdentifierTooLong" Number="1026"> | ||
3069 | <Instance> | ||
3070 | The {0}/@{1} attribute's value, '{2}', is too long for an identifier. Standard identifiers are 72 characters long or less. | ||
3071 | <Parameter Type="System.String" Name="elementName" /> | ||
3072 | <Parameter Type="System.String" Name="attributeName" /> | ||
3073 | <Parameter Type="System.String" Name="value" /> | ||
3074 | </Instance> | ||
3075 | </Message> | ||
3076 | <Message Id="UnknownPermission" Number="1030"> | ||
3077 | <Instance> | ||
3078 | The {0} table contains a row with primary key '{1}' which has an unknown permission at bit {2}. | ||
3079 | <Parameter Type="System.String" Name="tableName" /> | ||
3080 | <Parameter Type="System.String" Name="primaryKey" /> | ||
3081 | <Parameter Type="System.Int32" Name="bitPosition" /> | ||
3082 | </Instance> | ||
3083 | </Message> | ||
3084 | <Message Id="DirectoryRedundantNames" Number="1031"> | ||
3085 | <Instance> | ||
3086 | The {0} element's {1} and {2} values are both '{3}'. This is redundant; the {2} attribute should be removed. | ||
3087 | <Parameter Type="System.String" Name="elementName" /> | ||
3088 | <Parameter Type="System.String" Name="shortNameAttributeName" /> | ||
3089 | <Parameter Type="System.String" Name="longNameAttributeName" /> | ||
3090 | <Parameter Type="System.String" Name="attributeValue" /> | ||
3091 | </Instance> | ||
3092 | <Instance> | ||
3093 | The {0} element's source and destination names are identical. This is redundant; the {1} and {2} attributes should be removed if present. | ||
3094 | <Parameter Type="System.String" Name="elementName" /> | ||
3095 | <Parameter Type="System.String" Name="sourceNameAttributeName" /> | ||
3096 | <Parameter Type="System.String" Name="longSourceAttributeName" /> | ||
3097 | </Instance> | ||
3098 | </Message> | ||
3099 | <Message Id="UnableToResetAcls" Number="1032" SourceLineNumbers="no"> | ||
3100 | <Instance>Unable to reset acls on destination files.</Instance> | ||
3101 | </Message> | ||
3102 | <Message Id="MediaExternalCabinetFilenameIllegal" Number="1033"> | ||
3103 | <Instance> | ||
3104 | The {0}/@{1} attribute's value, '{2}', is not a valid external cabinet name. Legal cabinet names should follow 8.3 format: they should contain no more than 8 characters followed by an optional extension of no more than 3 characters. Any character except for the following may be used: \ ? | > < : / * " + , ; = [ ] (space). The Windows Installer team has recommended following the 8.3 format for external cabinet files and any other naming scheme is officially unsupported (which means it is not guaranteed to work on all platforms). | ||
3105 | <Parameter Type="System.String" Name="elementName" /> | ||
3106 | <Parameter Type="System.String" Name="attributeName" /> | ||
3107 | <Parameter Type="System.String" Name="value" /> | ||
3108 | </Instance> | ||
3109 | </Message> | ||
3110 | <Message Id="DeprecatedPreProcVariable" Number="1034"> | ||
3111 | <Instance> | ||
3112 | The built-in preprocessor variable '{0}' is deprecated. Please correct your authoring to use the new '{1}' preprocessor variable instead. | ||
3113 | <Parameter Type="System.String" Name="oldName" /> | ||
3114 | <Parameter Type="System.String" Name="newName" /> | ||
3115 | </Instance> | ||
3116 | </Message> | ||
3117 | <Message Id="FileSearchFileNameIssue" Number="1043"> | ||
3118 | <Instance> | ||
3119 | The {0} element's {1} and {2} attributes were found. Due to a bug with the Windows Installer, only the Name or LongName attribute should be used. Use the Name attribute for 8.3 compliant file names and the LongName attribute for longer ones. When using only the LongName attribute, ICE03 should be ignored for the Signature table's FileName column. | ||
3120 | <Parameter Type="System.String" Name="elementName" /> | ||
3121 | <Parameter Type="System.String" Name="attributeName1" /> | ||
3122 | <Parameter Type="System.String" Name="attributeName2" /> | ||
3123 | </Instance> | ||
3124 | </Message> | ||
3125 | <Message Id="AmbiguousFileOrDirectoryName" Number="1044"> | ||
3126 | <Instance> | ||
3127 | The {0}/@{1} attribute's value '{2}' is an ambiguous short name because it ends with a '~' character followed by a number. Under some circumstances, this name could resolve to more than one file or directory name and lead to unpredictable results (for example 'MICROS~1' may correspond to 'Microsoft Shared' or 'Microsoft Foo' or literally 'Micros~1'). | ||
3128 | <Parameter Type="System.String" Name="elementName" /> | ||
3129 | <Parameter Type="System.String" Name="attributeName" /> | ||
3130 | <Parameter Type="System.String" Name="value" /> | ||
3131 | </Instance> | ||
3132 | </Message> | ||
3133 | <Message Id="PossiblyIncorrectTypelibVersion" Number="1048"> | ||
3134 | <Instance> | ||
3135 | The Typelib table entry with Id '{0}' could have an incorrect version of '256.0'. InstallShield has a bug relating to the Typelib Version column: it will incorrectly set the value '65536' in to represent version '1.0'. However, this number actually corresponds to version '256.0'. This bug will not affect the typelib version that is registered during installation, however, it will prevent the Windows Installer from correctly identifying whether a typelib is already installed and lead to unnecessary reinstallations of the typelib. | ||
3136 | <Parameter Type="System.String" Name="id" /> | ||
3137 | </Instance> | ||
3138 | </Message> | ||
3139 | <Message Id="ImplicitComponentPrimaryFeature" Number="1049" SourceLineNumbers="no"> | ||
3140 | <Instance> | ||
3141 | The component '{0}' does not have an explicit primary feature parent specified. If the source files are linked in a different order, the primary parent feature may change. To prevent accidental changes, the primary feature parent should be set to 'yes' in one of the ComponentRef/@Primary, ComponentGroupRef/@Primary, or FeatureGroupRef/@Primary locations for this component. | ||
3142 | <Parameter Type="System.String" Name="componentId" /> | ||
3143 | </Instance> | ||
3144 | </Message> | ||
3145 | <Message Id="ActionSequenceCollision" Number="1050"> | ||
3146 | <Instance> | ||
3147 | The {0} table contains actions '{1}' and '{2}' which both have the same sequence number {3}. Please change the sequence number for one of these actions to avoid an ICE warning. | ||
3148 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
3149 | <Parameter Type="System.String" Name="actionName1" /> | ||
3150 | <Parameter Type="System.String" Name="actionName2" /> | ||
3151 | <Parameter Type="System.Int32" Name="sequenceNumber" /> | ||
3152 | </Instance> | ||
3153 | </Message> | ||
3154 | <Message Id="ActionSequenceCollision2" Number="1051"> | ||
3155 | <Instance>The location of the action related to previous warning.</Instance> | ||
3156 | </Message> | ||
3157 | <Message Id="SuppressAction2" Number="1052"> | ||
3158 | <Instance>The location of the suppressed action related to previous warning.</Instance> | ||
3159 | </Message> | ||
3160 | <Message Id="UnexpectedTableInProduct" Number="1053"> | ||
3161 | <Instance> | ||
3162 | An unexpected row in the '{0}' table was found in this product. Products should not contain the '{0}' table. | ||
3163 | <Parameter Type="System.String" Name="tableName" /> | ||
3164 | </Instance> | ||
3165 | </Message> | ||
3166 | <Message Id="DeprecatedAttribute" Number="1054"> | ||
3167 | <Instance> | ||
3168 | The {0}/@{1} attribute has been deprecated. | ||
3169 | <Parameter Type="System.String" Name="elementName" /> | ||
3170 | <Parameter Type="System.String" Name="attributeName" /> | ||
3171 | </Instance> | ||
3172 | <Instance> | ||
3173 | The {0}/@{1} attribute has been deprecated. Please use the {2} attribute instead. | ||
3174 | <Parameter Type="System.String" Name="elementName" /> | ||
3175 | <Parameter Type="System.String" Name="attributeName" /> | ||
3176 | <Parameter Type="System.String" Name="newAttributeName" /> | ||
3177 | </Instance> | ||
3178 | <Instance> | ||
3179 | The {0}/@{1} attribute has been deprecated. Please use the {2} or {3} attribute instead. | ||
3180 | <Parameter Type="System.String" Name="elementName" /> | ||
3181 | <Parameter Type="System.String" Name="attributeName" /> | ||
3182 | <Parameter Type="System.String" Name="newAttributeName1" /> | ||
3183 | <Parameter Type="System.String" Name="newAttributeName2" /> | ||
3184 | </Instance> | ||
3185 | </Message> | ||
3186 | <Message Id="MergeRescheduledAction" Number="1055"> | ||
3187 | <Instance> | ||
3188 | The {0} table contains an action '{1}' which cannot be merged from the merge module '{2}'. This action is likely colliding with an action in the database that is being created. The colliding action may have been authored in the database or merged in from another merge module. If this is a standard action, it is likely colliding due to a difference in the condition for the action in the database and merge module. If this is a custom action, it should only be declared in the database or one merge module. | ||
3189 | <Parameter Type="System.String" Name="tableName" /> | ||
3190 | <Parameter Type="System.String" Name="actionName" /> | ||
3191 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
3192 | </Instance> | ||
3193 | </Message> | ||
3194 | <Message Id="MergeTableFailed" Number="1056"> | ||
3195 | <Instance> | ||
3196 | The {0} table contains a row with primary key(s) '{1}' which cannot be merged from the merge module '{2}'. This is likely due to collision of rows with the same primary key(s) (but other different values in other columns) between the database and the merge module. | ||
3197 | <Parameter Type="System.String" Name="tableName" /> | ||
3198 | <Parameter Type="System.String" Name="primaryKeys" /> | ||
3199 | <Parameter Type="System.String" Name="mergeModuleFile" /> | ||
3200 | </Instance> | ||
3201 | </Message> | ||
3202 | <Message Id="DecompiledStandardActionRelativelyScheduledInModule" Number="1057"> | ||
3203 | <Instance> | ||
3204 | The {0} table contains a standard action '{1}' that does not have a sequence number specified. A value in the Sequence column is required for standard actions in a merge module. Remove the action from the decompiled authoring to have WiX automatically sequence it. | ||
3205 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
3206 | <Parameter Type="System.String" Name="actionName" /> | ||
3207 | </Instance> | ||
3208 | </Message> | ||
3209 | <Message Id="IllegalActionInSequence" Number="1058"> | ||
3210 | <Instance> | ||
3211 | The {0} table contains an action '{1}' which is not allowed in this table. If this is a standard action then it is not valid for this table, if it is a custom action or dialog then this table does not accept actions of that type. This action will be left out of the decompiled output. | ||
3212 | <Parameter Type="System.String" Name="sequenceTableName" /> | ||
3213 | <Parameter Type="System.String" Name="actionName" /> | ||
3214 | </Instance> | ||
3215 | </Message> | ||
3216 | <Message Id="ExpectedForeignRow" Number="1059"> | ||
3217 | <Instance> | ||
3218 | The {0} table contains a row with primary key(s) '{1}' whose {2} column contains a value, '{3}', which specifies a foreign key relationship with the {4} table. However, since the expected foreign row specified by this value does not exist, this will result in some information being left out of the decompiled output. | ||
3219 | <Parameter Type="System.String" Name="tableName" /> | ||
3220 | <Parameter Type="System.String" Name="primaryKey" /> | ||
3221 | <Parameter Type="System.String" Name="columnName" /> | ||
3222 | <Parameter Type="System.String" Name="columnValue" /> | ||
3223 | <Parameter Type="System.String" Name="foreignTableName" /> | ||
3224 | </Instance> | ||
3225 | <Instance> | ||
3226 | The {0} table contains a row with primary key(s) '{1}' whose {2} and {4} columns contain the values, '{3}' and '{5}', which specify a foreign key relationship with the {6} table. However, since the expected foreign row specified by this value does not exist, this will result in some information being left out of the decompiled output. | ||
3227 | <Parameter Type="System.String" Name="tableName" /> | ||
3228 | <Parameter Type="System.String" Name="primaryKey" /> | ||
3229 | <Parameter Type="System.String" Name="columnName1" /> | ||
3230 | <Parameter Type="System.String" Name="columnValue1" /> | ||
3231 | <Parameter Type="System.String" Name="columnName2" /> | ||
3232 | <Parameter Type="System.String" Name="columnValue2" /> | ||
3233 | <Parameter Type="System.String" Name="foreignTableName" /> | ||
3234 | </Instance> | ||
3235 | </Message> | ||
3236 | <Message Id="DecompilingAsCustomTable" Number="1060"> | ||
3237 | <Instance> | ||
3238 | The {0} table is being decompiled as a custom table. | ||
3239 | <Parameter Type="System.String" Name="tableName" /> | ||
3240 | </Instance> | ||
3241 | </Message> | ||
3242 | <Message Id="IllegalPatchCreationTable" Number="1061"> | ||
3243 | <Instance> | ||
3244 | The {0} table is not legal in a patch creation file. The information in this table will be left out of the decompiled output. | ||
3245 | <Parameter Type="System.String" Name="tableName" /> | ||
3246 | </Instance> | ||
3247 | </Message> | ||
3248 | <Message Id="SkippingMergeModuleTable" Number="1062"> | ||
3249 | <Instance> | ||
3250 | The {0} table can only be represented in WiX for merge modules. The information in this table will be left out of the decompiled output. | ||
3251 | <Parameter Type="System.String" Name="tableName" /> | ||
3252 | </Instance> | ||
3253 | </Message> | ||
3254 | <Message Id="SkippingPatchCreationTable" Number="1063"> | ||
3255 | <Instance> | ||
3256 | The {0} table can only be represented in WiX for patch creation files. The information in this table will be left out of the decompiled output. | ||
3257 | <Parameter Type="System.String" Name="tableName" /> | ||
3258 | </Instance> | ||
3259 | </Message> | ||
3260 | <Message Id="UnrepresentableColumnValue" Number="1064"> | ||
3261 | <Instance> | ||
3262 | The {0}.{1} column's value, '{2}', cannot currently be represented in the WiX schema. | ||
3263 | <Parameter Type="System.String" Name="tableName" /> | ||
3264 | <Parameter Type="System.String" Name="columnName" /> | ||
3265 | <Parameter Type="System.Object" Name="value" /> | ||
3266 | </Instance> | ||
3267 | </Message> | ||
3268 | <Message Id="DeprecatedTable" Number="1065" SourceLineNumbers="no"> | ||
3269 | <Instance> | ||
3270 | The {0} table is not supported by the WiX toolset because it has been deprecated by the Windows Installer team. Any information in this table will be left out of the decompiled output. | ||
3271 | <Parameter Type="System.String" Name="tableName" /> | ||
3272 | </Instance> | ||
3273 | </Message> | ||
3274 | <Message Id="PatchTable" Number="1066"> | ||
3275 | <Instance> | ||
3276 | The {0} table is added to the install package by a transform from a patch package (.msp) and not authored directly into an install package (.msi). The information in this table will be left out of the decompiled output. | ||
3277 | <Parameter Type="System.String" Name="tableName" /> | ||
3278 | </Instance> | ||
3279 | </Message> | ||
3280 | <Message Id="IllegalColumnValue" Number="1067"> | ||
3281 | <Instance> | ||
3282 | The {0}.{1} column's value, '{2}', is not a recognized legal value. This information will be left out of the decompiled output. | ||
3283 | <Parameter Type="System.String" Name="tableName" /> | ||
3284 | <Parameter Type="System.String" Name="columnName" /> | ||
3285 | <Parameter Type="System.Object" Name="value" /> | ||
3286 | </Instance> | ||
3287 | </Message> | ||
3288 | <Message Id="DeprecatedLongNameAttribute" Number="1069"> | ||
3289 | <Instance> | ||
3290 | The {0}/@{1} attribute has been deprecated. Since WiX now has the ability to generate short file/directory names, the desired name should be specified in the {2} attribute instead. If the name specified in the {2} attribute is a short name, then WiX will not generate a short name. If the name specified in the {2} attribute is a long name and you want to manually specify the short name, please set the short name value in the {3} attribute. | ||
3291 | <Parameter Type="System.String" Name="elementName" /> | ||
3292 | <Parameter Type="System.String" Name="longNameAttributeName" /> | ||
3293 | <Parameter Type="System.String" Name="nameAttributeName" /> | ||
3294 | <Parameter Type="System.String" Name="shortNameAttributeName" /> | ||
3295 | </Instance> | ||
3296 | </Message> | ||
3297 | <Message Id="GeneratedShortFileNameConflict" Number="1070"> | ||
3298 | <Instance> | ||
3299 | The short file name '{0}' was generated for multiple files that may be installed to the same directory. This could be due to conflicting long file names specified by the File/@Name attribute. If that is the case, please resolve the conflict in those attributes. Otherwise, please manually set the File/@ShortName attribute on the conflicting row to fix the collision. If one of the colliding files was added via a patch, that short file name should be specified manually to avoid disturbing the original short file name. | ||
3300 | <Parameter Type="System.String" Name="shortFileName" /> | ||
3301 | </Instance> | ||
3302 | </Message> | ||
3303 | <Message Id="GeneratedShortFileNameConflict2" Number="1071"> | ||
3304 | <Instance> | ||
3305 | The location of a conflicting generated short file name related to the previous warning. | ||
3306 | </Instance> | ||
3307 | </Message> | ||
3308 | <Message Id="DangerousTableInMergeModule" Number="1072"> | ||
3309 | <Instance> | ||
3310 | Merge modules should not contain the '{0}' table because all merge conflicts cannot avoided. However, this warning can be suppressed if all of the consumers of the Merge Module agree to not duplicate identifiers in the '{0}' table. | ||
3311 | <Parameter Type="System.String" Name="tableName" /> | ||
3312 | </Instance> | ||
3313 | </Message> | ||
3314 | <Message Id="DeprecatedLocalizationVariablePrefix" Number="1073"> | ||
3315 | <Instance> | ||
3316 | The localization variable $(loc.{0}) uses a deprecated prefix '$'. Please use the '!' prefix instead. Since the prefix '$' is also used by the preprocessor, it has been deprecated to avoid namespace collisions. | ||
3317 | <Parameter Type="System.String" Name="variableId" /> | ||
3318 | </Instance> | ||
3319 | </Message> | ||
3320 | <Message Id="PlaceholderValue" Number="1074"> | ||
3321 | <Instance> | ||
3322 | The {0}/@{1} attribute's value, '{2}', is a placeholder value used in example files. Please replace this placeholder with the appropriate value. | ||
3323 | <Parameter Type="System.String" Name="elementName" /> | ||
3324 | <Parameter Type="System.String" Name="attributeName" /> | ||
3325 | <Parameter Type="System.String" Name="value" /> | ||
3326 | </Instance> | ||
3327 | </Message> | ||
3328 | <Message Id="MissingUpgradeCode" Number="1075"> | ||
3329 | <Instance>The Product/@UpgradeCode attribute was not found; it is strongly recommended to ensure that this product can be upgraded.</Instance> | ||
3330 | </Message> | ||
3331 | <Message Id="ValidationWarning" Number="1076"> | ||
3332 | <Instance> | ||
3333 | {0}: {1} | ||
3334 | <Parameter Type="System.String" Name="ice" /> | ||
3335 | <Parameter Type="System.String" Name="message" /> | ||
3336 | </Instance> | ||
3337 | </Message> | ||
3338 | <Message Id="PropertyValueContainsPropertyReference" Number="1077"> | ||
3339 | <Instance> | ||
3340 | The '{0}' Property contains '[{1}]' in its value which is an illegal reference to another property. If this value is a string literal, not a property reference, please ignore this warning. To set a property with the value of another property, use a CustomAction with Property and Value attributes. | ||
3341 | <Parameter Type="System.String" Name="propertyId" /> | ||
3342 | <Parameter Type="System.String" Name="otherProperty" /> | ||
3343 | </Instance> | ||
3344 | </Message> | ||
3345 | <Message Id="DeprecatedUpgradeProperty" Number="1078"> | ||
3346 | <Instance>Specifying a Property element as a child of an Upgrade element has been deprecated. Please specify this Property element as a child of a different element such as Product or Fragment.</Instance> | ||
3347 | </Message> | ||
3348 | <Message Id="EmptyCabinet" Number="1079"> | ||
3349 | <Instance> | ||
3350 | The cabinet '{0}' does not contain any files. If this installation contains no files, this warning can likely be safely ignored. Otherwise, please add files to the cabinet or remove it. | ||
3351 | <Parameter Type="System.String" Name="cabinetName" /> | ||
3352 | </Instance> | ||
3353 | <Instance> | ||
3354 | The cabinet '{0}' does not contain any files. If this patch contains no files, this warning can likely be safely ignored. Otherwise, try passing -p to torch.exe when first building the transforms, or add a ComponentRef to your PatchFamily authoring to pull changed files into the cabinet. | ||
3355 | <Parameter Type="System.String" Name="cabinetName" /> | ||
3356 | <Parameter Type="System.Boolean" Name="isPatch" /> | ||
3357 | </Instance> | ||
3358 | </Message> | ||
3359 | <Message Id="DeprecatedRegistryElement" Number="1080"> | ||
3360 | <Instance>The Registry element has been deprecated. Please use one of the new elements which replaces its functionality: RegistryKey for creating registry keys, RegistryValue for writing registry values, RemoveRegistryKey for removing registry keys, and RemoveRegistryValue for removing registry values.</Instance> | ||
3361 | </Message> | ||
3362 | <Message Id="IllegalRegistryKeyPath" Number="1081"> | ||
3363 | <Instance> | ||
3364 | Component '{0}' specifies an illegal registry keypath of '{1}'. Since this entry actually represents a registry key, not a registry value, it cannot be the keypath. | ||
3365 | <Parameter Type="System.String" Name="componentName" /> | ||
3366 | <Parameter Type="System.String" Name="registryId" /> | ||
3367 | </Instance> | ||
3368 | </Message> | ||
3369 | <Message Id="DeprecatedPatchSequenceTargetAttribute" Number="1082"> | ||
3370 | <Instance> | ||
3371 | The {0}/@{1} attribute has been deprecated in favor of the more strongly-typed ProductCode or TargetImage attributes. Please use the ProductCode attribute for indicating the ProductCode of a patch family directly, or the TargetImage attribute to specify the TargetImage which in turn will retrieve the ProductCode of the patch family. | ||
3372 | <Parameter Type="System.String" Name="elementName" /> | ||
3373 | <Parameter Type="System.String" Name="attributeName" /> | ||
3374 | </Instance> | ||
3375 | </Message> | ||
3376 | <Message Id="ProductIdAuthored" Number="1083"> | ||
3377 | <Instance> | ||
3378 | The 'ProductID' property should not be directly authored because it will prevent the ValidateProductID standard action from performing any validation during the installation. This property will be set by the ValidateProductID standard action or control event. | ||
3379 | </Instance> | ||
3380 | </Message> | ||
3381 | <Message Id="ImplicitMergeModulePrimaryFeature" Number="1084" SourceLineNumbers="no"> | ||
3382 | <Instance> | ||
3383 | The merge module '{0}' does not have an explicit primary feature parent specified. If the source files are linked in a different order, the primary parent feature may change. To prevent accidental changes, the primary feature parent should be set to 'yes' in one of the MergeRef/@Primary or FeatureGroupRef/@Primary locations for this component. | ||
3384 | <Parameter Type="System.String" Name="componentId" /> | ||
3385 | </Instance> | ||
3386 | </Message> | ||
3387 | <Message Id="DeprecatedIgnoreModularizationElement" Number="1085"> | ||
3388 | <Instance> | ||
3389 | The IgnoreModularization element has been deprecated. Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attribute instead. | ||
3390 | </Instance> | ||
3391 | </Message> | ||
3392 | <Message Id="PropertyModularizationSuppressed" Number="1086"> | ||
3393 | <Instance> | ||
3394 | The Property/@SuppressModularization attribute has been set to 'yes'. Using this functionality is strongly discouraged; it should only be necessary as a workaround of last resort in rare scenarios. | ||
3395 | </Instance> | ||
3396 | </Message> | ||
3397 | <Message Id="DeprecatedPackageCompressedAttribute" Number="1087"> | ||
3398 | <Instance> | ||
3399 | The Package/@Compressed attribute is deprecated under the Module element because merge modules must always be compressed. | ||
3400 | </Instance> | ||
3401 | </Message> | ||
3402 | <Message Id="DeprecatedModuleGuidAttribute" Number="1088"> | ||
3403 | <Instance> | ||
3404 | The Module/@Guid attribute is deprecated merge modules use their package code as the modularization guid. Use the Package/@Id attribute instead. | ||
3405 | </Instance> | ||
3406 | </Message> | ||
3407 | <Message Id="DeprecatedQuestionMarksGuid" Number="1090"> | ||
3408 | <Instance> | ||
3409 | The {0}/@{1} attribute's value '????????-????-????-????-????????????' has been deprecated. Use '*' instead. | ||
3410 | <Parameter Type="System.String" Name="elementName" /> | ||
3411 | <Parameter Type="System.String" Name="attributeName" /> | ||
3412 | </Instance> | ||
3413 | </Message> | ||
3414 | <Message Id="PackageCodeSet" Number="1091"> | ||
3415 | <Instance> | ||
3416 | The Package/@Id attribute has been set. Setting this attribute will allow nonidentical .msi files to have the same package code. This may be a problem because the package code is the primary identifier used by the installer to search for and validate the correct package for a given installation. If a package is changed without changing the package code, the installer may not use the newer package if both are still accessible to the installer. Please remove the Id attribute in order to automatically generate a new package code for each new .msi file. | ||
3417 | </Instance> | ||
3418 | </Message> | ||
3419 | <Message Id="InvalidModuleOrBundleVersion" Number="1093"> | ||
3420 | <Instance> | ||
3421 | Invalid {0}/@Version '{1}'. {0} version has a max value of "65535.65535.65535.65535" and must be all numeric. | ||
3422 | <Parameter Type="System.String" Name="moduleOrBundle" /> | ||
3423 | <Parameter Type="System.String" Name="version" /> | ||
3424 | </Instance> | ||
3425 | </Message> | ||
3426 | <Message Id="InvalidRemoveFile" Number="1095"> | ||
3427 | <Instance> | ||
3428 | File '{0}' was removed from component '{1}'. Removing a file from a component will not result in the file being removed by a patch. You should author a RemoveFile element in your component to remove the file from the installation if you want the file to be removed. | ||
3429 | <Parameter Type="System.String" Name="file" /> | ||
3430 | <Parameter Type="System.String" Name="component" /> | ||
3431 | </Instance> | ||
3432 | </Message> | ||
3433 | <Message Id="PreprocessorWarning" Number="1096"> | ||
3434 | <Instance> | ||
3435 | {0} | ||
3436 | <Parameter Type="System.String" Name="message" /> | ||
3437 | </Instance> | ||
3438 | </Message> | ||
3439 | <Message Id="UpdateOfNonKeyPathFile" Number="1097" SourceLineNumbers="no"> | ||
3440 | <Instance> | ||
3441 | File '{0}' in Component '{1}' was changed, but the KeyPath file '{2}' was not. This file will not be patched on the target system if the REINSTALLMODE does not contain 'A'. The KeyPath file should also be changed and included in your patch. | ||
3442 | <Parameter Type="System.String" Name="nonKeyPathFileId" /> | ||
3443 | <Parameter Type="System.String" Name="componentId" /> | ||
3444 | <Parameter Type="System.String" Name="keyPathFileId" /> | ||
3445 | </Instance> | ||
3446 | </Message> | ||
3447 | <Message Id="UnsupportedCommandLineArgument" Number="1098" SourceLineNumbers="no"> | ||
3448 | <Instance> | ||
3449 | '{0}' is not a valid command line argument. | ||
3450 | <Parameter Type="System.String" Name="arg" /> | ||
3451 | </Instance> | ||
3452 | </Message> | ||
3453 | <Message Id="MajorUpgradePatchNotRecommended" Number="1099" SourceLineNumbers="no"> | ||
3454 | <Instance> | ||
3455 | Changing the ProductCode in a patch is not recommended because the patch cannot be uninstalled nor can it be sequenced along with other patches for the target product. See http://msdn2.microsoft.com/library/aa367571.aspx for more information. | ||
3456 | </Instance> | ||
3457 | </Message> | ||
3458 | <Message Id="RetainRangeMismatch" Number="1100"> | ||
3459 | <Instance> | ||
3460 | Mismatch in RetainRangeCounts for the file '{0}' - ignoring the retain ranges. | ||
3461 | <Parameter Type="System.String" Name="fileId"/> | ||
3462 | </Instance> | ||
3463 | </Message> | ||
3464 | <Message Id="DefaultLanguageUsedForVersionedFile" Number="1101"> | ||
3465 | <Instance> | ||
3466 | The DefaultLanguage '{0}' was used for file '{1}' which has no language. Specifying a language that is different from the actual file may result in unexpected versioning behavior during a repair or while patching. Either specify a value for DefaultLanguage or put the language in the version information resource to eliminate this warning. | ||
3467 | <Parameter Type="System.String" Name="language"/> | ||
3468 | <Parameter Type="System.String" Name="fileId"/> | ||
3469 | </Instance> | ||
3470 | </Message> | ||
3471 | <Message Id="DefaultLanguageUsedForUnversionedFile" Number="1102"> | ||
3472 | <Instance> | ||
3473 | The DefaultLanguage '{0}' was used for file '{1}' which has no language or version. For unversioned files, specifying a value for DefaultLanguage is not neccessary and it will not be used when determining file versions. Remove the DefaultLanguage attribute to eliminate this warning. | ||
3474 | <Parameter Type="System.String" Name="language"/> | ||
3475 | <Parameter Type="System.String" Name="fileId"/> | ||
3476 | </Instance> | ||
3477 | </Message> | ||
3478 | <Message Id="DefaultVersionUsedForUnversionedFile" Number="1103"> | ||
3479 | <Instance> | ||
3480 | The DefaultVersion '{0}' was used for file '{1}' which has no version. No entry for this file will be placed in the MsiFileHash table. For unversioned files, specifying a version that is different from the actual file may result in unexpected versioning behavior during a repair or while patching. Version the resource to eliminate this warning. | ||
3481 | <Parameter Type="System.String" Name="version"/> | ||
3482 | <Parameter Type="System.String" Name="fileId"/> | ||
3483 | </Instance> | ||
3484 | </Message> | ||
3485 | <Message Id="InvalidHigherInstallerVersionInModule" Number="1104"> | ||
3486 | <Instance> | ||
3487 | Merge module '{0}' has an installer version of {1} which is greater than the product's installer version of {2}. Merging a module with a higher installer version than the product it is being merged into can result in invalid values in the resulting msi. You must set the Package/@InstallerVersion attribute to {1} or greater to merge this merge module into your product. | ||
3488 | <Parameter Type="System.String" Name="moduleId" /> | ||
3489 | <Parameter Type="System.Int32" Name="moduleInstallerVersion" /> | ||
3490 | <Parameter Type="System.Int32" Name="productInstallerVersion" /> | ||
3491 | </Instance> | ||
3492 | </Message> | ||
3493 | <Message Id="ValidationFailedDueToSystemPolicy" Number="1105" SourceLineNumbers="no"> | ||
3494 | <Instance> | ||
3495 | Validation could not run due to system policy. To eliminate this warning, run the process as admin or suppress ICE validation. | ||
3496 | </Instance> | ||
3497 | </Message> | ||
3498 | <Message Id="ColumnsIncompatibleWithInstallerVersion" Number="1106"> | ||
3499 | <Instance> | ||
3500 | Table '{0}' uses columns that require a version of Windows Installer greater than specified in your package ('{1}'). | ||
3501 | <Parameter Type="System.String" Name="tableName" /> | ||
3502 | <Parameter Type="System.Int32" Name="productInstallerVersion" /> | ||
3503 | </Instance> | ||
3504 | </Message> | ||
3505 | <Message Id="TableIncompatibleWithInstallerVersion" Number="1107"> | ||
3506 | <Instance> | ||
3507 | Using table '{0}' requires a version of Windows Installer greater than specified in your package ('{1}'). | ||
3508 | <Parameter Type="System.String" Name="tableName" /> | ||
3509 | <Parameter Type="System.Int32" Name="productInstallerVersion" /> | ||
3510 | </Instance> | ||
3511 | </Message> | ||
3512 | <Message Id="DeprecatedCommandLineSwitch" Number="1108" SourceLineNumbers="no"> | ||
3513 | <Instance> | ||
3514 | The command line switch '{0}' is deprecated. | ||
3515 | <Parameter Type="System.String" Name="oldSwitch" /> | ||
3516 | </Instance> | ||
3517 | <Instance> | ||
3518 | The command line switch '{0}' is deprecated. Please use '{1}' instead. | ||
3519 | <Parameter Type="System.String" Name="oldSwitch" /> | ||
3520 | <Parameter Type="System.String" Name="newSwitch" /> | ||
3521 | </Instance> | ||
3522 | </Message> | ||
3523 | <Message Id="UnexpectedEntrySection" Number="1109"> | ||
3524 | <Instance> | ||
3525 | Found mismatched entry point <{0}>. Expected <{1}> for specified output package type {2}. | ||
3526 | <Parameter Type="System.String" Name="sectionType" /> | ||
3527 | <Parameter Type="System.String" Name="expectedType" /> | ||
3528 | <Parameter Type="System.String" Name="outputExtension" /> | ||
3529 | </Instance> | ||
3530 | </Message> | ||
3531 | <Message Id="NewComponentAddedToExistingFeature" Number="1110"> | ||
3532 | <Instance> | ||
3533 | Component '{0}' was added to feature '{1}' in the transform '{2}'. If you cannot guarantee that this feature will always be installed, you should consider adding new components to new top-level features to prevent prompts for source when installing this patch. | ||
3534 | <Parameter Type="System.String" Name="component" /> | ||
3535 | <Parameter Type="System.String" Name="feature" /> | ||
3536 | <Parameter Type="System.String" Name="transformPath" /> | ||
3537 | </Instance> | ||
3538 | </Message> | ||
3539 | <Message Id="DeprecatedAttributeValue" Number="1111"> | ||
3540 | <Instance> | ||
3541 | The value "{0}" for the {1}/@{2} attribute has been deprecated. Please use "{3}" instead. | ||
3542 | <Parameter Type="System.String" Name="attributeValue" /> | ||
3543 | <Parameter Type="System.String" Name="elementName" /> | ||
3544 | <Parameter Type="System.String" Name="attributeName" /> | ||
3545 | <Parameter Type="System.String" Name="newAttributeValue" /> | ||
3546 | </Instance> | ||
3547 | </Message> | ||
3548 | <Message Id="InsufficientPermissionHarvestTypeLib" Number="1112" SourceLineNumbers="no"> | ||
3549 | <Instance> | ||
3550 | Not enough permissions to harvest type library. On Windows Vista, you must either run Heat elevated, or install Windows Vista SP1 (or higher). | ||
3551 | </Instance> | ||
3552 | </Message> | ||
3553 | <Message Id="UnclearShortcut" Number="1113"> | ||
3554 | <Instance> | ||
3555 | Because it is an advertised shortcut, the target of shortcut '{0}' will be the keypath of component '{2}' rather than parent file '{1}'. To eliminate this warning, you can (1) make the Shortcut element a child of the File element that is the keypath of component '{2}', (2) make file '{1}' the keypath of component '{2}', or (3) remove the @Advertise attribute so the shortcut is a non-advertised shortcut. | ||
3556 | <Parameter Type="System.String" Name="shortcutId" /> | ||
3557 | <Parameter Type="System.String" Name="fileId" /> | ||
3558 | <Parameter Type="System.String" Name="componentId" /> | ||
3559 | </Instance> | ||
3560 | </Message> | ||
3561 | <Message Id="TooManyProgIds" Number="1114"> | ||
3562 | <Instance> | ||
3563 | Class '{0}' tried to use ProgId '{1}' which has already been associated with class '{2}'. This information will be left out of the decompiled output. | ||
3564 | <Parameter Type="System.String" Name="clsId" /> | ||
3565 | <Parameter Type="System.String" Name="progId" /> | ||
3566 | <Parameter Type="System.String" Name="otherClsId" /> | ||
3567 | </Instance> | ||
3568 | </Message> | ||
3569 | <Message Id="BadColumnDataIgnored" Number="1115"> | ||
3570 | <Instance> | ||
3571 | The value '{0}' in table '{1}', column '{2}' is invalid according to the column's validation information. The decompiled output includes a best-effort representation of this value. | ||
3572 | <Parameter Type="System.String" Name="value" /> | ||
3573 | <Parameter Type="System.String" Name="tableName" /> | ||
3574 | <Parameter Type="System.String" Name="columnName" /> | ||
3575 | </Instance> | ||
3576 | </Message> | ||
3577 | <Message Id="NullMsiAssemblyNameValue" Number="1116"> | ||
3578 | <Instance> | ||
3579 | The assembly in component '{0}' has a null or empty {1} assembly name value. | ||
3580 | <Parameter Type="System.String" Name="componentName" /> | ||
3581 | <Parameter Type="System.String" Name="name" /> | ||
3582 | </Instance> | ||
3583 | </Message> | ||
3584 | <Message Id="InvalidAttributeCombination" Number="1117"> | ||
3585 | <Instance> | ||
3586 | It is invalid to combine attributes {0} and {1}. The decompiled output will set attribute {2} to {3}. | ||
3587 | <Parameter Type="System.String" Name="attrib1" /> | ||
3588 | <Parameter Type="System.String" Name="attrib2" /> | ||
3589 | <Parameter Type="System.String" Name="name" /> | ||
3590 | <Parameter Type="System.String" Name="value" /> | ||
3591 | </Instance> | ||
3592 | </Message> | ||
3593 | <Message Id="VariableDeclarationCollision" Number="1118"> | ||
3594 | <Instance> | ||
3595 | The variable '{0}' with value '{1}' was previously declared with value '{2}'. | ||
3596 | <Parameter Type="System.String" Name="variableName" /> | ||
3597 | <Parameter Type="System.String" Name="variableValue" /> | ||
3598 | <Parameter Type="System.String" Name="variableCollidingValue" /> | ||
3599 | </Instance> | ||
3600 | </Message> | ||
3601 | <Message Id="DuplicatePrimaryKey" Number="1119"> | ||
3602 | <Instance> | ||
3603 | The primary key '{0}' is duplicated in table '{1}' and will be ignored. Please remove one of the entries or rename a part of the primary key to avoid the collision. | ||
3604 | <Parameter Type="System.String" Name="primaryKey" /> | ||
3605 | <Parameter Type="System.String" Name="tableName" /> | ||
3606 | </Instance> | ||
3607 | </Message> | ||
3608 | <Message Id="RequiresMsi200for64bitPackage" Number="1121"> | ||
3609 | <Instance> | ||
3610 | Package/@InstallerVersion must be 200 or greater for a 64-bit package. The value will be changed to 200. Please specify a value of 200 or greater in order to eliminate this warning. | ||
3611 | </Instance> | ||
3612 | </Message> | ||
3613 | <Message Id="ExternalCabsAreNotSigned" Number="1122" SourceLineNumbers="no"> | ||
3614 | <Instance> | ||
3615 | The installer database '{0}' has external cabs, but at least one of them is not signed. Please ensure that all external cabs are signed, if you mean to sign them. If you don't mean to sign them, there is no need to run the insignia tool as part of your build. | ||
3616 | <Parameter Type="System.String" Name="databaseFile" /> | ||
3617 | </Instance> | ||
3618 | </Message> | ||
3619 | <Message Id="FailedToDeleteTempDir" Number="1123" SourceLineNumbers="no"> | ||
3620 | <Instance> | ||
3621 | Failed to delete temporary directory: {0} | ||
3622 | <Parameter Type="System.String" Name="directory" /> | ||
3623 | </Instance> | ||
3624 | </Message> | ||
3625 | <Message Id="StandardDirectoryConflictInMergeModule" Number="1124"> | ||
3626 | <Instance> | ||
3627 | The Directory '{0}' starts with the same Id as the standard folder in Windows Installer '{1}'. A directory Id that begins with the same Id as a standard folder that is in an MSM may encounter a conflict when merging the MSM into an MSI. This may result in the contents of this merge module being installed to an unexpected location. To eliminate this warning, change your directory Id to not start with the same Id as any standard folders. | ||
3628 | <Parameter Type="System.String" Name="directory" /> | ||
3629 | <Parameter Type="System.String" Name="standardDirectory" /> | ||
3630 | </Instance> | ||
3631 | </Message> | ||
3632 | <Message Id="PreprocessorUnknownPragma" Number="1125"> | ||
3633 | <Instance> | ||
3634 | The pragma '{0}' is unknown. Please ensure you have referenced the extension that defines this pragma. | ||
3635 | <Parameter Type="System.String" Name="pragmaName" /> | ||
3636 | </Instance> | ||
3637 | </Message> | ||
3638 | <Message Id="DeprecatedComponentGroupId" Number="1126"> | ||
3639 | <Instance> | ||
3640 | The {0}/@Id attribute contains invalid characters for an identifier. Being able to use invalid identifier characters for a {0} identifier has been deprecated. | ||
3641 | <Parameter Type="System.String" Name="elementName" /> | ||
3642 | </Instance> | ||
3643 | </Message> | ||
3644 | <Message Id="UxPayloadsOnlySupportEmbedding" Number="1127"> | ||
3645 | <Instance> | ||
3646 | A UX Payload ('{0}') was marked for something other than embedded packaging, possibly because it included a @DownloadUrl attribute. At present, UX Payloads must be embedded in the Bundle, so the requested packaging is being ignored. | ||
3647 | <Parameter Type="System.String" Name="sourceFile" /> | ||
3648 | </Instance> | ||
3649 | </Message> | ||
3650 | <Message Id="DiscardedRollbackBoundary" Number="1129"> | ||
3651 | <Instance> | ||
3652 | The RollbackBoundary '{0}' was discarded because it was not followed by a package. Without a package the rollback boundary doesn't do anything. Verify that the RollbackBoundary element is not followed by another RollbackBoundary and that the element is not at the end of the chain. | ||
3653 | <Parameter Type="System.String" Name="rollbackBoundaryId" /> | ||
3654 | </Instance> | ||
3655 | </Message> | ||
3656 | <Message Id="DeprecatedElement" Number="1130"> | ||
3657 | <Instance> | ||
3658 | The {0} element has been deprecated. | ||
3659 | <Parameter Type="System.String" Name="elementName" /> | ||
3660 | </Instance> | ||
3661 | <Instance> | ||
3662 | The {0} element has been deprecated. Please use the {1} element instead. | ||
3663 | <Parameter Type="System.String" Name="elementName" /> | ||
3664 | <Parameter Type="System.String" Name="newElementName" /> | ||
3665 | </Instance> | ||
3666 | <Instance> | ||
3667 | The {0} element has been deprecated. Please use the {1} or {2} element instead. | ||
3668 | <Parameter Type="System.String" Name="elementName" /> | ||
3669 | <Parameter Type="System.String" Name="newElementName1" /> | ||
3670 | <Parameter Type="System.String" Name="newElementName2" /> | ||
3671 | </Instance> | ||
3672 | </Message> | ||
3673 | <Message Id="CannotUpdateCabCache" Number="1131"> | ||
3674 | <Instance> | ||
3675 | Cannot update the timestamp of cached cabinet: '{0}'. If the timestamp is not updated, the build may rebuild more than is necessary. To fix the issue, ensure that the cabinet file is writable, error: {1} | ||
3676 | <Parameter Type="System.String" Name="cabinetPath" /> | ||
3677 | <Parameter Type="System.String" Name="detail" /> | ||
3678 | </Instance> | ||
3679 | </Message> | ||
3680 | <Message Id="DownloadUrlNotSupportedForEmbeddedPayloads" Number="1132"> | ||
3681 | <Instance> | ||
3682 | The Payload '{0}' is embedded but included a @DownloadUrl attribute. Embedded Payloads cannot be downloaded so the download URL is being ignored. | ||
3683 | <Parameter Type="System.String" Name="payloadId" /> | ||
3684 | </Instance> | ||
3685 | </Message> | ||
3686 | <Message Id="DiscouragedAllUsersValue" Number="1133"> | ||
3687 | <Instance> | ||
3688 | Bundles require a package to be either per-machine or per-user. The MSI '{0}' ALLUSERS Property is set to '2' which may change from per-user to per-machine at install time. The Bundle will assume the package is per-{1} and will not work correctly if that changes. If possible, remove the Property with Id='ALLUSERS' and use Package/@InstallScope attribute instead. | ||
3689 | <Parameter Type="System.String" Name="path" /> | ||
3690 | <Parameter Type="System.String" Name="machineOrUser" /> | ||
3691 | </Instance> | ||
3692 | </Message> | ||
3693 | <Message Id="ImplicitlyPerUser" Number="1134"> | ||
3694 | <Instance> | ||
3695 | The MSI '{0}' does not explicitly indicate that it is a per-user package even though the ALLUSERS Property is blank. This suggests a per-user package so the Bundle will assume the package is per-user. If possible, use the Package/@InstallScope attribute to be explicit instead. | ||
3696 | <Parameter Type="System.String" Name="path" /> | ||
3697 | </Instance> | ||
3698 | </Message> | ||
3699 | <Message Id="PerUserButForcingPerMachine" Number="1135"> | ||
3700 | <Instance> | ||
3701 | The MSI '{0}' is a per-user package being forced to per-machine. Verify that the MsiPackage/@ForcePerMachine attribute is expected and that the per-user package works correctly when forced to install per-machine. | ||
3702 | <Parameter Type="System.String" Name="path" /> | ||
3703 | </Instance> | ||
3704 | </Message> | ||
3705 | <Message Id="AttributeShouldContain" Number="1136"> | ||
3706 | <Instance> | ||
3707 | The {0}/@{1} attribute value '{2}' should contain '{3}' when the {0}/@{4} attribute is set to '{5}'. | ||
3708 | <Parameter Type="System.String" Name="elementName" /> | ||
3709 | <Parameter Type="System.String" Name="attributeName" /> | ||
3710 | <Parameter Type="System.String" Name="attributeValue" /> | ||
3711 | <Parameter Type="System.String" Name="expectedContains" /> | ||
3712 | <Parameter Type="System.String" Name="otherAttributeName" /> | ||
3713 | <Parameter Type="System.String" Name="otherAttributeValue" /> | ||
3714 | </Instance> | ||
3715 | </Message> | ||
3716 | <Message Id="DuplicateComponentGuidsMustHaveMutuallyExclusiveConditions" Number="1137"> | ||
3717 | <Instance> | ||
3718 | Component/@Id='{0}' has a @Guid value '{1}' that duplicates another component in this package. This is not officially supported by Windows Installer but works as long as all components have mutually-exclusive conditions. It is recommended to give each component its own unique GUID. | ||
3719 | <Parameter Type="System.String" Name="componentId" /> | ||
3720 | <Parameter Type="System.String" Name="guid" /> | ||
3721 | </Instance> | ||
3722 | </Message> | ||
3723 | <Message Id="DeprecatedRegistryKeyActionAttribute" Number="1138"> | ||
3724 | <Instance> | ||
3725 | The RegistryKey/@Action attribute has been deprecated. In most cases, you can simply omit @Action. If you need to force Windows Installer to create an empty key or recursively delete the key, use the ForceCreateOnInstall or ForceDeleteOnUninstall attributes instead. | ||
3726 | </Instance> | ||
3727 | </Message> | ||
3728 | <Message Id="NotABinaryWixlib" Number="1139" SourceLineNumbers="no"> | ||
3729 | <Instance> | ||
3730 | '{0}' is not a binary Wixlib and has no embedded files. | ||
3731 | <Parameter Type="System.String" Name="wixlib" /> | ||
3732 | </Instance> | ||
3733 | </Message> | ||
3734 | <Message Id="NoPerMachineDependencies" Number="1140"> | ||
3735 | <Instance> | ||
3736 | Bundle dependencies will not be registered on per-machine package '{0}' for a per-user bundle. Either make sure that all packages are installed per-machine, or author any per-machine dependencies as permanent packages. | ||
3737 | <Parameter Type="System.String" Name="packageId" /> | ||
3738 | </Instance> | ||
3739 | </Message> | ||
3740 | <Message Id="DownloadUrlNotSupportedForAttachedContainers" Number="1141"> | ||
3741 | <Instance> | ||
3742 | The Container '{0}' is attached but included a @DownloadUrl attribute. Attached Containers cannot be downloaded so the download URL is being ignored. | ||
3743 | <Parameter Type="System.String" Name="containerId" /> | ||
3744 | </Instance> | ||
3745 | </Message> | ||
3746 | <Message Id="ReservedAttribute" Number="1142"> | ||
3747 | <Instance> | ||
3748 | The {0}/@{1} attribute is reserved for future use and has no effect in this version of the WiX toolset. | ||
3749 | <Parameter Type="System.String" Name="elementName" /> | ||
3750 | <Parameter Type="System.String" Name="attributeName" /> | ||
3751 | </Instance> | ||
3752 | </Message> | ||
3753 | <Message Id="RequiresMsi500forArmPackage" Number="1143"> | ||
3754 | <Instance> | ||
3755 | Package/@InstallerVersion must be 500 or greater for an Arm package. The value will be changed to 500. Please specify a value of 500 or greater in order to eliminate this warning. | ||
3756 | </Instance> | ||
3757 | </Message> | ||
3758 | <Message Id="RemotePayloadsMustNotAlsoBeCompressed" Number="1144"> | ||
3759 | <Instance> | ||
3760 | The {0}/@Compressed attribute must have value 'no' when a RemotePayload child element is present. RemotePayload indicates that a package will always be downloaded and cannot be compressed into a bundle. To eliminate this warning, explicitly set the {0}/@Compressed attribute to 'no'. | ||
3761 | <Parameter Type="System.String" Name="elementName" /> | ||
3762 | </Instance> | ||
3763 | </Message> | ||
3764 | <Message Id="AllChangesIncludedInPatch" Number="1145"> | ||
3765 | <Instance> | ||
3766 | All changes between the baseline and upgraded packages will be included in the patch except for any change to the ProductCode. The 'All' element is supported primarily for testing purposes and negates the benefits of patch families. | ||
3767 | </Instance> | ||
3768 | </Message> | ||
3769 | <Message Id="RelatedAttributeConditionallyIgnored" Number="1146"> | ||
3770 | <Instance> | ||
3771 | Ignoring attribute {0} because attribute {1} is set to {2}. | ||
3772 | <Parameter Type="System.String" Name="recessiveAttribute" /> | ||
3773 | <Parameter Type="System.String" Name="dominantAttribute" /> | ||
3774 | <Parameter Type="System.String" Name="dominantValue" /> | ||
3775 | </Instance> | ||
3776 | </Message> | ||
3777 | <Message Id="BackslashTerminateInlineDirectorySyntax" Number="1147"> | ||
3778 | <Instance> | ||
3779 | Backslash terminate the {0}/@{1} attribute's inline directory value '{2}'. A backslash ensures a directory name will not be mistaken for a directory reference. | ||
3780 | <Parameter Type="System.String" Name="elementName" /> | ||
3781 | <Parameter Type="System.String" Name="attributeName" /> | ||
3782 | <Parameter Type="System.String" Name="value" /> | ||
3783 | </Instance> | ||
3784 | </Message> | ||
3785 | <Message Id="VersionTruncated" Number="1148"> | ||
3786 | <Instance> | ||
3787 | Product version {0} in package '{1}' is not valid per the MSI SDK and cannot be represented in a bundle. It has been truncated to {2}. | ||
3788 | <Parameter Type="System.String" Name="originalVersion" /> | ||
3789 | <Parameter Type="System.String" Name="package" /> | ||
3790 | <Parameter Type="System.String" Name="truncatedVersion" /> | ||
3791 | </Instance> | ||
3792 | </Message> | ||
3793 | <Message Id="ServiceConfigFamilyNotSupported" Number="1149"> | ||
3794 | <Instance> | ||
3795 | {0} functionality is documented in the Windows Installer SDK to "not [work] as expected." Consider replacing {0} with the WixUtilExtension ServiceConfig element. | ||
3796 | <Parameter Type="System.String" Name="elementName" /> | ||
3797 | </Instance> | ||
3798 | </Message> | ||
3799 | </Class> | ||
3800 | |||
3801 | <Class Name="WixVerboses" ContainerName="WixVerboseEventArgs" BaseContainerName="MessageEventArgs" Level="Verbose"> | ||
3802 | <Message Id="ImportBinaryStream" Number="9000" SourceLineNumbers="no"> | ||
3803 | <Instance> | ||
3804 | Importing binary stream from '{0}'. | ||
3805 | <Parameter Type="System.String" Name="streamSource" /> | ||
3806 | </Instance> | ||
3807 | </Message> | ||
3808 | <Message Id="ImportIconStream" Number="9001" SourceLineNumbers="no"> | ||
3809 | <Instance> | ||
3810 | Importing icon stream from '{0}'. | ||
3811 | <Parameter Type="System.String" Name="streamSource" /> | ||
3812 | </Instance> | ||
3813 | </Message> | ||
3814 | <Message Id="CopyFile" Number="9002" SourceLineNumbers="no"> | ||
3815 | <Instance> | ||
3816 | Copying file '{0}' to '{1}'. | ||
3817 | <Parameter Type="System.String" Name="sourceFile" /> | ||
3818 | <Parameter Type="System.String" Name="destinationFile" /> | ||
3819 | </Instance> | ||
3820 | </Message> | ||
3821 | <Message Id="MoveFile" Number="9003" SourceLineNumbers="no"> | ||
3822 | <Instance> | ||
3823 | Moving file '{0}' to '{1}'. | ||
3824 | <Parameter Type="System.String" Name="sourceFile" /> | ||
3825 | <Parameter Type="System.String" Name="destinationFile" /> | ||
3826 | </Instance> | ||
3827 | </Message> | ||
3828 | <Message Id="CreateDirectory" Number="9004" SourceLineNumbers="no"> | ||
3829 | <Instance> | ||
3830 | The directory '{0}' does not exist, creating it now. | ||
3831 | <Parameter Type="System.String" Name="directory" /> | ||
3832 | </Instance> | ||
3833 | </Message> | ||
3834 | <Message Id="RemoveDestinationFile" Number="9005" SourceLineNumbers="no"> | ||
3835 | <Instance> | ||
3836 | The destination file '{0}' already exists, attempting to remove it. | ||
3837 | <Parameter Type="System.String" Name="destinationFile" /> | ||
3838 | </Instance> | ||
3839 | </Message> | ||
3840 | <Message Id="CabFile" Number="9006" SourceLineNumbers="no"> | ||
3841 | <Instance> | ||
3842 | Cabbing file {0} from '{1}'. | ||
3843 | <Parameter Type="System.String" Name="fileId" /> | ||
3844 | <Parameter Type="System.String" Name="filePath" /> | ||
3845 | </Instance> | ||
3846 | </Message> | ||
3847 | <Message Id="UpdatingFileInformation" Number="9007" SourceLineNumbers="no"> | ||
3848 | <Instance>Updating file information.</Instance> | ||
3849 | </Message> | ||
3850 | <Message Id="GeneratingDatabase" Number="9008" SourceLineNumbers="no"> | ||
3851 | <Instance>Generating database.</Instance> | ||
3852 | </Message> | ||
3853 | <Message Id="MergingModules" Number="9009" SourceLineNumbers="no"> | ||
3854 | <Instance>Merging modules.</Instance> | ||
3855 | </Message> | ||
3856 | <Message Id="CreatingCabinetFiles" Number="9010" SourceLineNumbers="no"> | ||
3857 | <Instance>Creating cabinet files.</Instance> | ||
3858 | </Message> | ||
3859 | <Message Id="ImportingStreams" Number="9011" SourceLineNumbers="no"> | ||
3860 | <Instance>Importing streams.</Instance> | ||
3861 | </Message> | ||
3862 | <Message Id="LayingOutMedia" Number="9012" SourceLineNumbers="no"> | ||
3863 | <Instance>Laying out media.</Instance> | ||
3864 | </Message> | ||
3865 | <Message Id="DecompilingTable" Number="9013" SourceLineNumbers="no"> | ||
3866 | <Instance> | ||
3867 | Decompiling the {0} table. | ||
3868 | <Parameter Type="System.String" Name="tableName" /> | ||
3869 | </Instance> | ||
3870 | </Message> | ||
3871 | <Message Id="ValidationInfo" Number="9014" SourceLineNumbers="no"> | ||
3872 | <Instance> | ||
3873 | {0}: {1} | ||
3874 | <Parameter Type="System.String" Name="ice" /> | ||
3875 | <Parameter Type="System.String" Name="message" /> | ||
3876 | </Instance> | ||
3877 | </Message> | ||
3878 | <Message Id="CreateCabinet" Number="9015" SourceLineNumbers="no"> | ||
3879 | <Instance> | ||
3880 | Creating cabinet '{0}'. | ||
3881 | <Parameter Type="System.String" Name="cabinet" /> | ||
3882 | </Instance> | ||
3883 | </Message> | ||
3884 | <Message Id="ValidatingDatabase" Number="9016" SourceLineNumbers="no"> | ||
3885 | <Instance>Validating database.</Instance> | ||
3886 | </Message> | ||
3887 | <Message Id="OpeningMergeModule" Number="9017" SourceLineNumbers="no"> | ||
3888 | <Instance> | ||
3889 | Opening merge module '{0}' with language '{1}'. | ||
3890 | <Parameter Type="System.String" Name="modulePath" /> | ||
3891 | <Parameter Type="System.Int16" Name="language" /> | ||
3892 | </Instance> | ||
3893 | </Message> | ||
3894 | <Message Id="MergingMergeModule" Number="9018" SourceLineNumbers="no"> | ||
3895 | <Instance> | ||
3896 | Merging merge module '{0}'. | ||
3897 | <Parameter Type="System.String" Name="modulePath" /> | ||
3898 | </Instance> | ||
3899 | </Message> | ||
3900 | <Message Id="ConnectingMergeModule" Number="9019" SourceLineNumbers="no"> | ||
3901 | <Instance> | ||
3902 | Connecting merge module '{0}' to feature '{1}'. | ||
3903 | <Parameter Type="System.String" Name="modulePath" /> | ||
3904 | <Parameter Type="System.String" Name="feature" /> | ||
3905 | </Instance> | ||
3906 | </Message> | ||
3907 | <Message Id="ResequencingMergeModuleFiles" Number="9020" SourceLineNumbers="no"> | ||
3908 | <Instance>Resequencing files from all merge modules.</Instance> | ||
3909 | </Message> | ||
3910 | <Message Id="BinderTempDirLocatedAt" Number="9021" SourceLineNumbers="no"> | ||
3911 | <Instance> | ||
3912 | Binder temporary directory located at '{0}'. | ||
3913 | <Parameter Type="System.String" Name="directory" /> | ||
3914 | </Instance> | ||
3915 | </Message> | ||
3916 | <Message Id="ValidatorTempDirLocatedAt" Number="9022" SourceLineNumbers="no"> | ||
3917 | <Instance> | ||
3918 | Validator temporary directory located at '{0}'. | ||
3919 | <Parameter Type="System.String" Name="directory" /> | ||
3920 | </Instance> | ||
3921 | </Message> | ||
3922 | <Message Id="GeneratingBundle" Number="9023" SourceLineNumbers="no"> | ||
3923 | <Instance> | ||
3924 | Generating Burn bundle '{0}' from stub '{1}'. | ||
3925 | <Parameter Type="System.String" Name="bundleFile" /> | ||
3926 | <Parameter Type="System.String" Name="stubFile" /> | ||
3927 | </Instance> | ||
3928 | </Message> | ||
3929 | <Message Id="ResolvingManifest" Number="9024" SourceLineNumbers="no"> | ||
3930 | <Instance> | ||
3931 | Generating resolved manifest '{0}'. | ||
3932 | <Parameter Type="System.String" Name="manifestFile" /> | ||
3933 | </Instance> | ||
3934 | </Message> | ||
3935 | <Message Id="LoadingPayload" Number="9025" SourceLineNumbers="no"> | ||
3936 | <Instance> | ||
3937 | Loading payload '{0}' into container. | ||
3938 | <Parameter Type="System.String" Name="payload" /> | ||
3939 | </Instance> | ||
3940 | </Message> | ||
3941 | <Message Id="BundleGuid" Number="9026" SourceLineNumbers="no"> | ||
3942 | <Instance> | ||
3943 | Assigning bundle GUID '{0}'. | ||
3944 | <Parameter Type="System.String" Name="bundleGuid" /> | ||
3945 | </Instance> | ||
3946 | </Message> | ||
3947 | <Message Id="CopyingExternalPayload" Number="9027" SourceLineNumbers="no"> | ||
3948 | <Instance> | ||
3949 | Copying external payload from '{0}' to '{1}'. | ||
3950 | <Parameter Type="System.String" Name="payload" /> | ||
3951 | <Parameter Type="System.String" Name="outputDirectory" /> | ||
3952 | </Instance> | ||
3953 | </Message> | ||
3954 | <Message Id="EmbeddingContainer" Number="9028" SourceLineNumbers="no"> | ||
3955 | <Instance> | ||
3956 | Embedding container '{0}' ({1} bytes) with '{2}' compression. | ||
3957 | <Parameter Type="System.String" Name="container" /> | ||
3958 | <Parameter Type="System.Int64" Name="size" /> | ||
3959 | <Parameter Type="System.String" Name="compression" /> | ||
3960 | </Instance> | ||
3961 | </Message> | ||
3962 | <Message Id="SwitchingToPerUserPackage" Number="9029"> | ||
3963 | <Instance> | ||
3964 | Bundle switching from per-machine to per-user due to addition of per-user package '{0}'. | ||
3965 | <Parameter Type="System.String" Name="path" /> | ||
3966 | </Instance> | ||
3967 | </Message> | ||
3968 | <Message Id="SetCabbingThreadCount" Number="9030" SourceLineNumbers="no"> | ||
3969 | <Instance> | ||
3970 | There will be '{0}' threads used to produce CAB files. | ||
3971 | <Parameter Type="System.String" Name="threads" /> | ||
3972 | </Instance> | ||
3973 | </Message> | ||
3974 | <Message Id="ValidationSerialized" Number="9031" SourceLineNumbers="no"> | ||
3975 | <Instance> | ||
3976 | Multiple packages cannot reliably be validated simultaneously. This validation will resume when the other package being validated has completed. | ||
3977 | </Instance> | ||
3978 | </Message> | ||
3979 | <Message Id="ReusingCabCache" Number="9032"> | ||
3980 | <Instance> | ||
3981 | Reusing cabinet '{0}' from cabinet cache path: '{1}'. | ||
3982 | <Parameter Type="System.String" Name="cabinetName" /> | ||
3983 | <Parameter Type="System.String" Name="source" /> | ||
3984 | </Instance> | ||
3985 | </Message> | ||
3986 | <Message Id="CabinetsSplitInParallel" Number="9033" SourceLineNumbers="no"> | ||
3987 | <Instance> | ||
3988 | Multiple Cabinets with Large Files are splitting simultaneously. This current cabinet is waiting on a shared resource and splitting will resume when the other splitting has completed. | ||
3989 | </Instance> | ||
3990 | </Message> | ||
3991 | <Message Id="ValidatedDatabase" Number="9034" SourceLineNumbers="no"> | ||
3992 | <Instance> | ||
3993 | Validation complete: {0:N0}ms elapsed. | ||
3994 | <Parameter Type="System.Int64" Name="size" /> | ||
3995 | </Instance> | ||
3996 | </Message> | ||
3997 | </Class> | ||
3998 | </Messages> | ||
diff --git a/src/WixToolset.Core/Extensibility/HeatExtension.cs b/src/WixToolset.Core/Extensibility/HeatExtension.cs index 2b4a6823..b0da75f1 100644 --- a/src/WixToolset.Core/Extensibility/HeatExtension.cs +++ b/src/WixToolset.Core/Extensibility/HeatExtension.cs | |||
@@ -123,13 +123,13 @@ namespace WixToolset.Core.Extensibility | |||
123 | } | 123 | } |
124 | else | 124 | else |
125 | { | 125 | { |
126 | throw new WixException(WixErrors.InvalidExtension(assemblyName, innerE.Message)); | 126 | throw new WixException(ErrorMessages.InvalidExtension(assemblyName, innerE.Message)); |
127 | } | 127 | } |
128 | } | 128 | } |
129 | } | 129 | } |
130 | else | 130 | else |
131 | { | 131 | { |
132 | throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message)); | 132 | throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message)); |
133 | } | 133 | } |
134 | } | 134 | } |
135 | } | 135 | } |
@@ -143,7 +143,7 @@ namespace WixToolset.Core.Extensibility | |||
143 | } | 143 | } |
144 | catch (Exception e) | 144 | catch (Exception e) |
145 | { | 145 | { |
146 | throw new WixException(WixErrors.InvalidExtensionType(assemblyName, className, e.GetType().ToString(), e.Message)); | 146 | throw new WixException(ErrorMessages.InvalidExtensionType(assemblyName, className, e.GetType().ToString(), e.Message)); |
147 | } | 147 | } |
148 | } | 148 | } |
149 | else | 149 | else |
@@ -157,7 +157,7 @@ namespace WixToolset.Core.Extensibility | |||
157 | } | 157 | } |
158 | else | 158 | else |
159 | { | 159 | { |
160 | throw new WixException(WixErrors.InvalidExtensionType(assemblyName, typeof(AssemblyDefaultHeatExtensionAttribute).ToString())); | 160 | throw new WixException(ErrorMessages.InvalidExtensionType(assemblyName, typeof(AssemblyDefaultHeatExtensionAttribute).ToString())); |
161 | } | 161 | } |
162 | } | 162 | } |
163 | } | 163 | } |
@@ -168,7 +168,7 @@ namespace WixToolset.Core.Extensibility | |||
168 | } | 168 | } |
169 | else | 169 | else |
170 | { | 170 | { |
171 | throw new WixException(WixErrors.InvalidExtensionType(extension, extensionType.ToString(), typeof(HeatExtension).ToString())); | 171 | throw new WixException(ErrorMessages.InvalidExtensionType(extension, extensionType.ToString(), typeof(HeatExtension).ToString())); |
172 | } | 172 | } |
173 | } | 173 | } |
174 | 174 | ||
@@ -191,7 +191,7 @@ namespace WixToolset.Core.Extensibility | |||
191 | } | 191 | } |
192 | catch (Exception e) | 192 | catch (Exception e) |
193 | { | 193 | { |
194 | throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message)); | 194 | throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message)); |
195 | } | 195 | } |
196 | 196 | ||
197 | return extensionAssembly; | 197 | return extensionAssembly; |
diff --git a/src/WixToolset.Core/Extensibility/IHarvesterCore.cs b/src/WixToolset.Core/Extensibility/IHarvesterCore.cs index 9a6fd10c..a9001b46 100644 --- a/src/WixToolset.Core/Extensibility/IHarvesterCore.cs +++ b/src/WixToolset.Core/Extensibility/IHarvesterCore.cs | |||
@@ -2,22 +2,14 @@ | |||
2 | 2 | ||
3 | namespace WixToolset | 3 | namespace WixToolset |
4 | { | 4 | { |
5 | using System; | 5 | using WixToolset.Extensibility.Services; |
6 | using System.Diagnostics.CodeAnalysis; | ||
7 | using System.IO; | ||
8 | using WixToolset.Data; | ||
9 | using Wix = WixToolset.Data.Serialize; | ||
10 | 6 | ||
11 | /// <summary> | 7 | /// <summary> |
12 | /// The WiX Toolset harvester core. | 8 | /// The WiX Toolset harvester core. |
13 | /// </summary> | 9 | /// </summary> |
14 | public interface IHarvesterCore | 10 | public interface IHarvesterCore |
15 | { | 11 | { |
16 | /// <summary> | 12 | IMessaging Messaging { get; set; } |
17 | /// Gets whether the harvester core encountered an error while processing. | ||
18 | /// </summary> | ||
19 | /// <value>Flag if core encountered an error during processing.</value> | ||
20 | bool EncounteredError { get; } | ||
21 | 13 | ||
22 | /// <summary> | 14 | /// <summary> |
23 | /// Gets or sets the value of the extension argument passed to heat. | 15 | /// Gets or sets the value of the extension argument passed to heat. |
@@ -47,12 +39,6 @@ namespace WixToolset | |||
47 | string GenerateIdentifier(string prefix, params string[] args); | 39 | string GenerateIdentifier(string prefix, params string[] args); |
48 | 40 | ||
49 | /// <summary> | 41 | /// <summary> |
50 | /// Sends a message to the message delegate if there is one. | ||
51 | /// </summary> | ||
52 | /// <param name="mea">Message event arguments.</param> | ||
53 | void OnMessage(MessageEventArgs mea); | ||
54 | |||
55 | /// <summary> | ||
56 | /// Resolves a file's path if the Wix.File.Source value starts with "SourceDir\". | 42 | /// Resolves a file's path if the Wix.File.Source value starts with "SourceDir\". |
57 | /// </summary> | 43 | /// </summary> |
58 | /// <param name="fileSource">The Wix.File.Source value with "SourceDir\".</param> | 44 | /// <param name="fileSource">The Wix.File.Source value with "SourceDir\".</param> |
diff --git a/src/WixToolset.Core/Extensibility/IHeatCore.cs b/src/WixToolset.Core/Extensibility/IHeatCore.cs index 031c8132..1365dfaf 100644 --- a/src/WixToolset.Core/Extensibility/IHeatCore.cs +++ b/src/WixToolset.Core/Extensibility/IHeatCore.cs | |||
@@ -2,20 +2,12 @@ | |||
2 | 2 | ||
3 | namespace WixToolset.Core.Extensibility | 3 | namespace WixToolset.Core.Extensibility |
4 | { | 4 | { |
5 | using WixToolset.Data; | ||
6 | |||
7 | /// <summary> | 5 | /// <summary> |
8 | /// The WiX Toolset Harvester application core. | 6 | /// The WiX Toolset Harvester application core. |
9 | /// </summary> | 7 | /// </summary> |
10 | public interface IHeatCore | 8 | public interface IHeatCore |
11 | { | 9 | { |
12 | /// <summary> | 10 | /// <summary> |
13 | /// Gets whether the mutator core encountered an error while processing. | ||
14 | /// </summary> | ||
15 | /// <value>Flag if core encountered an error during processing.</value> | ||
16 | bool EncounteredError { get; } | ||
17 | |||
18 | /// <summary> | ||
19 | /// Gets the harvester. | 11 | /// Gets the harvester. |
20 | /// </summary> | 12 | /// </summary> |
21 | /// <value>The harvester.</value> | 13 | /// <value>The harvester.</value> |
@@ -26,11 +18,5 @@ namespace WixToolset.Core.Extensibility | |||
26 | /// </summary> | 18 | /// </summary> |
27 | /// <value>The mutator.</value> | 19 | /// <value>The mutator.</value> |
28 | Mutator Mutator { get; } | 20 | Mutator Mutator { get; } |
29 | |||
30 | /// <summary> | ||
31 | /// Sends a message to the message delegate if there is one. | ||
32 | /// </summary> | ||
33 | /// <param name="mea">Message event arguments.</param> | ||
34 | void OnMessage(MessageEventArgs mea); | ||
35 | } | 21 | } |
36 | } | 22 | } |
diff --git a/src/WixToolset.Core/ExtensionManager.cs b/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs index 6a9d3b5a..5714701a 100644 --- a/src/WixToolset.Core/ExtensionManager.cs +++ b/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs | |||
@@ -1,6 +1,6 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core.ExtensibilityServices |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
@@ -83,7 +83,7 @@ namespace WixToolset.Core | |||
83 | } | 83 | } |
84 | catch (Exception e) | 84 | catch (Exception e) |
85 | { | 85 | { |
86 | throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message), e); | 86 | throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message), e); |
87 | } | 87 | } |
88 | } | 88 | } |
89 | 89 | ||
@@ -102,11 +102,11 @@ namespace WixToolset.Core | |||
102 | return false; | 102 | return false; |
103 | } | 103 | } |
104 | 104 | ||
105 | throw new WixException(WixErrors.InvalidExtension(assemblyName, innerE.Message), innerE); | 105 | throw new WixException(ErrorMessages.InvalidExtension(assemblyName, innerE.Message), innerE); |
106 | } | 106 | } |
107 | catch (Exception e) | 107 | catch (Exception e) |
108 | { | 108 | { |
109 | throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message), e); | 109 | throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message), e); |
110 | } | 110 | } |
111 | } | 111 | } |
112 | } | 112 | } |
diff --git a/src/WixToolset.Core/ExtensibilityServices/Messaging.cs b/src/WixToolset.Core/ExtensibilityServices/Messaging.cs new file mode 100644 index 00000000..4510f264 --- /dev/null +++ b/src/WixToolset.Core/ExtensibilityServices/Messaging.cs | |||
@@ -0,0 +1,194 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Core.ExtensibilityServices | ||
4 | { | ||
5 | using System; | ||
6 | using System.Collections.Generic; | ||
7 | using System.Globalization; | ||
8 | using System.Text; | ||
9 | using WixToolset.Data; | ||
10 | using WixToolset.Extensibility; | ||
11 | using WixToolset.Extensibility.Services; | ||
12 | |||
13 | internal class Messaging : IMessaging | ||
14 | { | ||
15 | private IMessageListener listener; | ||
16 | private HashSet<int> suppressedWarnings = new HashSet<int>(); | ||
17 | private HashSet<int> warningsAsErrors = new HashSet<int>(); | ||
18 | |||
19 | public bool EncounteredError { get; private set; } | ||
20 | |||
21 | public int LastErrorNumber { get; private set; } | ||
22 | |||
23 | public bool ShowVerboseMessages { get; set; } | ||
24 | |||
25 | public bool SuppressAllWarnings { get; set; } | ||
26 | |||
27 | public bool WarningsAsError { get; set; } | ||
28 | |||
29 | public void ElevateWarningMessage(int warningNumber) | ||
30 | { | ||
31 | this.warningsAsErrors.Add(warningNumber); | ||
32 | } | ||
33 | |||
34 | public void SetListener(IMessageListener listener) | ||
35 | { | ||
36 | this.listener = listener; | ||
37 | } | ||
38 | |||
39 | public void SuppressWarningMessage(int warningNumber) | ||
40 | { | ||
41 | this.suppressedWarnings.Add(warningNumber); | ||
42 | } | ||
43 | |||
44 | public string FormatMessage(Message message) | ||
45 | { | ||
46 | var level = CalculateMessageLevel(message); | ||
47 | |||
48 | if (level == MessageLevel.Nothing) | ||
49 | { | ||
50 | return String.Empty; | ||
51 | } | ||
52 | |||
53 | var shortAppName = String.IsNullOrEmpty(this.listener?.ShortAppName) ? "WIX" : this.listener.ShortAppName; | ||
54 | var longAppName = String.IsNullOrEmpty(this.listener?.LongAppName) ? "WIX" : this.listener.LongAppName; | ||
55 | |||
56 | var fileNames = new List<string>(); | ||
57 | var errorFileName = longAppName; | ||
58 | for (var sln = message.SourceLineNumbers; null != sln; sln = sln.Parent) | ||
59 | { | ||
60 | if (String.IsNullOrEmpty(sln.FileName)) | ||
61 | { | ||
62 | continue; | ||
63 | } | ||
64 | else if (sln.LineNumber.HasValue) | ||
65 | { | ||
66 | if (fileNames.Count == 0) | ||
67 | { | ||
68 | errorFileName = String.Format(CultureInfo.CurrentUICulture, WixStrings.Format_FirstLineNumber, sln.FileName, sln.LineNumber); | ||
69 | } | ||
70 | |||
71 | fileNames.Add(String.Format(CultureInfo.CurrentUICulture, WixStrings.Format_LineNumber, sln.FileName, sln.LineNumber)); | ||
72 | } | ||
73 | else | ||
74 | { | ||
75 | if (fileNames.Count == 0) | ||
76 | { | ||
77 | errorFileName = sln.FileName; | ||
78 | } | ||
79 | |||
80 | fileNames.Add(sln.FileName); | ||
81 | } | ||
82 | } | ||
83 | |||
84 | var levelString = String.Empty; | ||
85 | if (MessageLevel.Warning == level) | ||
86 | { | ||
87 | levelString = WixStrings.MessageType_Warning; | ||
88 | } | ||
89 | else if (MessageLevel.Error == level) | ||
90 | { | ||
91 | levelString = WixStrings.MessageType_Error; | ||
92 | } | ||
93 | |||
94 | string formatted; | ||
95 | if (message.ResourceManager == null) | ||
96 | { | ||
97 | formatted = String.Format(CultureInfo.InvariantCulture, message.ResourceNameOrFormat, message.MessageArgs); | ||
98 | } | ||
99 | else | ||
100 | { | ||
101 | formatted = String.Format(CultureInfo.InvariantCulture, message.ResourceManager.GetString(message.ResourceNameOrFormat), message.MessageArgs); | ||
102 | } | ||
103 | |||
104 | var builder = new StringBuilder(); | ||
105 | if (level == MessageLevel.Information || level == MessageLevel.Verbose) | ||
106 | { | ||
107 | builder.AppendFormat(WixStrings.Format_InfoMessage, formatted); | ||
108 | } | ||
109 | else | ||
110 | { | ||
111 | builder.AppendFormat(WixStrings.Format_NonInfoMessage, errorFileName, levelString, shortAppName, message.Id, formatted); | ||
112 | } | ||
113 | |||
114 | if (fileNames.Count > 1) | ||
115 | { | ||
116 | builder.AppendFormat(WixStrings.INF_SourceTrace, Environment.NewLine); | ||
117 | |||
118 | foreach (var fileName in fileNames) | ||
119 | { | ||
120 | builder.AppendFormat(WixStrings.INF_SourceTraceLocation, fileName, Environment.NewLine); | ||
121 | } | ||
122 | |||
123 | builder.AppendLine(); | ||
124 | } | ||
125 | |||
126 | return builder.ToString(); | ||
127 | } | ||
128 | |||
129 | public void Write(Message message) | ||
130 | { | ||
131 | var level = CalculateMessageLevel(message); | ||
132 | |||
133 | if (level == MessageLevel.Nothing) | ||
134 | { | ||
135 | return; | ||
136 | } | ||
137 | |||
138 | if (level == MessageLevel.Error) | ||
139 | { | ||
140 | this.EncounteredError = true; | ||
141 | this.LastErrorNumber = message.Id; | ||
142 | } | ||
143 | |||
144 | if (this.listener != null) | ||
145 | { | ||
146 | this.listener.Write(message); | ||
147 | } | ||
148 | else if (level == MessageLevel.Error) | ||
149 | { | ||
150 | throw new WixException(message); | ||
151 | } | ||
152 | } | ||
153 | |||
154 | public void Write(string message, bool verbose = false) | ||
155 | { | ||
156 | if (!verbose || this.ShowVerboseMessages) | ||
157 | { | ||
158 | this.listener?.Write(message); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | /// <summary> | ||
163 | /// Determines the level of this message, when taking into account warning-as-error, | ||
164 | /// warning level, verbosity level and message suppressed by the caller. | ||
165 | /// </summary> | ||
166 | /// <param name="message">Event arguments for the message.</param> | ||
167 | /// <returns>MessageLevel representing the level of this message.</returns> | ||
168 | private MessageLevel CalculateMessageLevel(Message message) | ||
169 | { | ||
170 | var level = message.Level; | ||
171 | |||
172 | if (level == MessageLevel.Verbose) | ||
173 | { | ||
174 | if (!this.ShowVerboseMessages) | ||
175 | { | ||
176 | level = MessageLevel.Nothing; | ||
177 | } | ||
178 | } | ||
179 | else if (level == MessageLevel.Warning) | ||
180 | { | ||
181 | if (this.SuppressAllWarnings || this.suppressedWarnings.Contains(message.Id)) | ||
182 | { | ||
183 | level = MessageLevel.Nothing; | ||
184 | } | ||
185 | else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id)) | ||
186 | { | ||
187 | level = MessageLevel.Error; | ||
188 | } | ||
189 | } | ||
190 | |||
191 | return level; | ||
192 | } | ||
193 | } | ||
194 | } | ||
diff --git a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs index 8a67efe9..d2486890 100644 --- a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs | |||
@@ -34,10 +34,14 @@ namespace WixToolset.Core.ExtensibilityServices | |||
34 | public ParseHelper(IServiceProvider serviceProvider) | 34 | public ParseHelper(IServiceProvider serviceProvider) |
35 | { | 35 | { |
36 | this.ServiceProvider = serviceProvider; | 36 | this.ServiceProvider = serviceProvider; |
37 | |||
38 | this.Messaging = serviceProvider.GetService<IMessaging>(); | ||
37 | } | 39 | } |
38 | 40 | ||
39 | private IServiceProvider ServiceProvider { get; } | 41 | private IServiceProvider ServiceProvider { get; } |
40 | 42 | ||
43 | private IMessaging Messaging { get; } | ||
44 | |||
41 | private ITupleDefinitionCreator Creator { get; set; } | 45 | private ITupleDefinitionCreator Creator { get; set; } |
42 | 46 | ||
43 | public bool ContainsProperty(string possibleProperty) | 47 | public bool ContainsProperty(string possibleProperty) |
@@ -136,7 +140,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
136 | // TODO: should overriding the parent identifier with a specific id be an error or a warning or just let it slide? | 140 | // TODO: should overriding the parent identifier with a specific id be an error or a warning or just let it slide? |
137 | //if (null != parentId) | 141 | //if (null != parentId) |
138 | //{ | 142 | //{ |
139 | // this.core.OnMessage(WixErrors.Xxx(sourceLineNumbers)); | 143 | // this.core.Write(WixErrors.Xxx(sourceLineNumbers)); |
140 | //} | 144 | //} |
141 | 145 | ||
142 | id = inlineSyntax[0].TrimEnd(':'); | 146 | id = inlineSyntax[0].TrimEnd(':'); |
@@ -360,7 +364,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
360 | 364 | ||
361 | if (ParseHelper.PutGuidHere.IsMatch(value)) | 365 | if (ParseHelper.PutGuidHere.IsMatch(value)) |
362 | { | 366 | { |
363 | Messaging.Instance.OnMessage(WixErrors.ExampleGuid(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 367 | this.Messaging.Write(ErrorMessages.ExampleGuid(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
364 | return CompilerConstants.IllegalGuid; | 368 | return CompilerConstants.IllegalGuid; |
365 | } | 369 | } |
366 | else if (value.StartsWith("!(loc", StringComparison.Ordinal) || value.StartsWith("$(loc", StringComparison.Ordinal) || value.StartsWith("!(wix", StringComparison.Ordinal)) | 370 | else if (value.StartsWith("!(loc", StringComparison.Ordinal) || value.StartsWith("$(loc", StringComparison.Ordinal) || value.StartsWith("!(wix", StringComparison.Ordinal)) |
@@ -374,14 +378,14 @@ namespace WixToolset.Core.ExtensibilityServices | |||
374 | // TODO: This used to be a pedantic error, what should it be now? | 378 | // TODO: This used to be a pedantic error, what should it be now? |
375 | //if (uppercaseGuid != value) | 379 | //if (uppercaseGuid != value) |
376 | //{ | 380 | //{ |
377 | // Messaging.Instance.OnMessage(WixErrors.GuidContainsLowercaseLetters(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 381 | // this.Messaging.Write(WixErrors.GuidContainsLowercaseLetters(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
378 | //} | 382 | //} |
379 | 383 | ||
380 | return String.Concat("{", uppercaseGuid, "}"); | 384 | return String.Concat("{", uppercaseGuid, "}"); |
381 | } | 385 | } |
382 | else | 386 | else |
383 | { | 387 | { |
384 | Messaging.Instance.OnMessage(WixErrors.IllegalGuidValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 388 | this.Messaging.Write(ErrorMessages.IllegalGuidValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
385 | } | 389 | } |
386 | } | 390 | } |
387 | 391 | ||
@@ -391,7 +395,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
391 | public Identifier GetAttributeIdentifier(SourceLineNumber sourceLineNumbers, XAttribute attribute) | 395 | public Identifier GetAttributeIdentifier(SourceLineNumber sourceLineNumbers, XAttribute attribute) |
392 | { | 396 | { |
393 | var access = AccessModifier.Public; | 397 | var access = AccessModifier.Public; |
394 | var value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeEmpty); | 398 | var value = Common.GetAttributeValue(this.Messaging, sourceLineNumbers, attribute, EmptyRule.CanBeEmpty); |
395 | 399 | ||
396 | var match = ParseHelper.LegalIdentifierWithAccess.Match(value); | 400 | var match = ParseHelper.LegalIdentifierWithAccess.Match(value); |
397 | if (!match.Success) | 401 | if (!match.Success) |
@@ -407,7 +411,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
407 | 411 | ||
408 | if (Common.IsIdentifier(value) && 72 < value.Length) | 412 | if (Common.IsIdentifier(value) && 72 < value.Length) |
409 | { | 413 | { |
410 | Messaging.Instance.OnMessage(WixWarnings.IdentifierTooLong(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 414 | this.Messaging.Write(WarningMessages.IdentifierTooLong(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
411 | } | 415 | } |
412 | 416 | ||
413 | return new Identifier(value, access); | 417 | return new Identifier(value, access); |
@@ -415,7 +419,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
415 | 419 | ||
416 | public string GetAttributeIdentifierValue(SourceLineNumber sourceLineNumbers, XAttribute attribute) | 420 | public string GetAttributeIdentifierValue(SourceLineNumber sourceLineNumbers, XAttribute attribute) |
417 | { | 421 | { |
418 | return Common.GetAttributeIdentifierValue(sourceLineNumbers, attribute); | 422 | return Common.GetAttributeIdentifierValue(this.Messaging, sourceLineNumbers, attribute); |
419 | } | 423 | } |
420 | 424 | ||
421 | public string[] GetAttributeInlineDirectorySyntax(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool resultUsedToCreateReference = false) | 425 | public string[] GetAttributeInlineDirectorySyntax(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool resultUsedToCreateReference = false) |
@@ -432,12 +436,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
432 | string id = result[0].TrimEnd(':'); | 436 | string id = result[0].TrimEnd(':'); |
433 | if (1 == result.Length) | 437 | if (1 == result.Length) |
434 | { | 438 | { |
435 | Messaging.Instance.OnMessage(WixErrors.InlineDirectorySyntaxRequiresPath(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, id)); | 439 | this.Messaging.Write(ErrorMessages.InlineDirectorySyntaxRequiresPath(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, id)); |
436 | return null; | 440 | return null; |
437 | } | 441 | } |
438 | else if (!this.IsValidIdentifier(id)) | 442 | else if (!this.IsValidIdentifier(id)) |
439 | { | 443 | { |
440 | Messaging.Instance.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, id)); | 444 | this.Messaging.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, id)); |
441 | return null; | 445 | return null; |
442 | } | 446 | } |
443 | 447 | ||
@@ -449,13 +453,13 @@ namespace WixToolset.Core.ExtensibilityServices | |||
449 | { | 453 | { |
450 | if (!this.IsValidLongFilename(result[0], false, false)) | 454 | if (!this.IsValidLongFilename(result[0], false, false)) |
451 | { | 455 | { |
452 | Messaging.Instance.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, result[0])); | 456 | this.Messaging.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, result[0])); |
453 | return null; | 457 | return null; |
454 | } | 458 | } |
455 | } | 459 | } |
456 | else if (!this.IsValidIdentifier(result[0])) | 460 | else if (!this.IsValidIdentifier(result[0])) |
457 | { | 461 | { |
458 | Messaging.Instance.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, result[0])); | 462 | this.Messaging.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, result[0])); |
459 | return null; | 463 | return null; |
460 | } | 464 | } |
461 | 465 | ||
@@ -467,14 +471,14 @@ namespace WixToolset.Core.ExtensibilityServices | |||
467 | { | 471 | { |
468 | if (!this.IsValidLongFilename(result[i], false, false)) | 472 | if (!this.IsValidLongFilename(result[i], false, false)) |
469 | { | 473 | { |
470 | Messaging.Instance.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, result[i])); | 474 | this.Messaging.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value, result[i])); |
471 | return null; | 475 | return null; |
472 | } | 476 | } |
473 | } | 477 | } |
474 | 478 | ||
475 | if (1 < result.Length && !value.EndsWith("\\")) | 479 | if (1 < result.Length && !value.EndsWith("\\")) |
476 | { | 480 | { |
477 | Messaging.Instance.OnMessage(WixWarnings.BackslashTerminateInlineDirectorySyntax(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 481 | this.Messaging.Write(WarningMessages.BackslashTerminateInlineDirectorySyntax(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
478 | } | 482 | } |
479 | } | 483 | } |
480 | 484 | ||
@@ -483,7 +487,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
483 | 487 | ||
484 | public int GetAttributeIntegerValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, int minimum, int maximum) | 488 | public int GetAttributeIntegerValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, int minimum, int maximum) |
485 | { | 489 | { |
486 | return Common.GetAttributeIntegerValue(sourceLineNumbers, attribute, minimum, maximum); | 490 | return Common.GetAttributeIntegerValue(this.Messaging, sourceLineNumbers, attribute, minimum, maximum); |
487 | } | 491 | } |
488 | 492 | ||
489 | public string GetAttributeLongFilename(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool allowWildcards, bool allowRelative) | 493 | public string GetAttributeLongFilename(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool allowWildcards, bool allowRelative) |
@@ -501,11 +505,11 @@ namespace WixToolset.Core.ExtensibilityServices | |||
501 | { | 505 | { |
502 | if (allowRelative) | 506 | if (allowRelative) |
503 | { | 507 | { |
504 | Messaging.Instance.OnMessage(WixErrors.IllegalRelativeLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 508 | this.Messaging.Write(ErrorMessages.IllegalRelativeLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
505 | } | 509 | } |
506 | else | 510 | else |
507 | { | 511 | { |
508 | Messaging.Instance.OnMessage(WixErrors.IllegalLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 512 | this.Messaging.Write(ErrorMessages.IllegalLongFilename(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
509 | } | 513 | } |
510 | } | 514 | } |
511 | else if (allowRelative) | 515 | else if (allowRelative) |
@@ -513,12 +517,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
513 | string normalizedPath = value.Replace('\\', '/'); | 517 | string normalizedPath = value.Replace('\\', '/'); |
514 | if (normalizedPath.StartsWith("../", StringComparison.Ordinal) || normalizedPath.Contains("/../")) | 518 | if (normalizedPath.StartsWith("../", StringComparison.Ordinal) || normalizedPath.Contains("/../")) |
515 | { | 519 | { |
516 | Messaging.Instance.OnMessage(WixErrors.PayloadMustBeRelativeToCache(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 520 | this.Messaging.Write(ErrorMessages.PayloadMustBeRelativeToCache(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
517 | } | 521 | } |
518 | } | 522 | } |
519 | else if (CompilerCore.IsAmbiguousFilename(value)) | 523 | else if (CompilerCore.IsAmbiguousFilename(value)) |
520 | { | 524 | { |
521 | Messaging.Instance.OnMessage(WixWarnings.AmbiguousFileOrDirectoryName(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 525 | this.Messaging.Write(WarningMessages.AmbiguousFileOrDirectoryName(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
522 | } | 526 | } |
523 | } | 527 | } |
524 | 528 | ||
@@ -539,11 +543,11 @@ namespace WixToolset.Core.ExtensibilityServices | |||
539 | 543 | ||
540 | if (CompilerConstants.LongNotSet == longValue || CompilerConstants.IllegalLong == longValue) | 544 | if (CompilerConstants.LongNotSet == longValue || CompilerConstants.IllegalLong == longValue) |
541 | { | 545 | { |
542 | Messaging.Instance.OnMessage(WixErrors.IntegralValueSentinelCollision(sourceLineNumbers, longValue)); | 546 | this.Messaging.Write(ErrorMessages.IntegralValueSentinelCollision(sourceLineNumbers, longValue)); |
543 | } | 547 | } |
544 | else if (minimum > longValue || maximum < longValue) | 548 | else if (minimum > longValue || maximum < longValue) |
545 | { | 549 | { |
546 | Messaging.Instance.OnMessage(WixErrors.IntegralValueOutOfRange(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, longValue, minimum, maximum)); | 550 | this.Messaging.Write(ErrorMessages.IntegralValueOutOfRange(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, longValue, minimum, maximum)); |
547 | longValue = CompilerConstants.IllegalLong; | 551 | longValue = CompilerConstants.IllegalLong; |
548 | } | 552 | } |
549 | 553 | ||
@@ -551,11 +555,11 @@ namespace WixToolset.Core.ExtensibilityServices | |||
551 | } | 555 | } |
552 | catch (FormatException) | 556 | catch (FormatException) |
553 | { | 557 | { |
554 | Messaging.Instance.OnMessage(WixErrors.IllegalLongValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 558 | this.Messaging.Write(ErrorMessages.IllegalLongValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
555 | } | 559 | } |
556 | catch (OverflowException) | 560 | catch (OverflowException) |
557 | { | 561 | { |
558 | Messaging.Instance.OnMessage(WixErrors.IllegalLongValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 562 | this.Messaging.Write(ErrorMessages.IllegalLongValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
559 | } | 563 | } |
560 | } | 564 | } |
561 | 565 | ||
@@ -564,7 +568,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
564 | 568 | ||
565 | public string GetAttributeValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, EmptyRule emptyRule = EmptyRule.CanBeWhitespaceOnly) | 569 | public string GetAttributeValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, EmptyRule emptyRule = EmptyRule.CanBeWhitespaceOnly) |
566 | { | 570 | { |
567 | return Common.GetAttributeValue(sourceLineNumbers, attribute, emptyRule); | 571 | return Common.GetAttributeValue(this.Messaging, sourceLineNumbers, attribute, emptyRule); |
568 | } | 572 | } |
569 | 573 | ||
570 | public string GetAttributeVersionValue(SourceLineNumber sourceLineNumbers, XAttribute attribute) | 574 | public string GetAttributeVersionValue(SourceLineNumber sourceLineNumbers, XAttribute attribute) |
@@ -584,7 +588,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
584 | return value; | 588 | return value; |
585 | } | 589 | } |
586 | 590 | ||
587 | Messaging.Instance.OnMessage(WixErrors.IllegalVersionValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 591 | this.Messaging.Write(ErrorMessages.IllegalVersionValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
588 | } | 592 | } |
589 | 593 | ||
590 | return null; | 594 | return null; |
@@ -608,7 +612,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
608 | return YesNoDefaultType.Default; | 612 | return YesNoDefaultType.Default; |
609 | 613 | ||
610 | default: | 614 | default: |
611 | Messaging.Instance.OnMessage(WixErrors.IllegalYesNoDefaultValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 615 | this.Messaging.Write(ErrorMessages.IllegalYesNoDefaultValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
612 | return YesNoDefaultType.IllegalValue; | 616 | return YesNoDefaultType.IllegalValue; |
613 | } | 617 | } |
614 | } | 618 | } |
@@ -628,7 +632,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
628 | return YesNoType.No; | 632 | return YesNoType.No; |
629 | 633 | ||
630 | default: | 634 | default: |
631 | Messaging.Instance.OnMessage(WixErrors.IllegalYesNoValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); | 635 | this.Messaging.Write(ErrorMessages.IllegalYesNoValue(sourceLineNumbers, attribute.Parent.Name.LocalName, attribute.Name.LocalName, value)); |
632 | return YesNoType.IllegalValue; | 636 | return YesNoType.IllegalValue; |
633 | } | 637 | } |
634 | } | 638 | } |
@@ -722,7 +726,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
722 | else | 726 | else |
723 | { | 727 | { |
724 | var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); | 728 | var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); |
725 | Messaging.Instance.OnMessage(WixErrors.UnhandledExtensionAttribute(sourceLineNumbers, element.Name.LocalName, attribute.Name.LocalName, attribute.Name.NamespaceName)); | 729 | this.Messaging.Write(ErrorMessages.UnhandledExtensionAttribute(sourceLineNumbers, element.Name.LocalName, attribute.Name.LocalName, attribute.Name.NamespaceName)); |
726 | } | 730 | } |
727 | } | 731 | } |
728 | 732 | ||
@@ -736,7 +740,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
736 | else | 740 | else |
737 | { | 741 | { |
738 | var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); | 742 | var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); |
739 | Messaging.Instance.OnMessage(WixErrors.UnhandledExtensionElement(childSourceLineNumbers, parentElement.Name.LocalName, element.Name.LocalName, element.Name.NamespaceName)); | 743 | this.Messaging.Write(ErrorMessages.UnhandledExtensionElement(childSourceLineNumbers, parentElement.Name.LocalName, element.Name.LocalName, element.Name.NamespaceName)); |
740 | } | 744 | } |
741 | } | 745 | } |
742 | 746 | ||
@@ -751,7 +755,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
751 | else | 755 | else |
752 | { | 756 | { |
753 | var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); | 757 | var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); |
754 | Messaging.Instance.OnMessage(WixErrors.UnhandledExtensionElement(childSourceLineNumbers, parentElement.Name.LocalName, element.Name.LocalName, element.Name.NamespaceName)); | 758 | this.Messaging.Write(ErrorMessages.UnhandledExtensionElement(childSourceLineNumbers, parentElement.Name.LocalName, element.Name.LocalName, element.Name.NamespaceName)); |
755 | } | 759 | } |
756 | 760 | ||
757 | return keyPath; | 761 | return keyPath; |
@@ -775,13 +779,13 @@ namespace WixToolset.Core.ExtensibilityServices | |||
775 | public void UnexpectedAttribute(XElement element, XAttribute attribute) | 779 | public void UnexpectedAttribute(XElement element, XAttribute attribute) |
776 | { | 780 | { |
777 | var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); | 781 | var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(element); |
778 | Common.UnexpectedAttribute(sourceLineNumbers, attribute); | 782 | Common.UnexpectedAttribute(this.Messaging, sourceLineNumbers, attribute); |
779 | } | 783 | } |
780 | 784 | ||
781 | public void UnexpectedElement(XElement parentElement, XElement childElement) | 785 | public void UnexpectedElement(XElement parentElement, XElement childElement) |
782 | { | 786 | { |
783 | var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(childElement); | 787 | var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(childElement); |
784 | Messaging.Instance.OnMessage(WixErrors.UnexpectedElement(sourceLineNumbers, parentElement.Name.LocalName, childElement.Name.LocalName)); | 788 | this.Messaging.Write(ErrorMessages.UnexpectedElement(sourceLineNumbers, parentElement.Name.LocalName, childElement.Name.LocalName)); |
785 | } | 789 | } |
786 | 790 | ||
787 | private void CreateTupleDefinitionCreator() | 791 | private void CreateTupleDefinitionCreator() |
diff --git a/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs b/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs index bcbd6a67..0e3e0bfd 100644 --- a/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs | |||
@@ -42,7 +42,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
42 | { | 42 | { |
43 | if (showWarning) | 43 | if (showWarning) |
44 | { | 44 | { |
45 | context.Messaging.OnMessage(WixWarnings.VariableDeclarationCollision(context.CurrentSourceLineNumber, name, value, currentValue)); | 45 | context.Messaging.Write(WarningMessages.VariableDeclarationCollision(context.CurrentSourceLineNumber, name, value, currentValue)); |
46 | } | 46 | } |
47 | 47 | ||
48 | context.Variables[name] = value; | 48 | context.Variables[name] = value; |
@@ -56,7 +56,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
56 | // Check to make sure there are 2 parts and neither is an empty string. | 56 | // Check to make sure there are 2 parts and neither is an empty string. |
57 | if (2 != prefixParts.Length || 0 >= prefixParts[0].Length || 0 >= prefixParts[1].Length) | 57 | if (2 != prefixParts.Length || 0 >= prefixParts[0].Length || 0 >= prefixParts[1].Length) |
58 | { | 58 | { |
59 | throw new WixException(WixErrors.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function)); | 59 | throw new WixException(ErrorMessages.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function)); |
60 | } | 60 | } |
61 | 61 | ||
62 | var prefix = prefixParts[0]; | 62 | var prefix = prefixParts[0]; |
@@ -65,7 +65,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
65 | // Check to make sure there are 2 parts, neither is an empty string, and the second part ends with a closing paren. | 65 | // Check to make sure there are 2 parts, neither is an empty string, and the second part ends with a closing paren. |
66 | if (2 != functionParts.Length || 0 >= functionParts[0].Length || 0 >= functionParts[1].Length || !functionParts[1].EndsWith(")", StringComparison.Ordinal)) | 66 | if (2 != functionParts.Length || 0 >= functionParts[0].Length || 0 >= functionParts[1].Length || !functionParts[1].EndsWith(")", StringComparison.Ordinal)) |
67 | { | 67 | { |
68 | throw new WixException(WixErrors.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function)); | 68 | throw new WixException(ErrorMessages.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function)); |
69 | } | 69 | } |
70 | 70 | ||
71 | var functionName = functionParts[0]; | 71 | var functionName = functionParts[0]; |
@@ -113,7 +113,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
113 | // Make sure the base version is specified | 113 | // Make sure the base version is specified |
114 | if (args.Length == 0 || String.IsNullOrEmpty(args[0])) | 114 | if (args.Length == 0 || String.IsNullOrEmpty(args[0])) |
115 | { | 115 | { |
116 | throw new WixException(WixErrors.InvalidPreprocessorFunctionAutoVersion(context.CurrentSourceLineNumber)); | 116 | throw new WixException(ErrorMessages.InvalidPreprocessorFunctionAutoVersion(context.CurrentSourceLineNumber)); |
117 | } | 117 | } |
118 | 118 | ||
119 | // Build = days since 1/1/2000; Revision = seconds since midnight / 2 | 119 | // Build = days since 1/1/2000; Revision = seconds since midnight / 2 |
@@ -137,7 +137,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
137 | } | 137 | } |
138 | catch (Exception e) | 138 | catch (Exception e) |
139 | { | 139 | { |
140 | throw new WixException(WixErrors.PreprocessorExtensionEvaluateFunctionFailed(context.CurrentSourceLineNumber, prefix, function, String.Join(",", args), e.Message)); | 140 | throw new WixException(ErrorMessages.PreprocessorExtensionEvaluateFunctionFailed(context.CurrentSourceLineNumber, prefix, function, String.Join(",", args), e.Message)); |
141 | } | 141 | } |
142 | } | 142 | } |
143 | else | 143 | else |
@@ -165,7 +165,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
165 | } | 165 | } |
166 | else | 166 | else |
167 | { | 167 | { |
168 | throw new WixException(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable)); | 168 | throw new WixException(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable)); |
169 | } | 169 | } |
170 | } | 170 | } |
171 | else | 171 | else |
@@ -185,7 +185,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
185 | } | 185 | } |
186 | else | 186 | else |
187 | { | 187 | { |
188 | throw new WixException(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable)); | 188 | throw new WixException(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable)); |
189 | } | 189 | } |
190 | } | 190 | } |
191 | } | 191 | } |
@@ -220,7 +220,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
220 | return context.CurrentSourceLineNumber.FileName; | 220 | return context.CurrentSourceLineNumber.FileName; |
221 | 221 | ||
222 | case "PLATFORM": | 222 | case "PLATFORM": |
223 | context.Messaging.OnMessage(WixWarnings.DeprecatedPreProcVariable(context.CurrentSourceLineNumber, "$(sys.PLATFORM)", "$(sys.BUILDARCH)")); | 223 | context.Messaging.Write(WarningMessages.DeprecatedPreProcVariable(context.CurrentSourceLineNumber, "$(sys.PLATFORM)", "$(sys.BUILDARCH)")); |
224 | 224 | ||
225 | goto case "BUILDARCH"; | 225 | goto case "BUILDARCH"; |
226 | 226 | ||
@@ -260,7 +260,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
260 | } | 260 | } |
261 | catch (Exception e) | 261 | catch (Exception e) |
262 | { | 262 | { |
263 | throw new WixException(WixErrors.PreprocessorExtensionGetVariableValueFailed(context.CurrentSourceLineNumber, prefix, name, e.Message)); | 263 | throw new WixException(ErrorMessages.PreprocessorExtensionGetVariableValueFailed(context.CurrentSourceLineNumber, prefix, name, e.Message)); |
264 | } | 264 | } |
265 | } | 265 | } |
266 | else | 266 | else |
@@ -277,7 +277,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
277 | // Check to make sure there are 2 parts and neither is an empty string. | 277 | // Check to make sure there are 2 parts and neither is an empty string. |
278 | if (2 != prefixParts.Length) | 278 | if (2 != prefixParts.Length) |
279 | { | 279 | { |
280 | throw new WixException(WixErrors.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName)); | 280 | throw new WixException(ErrorMessages.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName)); |
281 | } | 281 | } |
282 | 282 | ||
283 | var prefix = prefixParts[0]; | 283 | var prefix = prefixParts[0]; |
@@ -285,7 +285,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
285 | 285 | ||
286 | if (String.IsNullOrEmpty(prefix) || String.IsNullOrEmpty(pragma)) | 286 | if (String.IsNullOrEmpty(prefix) || String.IsNullOrEmpty(pragma)) |
287 | { | 287 | { |
288 | throw new WixException(WixErrors.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName)); | 288 | throw new WixException(ErrorMessages.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName)); |
289 | } | 289 | } |
290 | 290 | ||
291 | switch (prefix) | 291 | switch (prefix) |
@@ -295,7 +295,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
295 | { | 295 | { |
296 | // Add any core defined pragmas here | 296 | // Add any core defined pragmas here |
297 | default: | 297 | default: |
298 | context.Messaging.OnMessage(WixWarnings.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName)); | 298 | context.Messaging.Write(WarningMessages.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName)); |
299 | break; | 299 | break; |
300 | } | 300 | } |
301 | break; | 301 | break; |
@@ -306,7 +306,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
306 | { | 306 | { |
307 | if (!extension.ProcessPragma(prefix, pragma, args, parent)) | 307 | if (!extension.ProcessPragma(prefix, pragma, args, parent)) |
308 | { | 308 | { |
309 | context.Messaging.OnMessage(WixWarnings.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName)); | 309 | context.Messaging.Write(WarningMessages.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName)); |
310 | } | 310 | } |
311 | } | 311 | } |
312 | break; | 312 | break; |
@@ -339,7 +339,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
339 | currentPosition = remainder.IndexOf(')'); | 339 | currentPosition = remainder.IndexOf(')'); |
340 | if (-1 == currentPosition) | 340 | if (-1 == currentPosition) |
341 | { | 341 | { |
342 | context.Messaging.OnMessage(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder)); | 342 | context.Messaging.Write(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder)); |
343 | break; | 343 | break; |
344 | } | 344 | } |
345 | 345 | ||
@@ -385,12 +385,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
385 | { | 385 | { |
386 | if (isFunction) | 386 | if (isFunction) |
387 | { | 387 | { |
388 | context.Messaging.OnMessage(WixErrors.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, remainder)); | 388 | context.Messaging.Write(ErrorMessages.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, remainder)); |
389 | break; | 389 | break; |
390 | } | 390 | } |
391 | else | 391 | else |
392 | { | 392 | { |
393 | context.Messaging.OnMessage(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder)); | 393 | context.Messaging.Write(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder)); |
394 | break; | 394 | break; |
395 | } | 395 | } |
396 | } | 396 | } |
@@ -410,12 +410,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
410 | { | 410 | { |
411 | if (isFunction) | 411 | if (isFunction) |
412 | { | 412 | { |
413 | context.Messaging.OnMessage(WixErrors.UndefinedPreprocessorFunction(context.CurrentSourceLineNumber, subString)); | 413 | context.Messaging.Write(ErrorMessages.UndefinedPreprocessorFunction(context.CurrentSourceLineNumber, subString)); |
414 | break; | 414 | break; |
415 | } | 415 | } |
416 | else | 416 | else |
417 | { | 417 | { |
418 | context.Messaging.OnMessage(WixErrors.UndefinedPreprocessorVariable(context.CurrentSourceLineNumber, subString)); | 418 | context.Messaging.Write(ErrorMessages.UndefinedPreprocessorVariable(context.CurrentSourceLineNumber, subString)); |
419 | break; | 419 | break; |
420 | } | 420 | } |
421 | } | 421 | } |
@@ -448,7 +448,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
448 | { | 448 | { |
449 | if (!context.Variables.Remove(name)) | 449 | if (!context.Variables.Remove(name)) |
450 | { | 450 | { |
451 | context.Messaging.OnMessage(WixErrors.CannotReundefineVariable(context.CurrentSourceLineNumber, name)); | 451 | context.Messaging.Write(ErrorMessages.CannotReundefineVariable(context.CurrentSourceLineNumber, name)); |
452 | } | 452 | } |
453 | } | 453 | } |
454 | 454 | ||
diff --git a/src/WixToolset.Core/Harvester.cs b/src/WixToolset.Core/Harvester.cs index 0f79a2d6..b9c27418 100644 --- a/src/WixToolset.Core/Harvester.cs +++ b/src/WixToolset.Core/Harvester.cs | |||
@@ -57,7 +57,7 @@ namespace WixToolset | |||
57 | 57 | ||
58 | if (null == this.harvesterExtension) | 58 | if (null == this.harvesterExtension) |
59 | { | 59 | { |
60 | throw new WixException(WixErrors.HarvestTypeNotFound()); | 60 | throw new WixException(ErrorMessages.HarvestTypeNotFound()); |
61 | } | 61 | } |
62 | 62 | ||
63 | this.harvesterExtension.Core = this.Core; | 63 | this.harvesterExtension.Core = this.Core; |
diff --git a/src/WixToolset.Core/HarvesterCore.cs b/src/WixToolset.Core/HarvesterCore.cs index 87e3c33f..92a057d8 100644 --- a/src/WixToolset.Core/HarvesterCore.cs +++ b/src/WixToolset.Core/HarvesterCore.cs | |||
@@ -5,44 +5,26 @@ namespace WixToolset.Core | |||
5 | using System; | 5 | using System; |
6 | using System.Diagnostics.CodeAnalysis; | 6 | using System.Diagnostics.CodeAnalysis; |
7 | using System.IO; | 7 | using System.IO; |
8 | using WixToolset.Data; | 8 | using WixToolset.Extensibility.Services; |
9 | 9 | ||
10 | /// <summary> | 10 | /// <summary> |
11 | /// The WiX Toolset harvester core. | 11 | /// The WiX Toolset harvester core. |
12 | /// </summary> | 12 | /// </summary> |
13 | public sealed class HarvesterCore : IHarvesterCore | 13 | public sealed class HarvesterCore : IHarvesterCore |
14 | { | 14 | { |
15 | private string extensionArgument; | 15 | public IMessaging Messaging { get; set; } |
16 | private string rootDirectory; | ||
17 | |||
18 | /// <summary> | ||
19 | /// Gets whether the harvester core encountered an error while processing. | ||
20 | /// </summary> | ||
21 | /// <value>Flag if core encountered an error during processing.</value> | ||
22 | public bool EncounteredError | ||
23 | { | ||
24 | get { return Messaging.Instance.EncounteredError; } | ||
25 | } | ||
26 | 16 | ||
27 | /// <summary> | 17 | /// <summary> |
28 | /// Gets or sets the value of the extension argument passed to heat. | 18 | /// Gets or sets the value of the extension argument passed to heat. |
29 | /// </summary> | 19 | /// </summary> |
30 | /// <value>The extension argument.</value> | 20 | /// <value>The extension argument.</value> |
31 | public string ExtensionArgument | 21 | public string ExtensionArgument { get; set; } |
32 | { | ||
33 | get { return this.extensionArgument; } | ||
34 | set { this.extensionArgument = value; } | ||
35 | } | ||
36 | 22 | ||
37 | /// <summary> | 23 | /// <summary> |
38 | /// Gets or sets the value of the root directory that is being harvested. | 24 | /// Gets or sets the value of the root directory that is being harvested. |
39 | /// </summary> | 25 | /// </summary> |
40 | /// <value>The root directory being harvested.</value> | 26 | /// <value>The root directory being harvested.</value> |
41 | public string RootDirectory | 27 | public string RootDirectory { get; set; } |
42 | { | ||
43 | get { return this.rootDirectory; } | ||
44 | set { this.rootDirectory = value; } | ||
45 | } | ||
46 | 28 | ||
47 | /// <summary> | 29 | /// <summary> |
48 | /// Create an identifier based on passed file name | 30 | /// Create an identifier based on passed file name |
@@ -67,15 +49,6 @@ namespace WixToolset.Core | |||
67 | } | 49 | } |
68 | 50 | ||
69 | /// <summary> | 51 | /// <summary> |
70 | /// Sends a message to the message delegate if there is one. | ||
71 | /// </summary> | ||
72 | /// <param name="mea">Message event arguments.</param> | ||
73 | public void OnMessage(MessageEventArgs mea) | ||
74 | { | ||
75 | Messaging.Instance.OnMessage(mea); | ||
76 | } | ||
77 | |||
78 | /// <summary> | ||
79 | /// Resolves a file's path if the Wix.File.Source value starts with "SourceDir\". | 52 | /// Resolves a file's path if the Wix.File.Source value starts with "SourceDir\". |
80 | /// </summary> | 53 | /// </summary> |
81 | /// <param name="fileSource">The Wix.File.Source value with "SourceDir\".</param> | 54 | /// <param name="fileSource">The Wix.File.Source value with "SourceDir\".</param> |
@@ -84,7 +57,7 @@ namespace WixToolset.Core | |||
84 | { | 57 | { |
85 | if (fileSource.StartsWith("SourceDir\\", StringComparison.Ordinal)) | 58 | if (fileSource.StartsWith("SourceDir\\", StringComparison.Ordinal)) |
86 | { | 59 | { |
87 | string file = Path.GetFullPath(this.rootDirectory); | 60 | string file = Path.GetFullPath(this.RootDirectory); |
88 | if (File.Exists(file)) | 61 | if (File.Exists(file)) |
89 | { | 62 | { |
90 | return file; | 63 | return file; |
@@ -92,7 +65,7 @@ namespace WixToolset.Core | |||
92 | else | 65 | else |
93 | { | 66 | { |
94 | fileSource = fileSource.Substring(10); | 67 | fileSource = fileSource.Substring(10); |
95 | fileSource = Path.Combine(Path.GetFullPath(this.rootDirectory), fileSource); | 68 | fileSource = Path.Combine(Path.GetFullPath(this.RootDirectory), fileSource); |
96 | } | 69 | } |
97 | } | 70 | } |
98 | 71 | ||
diff --git a/src/WixToolset.Core/HeatCore.cs b/src/WixToolset.Core/HeatCore.cs index 2384a1ed..8e02a7b5 100644 --- a/src/WixToolset.Core/HeatCore.cs +++ b/src/WixToolset.Core/HeatCore.cs | |||
@@ -3,12 +3,11 @@ | |||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
4 | { | 4 | { |
5 | using WixToolset.Core.Extensibility; | 5 | using WixToolset.Core.Extensibility; |
6 | using WixToolset.Data; | ||
7 | 6 | ||
8 | /// <summary> | 7 | /// <summary> |
9 | /// The WiX Toolset Harvester application core. | 8 | /// The WiX Toolset Harvester application core. |
10 | /// </summary> | 9 | /// </summary> |
11 | public sealed class HeatCore : IHeatCore, IMessageHandler | 10 | public sealed class HeatCore : IHeatCore |
12 | { | 11 | { |
13 | private Harvester harvester; | 12 | private Harvester harvester; |
14 | private Mutator mutator; | 13 | private Mutator mutator; |
@@ -24,15 +23,6 @@ namespace WixToolset.Core | |||
24 | } | 23 | } |
25 | 24 | ||
26 | /// <summary> | 25 | /// <summary> |
27 | /// Gets whether the mutator core encountered an error while processing. | ||
28 | /// </summary> | ||
29 | /// <value>Flag if core encountered an error during processing.</value> | ||
30 | public bool EncounteredError | ||
31 | { | ||
32 | get { return Messaging.Instance.EncounteredError; } | ||
33 | } | ||
34 | |||
35 | /// <summary> | ||
36 | /// Gets the harvester. | 26 | /// Gets the harvester. |
37 | /// </summary> | 27 | /// </summary> |
38 | /// <value>The harvester.</value> | 28 | /// <value>The harvester.</value> |
@@ -49,14 +39,5 @@ namespace WixToolset.Core | |||
49 | { | 39 | { |
50 | get { return this.mutator; } | 40 | get { return this.mutator; } |
51 | } | 41 | } |
52 | |||
53 | /// <summary> | ||
54 | /// Sends a message to the message delegate if there is one. | ||
55 | /// </summary> | ||
56 | /// <param name="mea">Message event arguments.</param> | ||
57 | public void OnMessage(MessageEventArgs mea) | ||
58 | { | ||
59 | Messaging.Instance.OnMessage(mea); | ||
60 | } | ||
61 | } | 42 | } |
62 | } | 43 | } |
diff --git a/src/WixToolset.Core/ICommand.cs b/src/WixToolset.Core/ICommand.cs deleted file mode 100644 index 957f735b..00000000 --- a/src/WixToolset.Core/ICommand.cs +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset | ||
4 | { | ||
5 | internal interface ICommand | ||
6 | { | ||
7 | void Execute(); | ||
8 | } | ||
9 | } | ||
diff --git a/src/WixToolset.Core/IfDefEventHandler.cs b/src/WixToolset.Core/IfDefEventHandler.cs deleted file mode 100644 index 37a7206e..00000000 --- a/src/WixToolset.Core/IfDefEventHandler.cs +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset | ||
4 | { | ||
5 | using System; | ||
6 | using System.Text; | ||
7 | using WixToolset.Data; | ||
8 | |||
9 | public delegate void IfDefEventHandler(object sender, IfDefEventArgs e); | ||
10 | |||
11 | public class IfDefEventArgs : EventArgs | ||
12 | { | ||
13 | private SourceLineNumber sourceLineNumbers; | ||
14 | private bool isIfDef; | ||
15 | private bool isDefined; | ||
16 | private string variableName; | ||
17 | |||
18 | public IfDefEventArgs(SourceLineNumber sourceLineNumbers, bool isIfDef, bool isDefined, string variableName) | ||
19 | { | ||
20 | this.sourceLineNumbers = sourceLineNumbers; | ||
21 | this.isIfDef = isIfDef; | ||
22 | this.isDefined = isDefined; | ||
23 | this.variableName = variableName; | ||
24 | } | ||
25 | |||
26 | public SourceLineNumber SourceLineNumbers | ||
27 | { | ||
28 | get { return this.sourceLineNumbers; } | ||
29 | } | ||
30 | |||
31 | public bool IsDefined | ||
32 | { | ||
33 | get { return this.isDefined; } | ||
34 | } | ||
35 | |||
36 | public bool IsIfDef | ||
37 | { | ||
38 | get { return this.isIfDef; } | ||
39 | } | ||
40 | |||
41 | public string VariableName | ||
42 | { | ||
43 | get { return this.variableName; } | ||
44 | } | ||
45 | } | ||
46 | } | ||
diff --git a/src/WixToolset.Core/IncribeContext.cs b/src/WixToolset.Core/IncribeContext.cs index 15dd3664..9e4e3602 100644 --- a/src/WixToolset.Core/IncribeContext.cs +++ b/src/WixToolset.Core/IncribeContext.cs | |||
@@ -3,8 +3,8 @@ | |||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using WixToolset.Data; | ||
7 | using WixToolset.Extensibility; | 6 | using WixToolset.Extensibility; |
7 | using WixToolset.Extensibility.Services; | ||
8 | 8 | ||
9 | internal class InscribeContext : IInscribeContext | 9 | internal class InscribeContext : IInscribeContext |
10 | { | 10 | { |
@@ -15,7 +15,7 @@ namespace WixToolset.Core | |||
15 | 15 | ||
16 | public IServiceProvider ServiceProvider { get; } | 16 | public IServiceProvider ServiceProvider { get; } |
17 | 17 | ||
18 | public Messaging Messaging { get; } = Messaging.Instance; | 18 | public IMessaging Messaging { get; set; } |
19 | 19 | ||
20 | public string IntermediateFolder { get; set; } | 20 | public string IntermediateFolder { get; set; } |
21 | 21 | ||
diff --git a/src/WixToolset.Core/Inscriber.cs b/src/WixToolset.Core/Inscriber.cs index 81781ad4..efe64ad2 100644 --- a/src/WixToolset.Core/Inscriber.cs +++ b/src/WixToolset.Core/Inscriber.cs | |||
@@ -8,7 +8,7 @@ namespace WixToolset | |||
8 | /// <summary> | 8 | /// <summary> |
9 | /// Converts a wixout representation of an MSM database into a ComponentGroup the form of WiX source. | 9 | /// Converts a wixout representation of an MSM database into a ComponentGroup the form of WiX source. |
10 | /// </summary> | 10 | /// </summary> |
11 | public sealed class Inscriber : IMessageHandler | 11 | public sealed class Inscriber |
12 | { | 12 | { |
13 | /// <summary> | 13 | /// <summary> |
14 | /// Gets or sets the temp files collection. | 14 | /// Gets or sets the temp files collection. |
@@ -433,10 +433,5 @@ namespace WixToolset | |||
433 | #endif | 433 | #endif |
434 | return true; | 434 | return true; |
435 | } | 435 | } |
436 | |||
437 | public void OnMessage(MessageEventArgs e) | ||
438 | { | ||
439 | Messaging.Instance.OnMessage(e); | ||
440 | } | ||
441 | } | 436 | } |
442 | } | 437 | } |
diff --git a/src/WixToolset.Core/InspectorCore.cs b/src/WixToolset.Core/InspectorCore.cs deleted file mode 100644 index 63b6af6e..00000000 --- a/src/WixToolset.Core/InspectorCore.cs +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset | ||
4 | { | ||
5 | using System; | ||
6 | using WixToolset.Data; | ||
7 | using WixToolset.Extensibility; | ||
8 | |||
9 | /// <summary> | ||
10 | /// Core facilities for inspector extensions. | ||
11 | /// </summary> | ||
12 | internal sealed class InspectorCore : IInspectorCore | ||
13 | { | ||
14 | /// <summary> | ||
15 | /// Gets whether an error occured. | ||
16 | /// </summary> | ||
17 | /// <value>Whether an error occured.</value> | ||
18 | public bool EncounteredError | ||
19 | { | ||
20 | get { return Messaging.Instance.EncounteredError; } | ||
21 | } | ||
22 | |||
23 | /// <summary> | ||
24 | /// Logs a message to the log handler. | ||
25 | /// </summary> | ||
26 | /// <param name="e">The <see cref="MessageEventArgs"/> that contains information to log.</param> | ||
27 | public void OnMessage(MessageEventArgs e) | ||
28 | { | ||
29 | Messaging.Instance.OnMessage(e); | ||
30 | } | ||
31 | } | ||
32 | } | ||
diff --git a/src/WixToolset.Core/Librarian.cs b/src/WixToolset.Core/Librarian.cs index 50357d8a..a64d77dd 100644 --- a/src/WixToolset.Core/Librarian.cs +++ b/src/WixToolset.Core/Librarian.cs | |||
@@ -67,7 +67,7 @@ namespace WixToolset.Core | |||
67 | /// <param name="library">Library to validate.</param> | 67 | /// <param name="library">Library to validate.</param> |
68 | private Intermediate Validate(Intermediate library) | 68 | private Intermediate Validate(Intermediate library) |
69 | { | 69 | { |
70 | FindEntrySectionAndLoadSymbolsCommand find = new FindEntrySectionAndLoadSymbolsCommand(library.Sections); | 70 | FindEntrySectionAndLoadSymbolsCommand find = new FindEntrySectionAndLoadSymbolsCommand(this.Context.Messaging, library.Sections); |
71 | find.Execute(); | 71 | find.Execute(); |
72 | 72 | ||
73 | // TODO: Consider bringing this sort of verification back. | 73 | // TODO: Consider bringing this sort of verification back. |
@@ -80,7 +80,7 @@ namespace WixToolset.Core | |||
80 | // reportDupes.Execute(); | 80 | // reportDupes.Execute(); |
81 | // } | 81 | // } |
82 | 82 | ||
83 | return (Messaging.Instance.EncounteredError ? null : library); | 83 | return (this.Context.Messaging.EncounteredError ? null : library); |
84 | } | 84 | } |
85 | 85 | ||
86 | private static Dictionary<string, Localization> CollateLocalizations(IEnumerable<Localization> localizations) | 86 | private static Dictionary<string, Localization> CollateLocalizations(IEnumerable<Localization> localizations) |
@@ -130,7 +130,7 @@ namespace WixToolset.Core | |||
130 | } | 130 | } |
131 | else | 131 | else |
132 | { | 132 | { |
133 | this.Context.Messaging.OnMessage(WixDataErrors.FileNotFound(tuple.SourceLineNumbers, pathField.Path, tuple.Definition.Name)); | 133 | this.Context.Messaging.Write(ErrorMessages.FileNotFound(tuple.SourceLineNumbers, pathField.Path, tuple.Definition.Name)); |
134 | } | 134 | } |
135 | } | 135 | } |
136 | } | 136 | } |
diff --git a/src/WixToolset.Core/LibraryContext.cs b/src/WixToolset.Core/LibraryContext.cs index b3efbffa..c6278482 100644 --- a/src/WixToolset.Core/LibraryContext.cs +++ b/src/WixToolset.Core/LibraryContext.cs | |||
@@ -6,12 +6,13 @@ namespace WixToolset.Core | |||
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
9 | using WixToolset.Extensibility.Services; | ||
9 | 10 | ||
10 | public class LibraryContext : ILibraryContext | 11 | public class LibraryContext : ILibraryContext |
11 | { | 12 | { |
12 | public IServiceProvider ServiceProvider { get; } | 13 | public IServiceProvider ServiceProvider { get; } |
13 | 14 | ||
14 | public Messaging Messaging { get; set; } | 15 | public IMessaging Messaging { get; set; } |
15 | 16 | ||
16 | public bool BindFiles { get; set; } | 17 | public bool BindFiles { get; set; } |
17 | 18 | ||
diff --git a/src/WixToolset.Core/Link/FindEntrySectionAndLoadSymbolsCommand.cs b/src/WixToolset.Core/Link/FindEntrySectionAndLoadSymbolsCommand.cs index 00613ca1..daf3e878 100644 --- a/src/WixToolset.Core/Link/FindEntrySectionAndLoadSymbolsCommand.cs +++ b/src/WixToolset.Core/Link/FindEntrySectionAndLoadSymbolsCommand.cs | |||
@@ -6,14 +6,18 @@ namespace WixToolset.Core.Link | |||
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using System.Linq; | 7 | using System.Linq; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Extensibility.Services; | ||
9 | 10 | ||
10 | internal class FindEntrySectionAndLoadSymbolsCommand : ICommand | 11 | internal class FindEntrySectionAndLoadSymbolsCommand |
11 | { | 12 | { |
12 | public FindEntrySectionAndLoadSymbolsCommand(IEnumerable<IntermediateSection> sections) | 13 | public FindEntrySectionAndLoadSymbolsCommand(IMessaging messaging, IEnumerable<IntermediateSection> sections) |
13 | { | 14 | { |
15 | this.Messaging = messaging; | ||
14 | this.Sections = sections; | 16 | this.Sections = sections; |
15 | } | 17 | } |
16 | 18 | ||
19 | private IMessaging Messaging { get; } | ||
20 | |||
17 | private IEnumerable<IntermediateSection> Sections { get; } | 21 | private IEnumerable<IntermediateSection> Sections { get; } |
18 | 22 | ||
19 | /// <summary> | 23 | /// <summary> |
@@ -55,7 +59,7 @@ namespace WixToolset.Core.Link | |||
55 | //if (SectionType.Unknown != expectedEntrySectionType && section.Type != expectedEntrySectionType) | 59 | //if (SectionType.Unknown != expectedEntrySectionType && section.Type != expectedEntrySectionType) |
56 | //{ | 60 | //{ |
57 | // string outputExtension = Output.GetExtension(this.ExpectedOutputType); | 61 | // string outputExtension = Output.GetExtension(this.ExpectedOutputType); |
58 | // Messaging.Instance.OnMessage(WixWarnings.UnexpectedEntrySection(section.SourceLineNumbers, section.Type.ToString(), expectedEntrySectionType.ToString(), outputExtension)); | 62 | // this.Messaging.Write(WixWarnings.UnexpectedEntrySection(section.SourceLineNumbers, section.Type.ToString(), expectedEntrySectionType.ToString(), outputExtension)); |
59 | //} | 63 | //} |
60 | 64 | ||
61 | if (null == this.EntrySection) | 65 | if (null == this.EntrySection) |
@@ -64,8 +68,8 @@ namespace WixToolset.Core.Link | |||
64 | } | 68 | } |
65 | else | 69 | else |
66 | { | 70 | { |
67 | Messaging.Instance.OnMessage(WixErrors.MultipleEntrySections(this.EntrySection.Tuples.FirstOrDefault()?.SourceLineNumbers, this.EntrySection.Id, section.Id)); | 71 | this.Messaging.Write(ErrorMessages.MultipleEntrySections(this.EntrySection.Tuples.FirstOrDefault()?.SourceLineNumbers, this.EntrySection.Id, section.Id)); |
68 | Messaging.Instance.OnMessage(WixErrors.MultipleEntrySections2(section.Tuples.FirstOrDefault()?.SourceLineNumbers)); | 72 | this.Messaging.Write(ErrorMessages.MultipleEntrySections2(section.Tuples.FirstOrDefault()?.SourceLineNumbers)); |
69 | } | 73 | } |
70 | } | 74 | } |
71 | 75 | ||
diff --git a/src/WixToolset.Core/Link/ReportConflictingSymbolsCommand.cs b/src/WixToolset.Core/Link/ReportConflictingSymbolsCommand.cs index ac0dd7ec..23fac864 100644 --- a/src/WixToolset.Core/Link/ReportConflictingSymbolsCommand.cs +++ b/src/WixToolset.Core/Link/ReportConflictingSymbolsCommand.cs | |||
@@ -5,15 +5,19 @@ namespace WixToolset.Link | |||
5 | using System.Collections.Generic; | 5 | using System.Collections.Generic; |
6 | using System.Linq; | 6 | using System.Linq; |
7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
8 | using WixToolset.Extensibility.Services; | ||
8 | 9 | ||
9 | public class ReportConflictingSymbolsCommand | 10 | public class ReportConflictingSymbolsCommand |
10 | { | 11 | { |
11 | public ReportConflictingSymbolsCommand(IEnumerable<Symbol> possibleConflicts, IEnumerable<IntermediateSection> resolvedSections) | 12 | public ReportConflictingSymbolsCommand(IMessaging messaging, IEnumerable<Symbol> possibleConflicts, IEnumerable<IntermediateSection> resolvedSections) |
12 | { | 13 | { |
14 | this.Messaging = messaging; | ||
13 | this.PossibleConflicts = possibleConflicts; | 15 | this.PossibleConflicts = possibleConflicts; |
14 | this.ResolvedSections = resolvedSections; | 16 | this.ResolvedSections = resolvedSections; |
15 | } | 17 | } |
16 | 18 | ||
19 | private IMessaging Messaging { get; } | ||
20 | |||
17 | private IEnumerable<Symbol> PossibleConflicts { get; } | 21 | private IEnumerable<Symbol> PossibleConflicts { get; } |
18 | 22 | ||
19 | private IEnumerable<IntermediateSection> ResolvedSections { get; } | 23 | private IEnumerable<IntermediateSection> ResolvedSections { get; } |
@@ -37,11 +41,11 @@ namespace WixToolset.Link | |||
37 | 41 | ||
38 | if (actuallyReferencedDuplicateSymbols.Any()) | 42 | if (actuallyReferencedDuplicateSymbols.Any()) |
39 | { | 43 | { |
40 | Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol(referencedDuplicateSymbol.Row.SourceLineNumbers, referencedDuplicateSymbol.Name)); | 44 | this.Messaging.Write(ErrorMessages.DuplicateSymbol(referencedDuplicateSymbol.Row.SourceLineNumbers, referencedDuplicateSymbol.Name)); |
41 | 45 | ||
42 | foreach (Symbol duplicate in actuallyReferencedDuplicateSymbols) | 46 | foreach (Symbol duplicate in actuallyReferencedDuplicateSymbols) |
43 | { | 47 | { |
44 | Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol2(duplicate.Row.SourceLineNumbers)); | 48 | this.Messaging.Write(ErrorMessages.DuplicateSymbol2(duplicate.Row.SourceLineNumbers)); |
45 | } | 49 | } |
46 | } | 50 | } |
47 | } | 51 | } |
diff --git a/src/WixToolset.Core/Link/ResolveReferencesCommand.cs b/src/WixToolset.Core/Link/ResolveReferencesCommand.cs index 266871bd..c05464e9 100644 --- a/src/WixToolset.Core/Link/ResolveReferencesCommand.cs +++ b/src/WixToolset.Core/Link/ResolveReferencesCommand.cs | |||
@@ -7,19 +7,21 @@ namespace WixToolset.Link | |||
7 | using System.Linq; | 7 | using System.Linq; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Data.Tuples; | 9 | using WixToolset.Data.Tuples; |
10 | using WixToolset.Extensibility.Services; | ||
10 | 11 | ||
11 | /// <summary> | 12 | /// <summary> |
12 | /// Resolves all the simple references in a section. | 13 | /// Resolves all the simple references in a section. |
13 | /// </summary> | 14 | /// </summary> |
14 | internal class ResolveReferencesCommand : ICommand | 15 | internal class ResolveReferencesCommand |
15 | { | 16 | { |
16 | private IntermediateSection entrySection; | 17 | private IntermediateSection entrySection; |
17 | private IDictionary<string, Symbol> symbols; | 18 | private IDictionary<string, Symbol> symbols; |
18 | private HashSet<Symbol> referencedSymbols; | 19 | private HashSet<Symbol> referencedSymbols; |
19 | private HashSet<IntermediateSection> resolvedSections; | 20 | private HashSet<IntermediateSection> resolvedSections; |
20 | 21 | ||
21 | public ResolveReferencesCommand(IntermediateSection entrySection, IDictionary<string, Symbol> symbols) | 22 | public ResolveReferencesCommand(IMessaging messaging, IntermediateSection entrySection, IDictionary<string, Symbol> symbols) |
22 | { | 23 | { |
24 | this.Messaging = messaging; | ||
23 | this.entrySection = entrySection; | 25 | this.entrySection = entrySection; |
24 | this.symbols = symbols; | 26 | this.symbols = symbols; |
25 | } | 27 | } |
@@ -30,6 +32,8 @@ namespace WixToolset.Link | |||
30 | 32 | ||
31 | public IEnumerable<IntermediateSection> ResolvedSections { get { return this.resolvedSections; } } | 33 | public IEnumerable<IntermediateSection> ResolvedSections { get { return this.resolvedSections; } } |
32 | 34 | ||
35 | private IMessaging Messaging { get; } | ||
36 | |||
33 | /// <summary> | 37 | /// <summary> |
34 | /// Resolves all the simple references in a section. | 38 | /// Resolves all the simple references in a section. |
35 | /// </summary> | 39 | /// </summary> |
@@ -69,14 +73,14 @@ namespace WixToolset.Link | |||
69 | 73 | ||
70 | if (!this.symbols.TryGetValue(wixSimpleReferenceRow.SymbolicName, out var symbol)) | 74 | if (!this.symbols.TryGetValue(wixSimpleReferenceRow.SymbolicName, out var symbol)) |
71 | { | 75 | { |
72 | Messaging.Instance.OnMessage(WixErrors.UnresolvedReference(wixSimpleReferenceRow.SourceLineNumbers, wixSimpleReferenceRow.SymbolicName)); | 76 | this.Messaging.Write(ErrorMessages.UnresolvedReference(wixSimpleReferenceRow.SourceLineNumbers, wixSimpleReferenceRow.SymbolicName)); |
73 | } | 77 | } |
74 | else // see if the symbol (and any of its duplicates) are appropriately accessible. | 78 | else // see if the symbol (and any of its duplicates) are appropriately accessible. |
75 | { | 79 | { |
76 | IList<Symbol> accessible = DetermineAccessibleSymbols(section, symbol); | 80 | IList<Symbol> accessible = DetermineAccessibleSymbols(section, symbol); |
77 | if (!accessible.Any()) | 81 | if (!accessible.Any()) |
78 | { | 82 | { |
79 | Messaging.Instance.OnMessage(WixErrors.UnresolvedReference(wixSimpleReferenceRow.SourceLineNumbers, wixSimpleReferenceRow.SymbolicName, symbol.Access)); | 83 | this.Messaging.Write(ErrorMessages.UnresolvedReference(wixSimpleReferenceRow.SourceLineNumbers, wixSimpleReferenceRow.SymbolicName, symbol.Access)); |
80 | } | 84 | } |
81 | else if (1 == accessible.Count) | 85 | else if (1 == accessible.Count) |
82 | { | 86 | { |
@@ -95,16 +99,16 @@ namespace WixToolset.Link | |||
95 | 99 | ||
96 | if (String.IsNullOrEmpty(referencingSourceLineNumber)) | 100 | if (String.IsNullOrEmpty(referencingSourceLineNumber)) |
97 | { | 101 | { |
98 | Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol(accessibleSymbol.Row.SourceLineNumbers, accessibleSymbol.Name)); | 102 | this.Messaging.Write(ErrorMessages.DuplicateSymbol(accessibleSymbol.Row.SourceLineNumbers, accessibleSymbol.Name)); |
99 | } | 103 | } |
100 | else | 104 | else |
101 | { | 105 | { |
102 | Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol(accessibleSymbol.Row.SourceLineNumbers, accessibleSymbol.Name, referencingSourceLineNumber)); | 106 | this.Messaging.Write(ErrorMessages.DuplicateSymbol(accessibleSymbol.Row.SourceLineNumbers, accessibleSymbol.Name, referencingSourceLineNumber)); |
103 | } | 107 | } |
104 | 108 | ||
105 | foreach (Symbol accessibleDuplicate in accessible.Skip(1)) | 109 | foreach (Symbol accessibleDuplicate in accessible.Skip(1)) |
106 | { | 110 | { |
107 | Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol2(accessibleDuplicate.Row.SourceLineNumbers)); | 111 | this.Messaging.Write(ErrorMessages.DuplicateSymbol2(accessibleDuplicate.Row.SourceLineNumbers)); |
108 | } | 112 | } |
109 | } | 113 | } |
110 | } | 114 | } |
diff --git a/src/WixToolset.Core/Link/WixGroupingOrdering.cs b/src/WixToolset.Core/Link/WixGroupingOrdering.cs index f15ebc75..50c4d8d2 100644 --- a/src/WixToolset.Core/Link/WixGroupingOrdering.cs +++ b/src/WixToolset.Core/Link/WixGroupingOrdering.cs | |||
@@ -11,13 +11,14 @@ namespace WixToolset.Core.Link | |||
11 | using System.Text; | 11 | using System.Text; |
12 | using WixToolset.Data; | 12 | using WixToolset.Data; |
13 | using WixToolset.Data.Tuples; | 13 | using WixToolset.Data.Tuples; |
14 | using WixToolset.Extensibility.Services; | ||
14 | 15 | ||
15 | /// <summary> | 16 | /// <summary> |
16 | /// Grouping and Ordering class of the WiX toolset. | 17 | /// Grouping and Ordering class of the WiX toolset. |
17 | /// </summary> | 18 | /// </summary> |
18 | internal sealed class WixGroupingOrdering : IMessageHandler | 19 | internal sealed class WixGroupingOrdering |
19 | { | 20 | { |
20 | private IMessageHandler messageHandler; | 21 | private IMessaging messageHandler; |
21 | private List<string> groupTypes; | 22 | private List<string> groupTypes; |
22 | private List<string> itemTypes; | 23 | private List<string> itemTypes; |
23 | private ItemCollection items; | 24 | private ItemCollection items; |
@@ -32,7 +33,7 @@ namespace WixToolset.Core.Link | |||
32 | /// <param name="messageHandler">Handler for any error messages.</param> | 33 | /// <param name="messageHandler">Handler for any error messages.</param> |
33 | /// <param name="groupTypes">Group types to include.</param> | 34 | /// <param name="groupTypes">Group types to include.</param> |
34 | /// <param name="itemTypes">Item types to include.</param> | 35 | /// <param name="itemTypes">Item types to include.</param> |
35 | public WixGroupingOrdering(IntermediateSection entrySections, IMessageHandler messageHandler) | 36 | public WixGroupingOrdering(IntermediateSection entrySections, IMessaging messageHandler) |
36 | { | 37 | { |
37 | this.EntrySection = entrySections; | 38 | this.EntrySection = entrySections; |
38 | this.messageHandler = messageHandler; | 39 | this.messageHandler = messageHandler; |
@@ -59,29 +60,6 @@ namespace WixToolset.Core.Link | |||
59 | } | 60 | } |
60 | 61 | ||
61 | /// <summary> | 62 | /// <summary> |
62 | /// Sends a message to the message handler if there is one. | ||
63 | /// </summary> | ||
64 | /// <param name="mea">Message event arguments.</param> | ||
65 | public void OnMessage(MessageEventArgs e) | ||
66 | { | ||
67 | WixErrorEventArgs errorEventArgs = e as WixErrorEventArgs; | ||
68 | |||
69 | if (null != errorEventArgs || MessageLevel.Error == e.Level) | ||
70 | { | ||
71 | this.encounteredError = true; | ||
72 | } | ||
73 | |||
74 | if (null != this.messageHandler) | ||
75 | { | ||
76 | this.messageHandler.OnMessage(e); | ||
77 | } | ||
78 | else if (null != errorEventArgs) | ||
79 | { | ||
80 | throw new WixException(errorEventArgs); | ||
81 | } | ||
82 | } | ||
83 | |||
84 | /// <summary> | ||
85 | /// Finds all nested items under a parent group and creates new WixGroup data for them. | 63 | /// Finds all nested items under a parent group and creates new WixGroup data for them. |
86 | /// </summary> | 64 | /// </summary> |
87 | /// <param name="parentType">The group type for the parent group to flatten.</param> | 65 | /// <param name="parentType">The group type for the parent group to flatten.</param> |
@@ -156,7 +134,7 @@ namespace WixToolset.Core.Link | |||
156 | Item parentItem; | 134 | Item parentItem; |
157 | if (!this.items.TryGetValue(parentType, parentId, out parentItem)) | 135 | if (!this.items.TryGetValue(parentType, parentId, out parentItem)) |
158 | { | 136 | { |
159 | this.OnMessage(WixErrors.IdentifierNotFound(parentType, parentId)); | 137 | this.messageHandler.Write(ErrorMessages.IdentifierNotFound(parentType, parentId)); |
160 | return; | 138 | return; |
161 | } | 139 | } |
162 | 140 | ||
@@ -257,7 +235,7 @@ namespace WixToolset.Core.Link | |||
257 | //if (null == wixGroupTable || 0 == wixGroupTable.Rows.Count) | 235 | //if (null == wixGroupTable || 0 == wixGroupTable.Rows.Count) |
258 | //{ | 236 | //{ |
259 | // // TODO: Change message name to make it *not* Bundle specific? | 237 | // // TODO: Change message name to make it *not* Bundle specific? |
260 | // this.OnMessage(WixErrors.MissingBundleInformation("WixGroup")); | 238 | // this.Write(WixErrors.MissingBundleInformation("WixGroup")); |
261 | //} | 239 | //} |
262 | 240 | ||
263 | // Collect all of the groups | 241 | // Collect all of the groups |
@@ -326,7 +304,7 @@ namespace WixToolset.Core.Link | |||
326 | if (this.FindCircularGroupReference(item, item, itemsSeen, out circularReference)) | 304 | if (this.FindCircularGroupReference(item, item, itemsSeen, out circularReference)) |
327 | { | 305 | { |
328 | itemsInKnownLoops.Add(itemsSeen); | 306 | itemsInKnownLoops.Add(itemsSeen); |
329 | this.OnMessage(WixErrors.ReferenceLoopDetected(item.Row.SourceLineNumbers, circularReference)); | 307 | this.messageHandler.Write(ErrorMessages.ReferenceLoopDetected(item.Row.SourceLineNumbers, circularReference)); |
330 | } | 308 | } |
331 | } | 309 | } |
332 | } | 310 | } |
@@ -398,12 +376,12 @@ namespace WixToolset.Core.Link | |||
398 | 376 | ||
399 | if (!this.items.TryGetValue(rowItemType, rowItemName, out var item)) | 377 | if (!this.items.TryGetValue(rowItemType, rowItemName, out var item)) |
400 | { | 378 | { |
401 | this.OnMessage(WixErrors.IdentifierNotFound(rowItemType, rowItemName)); | 379 | this.messageHandler.Write(ErrorMessages.IdentifierNotFound(rowItemType, rowItemName)); |
402 | } | 380 | } |
403 | 381 | ||
404 | if (!this.items.TryGetValue(rowDependsOnType, rowDependsOnName, out var dependsOn)) | 382 | if (!this.items.TryGetValue(rowDependsOnType, rowDependsOnName, out var dependsOn)) |
405 | { | 383 | { |
406 | this.OnMessage(WixErrors.IdentifierNotFound(rowDependsOnType, rowDependsOnName)); | 384 | this.messageHandler.Write(ErrorMessages.IdentifierNotFound(rowDependsOnType, rowDependsOnName)); |
407 | } | 385 | } |
408 | 386 | ||
409 | if (null == item || null == dependsOn) | 387 | if (null == item || null == dependsOn) |
@@ -411,7 +389,7 @@ namespace WixToolset.Core.Link | |||
411 | continue; | 389 | continue; |
412 | } | 390 | } |
413 | 391 | ||
414 | item.AddAfter(dependsOn, this); | 392 | item.AddAfter(dependsOn, this.messageHandler); |
415 | } | 393 | } |
416 | } | 394 | } |
417 | 395 | ||
@@ -426,12 +404,12 @@ namespace WixToolset.Core.Link | |||
426 | // ordering. | 404 | // ordering. |
427 | foreach (Item item in this.items) | 405 | foreach (Item item in this.items) |
428 | { | 406 | { |
429 | item.PropagateAfterToChildItems(this); | 407 | item.PropagateAfterToChildItems(this.messageHandler); |
430 | } | 408 | } |
431 | 409 | ||
432 | foreach (Item item in this.items) | 410 | foreach (Item item in this.items) |
433 | { | 411 | { |
434 | item.FlattenAfters(this); | 412 | item.FlattenAfters(this.messageHandler); |
435 | } | 413 | } |
436 | } | 414 | } |
437 | 415 | ||
@@ -595,7 +573,7 @@ namespace WixToolset.Core.Link | |||
595 | /// </summary> | 573 | /// </summary> |
596 | /// <param name="items">List of items to add.</param> | 574 | /// <param name="items">List of items to add.</param> |
597 | /// <param name="messageHandler">Message handler in case a circular ordering reference is found.</param> | 575 | /// <param name="messageHandler">Message handler in case a circular ordering reference is found.</param> |
598 | public void AddAfter(ItemCollection items, IMessageHandler messageHandler) | 576 | public void AddAfter(ItemCollection items, IMessaging messageHandler) |
599 | { | 577 | { |
600 | foreach (Item item in items) | 578 | foreach (Item item in items) |
601 | { | 579 | { |
@@ -608,7 +586,7 @@ namespace WixToolset.Core.Link | |||
608 | /// </summary> | 586 | /// </summary> |
609 | /// <param name="item">Items to add.</param> | 587 | /// <param name="item">Items to add.</param> |
610 | /// <param name="messageHandler">Message handler in case a circular ordering reference is found.</param> | 588 | /// <param name="messageHandler">Message handler in case a circular ordering reference is found.</param> |
611 | public void AddAfter(Item after, IMessageHandler messageHandler) | 589 | public void AddAfter(Item after, IMessaging messageHandler) |
612 | { | 590 | { |
613 | if (this.beforeItems.Contains(after)) | 591 | if (this.beforeItems.Contains(after)) |
614 | { | 592 | { |
@@ -617,7 +595,7 @@ namespace WixToolset.Core.Link | |||
617 | // have lost some distinction between authored and propagated ordering. | 595 | // have lost some distinction between authored and propagated ordering. |
618 | string circularReference = String.Format(CultureInfo.InvariantCulture, "{0}:{1} -> {2}:{3} -> {0}:{1}", | 596 | string circularReference = String.Format(CultureInfo.InvariantCulture, "{0}:{1} -> {2}:{3} -> {0}:{1}", |
619 | this.Type, this.Id, after.Type, after.Id); | 597 | this.Type, this.Id, after.Type, after.Id); |
620 | messageHandler.OnMessage(WixErrors.OrderingReferenceLoopDetected(after.Row.SourceLineNumbers, circularReference)); | 598 | messageHandler.Write(ErrorMessages.OrderingReferenceLoopDetected(after.Row.SourceLineNumbers, circularReference)); |
621 | return; | 599 | return; |
622 | } | 600 | } |
623 | 601 | ||
@@ -632,7 +610,7 @@ namespace WixToolset.Core.Link | |||
632 | /// <remarks>Because items don't know about their parent groups (and can, in fact, be in more | 610 | /// <remarks>Because items don't know about their parent groups (and can, in fact, be in more |
633 | /// than one group at a time), we need to propagate the 'afters' from each parent item to its children | 611 | /// than one group at a time), we need to propagate the 'afters' from each parent item to its children |
634 | /// before we attempt to flatten the ordering.</remarks> | 612 | /// before we attempt to flatten the ordering.</remarks> |
635 | public void PropagateAfterToChildItems(IMessageHandler messageHandler) | 613 | public void PropagateAfterToChildItems(IMessaging messageHandler) |
636 | { | 614 | { |
637 | if (this.ShouldItemPropagateChildOrdering()) | 615 | if (this.ShouldItemPropagateChildOrdering()) |
638 | { | 616 | { |
@@ -647,7 +625,7 @@ namespace WixToolset.Core.Link | |||
647 | /// Flattens the ordering dependency for this item. | 625 | /// Flattens the ordering dependency for this item. |
648 | /// </summary> | 626 | /// </summary> |
649 | /// <param name="messageHandler">Message handler in case a circular ordering reference is found.</param> | 627 | /// <param name="messageHandler">Message handler in case a circular ordering reference is found.</param> |
650 | public void FlattenAfters(IMessageHandler messageHandler) | 628 | public void FlattenAfters(IMessaging messageHandler) |
651 | { | 629 | { |
652 | if (this.flattenedAfterItems) | 630 | if (this.flattenedAfterItems) |
653 | { | 631 | { |
diff --git a/src/WixToolset.Core/LinkContext.cs b/src/WixToolset.Core/LinkContext.cs index 1384cf98..b4474ec5 100644 --- a/src/WixToolset.Core/LinkContext.cs +++ b/src/WixToolset.Core/LinkContext.cs | |||
@@ -17,7 +17,7 @@ namespace WixToolset.Core | |||
17 | 17 | ||
18 | public IServiceProvider ServiceProvider { get; } | 18 | public IServiceProvider ServiceProvider { get; } |
19 | 19 | ||
20 | public Messaging Messaging { get; set; } | 20 | public IMessaging Messaging { get; set; } |
21 | 21 | ||
22 | public IEnumerable<ILinkerExtension> Extensions { get; set; } | 22 | public IEnumerable<ILinkerExtension> Extensions { get; set; } |
23 | 23 | ||
diff --git a/src/WixToolset.Core/Linker.cs b/src/WixToolset.Core/Linker.cs index ccf6f329..d980d79f 100644 --- a/src/WixToolset.Core/Linker.cs +++ b/src/WixToolset.Core/Linker.cs | |||
@@ -17,7 +17,7 @@ namespace WixToolset.Core | |||
17 | /// <summary> | 17 | /// <summary> |
18 | /// Linker core of the WiX toolset. | 18 | /// Linker core of the WiX toolset. |
19 | /// </summary> | 19 | /// </summary> |
20 | public sealed class Linker : IMessageHandler | 20 | public sealed class Linker |
21 | { | 21 | { |
22 | private static readonly char[] colonCharacter = ":".ToCharArray(); | 22 | private static readonly char[] colonCharacter = ":".ToCharArray(); |
23 | private static readonly string emptyGuid = Guid.Empty.ToString("B"); | 23 | private static readonly string emptyGuid = Guid.Empty.ToString("B"); |
@@ -129,14 +129,14 @@ namespace WixToolset.Core | |||
129 | 129 | ||
130 | // First find the entry section and while processing all sections load all the symbols from all of the sections. | 130 | // First find the entry section and while processing all sections load all the symbols from all of the sections. |
131 | // sections.FindEntrySectionAndLoadSymbols(false, this, expectedOutputType, out entrySection, out allSymbols); | 131 | // sections.FindEntrySectionAndLoadSymbols(false, this, expectedOutputType, out entrySection, out allSymbols); |
132 | var find = new FindEntrySectionAndLoadSymbolsCommand(sections); | 132 | var find = new FindEntrySectionAndLoadSymbolsCommand(this.Context.Messaging, sections); |
133 | find.ExpectedOutputType = this.Context.ExpectedOutputType; | 133 | find.ExpectedOutputType = this.Context.ExpectedOutputType; |
134 | find.Execute(); | 134 | find.Execute(); |
135 | 135 | ||
136 | // Must have found the entry section by now. | 136 | // Must have found the entry section by now. |
137 | if (null == find.EntrySection) | 137 | if (null == find.EntrySection) |
138 | { | 138 | { |
139 | throw new WixException(WixErrors.MissingEntrySection(this.Context.ExpectedOutputType.ToString())); | 139 | throw new WixException(ErrorMessages.MissingEntrySection(this.Context.ExpectedOutputType.ToString())); |
140 | } | 140 | } |
141 | 141 | ||
142 | // Add the missing standard action symbols. | 142 | // Add the missing standard action symbols. |
@@ -144,12 +144,12 @@ namespace WixToolset.Core | |||
144 | 144 | ||
145 | // Resolve the symbol references to find the set of sections we care about for linking. | 145 | // Resolve the symbol references to find the set of sections we care about for linking. |
146 | // Of course, we start with the entry section (that's how it got its name after all). | 146 | // Of course, we start with the entry section (that's how it got its name after all). |
147 | var resolve = new ResolveReferencesCommand(find.EntrySection, find.Symbols); | 147 | var resolve = new ResolveReferencesCommand(this.Context.Messaging, find.EntrySection, find.Symbols); |
148 | resolve.BuildingMergeModule = (SectionType.Module == find.EntrySection.Type); | 148 | resolve.BuildingMergeModule = (SectionType.Module == find.EntrySection.Type); |
149 | 149 | ||
150 | resolve.Execute(); | 150 | resolve.Execute(); |
151 | 151 | ||
152 | if (Messaging.Instance.EncounteredError) | 152 | if (this.Context.Messaging.EncounteredError) |
153 | { | 153 | { |
154 | return null; | 154 | return null; |
155 | } | 155 | } |
@@ -160,7 +160,7 @@ namespace WixToolset.Core | |||
160 | 160 | ||
161 | this.FlattenSectionsComplexReferences(sections); | 161 | this.FlattenSectionsComplexReferences(sections); |
162 | 162 | ||
163 | if (Messaging.Instance.EncounteredError) | 163 | if (this.Context.Messaging.EncounteredError) |
164 | { | 164 | { |
165 | return null; | 165 | return null; |
166 | } | 166 | } |
@@ -172,7 +172,7 @@ namespace WixToolset.Core | |||
172 | var modulesToFeatures = new ConnectToFeatureCollection(); | 172 | var modulesToFeatures = new ConnectToFeatureCollection(); |
173 | this.ProcessComplexReferences(find.EntrySection, sections, referencedComponents, componentsToFeatures, featuresToFeatures, modulesToFeatures); | 173 | this.ProcessComplexReferences(find.EntrySection, sections, referencedComponents, componentsToFeatures, featuresToFeatures, modulesToFeatures); |
174 | 174 | ||
175 | if (Messaging.Instance.EncounteredError) | 175 | if (this.Context.Messaging.EncounteredError) |
176 | { | 176 | { |
177 | return null; | 177 | return null; |
178 | } | 178 | } |
@@ -182,15 +182,15 @@ namespace WixToolset.Core | |||
182 | { | 182 | { |
183 | if (!referencedComponents.Contains(symbol.Name)) | 183 | if (!referencedComponents.Contains(symbol.Name)) |
184 | { | 184 | { |
185 | this.OnMessage(WixErrors.OrphanedComponent(symbol.Row.SourceLineNumbers, symbol.Row.Id.Id)); | 185 | this.OnMessage(ErrorMessages.OrphanedComponent(symbol.Row.SourceLineNumbers, symbol.Row.Id.Id)); |
186 | } | 186 | } |
187 | } | 187 | } |
188 | 188 | ||
189 | // Report duplicates that would ultimately end up being primary key collisions. | 189 | // Report duplicates that would ultimately end up being primary key collisions. |
190 | var reportDupes = new ReportConflictingSymbolsCommand(find.PossiblyConflictingSymbols, resolve.ResolvedSections); | 190 | var reportDupes = new ReportConflictingSymbolsCommand(this.Context.Messaging, find.PossiblyConflictingSymbols, resolve.ResolvedSections); |
191 | reportDupes.Execute(); | 191 | reportDupes.Execute(); |
192 | 192 | ||
193 | if (Messaging.Instance.EncounteredError) | 193 | if (this.Context.Messaging.EncounteredError) |
194 | { | 194 | { |
195 | return null; | 195 | return null; |
196 | } | 196 | } |
@@ -422,7 +422,7 @@ namespace WixToolset.Core | |||
422 | } | 422 | } |
423 | else if (!row.Overridable || (collidingRow.Overridable && row.Overridable)) | 423 | else if (!row.Overridable || (collidingRow.Overridable && row.Overridable)) |
424 | { | 424 | { |
425 | this.OnMessage(WixErrors.WixVariableCollision(row.SourceLineNumbers, row.WixVariable)); | 425 | this.OnMessage(ErrorMessages.WixVariableCollision(row.SourceLineNumbers, row.WixVariable)); |
426 | } | 426 | } |
427 | } | 427 | } |
428 | else | 428 | else |
@@ -691,7 +691,7 @@ namespace WixToolset.Core | |||
691 | // Bundles have groups of data that must be flattened in a way different from other types. | 691 | // Bundles have groups of data that must be flattened in a way different from other types. |
692 | this.FlattenBundleTables(resolvedSection); | 692 | this.FlattenBundleTables(resolvedSection); |
693 | 693 | ||
694 | if (Messaging.Instance.EncounteredError) | 694 | if (this.Context.Messaging.EncounteredError) |
695 | { | 695 | { |
696 | return null; | 696 | return null; |
697 | } | 697 | } |
@@ -702,7 +702,7 @@ namespace WixToolset.Core | |||
702 | this.CheckOutputConsistency(output); | 702 | this.CheckOutputConsistency(output); |
703 | #endif | 703 | #endif |
704 | 704 | ||
705 | return Messaging.Instance.EncounteredError ? null : output; | 705 | return this.Context.Messaging.EncounteredError ? null : output; |
706 | } | 706 | } |
707 | 707 | ||
708 | #if SOLVE_CUSTOM_TABLE | 708 | #if SOLVE_CUSTOM_TABLE |
@@ -1079,10 +1079,10 @@ namespace WixToolset.Core | |||
1079 | /// <summary> | 1079 | /// <summary> |
1080 | /// Sends a message to the message delegate if there is one. | 1080 | /// Sends a message to the message delegate if there is one. |
1081 | /// </summary> | 1081 | /// </summary> |
1082 | /// <param name="mea">Message event arguments.</param> | 1082 | /// <param name="message">Message event arguments.</param> |
1083 | public void OnMessage(MessageEventArgs e) | 1083 | public void OnMessage(Message message) |
1084 | { | 1084 | { |
1085 | this.Context.Messaging.OnMessage(e); | 1085 | this.Context.Messaging.Write(message); |
1086 | } | 1086 | } |
1087 | 1087 | ||
1088 | /// <summary> | 1088 | /// <summary> |
@@ -1138,7 +1138,7 @@ namespace WixToolset.Core | |||
1138 | { | 1138 | { |
1139 | if (connection.IsExplicitPrimaryFeature) | 1139 | if (connection.IsExplicitPrimaryFeature) |
1140 | { | 1140 | { |
1141 | this.OnMessage(WixErrors.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), connection.PrimaryFeature ?? resolvedSection.Id)); | 1141 | this.OnMessage(ErrorMessages.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), connection.PrimaryFeature ?? resolvedSection.Id)); |
1142 | continue; | 1142 | continue; |
1143 | } | 1143 | } |
1144 | else | 1144 | else |
@@ -1170,7 +1170,7 @@ namespace WixToolset.Core | |||
1170 | connection = featuresToFeatures[wixComplexReferenceRow.Child]; | 1170 | connection = featuresToFeatures[wixComplexReferenceRow.Child]; |
1171 | if (null != connection) | 1171 | if (null != connection) |
1172 | { | 1172 | { |
1173 | this.OnMessage(WixErrors.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), (null != connection.PrimaryFeature ? connection.PrimaryFeature : resolvedSection.Id))); | 1173 | this.OnMessage(ErrorMessages.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), (null != connection.PrimaryFeature ? connection.PrimaryFeature : resolvedSection.Id))); |
1174 | continue; | 1174 | continue; |
1175 | } | 1175 | } |
1176 | 1176 | ||
@@ -1187,7 +1187,7 @@ namespace WixToolset.Core | |||
1187 | { | 1187 | { |
1188 | if (connection.IsExplicitPrimaryFeature) | 1188 | if (connection.IsExplicitPrimaryFeature) |
1189 | { | 1189 | { |
1190 | this.OnMessage(WixErrors.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), (null != connection.PrimaryFeature ? connection.PrimaryFeature : resolvedSection.Id))); | 1190 | this.OnMessage(ErrorMessages.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), (null != connection.PrimaryFeature ? connection.PrimaryFeature : resolvedSection.Id))); |
1191 | continue; | 1191 | continue; |
1192 | } | 1192 | } |
1193 | else | 1193 | else |
@@ -1214,7 +1214,7 @@ namespace WixToolset.Core | |||
1214 | case ComplexReferenceChildType.Component: | 1214 | case ComplexReferenceChildType.Component: |
1215 | if (componentsToModules.ContainsKey(wixComplexReferenceRow.Child)) | 1215 | if (componentsToModules.ContainsKey(wixComplexReferenceRow.Child)) |
1216 | { | 1216 | { |
1217 | this.OnMessage(WixErrors.ComponentReferencedTwice(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.Child)); | 1217 | this.OnMessage(ErrorMessages.ComponentReferencedTwice(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.Child)); |
1218 | continue; | 1218 | continue; |
1219 | } | 1219 | } |
1220 | else | 1220 | else |
@@ -1258,7 +1258,7 @@ namespace WixToolset.Core | |||
1258 | connection = featuresToFeatures[wixComplexReferenceRow.Child]; | 1258 | connection = featuresToFeatures[wixComplexReferenceRow.Child]; |
1259 | if (null != connection) | 1259 | if (null != connection) |
1260 | { | 1260 | { |
1261 | this.OnMessage(WixErrors.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), (null != connection.PrimaryFeature ? connection.PrimaryFeature : resolvedSection.Id))); | 1261 | this.OnMessage(ErrorMessages.MultiplePrimaryReferences(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.ChildType.ToString(), wixComplexReferenceRow.Child, wixComplexReferenceRow.ParentType.ToString(), wixComplexReferenceRow.Parent, (null != connection.PrimaryFeature ? "Feature" : "Product"), (null != connection.PrimaryFeature ? connection.PrimaryFeature : resolvedSection.Id))); |
1262 | continue; | 1262 | continue; |
1263 | } | 1263 | } |
1264 | 1264 | ||
@@ -1443,7 +1443,7 @@ namespace WixToolset.Core | |||
1443 | // way up to present the loop as a directed graph. | 1443 | // way up to present the loop as a directed graph. |
1444 | var loop = String.Join(" -> ", loopDetector); | 1444 | var loop = String.Join(" -> ", loopDetector); |
1445 | 1445 | ||
1446 | this.OnMessage(WixErrors.ReferenceLoopDetected(wixComplexReferenceRow?.SourceLineNumbers, loop)); | 1446 | this.OnMessage(ErrorMessages.ReferenceLoopDetected(wixComplexReferenceRow?.SourceLineNumbers, loop)); |
1447 | 1447 | ||
1448 | // Cleanup the parentGroupsNeedingProcessing and the loopDetector just like the | 1448 | // Cleanup the parentGroupsNeedingProcessing and the loopDetector just like the |
1449 | // exit of this method does at the end because we are exiting early. | 1449 | // exit of this method does at the end because we are exiting early. |
@@ -1580,7 +1580,7 @@ namespace WixToolset.Core | |||
1580 | // will hold Payloads under UX, ChainPackages (references?) under Chain, | 1580 | // will hold Payloads under UX, ChainPackages (references?) under Chain, |
1581 | // and ChainPackages/Payloads under the attached and any detatched | 1581 | // and ChainPackages/Payloads under the attached and any detatched |
1582 | // Containers. | 1582 | // Containers. |
1583 | var groups = new WixGroupingOrdering(entrySection, this); | 1583 | var groups = new WixGroupingOrdering(entrySection, this.Context.Messaging); |
1584 | 1584 | ||
1585 | // Create UX payloads and Package payloads | 1585 | // Create UX payloads and Package payloads |
1586 | groups.UseTypes(new string[] { "Container", "Layout", "PackageGroup", "PayloadGroup", "Package" }, new string[] { "PackageGroup", "Package", "PayloadGroup", "Payload" }); | 1586 | groups.UseTypes(new string[] { "Container", "Layout", "PackageGroup", "PayloadGroup", "Package" }, new string[] { "PackageGroup", "Package", "PayloadGroup", "Payload" }); |
@@ -1685,11 +1685,11 @@ namespace WixToolset.Core | |||
1685 | // display an error for the component or merge module as approrpriate | 1685 | // display an error for the component or merge module as approrpriate |
1686 | if (null != multipleFeatureComponents) | 1686 | if (null != multipleFeatureComponents) |
1687 | { | 1687 | { |
1688 | this.OnMessage(WixErrors.ComponentExpectedFeature(row.SourceLineNumbers, connectionId, row.Definition.Name, row.Id.Id)); | 1688 | this.OnMessage(ErrorMessages.ComponentExpectedFeature(row.SourceLineNumbers, connectionId, row.Definition.Name, row.Id.Id)); |
1689 | } | 1689 | } |
1690 | else | 1690 | else |
1691 | { | 1691 | { |
1692 | this.OnMessage(WixErrors.MergeModuleExpectedFeature(row.SourceLineNumbers, connectionId)); | 1692 | this.OnMessage(ErrorMessages.MergeModuleExpectedFeature(row.SourceLineNumbers, connectionId)); |
1693 | } | 1693 | } |
1694 | } | 1694 | } |
1695 | else | 1695 | else |
@@ -1704,7 +1704,7 @@ namespace WixToolset.Core | |||
1704 | { | 1704 | { |
1705 | if (!multipleFeatureComponents.Contains(connectionId)) | 1705 | if (!multipleFeatureComponents.Contains(connectionId)) |
1706 | { | 1706 | { |
1707 | this.OnMessage(WixWarnings.ImplicitComponentPrimaryFeature(connectionId)); | 1707 | this.OnMessage(WarningMessages.ImplicitComponentPrimaryFeature(connectionId)); |
1708 | 1708 | ||
1709 | // remember this component so only one warning is generated for it | 1709 | // remember this component so only one warning is generated for it |
1710 | multipleFeatureComponents[connectionId] = null; | 1710 | multipleFeatureComponents[connectionId] = null; |
@@ -1712,7 +1712,7 @@ namespace WixToolset.Core | |||
1712 | } | 1712 | } |
1713 | else | 1713 | else |
1714 | { | 1714 | { |
1715 | this.OnMessage(WixWarnings.ImplicitMergeModulePrimaryFeature(connectionId)); | 1715 | this.OnMessage(WarningMessages.ImplicitMergeModulePrimaryFeature(connectionId)); |
1716 | } | 1716 | } |
1717 | } | 1717 | } |
1718 | 1718 | ||
diff --git a/src/WixToolset.Core/Localizer.cs b/src/WixToolset.Core/Localizer.cs index 8265c026..d4f89e7a 100644 --- a/src/WixToolset.Core/Localizer.cs +++ b/src/WixToolset.Core/Localizer.cs | |||
@@ -9,6 +9,7 @@ namespace WixToolset.Core | |||
9 | using WixToolset.Data.Rows; | 9 | using WixToolset.Data.Rows; |
10 | using WixToolset.Core.Native; | 10 | using WixToolset.Core.Native; |
11 | using WixToolset.Extensibility; | 11 | using WixToolset.Extensibility; |
12 | using WixToolset.Extensibility.Services; | ||
12 | 13 | ||
13 | /// <summary> | 14 | /// <summary> |
14 | /// Parses localization files and localizes database values. | 15 | /// Parses localization files and localizes database values. |
@@ -24,7 +25,7 @@ namespace WixToolset.Core | |||
24 | /// <summary> | 25 | /// <summary> |
25 | /// Instantiate a new Localizer. | 26 | /// Instantiate a new Localizer. |
26 | /// </summary> | 27 | /// </summary> |
27 | public Localizer(IEnumerable<Localization> localizations) | 28 | public Localizer(IMessaging messaging, IEnumerable<Localization> localizations) |
28 | { | 29 | { |
29 | this.Codepage = -1; | 30 | this.Codepage = -1; |
30 | this.variables = new Dictionary<string, BindVariable>(); | 31 | this.variables = new Dictionary<string, BindVariable>(); |
@@ -39,7 +40,7 @@ namespace WixToolset.Core | |||
39 | 40 | ||
40 | foreach (var variable in localization.Variables) | 41 | foreach (var variable in localization.Variables) |
41 | { | 42 | { |
42 | Localizer.AddWixVariable(this.variables, variable); | 43 | Localizer.AddWixVariable(messaging, this.variables, variable); |
43 | } | 44 | } |
44 | 45 | ||
45 | foreach (KeyValuePair<string, LocalizedControl> localizedControl in localization.LocalizedControls) | 46 | foreach (KeyValuePair<string, LocalizedControl> localizedControl in localization.LocalizedControls) |
@@ -86,7 +87,7 @@ namespace WixToolset.Core | |||
86 | /// <param name="tableDefinitions">Collection containing TableDefinitions to use when loading the localization file.</param> | 87 | /// <param name="tableDefinitions">Collection containing TableDefinitions to use when loading the localization file.</param> |
87 | /// <param name="suppressSchema">Suppress xml schema validation while loading.</param> | 88 | /// <param name="suppressSchema">Suppress xml schema validation while loading.</param> |
88 | /// <returns>Returns the loaded localization file.</returns> | 89 | /// <returns>Returns the loaded localization file.</returns> |
89 | public static Localization ParseLocalizationFile(string path) | 90 | public static Localization ParseLocalizationFile(IMessaging messaging, string path) |
90 | { | 91 | { |
91 | XElement root = XDocument.Load(path).Root; | 92 | XElement root = XDocument.Load(path).Root; |
92 | Localization localization = null; | 93 | Localization localization = null; |
@@ -96,23 +97,23 @@ namespace WixToolset.Core | |||
96 | { | 97 | { |
97 | if (Localizer.WxlNamespace == root.Name.Namespace) | 98 | if (Localizer.WxlNamespace == root.Name.Namespace) |
98 | { | 99 | { |
99 | localization = ParseWixLocalizationElement(root); | 100 | localization = ParseWixLocalizationElement(messaging, root); |
100 | } | 101 | } |
101 | else // invalid or missing namespace | 102 | else // invalid or missing namespace |
102 | { | 103 | { |
103 | if (null == root.Name.Namespace) | 104 | if (null == root.Name.Namespace) |
104 | { | 105 | { |
105 | Messaging.Instance.OnMessage(WixErrors.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, Localizer.WxlNamespace.NamespaceName)); | 106 | messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, Localizer.WxlNamespace.NamespaceName)); |
106 | } | 107 | } |
107 | else | 108 | else |
108 | { | 109 | { |
109 | Messaging.Instance.OnMessage(WixErrors.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, root.Name.LocalName, Localizer.WxlNamespace.NamespaceName)); | 110 | messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, root.Name.LocalName, Localizer.WxlNamespace.NamespaceName)); |
110 | } | 111 | } |
111 | } | 112 | } |
112 | } | 113 | } |
113 | else | 114 | else |
114 | { | 115 | { |
115 | Messaging.Instance.OnMessage(WixErrors.InvalidDocumentElement(sourceLineNumbers, root.Name.LocalName, "localization", Localizer.XmlElementName)); | 116 | messaging.Write(ErrorMessages.InvalidDocumentElement(sourceLineNumbers, root.Name.LocalName, "localization", Localizer.XmlElementName)); |
116 | } | 117 | } |
117 | 118 | ||
118 | return localization; | 119 | return localization; |
@@ -123,7 +124,7 @@ namespace WixToolset.Core | |||
123 | /// </summary> | 124 | /// </summary> |
124 | /// <param name="variables">Dictionary of variable rows.</param> | 125 | /// <param name="variables">Dictionary of variable rows.</param> |
125 | /// <param name="wixVariableRow">Row to add to the variables dictionary.</param> | 126 | /// <param name="wixVariableRow">Row to add to the variables dictionary.</param> |
126 | private static void AddWixVariable(IDictionary<string, BindVariable> variables, BindVariable wixVariableRow) | 127 | private static void AddWixVariable(IMessaging messaging, IDictionary<string, BindVariable> variables, BindVariable wixVariableRow) |
127 | { | 128 | { |
128 | if (!variables.TryGetValue(wixVariableRow.Id, out var existingWixVariableRow) || (existingWixVariableRow.Overridable && !wixVariableRow.Overridable)) | 129 | if (!variables.TryGetValue(wixVariableRow.Id, out var existingWixVariableRow) || (existingWixVariableRow.Overridable && !wixVariableRow.Overridable)) |
129 | { | 130 | { |
@@ -131,7 +132,7 @@ namespace WixToolset.Core | |||
131 | } | 132 | } |
132 | else if (!wixVariableRow.Overridable) | 133 | else if (!wixVariableRow.Overridable) |
133 | { | 134 | { |
134 | Messaging.Instance.OnMessage(WixErrors.DuplicateLocalizationIdentifier(wixVariableRow.SourceLineNumbers, wixVariableRow.Id)); | 135 | messaging.Write(ErrorMessages.DuplicateLocalizationIdentifier(wixVariableRow.SourceLineNumbers, wixVariableRow.Id)); |
135 | } | 136 | } |
136 | } | 137 | } |
137 | 138 | ||
@@ -139,7 +140,7 @@ namespace WixToolset.Core | |||
139 | /// Parses the WixLocalization element. | 140 | /// Parses the WixLocalization element. |
140 | /// </summary> | 141 | /// </summary> |
141 | /// <param name="node">Element to parse.</param> | 142 | /// <param name="node">Element to parse.</param> |
142 | private static Localization ParseWixLocalizationElement(XElement node) | 143 | private static Localization ParseWixLocalizationElement(IMessaging messaging, XElement node) |
143 | { | 144 | { |
144 | int codepage = -1; | 145 | int codepage = -1; |
145 | string culture = null; | 146 | string culture = null; |
@@ -161,13 +162,13 @@ namespace WixToolset.Core | |||
161 | // do nothing; @Language is used for locutil which can't convert Culture to lcid | 162 | // do nothing; @Language is used for locutil which can't convert Culture to lcid |
162 | break; | 163 | break; |
163 | default: | 164 | default: |
164 | Common.UnexpectedAttribute(sourceLineNumbers, attrib); | 165 | Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib); |
165 | break; | 166 | break; |
166 | } | 167 | } |
167 | } | 168 | } |
168 | else | 169 | else |
169 | { | 170 | { |
170 | Common.UnexpectedAttribute(sourceLineNumbers, attrib); | 171 | Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib); |
171 | } | 172 | } |
172 | } | 173 | } |
173 | 174 | ||
@@ -181,32 +182,32 @@ namespace WixToolset.Core | |||
181 | switch (child.Name.LocalName) | 182 | switch (child.Name.LocalName) |
182 | { | 183 | { |
183 | case "String": | 184 | case "String": |
184 | Localizer.ParseString(child, variables); | 185 | Localizer.ParseString(messaging, child, variables); |
185 | break; | 186 | break; |
186 | 187 | ||
187 | case "UI": | 188 | case "UI": |
188 | Localizer.ParseUI(child, localizedControls); | 189 | Localizer.ParseUI(messaging, child, localizedControls); |
189 | break; | 190 | break; |
190 | 191 | ||
191 | default: | 192 | default: |
192 | Messaging.Instance.OnMessage(WixErrors.UnexpectedElement(sourceLineNumbers, node.Name.ToString(), child.Name.ToString())); | 193 | messaging.Write(ErrorMessages.UnexpectedElement(sourceLineNumbers, node.Name.ToString(), child.Name.ToString())); |
193 | break; | 194 | break; |
194 | } | 195 | } |
195 | } | 196 | } |
196 | else | 197 | else |
197 | { | 198 | { |
198 | Messaging.Instance.OnMessage(WixErrors.UnsupportedExtensionElement(sourceLineNumbers, node.Name.ToString(), child.Name.ToString())); | 199 | messaging.Write(ErrorMessages.UnsupportedExtensionElement(sourceLineNumbers, node.Name.ToString(), child.Name.ToString())); |
199 | } | 200 | } |
200 | } | 201 | } |
201 | 202 | ||
202 | return Messaging.Instance.EncounteredError ? null : new Localization(codepage, culture, variables, localizedControls); | 203 | return messaging.EncounteredError ? null : new Localization(codepage, culture, variables, localizedControls); |
203 | } | 204 | } |
204 | 205 | ||
205 | /// <summary> | 206 | /// <summary> |
206 | /// Parse a localization string into a WixVariableRow. | 207 | /// Parse a localization string into a WixVariableRow. |
207 | /// </summary> | 208 | /// </summary> |
208 | /// <param name="node">Element to parse.</param> | 209 | /// <param name="node">Element to parse.</param> |
209 | private static void ParseString(XElement node, IDictionary<string, BindVariable> variables) | 210 | private static void ParseString(IMessaging messaging, XElement node, IDictionary<string, BindVariable> variables) |
210 | { | 211 | { |
211 | string id = null; | 212 | string id = null; |
212 | bool overridable = false; | 213 | bool overridable = false; |
@@ -219,22 +220,22 @@ namespace WixToolset.Core | |||
219 | switch (attrib.Name.LocalName) | 220 | switch (attrib.Name.LocalName) |
220 | { | 221 | { |
221 | case "Id": | 222 | case "Id": |
222 | id = Common.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 223 | id = Common.GetAttributeIdentifierValue(messaging, sourceLineNumbers, attrib); |
223 | break; | 224 | break; |
224 | case "Overridable": | 225 | case "Overridable": |
225 | overridable = YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib); | 226 | overridable = YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib); |
226 | break; | 227 | break; |
227 | case "Localizable": | 228 | case "Localizable": |
228 | ; // do nothing | 229 | ; // do nothing |
229 | break; | 230 | break; |
230 | default: | 231 | default: |
231 | Messaging.Instance.OnMessage(WixErrors.UnexpectedAttribute(sourceLineNumbers, attrib.Parent.Name.ToString(), attrib.Name.ToString())); | 232 | messaging.Write(ErrorMessages.UnexpectedAttribute(sourceLineNumbers, attrib.Parent.Name.ToString(), attrib.Name.ToString())); |
232 | break; | 233 | break; |
233 | } | 234 | } |
234 | } | 235 | } |
235 | else | 236 | else |
236 | { | 237 | { |
237 | Messaging.Instance.OnMessage(WixErrors.UnsupportedExtensionAttribute(sourceLineNumbers, attrib.Parent.Name.ToString(), attrib.Name.ToString())); | 238 | messaging.Write(ErrorMessages.UnsupportedExtensionAttribute(sourceLineNumbers, attrib.Parent.Name.ToString(), attrib.Name.ToString())); |
238 | } | 239 | } |
239 | } | 240 | } |
240 | 241 | ||
@@ -242,14 +243,14 @@ namespace WixToolset.Core | |||
242 | 243 | ||
243 | if (null == id) | 244 | if (null == id) |
244 | { | 245 | { |
245 | Messaging.Instance.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, "String", "Id")); | 246 | messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, "String", "Id")); |
246 | } | 247 | } |
247 | else if (0 == id.Length) | 248 | else if (0 == id.Length) |
248 | { | 249 | { |
249 | Messaging.Instance.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, "String", "Id", 0)); | 250 | messaging.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, "String", "Id", 0)); |
250 | } | 251 | } |
251 | 252 | ||
252 | if (!Messaging.Instance.EncounteredError) | 253 | if (!messaging.EncounteredError) |
253 | { | 254 | { |
254 | var variable = new BindVariable | 255 | var variable = new BindVariable |
255 | { | 256 | { |
@@ -259,7 +260,7 @@ namespace WixToolset.Core | |||
259 | Value = value, | 260 | Value = value, |
260 | }; | 261 | }; |
261 | 262 | ||
262 | Localizer.AddWixVariable(variables, variable); | 263 | Localizer.AddWixVariable(messaging, variables, variable); |
263 | } | 264 | } |
264 | } | 265 | } |
265 | 266 | ||
@@ -268,7 +269,7 @@ namespace WixToolset.Core | |||
268 | /// </summary> | 269 | /// </summary> |
269 | /// <param name="node">Element to parse.</param> | 270 | /// <param name="node">Element to parse.</param> |
270 | /// <param name="localizedControls">Dictionary of localized controls.</param> | 271 | /// <param name="localizedControls">Dictionary of localized controls.</param> |
271 | private static void ParseUI(XElement node, IDictionary<string, LocalizedControl> localizedControls) | 272 | private static void ParseUI(IMessaging messaging, XElement node, IDictionary<string, LocalizedControl> localizedControls) |
272 | { | 273 | { |
273 | string dialog = null; | 274 | string dialog = null; |
274 | string control = null; | 275 | string control = null; |
@@ -287,49 +288,49 @@ namespace WixToolset.Core | |||
287 | switch (attrib.Name.LocalName) | 288 | switch (attrib.Name.LocalName) |
288 | { | 289 | { |
289 | case "Dialog": | 290 | case "Dialog": |
290 | dialog = Common.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 291 | dialog = Common.GetAttributeIdentifierValue(messaging, sourceLineNumbers, attrib); |
291 | break; | 292 | break; |
292 | case "Control": | 293 | case "Control": |
293 | control = Common.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 294 | control = Common.GetAttributeIdentifierValue(messaging, sourceLineNumbers, attrib); |
294 | break; | 295 | break; |
295 | case "X": | 296 | case "X": |
296 | x = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); | 297 | x = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue); |
297 | break; | 298 | break; |
298 | case "Y": | 299 | case "Y": |
299 | y = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); | 300 | y = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue); |
300 | break; | 301 | break; |
301 | case "Width": | 302 | case "Width": |
302 | width = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); | 303 | width = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue); |
303 | break; | 304 | break; |
304 | case "Height": | 305 | case "Height": |
305 | height = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue); | 306 | height = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue); |
306 | break; | 307 | break; |
307 | case "RightToLeft": | 308 | case "RightToLeft": |
308 | if (YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib)) | 309 | if (YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib)) |
309 | { | 310 | { |
310 | attribs |= MsiInterop.MsidbControlAttributesRTLRO; | 311 | attribs |= MsiInterop.MsidbControlAttributesRTLRO; |
311 | } | 312 | } |
312 | break; | 313 | break; |
313 | case "RightAligned": | 314 | case "RightAligned": |
314 | if (YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib)) | 315 | if (YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib)) |
315 | { | 316 | { |
316 | attribs |= MsiInterop.MsidbControlAttributesRightAligned; | 317 | attribs |= MsiInterop.MsidbControlAttributesRightAligned; |
317 | } | 318 | } |
318 | break; | 319 | break; |
319 | case "LeftScroll": | 320 | case "LeftScroll": |
320 | if (YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib)) | 321 | if (YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib)) |
321 | { | 322 | { |
322 | attribs |= MsiInterop.MsidbControlAttributesLeftScroll; | 323 | attribs |= MsiInterop.MsidbControlAttributesLeftScroll; |
323 | } | 324 | } |
324 | break; | 325 | break; |
325 | default: | 326 | default: |
326 | Common.UnexpectedAttribute(sourceLineNumbers, attrib); | 327 | Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib); |
327 | break; | 328 | break; |
328 | } | 329 | } |
329 | } | 330 | } |
330 | else | 331 | else |
331 | { | 332 | { |
332 | Common.UnexpectedAttribute(sourceLineNumbers, attrib); | 333 | Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib); |
333 | } | 334 | } |
334 | } | 335 | } |
335 | 336 | ||
@@ -339,24 +340,24 @@ namespace WixToolset.Core | |||
339 | { | 340 | { |
340 | if (MsiInterop.MsidbControlAttributesRTLRO == (attribs & MsiInterop.MsidbControlAttributesRTLRO)) | 341 | if (MsiInterop.MsidbControlAttributesRTLRO == (attribs & MsiInterop.MsidbControlAttributesRTLRO)) |
341 | { | 342 | { |
342 | Messaging.Instance.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightToLeft", "Control")); | 343 | messaging.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightToLeft", "Control")); |
343 | } | 344 | } |
344 | else if (MsiInterop.MsidbControlAttributesRightAligned == (attribs & MsiInterop.MsidbControlAttributesRightAligned)) | 345 | else if (MsiInterop.MsidbControlAttributesRightAligned == (attribs & MsiInterop.MsidbControlAttributesRightAligned)) |
345 | { | 346 | { |
346 | Messaging.Instance.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightAligned", "Control")); | 347 | messaging.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightAligned", "Control")); |
347 | } | 348 | } |
348 | else if (MsiInterop.MsidbControlAttributesLeftScroll == (attribs & MsiInterop.MsidbControlAttributesLeftScroll)) | 349 | else if (MsiInterop.MsidbControlAttributesLeftScroll == (attribs & MsiInterop.MsidbControlAttributesLeftScroll)) |
349 | { | 350 | { |
350 | Messaging.Instance.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "LeftScroll", "Control")); | 351 | messaging.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "LeftScroll", "Control")); |
351 | } | 352 | } |
352 | } | 353 | } |
353 | 354 | ||
354 | if (String.IsNullOrEmpty(control) && String.IsNullOrEmpty(dialog)) | 355 | if (String.IsNullOrEmpty(control) && String.IsNullOrEmpty(dialog)) |
355 | { | 356 | { |
356 | Messaging.Instance.OnMessage(WixErrors.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.ToString(), "Dialog", "Control")); | 357 | messaging.Write(ErrorMessages.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.ToString(), "Dialog", "Control")); |
357 | } | 358 | } |
358 | 359 | ||
359 | if (!Messaging.Instance.EncounteredError) | 360 | if (!messaging.EncounteredError) |
360 | { | 361 | { |
361 | LocalizedControl localizedControl = new LocalizedControl(dialog, control, x, y, width, height, attribs, text); | 362 | LocalizedControl localizedControl = new LocalizedControl(dialog, control, x, y, width, height, attribs, text); |
362 | string key = localizedControl.GetKey(); | 363 | string key = localizedControl.GetKey(); |
@@ -364,11 +365,11 @@ namespace WixToolset.Core | |||
364 | { | 365 | { |
365 | if (String.IsNullOrEmpty(localizedControl.Control)) | 366 | if (String.IsNullOrEmpty(localizedControl.Control)) |
366 | { | 367 | { |
367 | Messaging.Instance.OnMessage(WixErrors.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog)); | 368 | messaging.Write(ErrorMessages.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog)); |
368 | } | 369 | } |
369 | else | 370 | else |
370 | { | 371 | { |
371 | Messaging.Instance.OnMessage(WixErrors.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog, localizedControl.Control)); | 372 | messaging.Write(ErrorMessages.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog, localizedControl.Control)); |
372 | } | 373 | } |
373 | } | 374 | } |
374 | else | 375 | else |
diff --git a/src/WixToolset.Core/Mutator.cs b/src/WixToolset.Core/Mutator.cs index f935b570..7f1af13a 100644 --- a/src/WixToolset.Core/Mutator.cs +++ b/src/WixToolset.Core/Mutator.cs | |||
@@ -71,7 +71,7 @@ namespace WixToolset.Core | |||
71 | } | 71 | } |
72 | finally | 72 | finally |
73 | { | 73 | { |
74 | encounteredError = this.Core.EncounteredError; | 74 | encounteredError = this.Core.Messaging.EncounteredError; |
75 | } | 75 | } |
76 | 76 | ||
77 | // return the Wix document element only if mutation completed successfully | 77 | // return the Wix document element only if mutation completed successfully |
@@ -98,7 +98,7 @@ namespace WixToolset.Core | |||
98 | 98 | ||
99 | wixString = mutatorExtension.Mutate(wixString); | 99 | wixString = mutatorExtension.Mutate(wixString); |
100 | 100 | ||
101 | if (String.IsNullOrEmpty(wixString) || this.Core.EncounteredError) | 101 | if (String.IsNullOrEmpty(wixString) || this.Core.Messaging.EncounteredError) |
102 | { | 102 | { |
103 | break; | 103 | break; |
104 | } | 104 | } |
@@ -106,7 +106,7 @@ namespace WixToolset.Core | |||
106 | } | 106 | } |
107 | finally | 107 | finally |
108 | { | 108 | { |
109 | encounteredError = this.Core.EncounteredError; | 109 | encounteredError = this.Core.Messaging.EncounteredError; |
110 | } | 110 | } |
111 | 111 | ||
112 | return encounteredError ? null : wixString; | 112 | return encounteredError ? null : wixString; |
diff --git a/src/WixToolset.Core/Preprocess/IfDefEventHandler.cs b/src/WixToolset.Core/Preprocess/IfDefEventHandler.cs new file mode 100644 index 00000000..ff181d61 --- /dev/null +++ b/src/WixToolset.Core/Preprocess/IfDefEventHandler.cs | |||
@@ -0,0 +1,28 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Core.Preprocess | ||
4 | { | ||
5 | using System; | ||
6 | using WixToolset.Data; | ||
7 | |||
8 | public delegate void IfDefEventHandler(object sender, IfDefEventArgs e); | ||
9 | |||
10 | public class IfDefEventArgs : EventArgs | ||
11 | { | ||
12 | public IfDefEventArgs(SourceLineNumber sourceLineNumbers, bool isIfDef, bool isDefined, string variableName) | ||
13 | { | ||
14 | this.SourceLineNumbers = sourceLineNumbers; | ||
15 | this.IsIfDef = isIfDef; | ||
16 | this.IsDefined = isDefined; | ||
17 | this.VariableName = variableName; | ||
18 | } | ||
19 | |||
20 | public SourceLineNumber SourceLineNumbers { get; } | ||
21 | |||
22 | public bool IsDefined { get; } | ||
23 | |||
24 | public bool IsIfDef { get; } | ||
25 | |||
26 | public string VariableName { get; } | ||
27 | } | ||
28 | } | ||
diff --git a/src/WixToolset.Core/IncludedFileEventHandler.cs b/src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs index 57527e5c..beba216d 100644 --- a/src/WixToolset.Core/IncludedFileEventHandler.cs +++ b/src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs | |||
@@ -1,6 +1,6 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset | 3 | namespace WixToolset.Core.Preprocess |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using WixToolset.Data; | 6 | using WixToolset.Data; |
@@ -17,9 +17,6 @@ namespace WixToolset | |||
17 | /// </summary> | 17 | /// </summary> |
18 | public class IncludedFileEventArgs : EventArgs | 18 | public class IncludedFileEventArgs : EventArgs |
19 | { | 19 | { |
20 | private SourceLineNumber sourceLineNumbers; | ||
21 | private string fullName; | ||
22 | |||
23 | /// <summary> | 20 | /// <summary> |
24 | /// Creates a new IncludedFileEventArgs. | 21 | /// Creates a new IncludedFileEventArgs. |
25 | /// </summary> | 22 | /// </summary> |
@@ -27,26 +24,20 @@ namespace WixToolset | |||
27 | /// <param name="fullName">The full path of the included file.</param> | 24 | /// <param name="fullName">The full path of the included file.</param> |
28 | public IncludedFileEventArgs(SourceLineNumber sourceLineNumbers, string fullName) | 25 | public IncludedFileEventArgs(SourceLineNumber sourceLineNumbers, string fullName) |
29 | { | 26 | { |
30 | this.sourceLineNumbers = sourceLineNumbers; | 27 | this.SourceLineNumbers = sourceLineNumbers; |
31 | this.fullName = fullName; | 28 | this.FullName = fullName; |
32 | } | 29 | } |
33 | 30 | ||
34 | /// <summary> | 31 | /// <summary> |
35 | /// Gets the full path of the included file. | 32 | /// Gets the full path of the included file. |
36 | /// </summary> | 33 | /// </summary> |
37 | /// <value>The full path of the included file.</value> | 34 | /// <value>The full path of the included file.</value> |
38 | public string FullName | 35 | public string FullName { get; } |
39 | { | ||
40 | get { return this.fullName; } | ||
41 | } | ||
42 | 36 | ||
43 | /// <summary> | 37 | /// <summary> |
44 | /// Gets the source line numbers. | 38 | /// Gets the source line numbers. |
45 | /// </summary> | 39 | /// </summary> |
46 | /// <value>The source line numbers.</value> | 40 | /// <value>The source line numbers.</value> |
47 | public SourceLineNumber SourceLineNumbers | 41 | public SourceLineNumber SourceLineNumbers { get; } |
48 | { | ||
49 | get { return this.sourceLineNumbers; } | ||
50 | } | ||
51 | } | 42 | } |
52 | } | 43 | } |
diff --git a/src/WixToolset.Core/ProcessedStreamEventHandler.cs b/src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs index de6b5d1f..434590d2 100644 --- a/src/WixToolset.Core/ProcessedStreamEventHandler.cs +++ b/src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs | |||
@@ -1,6 +1,6 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset | 3 | namespace WixToolset.Core.Preprocess |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Xml.Linq; | 6 | using System.Xml.Linq; |
diff --git a/src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs b/src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs new file mode 100644 index 00000000..df3a7e6a --- /dev/null +++ b/src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs | |||
@@ -0,0 +1,25 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Core.Preprocess | ||
4 | { | ||
5 | using System; | ||
6 | using WixToolset.Data; | ||
7 | |||
8 | public delegate void ResolvedVariableEventHandler(object sender, ResolvedVariableEventArgs e); | ||
9 | |||
10 | public class ResolvedVariableEventArgs : EventArgs | ||
11 | { | ||
12 | public ResolvedVariableEventArgs(SourceLineNumber sourceLineNumbers, string variableName, string variableValue) | ||
13 | { | ||
14 | this.SourceLineNumbers = sourceLineNumbers; | ||
15 | this.VariableName = variableName; | ||
16 | this.VariableValue = variableValue; | ||
17 | } | ||
18 | |||
19 | public SourceLineNumber SourceLineNumbers { get; } | ||
20 | |||
21 | public string VariableName { get; } | ||
22 | |||
23 | public string VariableValue { get; } | ||
24 | } | ||
25 | } | ||
diff --git a/src/WixToolset.Core/PreprocessContext.cs b/src/WixToolset.Core/PreprocessContext.cs index c0acc31e..cb29d1ff 100644 --- a/src/WixToolset.Core/PreprocessContext.cs +++ b/src/WixToolset.Core/PreprocessContext.cs | |||
@@ -6,6 +6,7 @@ namespace WixToolset.Core | |||
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
9 | using WixToolset.Extensibility.Services; | ||
9 | 10 | ||
10 | /// <summary> | 11 | /// <summary> |
11 | /// The preprocessor core. | 12 | /// The preprocessor core. |
@@ -19,7 +20,7 @@ namespace WixToolset.Core | |||
19 | 20 | ||
20 | public IServiceProvider ServiceProvider { get; } | 21 | public IServiceProvider ServiceProvider { get; } |
21 | 22 | ||
22 | public Messaging Messaging { get; set; } | 23 | public IMessaging Messaging { get; set; } |
23 | 24 | ||
24 | public IEnumerable<IPreprocessorExtension> Extensions { get; set; } | 25 | public IEnumerable<IPreprocessorExtension> Extensions { get; set; } |
25 | 26 | ||
diff --git a/src/WixToolset.Core/Preprocessor.cs b/src/WixToolset.Core/Preprocessor.cs index 195ede9e..53d60c87 100644 --- a/src/WixToolset.Core/Preprocessor.cs +++ b/src/WixToolset.Core/Preprocessor.cs | |||
@@ -136,7 +136,7 @@ namespace WixToolset.Core | |||
136 | } | 136 | } |
137 | else | 137 | else |
138 | { | 138 | { |
139 | this.Context.Messaging.OnMessage(WixErrors.DuplicateExtensionPreprocessorType(extension.GetType().ToString(), prefix, collidingExtension.GetType().ToString())); | 139 | this.Context.Messaging.Write(ErrorMessages.DuplicateExtensionPreprocessorType(extension.GetType().ToString(), prefix, collidingExtension.GetType().ToString())); |
140 | } | 140 | } |
141 | } | 141 | } |
142 | } | 142 | } |
@@ -159,7 +159,7 @@ namespace WixToolset.Core | |||
159 | catch (XmlException e) | 159 | catch (XmlException e) |
160 | { | 160 | { |
161 | this.UpdateCurrentLineNumber(reader, 0); | 161 | this.UpdateCurrentLineNumber(reader, 0); |
162 | throw new WixException(WixErrors.InvalidXml(this.Context.CurrentSourceLineNumber, "source", e.Message)); | 162 | throw new WixException(ErrorMessages.InvalidXml(this.Context.CurrentSourceLineNumber, "source", e.Message)); |
163 | } | 163 | } |
164 | finally | 164 | finally |
165 | { | 165 | { |
@@ -347,12 +347,12 @@ namespace WixToolset.Core | |||
347 | case "elseif": | 347 | case "elseif": |
348 | if (0 == ifStack.Count) | 348 | if (0 == ifStack.Count) |
349 | { | 349 | { |
350 | throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif")); | 350 | throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif")); |
351 | } | 351 | } |
352 | 352 | ||
353 | if (IfState.If != ifContext.IfState && IfState.ElseIf != ifContext.IfState) | 353 | if (IfState.If != ifContext.IfState && IfState.ElseIf != ifContext.IfState) |
354 | { | 354 | { |
355 | throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif")); | 355 | throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif")); |
356 | } | 356 | } |
357 | 357 | ||
358 | ifContext.IfState = IfState.ElseIf; // we're now in an elseif | 358 | ifContext.IfState = IfState.ElseIf; // we're now in an elseif |
@@ -370,12 +370,12 @@ namespace WixToolset.Core | |||
370 | case "else": | 370 | case "else": |
371 | if (0 == ifStack.Count) | 371 | if (0 == ifStack.Count) |
372 | { | 372 | { |
373 | throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else")); | 373 | throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else")); |
374 | } | 374 | } |
375 | 375 | ||
376 | if (IfState.If != ifContext.IfState && IfState.ElseIf != ifContext.IfState) | 376 | if (IfState.If != ifContext.IfState && IfState.ElseIf != ifContext.IfState) |
377 | { | 377 | { |
378 | throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else")); | 378 | throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else")); |
379 | } | 379 | } |
380 | 380 | ||
381 | ifContext.IfState = IfState.Else; // we're now in an else | 381 | ifContext.IfState = IfState.Else; // we're now in an else |
@@ -386,7 +386,7 @@ namespace WixToolset.Core | |||
386 | case "endif": | 386 | case "endif": |
387 | if (0 == ifStack.Count) | 387 | if (0 == ifStack.Count) |
388 | { | 388 | { |
389 | throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "endif")); | 389 | throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "endif")); |
390 | } | 390 | } |
391 | 391 | ||
392 | ifContext = (IfContext)ifStack.Pop(); | 392 | ifContext = (IfContext)ifStack.Pop(); |
@@ -466,7 +466,7 @@ namespace WixToolset.Core | |||
466 | break; | 466 | break; |
467 | 467 | ||
468 | case "endforeach": // endforeach is handled in PreprocessForeach, so seeing it here is an error | 468 | case "endforeach": // endforeach is handled in PreprocessForeach, so seeing it here is an error |
469 | throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "foreach", "endforeach")); | 469 | throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "foreach", "endforeach")); |
470 | 470 | ||
471 | case "pragma": | 471 | case "pragma": |
472 | this.PreprocessPragma(reader.Value, currentContainer); | 472 | this.PreprocessPragma(reader.Value, currentContainer); |
@@ -483,7 +483,7 @@ namespace WixToolset.Core | |||
483 | { | 483 | { |
484 | if ("Include" != reader.LocalName) | 484 | if ("Include" != reader.LocalName) |
485 | { | 485 | { |
486 | this.Context.Messaging.OnMessage(WixErrors.InvalidDocumentElement(sourceLineNumbers, reader.Name, "include", "Include")); | 486 | this.Context.Messaging.Write(ErrorMessages.InvalidDocumentElement(sourceLineNumbers, reader.Name, "include", "Include")); |
487 | } | 487 | } |
488 | 488 | ||
489 | this.IncludeNextStack.Pop(); | 489 | this.IncludeNextStack.Pop(); |
@@ -540,13 +540,13 @@ namespace WixToolset.Core | |||
540 | 540 | ||
541 | if (0 != ifStack.Count) | 541 | if (0 != ifStack.Count) |
542 | { | 542 | { |
543 | throw new WixException(WixErrors.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "if", "endif")); | 543 | throw new WixException(ErrorMessages.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "if", "endif")); |
544 | } | 544 | } |
545 | 545 | ||
546 | // TODO: can this actually happen? | 546 | // TODO: can this actually happen? |
547 | if (0 != containerStack.Count) | 547 | if (0 != containerStack.Count) |
548 | { | 548 | { |
549 | throw new WixException(WixErrors.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "nodes", "nodes")); | 549 | throw new WixException(ErrorMessages.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "nodes", "nodes")); |
550 | } | 550 | } |
551 | } | 551 | } |
552 | 552 | ||
@@ -559,7 +559,7 @@ namespace WixToolset.Core | |||
559 | // Resolve other variables in the error message. | 559 | // Resolve other variables in the error message. |
560 | errorMessage = this.Helper.PreprocessString(this.Context, errorMessage); | 560 | errorMessage = this.Helper.PreprocessString(this.Context, errorMessage); |
561 | 561 | ||
562 | throw new WixException(WixErrors.PreprocessorError(this.Context.CurrentSourceLineNumber, errorMessage)); | 562 | throw new WixException(ErrorMessages.PreprocessorError(this.Context.CurrentSourceLineNumber, errorMessage)); |
563 | } | 563 | } |
564 | 564 | ||
565 | /// <summary> | 565 | /// <summary> |
@@ -571,7 +571,7 @@ namespace WixToolset.Core | |||
571 | // Resolve other variables in the warning message. | 571 | // Resolve other variables in the warning message. |
572 | warningMessage = this.Helper.PreprocessString(this.Context, warningMessage); | 572 | warningMessage = this.Helper.PreprocessString(this.Context, warningMessage); |
573 | 573 | ||
574 | this.Context.Messaging.OnMessage(WixWarnings.PreprocessorWarning(this.Context.CurrentSourceLineNumber, warningMessage)); | 574 | this.Context.Messaging.Write(WarningMessages.PreprocessorWarning(this.Context.CurrentSourceLineNumber, warningMessage)); |
575 | } | 575 | } |
576 | 576 | ||
577 | /// <summary> | 577 | /// <summary> |
@@ -584,7 +584,7 @@ namespace WixToolset.Core | |||
584 | 584 | ||
585 | if (!match.Success) | 585 | if (!match.Success) |
586 | { | 586 | { |
587 | throw new WixException(WixErrors.IllegalDefineStatement(this.Context.CurrentSourceLineNumber, originalDefine)); | 587 | throw new WixException(ErrorMessages.IllegalDefineStatement(this.Context.CurrentSourceLineNumber, originalDefine)); |
588 | } | 588 | } |
589 | 589 | ||
590 | var defineName = match.Groups["varName"].Value; | 590 | var defineName = match.Groups["varName"].Value; |
@@ -645,7 +645,7 @@ namespace WixToolset.Core | |||
645 | 645 | ||
646 | if (null == includeFile) | 646 | if (null == includeFile) |
647 | { | 647 | { |
648 | throw new WixException(WixErrors.FileNotFound(sourceLineNumbers, includePath, "include")); | 648 | throw new WixException(ErrorMessages.FileNotFound(sourceLineNumbers, includePath, "include")); |
649 | } | 649 | } |
650 | 650 | ||
651 | using (XmlReader reader = XmlReader.Create(includeFile, DocumentXmlReaderSettings)) | 651 | using (XmlReader reader = XmlReader.Create(includeFile, DocumentXmlReaderSettings)) |
@@ -660,7 +660,7 @@ namespace WixToolset.Core | |||
660 | catch (XmlException e) | 660 | catch (XmlException e) |
661 | { | 661 | { |
662 | this.UpdateCurrentLineNumber(reader, 0); | 662 | this.UpdateCurrentLineNumber(reader, 0); |
663 | throw new WixException(WixErrors.InvalidXml(sourceLineNumbers, "source", e.Message)); | 663 | throw new WixException(ErrorMessages.InvalidXml(sourceLineNumbers, "source", e.Message)); |
664 | } | 664 | } |
665 | 665 | ||
666 | this.IncludedFile?.Invoke(this, new IncludedFileEventArgs(sourceLineNumbers, includeFile)); | 666 | this.IncludedFile?.Invoke(this, new IncludedFileEventArgs(sourceLineNumbers, includeFile)); |
@@ -681,7 +681,7 @@ namespace WixToolset.Core | |||
681 | var indexOfInToken = reader.Value.IndexOf(" in ", StringComparison.Ordinal); | 681 | var indexOfInToken = reader.Value.IndexOf(" in ", StringComparison.Ordinal); |
682 | if (0 > indexOfInToken) | 682 | if (0 > indexOfInToken) |
683 | { | 683 | { |
684 | throw new WixException(WixErrors.IllegalForeach(this.Context.CurrentSourceLineNumber, reader.Value)); | 684 | throw new WixException(ErrorMessages.IllegalForeach(this.Context.CurrentSourceLineNumber, reader.Value)); |
685 | } | 685 | } |
686 | 686 | ||
687 | // parse out the variable name | 687 | // parse out the variable name |
@@ -751,7 +751,7 @@ namespace WixToolset.Core | |||
751 | } | 751 | } |
752 | else if (reader.NodeType == XmlNodeType.None) | 752 | else if (reader.NodeType == XmlNodeType.None) |
753 | { | 753 | { |
754 | throw new WixException(WixErrors.ExpectedEndforeach(this.Context.CurrentSourceLineNumber)); | 754 | throw new WixException(ErrorMessages.ExpectedEndforeach(this.Context.CurrentSourceLineNumber)); |
755 | } | 755 | } |
756 | 756 | ||
757 | reader.Read(); | 757 | reader.Read(); |
@@ -773,7 +773,7 @@ namespace WixToolset.Core | |||
773 | catch (XmlException e) | 773 | catch (XmlException e) |
774 | { | 774 | { |
775 | this.UpdateCurrentLineNumber(loopReader, offset); | 775 | this.UpdateCurrentLineNumber(loopReader, offset); |
776 | throw new WixException(WixErrors.InvalidXml(this.Context.CurrentSourceLineNumber, "source", e.Message)); | 776 | throw new WixException(ErrorMessages.InvalidXml(this.Context.CurrentSourceLineNumber, "source", e.Message)); |
777 | } | 777 | } |
778 | 778 | ||
779 | fragmentStream.Position = 0; // seek back to the beginning for the next loop. | 779 | fragmentStream.Position = 0; // seek back to the beginning for the next loop. |
@@ -791,7 +791,7 @@ namespace WixToolset.Core | |||
791 | 791 | ||
792 | if (!match.Success) | 792 | if (!match.Success) |
793 | { | 793 | { |
794 | throw new WixException(WixErrors.InvalidPreprocessorPragma(this.Context.CurrentSourceLineNumber, pragmaText)); | 794 | throw new WixException(ErrorMessages.InvalidPreprocessorPragma(this.Context.CurrentSourceLineNumber, pragmaText)); |
795 | } | 795 | } |
796 | 796 | ||
797 | // resolve other variables in the pragma argument(s) | 797 | // resolve other variables in the pragma argument(s) |
@@ -803,7 +803,7 @@ namespace WixToolset.Core | |||
803 | } | 803 | } |
804 | catch (Exception e) | 804 | catch (Exception e) |
805 | { | 805 | { |
806 | throw new WixException(WixErrors.PreprocessorExtensionPragmaFailed(this.Context.CurrentSourceLineNumber, pragmaText, e.Message)); | 806 | throw new WixException(ErrorMessages.PreprocessorExtensionPragmaFailed(this.Context.CurrentSourceLineNumber, pragmaText, e.Message)); |
807 | } | 807 | } |
808 | } | 808 | } |
809 | 809 | ||
@@ -830,7 +830,7 @@ namespace WixToolset.Core | |||
830 | int endingQuotes = expression.IndexOf('\"', 1); | 830 | int endingQuotes = expression.IndexOf('\"', 1); |
831 | if (-1 == endingQuotes) | 831 | if (-1 == endingQuotes) |
832 | { | 832 | { |
833 | throw new WixException(WixErrors.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 833 | throw new WixException(ErrorMessages.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
834 | } | 834 | } |
835 | 835 | ||
836 | // cut the quotes off the string | 836 | // cut the quotes off the string |
@@ -864,7 +864,7 @@ namespace WixToolset.Core | |||
864 | 864 | ||
865 | if (-1 == endingParen) | 865 | if (-1 == endingParen) |
866 | { | 866 | { |
867 | throw new WixException(WixErrors.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 867 | throw new WixException(ErrorMessages.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
868 | } | 868 | } |
869 | token = expression.Substring(0, endingParen + 1); | 869 | token = expression.Substring(0, endingParen + 1); |
870 | 870 | ||
@@ -981,12 +981,12 @@ namespace WixToolset.Core | |||
981 | else if (variable.IndexOf("(", StringComparison.Ordinal) != -1 || variable.IndexOf(")", StringComparison.Ordinal) != -1) | 981 | else if (variable.IndexOf("(", StringComparison.Ordinal) != -1 || variable.IndexOf(")", StringComparison.Ordinal) != -1) |
982 | { | 982 | { |
983 | // make sure it doesn't contain parenthesis | 983 | // make sure it doesn't contain parenthesis |
984 | throw new WixException(WixErrors.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 984 | throw new WixException(ErrorMessages.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
985 | } | 985 | } |
986 | else if (variable.IndexOf("\"", StringComparison.Ordinal) != -1) | 986 | else if (variable.IndexOf("\"", StringComparison.Ordinal) != -1) |
987 | { | 987 | { |
988 | // shouldn't contain quotes | 988 | // shouldn't contain quotes |
989 | throw new WixException(WixErrors.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 989 | throw new WixException(ErrorMessages.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
990 | } | 990 | } |
991 | 991 | ||
992 | return varValue; | 992 | return varValue; |
@@ -1017,7 +1017,7 @@ namespace WixToolset.Core | |||
1017 | { | 1017 | { |
1018 | if (stringLiteral) | 1018 | if (stringLiteral) |
1019 | { | 1019 | { |
1020 | throw new WixException(WixErrors.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 1020 | throw new WixException(ErrorMessages.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
1021 | } | 1021 | } |
1022 | 1022 | ||
1023 | rightValue = this.GetNextToken(originalExpression, ref expression, out stringLiteral); | 1023 | rightValue = this.GetNextToken(originalExpression, ref expression, out stringLiteral); |
@@ -1068,7 +1068,7 @@ namespace WixToolset.Core | |||
1068 | { | 1068 | { |
1069 | if (operation.Length > 0) | 1069 | if (operation.Length > 0) |
1070 | { | 1070 | { |
1071 | throw new WixException(WixErrors.ExpectedVariable(this.Context.CurrentSourceLineNumber, originalExpression)); | 1071 | throw new WixException(ErrorMessages.ExpectedVariable(this.Context.CurrentSourceLineNumber, originalExpression)); |
1072 | } | 1072 | } |
1073 | 1073 | ||
1074 | // false expression | 1074 | // false expression |
@@ -1083,7 +1083,7 @@ namespace WixToolset.Core | |||
1083 | } | 1083 | } |
1084 | else | 1084 | else |
1085 | { | 1085 | { |
1086 | throw new WixException(WixErrors.UnexpectedLiteral(this.Context.CurrentSourceLineNumber, originalExpression)); | 1086 | throw new WixException(ErrorMessages.UnexpectedLiteral(this.Context.CurrentSourceLineNumber, originalExpression)); |
1087 | } | 1087 | } |
1088 | } | 1088 | } |
1089 | else | 1089 | else |
@@ -1123,11 +1123,11 @@ namespace WixToolset.Core | |||
1123 | } | 1123 | } |
1124 | catch (FormatException) | 1124 | catch (FormatException) |
1125 | { | 1125 | { |
1126 | throw new WixException(WixErrors.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 1126 | throw new WixException(ErrorMessages.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
1127 | } | 1127 | } |
1128 | catch (OverflowException) | 1128 | catch (OverflowException) |
1129 | { | 1129 | { |
1130 | throw new WixException(WixErrors.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 1130 | throw new WixException(ErrorMessages.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
1131 | } | 1131 | } |
1132 | 1132 | ||
1133 | // Compare the numbers | 1133 | // Compare the numbers |
@@ -1169,7 +1169,7 @@ namespace WixToolset.Core | |||
1169 | closeParenIndex = expression.IndexOf(')', closeParenIndex); | 1169 | closeParenIndex = expression.IndexOf(')', closeParenIndex); |
1170 | if (closeParenIndex == -1) | 1170 | if (closeParenIndex == -1) |
1171 | { | 1171 | { |
1172 | throw new WixException(WixErrors.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 1172 | throw new WixException(ErrorMessages.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
1173 | } | 1173 | } |
1174 | 1174 | ||
1175 | if (InsideQuotes(expression, closeParenIndex)) | 1175 | if (InsideQuotes(expression, closeParenIndex)) |
@@ -1218,7 +1218,7 @@ namespace WixToolset.Core | |||
1218 | currentValue = !currentValue; | 1218 | currentValue = !currentValue; |
1219 | break; | 1219 | break; |
1220 | default: | 1220 | default: |
1221 | throw new WixException(WixErrors.UnexpectedPreprocessorOperator(this.Context.CurrentSourceLineNumber, operation.ToString())); | 1221 | throw new WixException(ErrorMessages.UnexpectedPreprocessorOperator(this.Context.CurrentSourceLineNumber, operation.ToString())); |
1222 | } | 1222 | } |
1223 | } | 1223 | } |
1224 | 1224 | ||
@@ -1267,7 +1267,7 @@ namespace WixToolset.Core | |||
1267 | expression = expression.Trim(); | 1267 | expression = expression.Trim(); |
1268 | if (expression.Length == 0) | 1268 | if (expression.Length == 0) |
1269 | { | 1269 | { |
1270 | throw new WixException(WixErrors.UnexpectedEmptySubexpression(this.Context.CurrentSourceLineNumber, originalExpression)); | 1270 | throw new WixException(ErrorMessages.UnexpectedEmptySubexpression(this.Context.CurrentSourceLineNumber, originalExpression)); |
1271 | } | 1271 | } |
1272 | 1272 | ||
1273 | // If the expression starts with parenthesis, evaluate it | 1273 | // If the expression starts with parenthesis, evaluate it |
@@ -1288,7 +1288,7 @@ namespace WixToolset.Core | |||
1288 | expression = expression.Substring(3).Trim(); | 1288 | expression = expression.Substring(3).Trim(); |
1289 | if (expression.Length == 0) | 1289 | if (expression.Length == 0) |
1290 | { | 1290 | { |
1291 | throw new WixException(WixErrors.ExpectedExpressionAfterNot(this.Context.CurrentSourceLineNumber, originalExpression)); | 1291 | throw new WixException(ErrorMessages.ExpectedExpressionAfterNot(this.Context.CurrentSourceLineNumber, originalExpression)); |
1292 | } | 1292 | } |
1293 | 1293 | ||
1294 | expressionValue = this.EvaluateExpressionRecurse(originalExpression, ref expression, PreprocessorOperation.Not, true); | 1294 | expressionValue = this.EvaluateExpressionRecurse(originalExpression, ref expression, PreprocessorOperation.Not, true); |
@@ -1317,7 +1317,7 @@ namespace WixToolset.Core | |||
1317 | } | 1317 | } |
1318 | else | 1318 | else |
1319 | { | 1319 | { |
1320 | throw new WixException(WixErrors.InvalidSubExpression(this.Context.CurrentSourceLineNumber, expression, originalExpression)); | 1320 | throw new WixException(ErrorMessages.InvalidSubExpression(this.Context.CurrentSourceLineNumber, expression, originalExpression)); |
1321 | } | 1321 | } |
1322 | } | 1322 | } |
1323 | 1323 | ||
@@ -1351,7 +1351,7 @@ namespace WixToolset.Core | |||
1351 | { | 1351 | { |
1352 | if (1023 < this.CurrentFileStack.Count) | 1352 | if (1023 < this.CurrentFileStack.Count) |
1353 | { | 1353 | { |
1354 | throw new WixException(WixErrors.TooDeeplyIncluded(this.Context.CurrentSourceLineNumber, this.CurrentFileStack.Count)); | 1354 | throw new WixException(ErrorMessages.TooDeeplyIncluded(this.Context.CurrentSourceLineNumber, this.CurrentFileStack.Count)); |
1355 | } | 1355 | } |
1356 | 1356 | ||
1357 | this.CurrentFileStack.Push(fileName); | 1357 | this.CurrentFileStack.Push(fileName); |
diff --git a/src/WixToolset.Core/ResolvedVariableEventHandler.cs b/src/WixToolset.Core/ResolvedVariableEventHandler.cs deleted file mode 100644 index 232ad9e4..00000000 --- a/src/WixToolset.Core/ResolvedVariableEventHandler.cs +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset | ||
4 | { | ||
5 | using System; | ||
6 | using System.Text; | ||
7 | using WixToolset.Data; | ||
8 | |||
9 | public delegate void ResolvedVariableEventHandler(object sender, ResolvedVariableEventArgs e); | ||
10 | |||
11 | public class ResolvedVariableEventArgs : EventArgs | ||
12 | { | ||
13 | private SourceLineNumber sourceLineNumbers; | ||
14 | private string variableName; | ||
15 | private string variableValue; | ||
16 | |||
17 | public ResolvedVariableEventArgs(SourceLineNumber sourceLineNumbers, string variableName, string variableValue) | ||
18 | { | ||
19 | this.sourceLineNumbers = sourceLineNumbers; | ||
20 | this.variableName = variableName; | ||
21 | this.variableValue = variableValue; | ||
22 | } | ||
23 | |||
24 | public SourceLineNumber SourceLineNumbers | ||
25 | { | ||
26 | get { return this.sourceLineNumbers; } | ||
27 | } | ||
28 | |||
29 | public string VariableName | ||
30 | { | ||
31 | get { return this.variableName; } | ||
32 | } | ||
33 | |||
34 | public string VariableValue | ||
35 | { | ||
36 | get { return this.variableValue; } | ||
37 | } | ||
38 | } | ||
39 | } | ||
diff --git a/src/WixToolset.Core/SourceFile.cs b/src/WixToolset.Core/SourceFile.cs index 3b1e386a..f1064513 100644 --- a/src/WixToolset.Core/SourceFile.cs +++ b/src/WixToolset.Core/SourceFile.cs | |||
@@ -15,7 +15,5 @@ namespace WixToolset.Core | |||
15 | public string OutputPath { get; set; } | 15 | public string OutputPath { get; set; } |
16 | 16 | ||
17 | public string SourcePath { get; set; } | 17 | public string SourcePath { get; set; } |
18 | |||
19 | public Stream Stream { get; set; } | ||
20 | } | 18 | } |
21 | } | 19 | } |
diff --git a/src/WixToolset.Core/Util.cs b/src/WixToolset.Core/Util.cs deleted file mode 100644 index 5950fe0a..00000000 --- a/src/WixToolset.Core/Util.cs +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset | ||
4 | { | ||
5 | using System; | ||
6 | |||
7 | /// <summary> | ||
8 | /// Common Wix utility methods and types. | ||
9 | /// </summary> | ||
10 | public sealed class Util | ||
11 | { | ||
12 | /// <summary> | ||
13 | /// Set by WixToolTasks to indicate WIX is running inside MSBuild | ||
14 | /// </summary> | ||
15 | public static bool RunningInMsBuild { get; set; } | ||
16 | } | ||
17 | } | ||
diff --git a/src/WixToolset.Core/Uuid.cs b/src/WixToolset.Core/Uuid.cs index d512d92f..0501c285 100644 --- a/src/WixToolset.Core/Uuid.cs +++ b/src/WixToolset.Core/Uuid.cs | |||
@@ -10,16 +10,9 @@ namespace WixToolset | |||
10 | /// <summary> | 10 | /// <summary> |
11 | /// Implementation of RFC 4122 - A Universally Unique Identifier (UUID) URN Namespace. | 11 | /// Implementation of RFC 4122 - A Universally Unique Identifier (UUID) URN Namespace. |
12 | /// </summary> | 12 | /// </summary> |
13 | public sealed class Uuid | 13 | public static class Uuid |
14 | { | 14 | { |
15 | /// <summary> | 15 | /// <summary> |
16 | /// Protect the constructor. | ||
17 | /// </summary> | ||
18 | private Uuid() | ||
19 | { | ||
20 | } | ||
21 | |||
22 | /// <summary> | ||
23 | /// Creates a version 3 name-based UUID. | 16 | /// Creates a version 3 name-based UUID. |
24 | /// </summary> | 17 | /// </summary> |
25 | /// <param name="namespaceGuid">The namespace UUID.</param> | 18 | /// <param name="namespaceGuid">The namespace UUID.</param> |
diff --git a/src/WixToolset.Core/Exceptions/WixFileNotFoundException.cs b/src/WixToolset.Core/WixFileNotFoundException.cs index 14169c4c..7bffe417 100644 --- a/src/WixToolset.Core/Exceptions/WixFileNotFoundException.cs +++ b/src/WixToolset.Core/WixFileNotFoundException.cs | |||
@@ -14,18 +14,10 @@ namespace WixToolset | |||
14 | /// <summary> | 14 | /// <summary> |
15 | /// Instantiate a new WixFileNotFoundException. | 15 | /// Instantiate a new WixFileNotFoundException. |
16 | /// </summary> | 16 | /// </summary> |
17 | /// <param name="file">The file that could not be found.</param> | ||
18 | public WixFileNotFoundException(string file) : this(null, file, null) | ||
19 | { | ||
20 | } | ||
21 | |||
22 | /// <summary> | ||
23 | /// Instantiate a new WixFileNotFoundException. | ||
24 | /// </summary> | ||
25 | /// <param name="sourceLineNumbers">Source line information pertaining to the file that cannot be found.</param> | 17 | /// <param name="sourceLineNumbers">Source line information pertaining to the file that cannot be found.</param> |
26 | /// <param name="file">The file that could not be found.</param> | 18 | /// <param name="file">The file that could not be found.</param> |
27 | public WixFileNotFoundException(SourceLineNumber sourceLineNumbers, string file) : | 19 | public WixFileNotFoundException(SourceLineNumber sourceLineNumbers, string file) : |
28 | base(WixErrors.FileNotFound(sourceLineNumbers, file)) | 20 | base(ErrorMessages.FileNotFound(sourceLineNumbers, file)) |
29 | { | 21 | { |
30 | } | 22 | } |
31 | 23 | ||
@@ -45,7 +37,7 @@ namespace WixToolset | |||
45 | /// <param name="file">The file that could not be found.</param> | 37 | /// <param name="file">The file that could not be found.</param> |
46 | /// <param name="fileType">The type of file that cannot be found.</param> | 38 | /// <param name="fileType">The type of file that cannot be found.</param> |
47 | public WixFileNotFoundException(SourceLineNumber sourceLineNumbers, string file, string fileType) : | 39 | public WixFileNotFoundException(SourceLineNumber sourceLineNumbers, string file, string fileType) : |
48 | base(WixErrors.FileNotFound(sourceLineNumbers, file, fileType)) | 40 | base(ErrorMessages.FileNotFound(sourceLineNumbers, file, fileType)) |
49 | { | 41 | { |
50 | } | 42 | } |
51 | } | 43 | } |
diff --git a/src/WixToolset.Core/WixGenericMessageEventArgs.cs b/src/WixToolset.Core/WixGenericMessageEventArgs.cs deleted file mode 100644 index 2c1d4705..00000000 --- a/src/WixToolset.Core/WixGenericMessageEventArgs.cs +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset | ||
4 | { | ||
5 | using System; | ||
6 | using System.Resources; | ||
7 | using WixToolset.Data; | ||
8 | |||
9 | /// <summary> | ||
10 | /// Generic event args for message events. | ||
11 | /// </summary> | ||
12 | public class WixGenericMessageEventArgs : MessageEventArgs | ||
13 | { | ||
14 | /// <summary> | ||
15 | /// Creates a new generc message event arg. | ||
16 | /// </summary> | ||
17 | /// <param name="sourceLineNumbers">Source line numbers for the message.</param> | ||
18 | /// <param name="id">Id for the message.</param> | ||
19 | /// <param name="level">Level for the message.</param> | ||
20 | /// <param name="format">Format message for arguments.</param> | ||
21 | /// <param name="messageArgs">Arguments for the format string.</param> | ||
22 | public WixGenericMessageEventArgs(SourceLineNumber sourceLineNumbers, int id, MessageLevel level, string format, params object[] messageArgs) | ||
23 | : base(sourceLineNumbers, id, format, messageArgs) | ||
24 | { | ||
25 | base.Level = level; | ||
26 | base.ResourceManager = new GenericResourceManager(); | ||
27 | } | ||
28 | |||
29 | /// <summary> | ||
30 | /// Private resource manager to return our format message as the "localized" string untouched. | ||
31 | /// </summary> | ||
32 | private class GenericResourceManager : ResourceManager | ||
33 | { | ||
34 | /// <summary> | ||
35 | /// Passes the "resource name" through as the format string. | ||
36 | /// </summary> | ||
37 | /// <param name="name">Format message that is passed in as the resource name.</param> | ||
38 | /// <returns>The name.</returns> | ||
39 | public override string GetString(string name) | ||
40 | { | ||
41 | return name; | ||
42 | } | ||
43 | } | ||
44 | } | ||
45 | } | ||
diff --git a/src/WixToolset.Core/WixStrings.Designer.cs b/src/WixToolset.Core/WixStrings.Designer.cs index 36e64267..ab98ed6a 100644 --- a/src/WixToolset.Core/WixStrings.Designer.cs +++ b/src/WixToolset.Core/WixStrings.Designer.cs | |||
@@ -37,102 +37,7 @@ namespace WixToolset { | |||
37 | return resourceMan; | 37 | return resourceMan; |
38 | } | 38 | } |
39 | } | 39 | } |
40 | 40 | ||
41 | /// <summary> | ||
42 | /// Overrides the current thread's CurrentUICulture property for all | ||
43 | /// resource lookups using this strongly typed resource class. | ||
44 | /// </summary> | ||
45 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||
46 | internal static global::System.Globalization.CultureInfo Culture { | ||
47 | get { | ||
48 | return resourceCulture; | ||
49 | } | ||
50 | set { | ||
51 | resourceCulture = value; | ||
52 | } | ||
53 | } | ||
54 | |||
55 | /// <summary> | ||
56 | /// Looks up a localized string similar to Cannot index into a FileRowCollection that allows duplicate FileIds. | ||
57 | /// </summary> | ||
58 | internal static string EXP_CannotIndexIntoFileRowCollection { | ||
59 | get { | ||
60 | return ResourceManager.GetString("EXP_CannotIndexIntoFileRowCollection", resourceCulture); | ||
61 | } | ||
62 | } | ||
63 | |||
64 | /// <summary> | ||
65 | /// Looks up a localized string similar to The value '{0}' is not a legal identifier and therefore cannot be modularized.. | ||
66 | /// </summary> | ||
67 | internal static string EXP_CannotModularizeIllegalID { | ||
68 | get { | ||
69 | return ResourceManager.GetString("EXP_CannotModularizeIllegalID", resourceCulture); | ||
70 | } | ||
71 | } | ||
72 | |||
73 | /// <summary> | ||
74 | /// Looks up a localized string similar to Cannot set column '{0}' with value {1} because it is greater than the maximum allowed value for this column, {2}.. | ||
75 | /// </summary> | ||
76 | internal static string EXP_CannotSetColumnWithValueGreaterThanMaxValue { | ||
77 | get { | ||
78 | return ResourceManager.GetString("EXP_CannotSetColumnWithValueGreaterThanMaxValue", resourceCulture); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | /// <summary> | ||
83 | /// Looks up a localized string similar to Cannot set column '{0}' with value {1} because it is less than the minimum allowed value for this column, {2}.. | ||
84 | /// </summary> | ||
85 | internal static string EXP_CannotSetColumnWithValueLessThanMinValue { | ||
86 | get { | ||
87 | return ResourceManager.GetString("EXP_CannotSetColumnWithValueLessThanMinValue", resourceCulture); | ||
88 | } | ||
89 | } | ||
90 | |||
91 | /// <summary> | ||
92 | /// Looks up a localized string similar to A Merge table FileCompression column cannot be set to the invalid value '{0}'.. | ||
93 | /// </summary> | ||
94 | internal static string EXP_CannotSetMergeTableFileCompressionColumnToInvalidValue { | ||
95 | get { | ||
96 | return ResourceManager.GetString("EXP_CannotSetMergeTableFileCompressionColumnToInvalidValue", resourceCulture); | ||
97 | } | ||
98 | } | ||
99 | |||
100 | /// <summary> | ||
101 | /// Looks up a localized string similar to Cannot set column '{0}' with a null value because this is a required field.. | ||
102 | /// </summary> | ||
103 | internal static string EXP_CannotSetNullOnRequiredField { | ||
104 | get { | ||
105 | return ResourceManager.GetString("EXP_CannotSetNullOnRequiredField", resourceCulture); | ||
106 | } | ||
107 | } | ||
108 | |||
109 | /// <summary> | ||
110 | /// Looks up a localized string similar to Cannot set number column '{0}' with a value of type '{1}'.. | ||
111 | /// </summary> | ||
112 | internal static string EXP_CannotSetNumberColumnWithValueOfType { | ||
113 | get { | ||
114 | return ResourceManager.GetString("EXP_CannotSetNumberColumnWithValueOfType", resourceCulture); | ||
115 | } | ||
116 | } | ||
117 | |||
118 | /// <summary> | ||
119 | /// Looks up a localized string similar to Cannot set string column '{0}' with a value of type '{1}'.. | ||
120 | /// </summary> | ||
121 | internal static string EXP_CannotSetStringColumnWithValueOfType { | ||
122 | get { | ||
123 | return ResourceManager.GetString("EXP_CannotSetStringColumnWithValueOfType", resourceCulture); | ||
124 | } | ||
125 | } | ||
126 | |||
127 | /// <summary> | ||
128 | /// Looks up a localized string similar to Could not determine ProductCode from transform summary information. | ||
129 | /// </summary> | ||
130 | public static string EXP_CouldnotDetermineProductCodeFromTransformSummaryInfo { | ||
131 | get { | ||
132 | return ResourceManager.GetString("EXP_CouldnotDetermineProductCodeFromTransformSummaryInfo", resourceCulture); | ||
133 | } | ||
134 | } | ||
135 | |||
136 | /// <summary> | 41 | /// <summary> |
137 | /// Looks up a localized string similar to Could not find a unique identifier for the given resource name.. | 42 | /// Looks up a localized string similar to Could not find a unique identifier for the given resource name.. |
138 | /// </summary> | 43 | /// </summary> |
@@ -143,24 +48,6 @@ namespace WixToolset { | |||
143 | } | 48 | } |
144 | 49 | ||
145 | /// <summary> | 50 | /// <summary> |
146 | /// Looks up a localized string similar to Didn't find duplicated symbol.. | ||
147 | /// </summary> | ||
148 | internal static string EXP_DidnotFindDuplicateSymbol { | ||
149 | get { | ||
150 | return ResourceManager.GetString("EXP_DidnotFindDuplicateSymbol", resourceCulture); | ||
151 | } | ||
152 | } | ||
153 | |||
154 | /// <summary> | ||
155 | /// Looks up a localized string similar to Expected ComplexReference type.. | ||
156 | /// </summary> | ||
157 | internal static string EXP_ExpectedComplexReferenceType { | ||
158 | get { | ||
159 | return ResourceManager.GetString("EXP_ExpectedComplexReferenceType", resourceCulture); | ||
160 | } | ||
161 | } | ||
162 | |||
163 | /// <summary> | ||
164 | /// Looks up a localized string similar to Found an ActionRow with a non-existent {0} action: {1}.. | 51 | /// Looks up a localized string similar to Found an ActionRow with a non-existent {0} action: {1}.. |
165 | /// </summary> | 52 | /// </summary> |
166 | public static string EXP_FoundActionRowWinNonExistentAction { | 53 | public static string EXP_FoundActionRowWinNonExistentAction { |
@@ -179,33 +66,6 @@ namespace WixToolset { | |||
179 | } | 66 | } |
180 | 67 | ||
181 | /// <summary> | 68 | /// <summary> |
182 | /// Looks up a localized string similar to Illegal arguments passed.. | ||
183 | /// </summary> | ||
184 | internal static string EXP_IllegalArgumentsPassed { | ||
185 | get { | ||
186 | return ResourceManager.GetString("EXP_IllegalArgumentsPassed", resourceCulture); | ||
187 | } | ||
188 | } | ||
189 | |||
190 | /// <summary> | ||
191 | /// Looks up a localized string similar to Invalid table name passed into GenerateIdentifier.. | ||
192 | /// </summary> | ||
193 | internal static string EXP_InvalidTableNamePassed { | ||
194 | get { | ||
195 | return ResourceManager.GetString("EXP_InvalidTableNamePassed", resourceCulture); | ||
196 | } | ||
197 | } | ||
198 | |||
199 | /// <summary> | ||
200 | /// Looks up a localized string similar to A Merge table FileCompression column contains an invalid value '{0}'.. | ||
201 | /// </summary> | ||
202 | internal static string EXP_MergeTableFileCompressionColumnContainsInvalidValue { | ||
203 | get { | ||
204 | return ResourceManager.GetString("EXP_MergeTableFileCompressionColumnContainsInvalidValue", resourceCulture); | ||
205 | } | ||
206 | } | ||
207 | |||
208 | /// <summary> | ||
209 | /// Looks up a localized string similar to Multiple harvester extensions specified.. | 69 | /// Looks up a localized string similar to Multiple harvester extensions specified.. |
210 | /// </summary> | 70 | /// </summary> |
211 | internal static string EXP_MultipleHarvesterExtensionsSpecified { | 71 | internal static string EXP_MultipleHarvesterExtensionsSpecified { |
@@ -215,24 +75,6 @@ namespace WixToolset { | |||
215 | } | 75 | } |
216 | 76 | ||
217 | /// <summary> | 77 | /// <summary> |
218 | /// Looks up a localized string similar to The other object is not a FileRow.. | ||
219 | /// </summary> | ||
220 | internal static string EXP_OtherObjectIsNotFileRow { | ||
221 | get { | ||
222 | return ResourceManager.GetString("EXP_OtherObjectIsNotFileRow", resourceCulture); | ||
223 | } | ||
224 | } | ||
225 | |||
226 | /// <summary> | ||
227 | /// Looks up a localized string similar to Transform authored into multiple Media '{0}' and '{1}'.. | ||
228 | /// </summary> | ||
229 | public static string EXP_TransformAuthoredIntoMultipleMedia { | ||
230 | get { | ||
231 | return ResourceManager.GetString("EXP_TransformAuthoredIntoMultipleMedia", resourceCulture); | ||
232 | } | ||
233 | } | ||
234 | |||
235 | /// <summary> | ||
236 | /// Looks up a localized string similar to Unexpected complex reference child type: {0}. | 78 | /// Looks up a localized string similar to Unexpected complex reference child type: {0}. |
237 | /// </summary> | 79 | /// </summary> |
238 | internal static string EXP_UnexpectedComplexReferenceChildType { | 80 | internal static string EXP_UnexpectedComplexReferenceChildType { |
@@ -269,78 +111,6 @@ namespace WixToolset { | |||
269 | } | 111 | } |
270 | 112 | ||
271 | /// <summary> | 113 | /// <summary> |
272 | /// Looks up a localized string similar to Unknown control attribute: '{0}'.. | ||
273 | /// </summary> | ||
274 | internal static string EXP_UnknowControlAttribute { | ||
275 | get { | ||
276 | return ResourceManager.GetString("EXP_UnknowControlAttribute", resourceCulture); | ||
277 | } | ||
278 | } | ||
279 | |||
280 | /// <summary> | ||
281 | /// Looks up a localized string similar to Unknown column type: {0}. | ||
282 | /// </summary> | ||
283 | internal static string EXP_UnknownColumnType { | ||
284 | get { | ||
285 | return ResourceManager.GetString("EXP_UnknownColumnType", resourceCulture); | ||
286 | } | ||
287 | } | ||
288 | |||
289 | /// <summary> | ||
290 | /// Looks up a localized string similar to Unknown compression level type: {0}. | ||
291 | /// </summary> | ||
292 | internal static string EXP_UnknownCompressionLevelType { | ||
293 | get { | ||
294 | return ResourceManager.GetString("EXP_UnknownCompressionLevelType", resourceCulture); | ||
295 | } | ||
296 | } | ||
297 | |||
298 | /// <summary> | ||
299 | /// Looks up a localized string similar to Unknown custom column category '{0}'.. | ||
300 | /// </summary> | ||
301 | internal static string EXP_UnknownCustomColumnCategory { | ||
302 | get { | ||
303 | return ResourceManager.GetString("EXP_UnknownCustomColumnCategory", resourceCulture); | ||
304 | } | ||
305 | } | ||
306 | |||
307 | /// <summary> | ||
308 | /// Looks up a localized string similar to Unknown custom column modularization type '{0}'.. | ||
309 | /// </summary> | ||
310 | internal static string EXP_UnknownCustomColumnModularizationType { | ||
311 | get { | ||
312 | return ResourceManager.GetString("EXP_UnknownCustomColumnModularizationType", resourceCulture); | ||
313 | } | ||
314 | } | ||
315 | |||
316 | /// <summary> | ||
317 | /// Looks up a localized string similar to Unknown custom column type '{0}'.. | ||
318 | /// </summary> | ||
319 | internal static string EXP_UnknownCustomColumnType { | ||
320 | get { | ||
321 | return ResourceManager.GetString("EXP_UnknownCustomColumnType", resourceCulture); | ||
322 | } | ||
323 | } | ||
324 | |||
325 | /// <summary> | ||
326 | /// Looks up a localized string similar to Unknown output type.. | ||
327 | /// </summary> | ||
328 | internal static string EXP_UnknownOutputType { | ||
329 | get { | ||
330 | return ResourceManager.GetString("EXP_UnknownOutputType", resourceCulture); | ||
331 | } | ||
332 | } | ||
333 | |||
334 | /// <summary> | ||
335 | /// Looks up a localized string similar to Unknown permission attribute '{0}'.. | ||
336 | /// </summary> | ||
337 | internal static string EXP_UnknownPermissionAttribute { | ||
338 | get { | ||
339 | return ResourceManager.GetString("EXP_UnknownPermissionAttribute", resourceCulture); | ||
340 | } | ||
341 | } | ||
342 | |||
343 | /// <summary> | ||
344 | /// Looks up a localized string similar to Unknown platform enumeration '{0}' encountered.. | 114 | /// Looks up a localized string similar to Unknown platform enumeration '{0}' encountered.. |
345 | /// </summary> | 115 | /// </summary> |
346 | internal static string EXP_UnknownPlatformEnum { | 116 | internal static string EXP_UnknownPlatformEnum { |
@@ -350,24 +120,6 @@ namespace WixToolset { | |||
350 | } | 120 | } |
351 | 121 | ||
352 | /// <summary> | 122 | /// <summary> |
353 | /// Looks up a localized string similar to Unknown sequence table.. | ||
354 | /// </summary> | ||
355 | internal static string EXP_UnknowSequenceTable { | ||
356 | get { | ||
357 | return ResourceManager.GetString("EXP_UnknowSequenceTable", resourceCulture); | ||
358 | } | ||
359 | } | ||
360 | |||
361 | /// <summary> | ||
362 | /// Looks up a localized string similar to The table {0} is not supported.. | ||
363 | /// </summary> | ||
364 | internal static string EXP_UnsupportedTable { | ||
365 | get { | ||
366 | return ResourceManager.GetString("EXP_UnsupportedTable", resourceCulture); | ||
367 | } | ||
368 | } | ||
369 | |||
370 | /// <summary> | ||
371 | /// Looks up a localized string similar to {0}({1}). | 123 | /// Looks up a localized string similar to {0}({1}). |
372 | /// </summary> | 124 | /// </summary> |
373 | internal static string Format_FirstLineNumber { | 125 | internal static string Format_FirstLineNumber { |
diff --git a/src/WixToolset.Core/WixStrings.resx b/src/WixToolset.Core/WixStrings.resx index 3fbf639e..47402f59 100644 --- a/src/WixToolset.Core/WixStrings.resx +++ b/src/WixToolset.Core/WixStrings.resx | |||
@@ -117,39 +117,9 @@ | |||
117 | <resheader name="writer"> | 117 | <resheader name="writer"> |
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | 118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
119 | </resheader> | 119 | </resheader> |
120 | <data name="EXP_CannotIndexIntoFileRowCollection" xml:space="preserve"> | ||
121 | <value>Cannot index into a FileRowCollection that allows duplicate FileIds</value> | ||
122 | </data> | ||
123 | <data name="EXP_CannotModularizeIllegalID" xml:space="preserve"> | ||
124 | <value>The value '{0}' is not a legal identifier and therefore cannot be modularized.</value> | ||
125 | </data> | ||
126 | <data name="EXP_CannotSetColumnWithValueGreaterThanMaxValue" xml:space="preserve"> | ||
127 | <value>Cannot set column '{0}' with value {1} because it is greater than the maximum allowed value for this column, {2}.</value> | ||
128 | </data> | ||
129 | <data name="EXP_CannotSetColumnWithValueLessThanMinValue" xml:space="preserve"> | ||
130 | <value>Cannot set column '{0}' with value {1} because it is less than the minimum allowed value for this column, {2}.</value> | ||
131 | </data> | ||
132 | <data name="EXP_CannotSetMergeTableFileCompressionColumnToInvalidValue" xml:space="preserve"> | ||
133 | <value>A Merge table FileCompression column cannot be set to the invalid value '{0}'.</value> | ||
134 | </data> | ||
135 | <data name="EXP_CannotSetNullOnRequiredField" xml:space="preserve"> | ||
136 | <value>Cannot set column '{0}' with a null value because this is a required field.</value> | ||
137 | </data> | ||
138 | <data name="EXP_CannotSetNumberColumnWithValueOfType" xml:space="preserve"> | ||
139 | <value>Cannot set number column '{0}' with a value of type '{1}'.</value> | ||
140 | </data> | ||
141 | <data name="EXP_CannotSetStringColumnWithValueOfType" xml:space="preserve"> | ||
142 | <value>Cannot set string column '{0}' with a value of type '{1}'.</value> | ||
143 | </data> | ||
144 | <data name="EXP_CouldnotDetermineProductCodeFromTransformSummaryInfo" xml:space="preserve"> | ||
145 | <value>Could not determine ProductCode from transform summary information</value> | ||
146 | </data> | ||
147 | <data name="EXP_CouldnotFileUniqueIDForResourceName" xml:space="preserve"> | 120 | <data name="EXP_CouldnotFileUniqueIDForResourceName" xml:space="preserve"> |
148 | <value>Could not find a unique identifier for the given resource name.</value> | 121 | <value>Could not find a unique identifier for the given resource name.</value> |
149 | </data> | 122 | </data> |
150 | <data name="EXP_DidnotFindDuplicateSymbol" xml:space="preserve"> | ||
151 | <value>Didn't find duplicated symbol.</value> | ||
152 | </data> | ||
153 | <data name="EXP_ExpectedComplexReferenceType" xml:space="preserve"> | 123 | <data name="EXP_ExpectedComplexReferenceType" xml:space="preserve"> |
154 | <value>Expected ComplexReference type.</value> | 124 | <value>Expected ComplexReference type.</value> |
155 | </data> | 125 | </data> |
@@ -159,24 +129,9 @@ | |||
159 | <data name="EXP_FoundActionRowWithNoSequenceBeforeOrAfterColumnSet" xml:space="preserve"> | 129 | <data name="EXP_FoundActionRowWithNoSequenceBeforeOrAfterColumnSet" xml:space="preserve"> |
160 | <value>Found an ActionRow with no Sequence, Before, or After column set.</value> | 130 | <value>Found an ActionRow with no Sequence, Before, or After column set.</value> |
161 | </data> | 131 | </data> |
162 | <data name="EXP_IllegalArgumentsPassed" xml:space="preserve"> | ||
163 | <value>Illegal arguments passed.</value> | ||
164 | </data> | ||
165 | <data name="EXP_InvalidTableNamePassed" xml:space="preserve"> | ||
166 | <value>Invalid table name passed into GenerateIdentifier.</value> | ||
167 | </data> | ||
168 | <data name="EXP_MergeTableFileCompressionColumnContainsInvalidValue" xml:space="preserve"> | ||
169 | <value>A Merge table FileCompression column contains an invalid value '{0}'.</value> | ||
170 | </data> | ||
171 | <data name="EXP_MultipleHarvesterExtensionsSpecified" xml:space="preserve"> | 132 | <data name="EXP_MultipleHarvesterExtensionsSpecified" xml:space="preserve"> |
172 | <value>Multiple harvester extensions specified.</value> | 133 | <value>Multiple harvester extensions specified.</value> |
173 | </data> | 134 | </data> |
174 | <data name="EXP_OtherObjectIsNotFileRow" xml:space="preserve"> | ||
175 | <value>The other object is not a FileRow.</value> | ||
176 | </data> | ||
177 | <data name="EXP_TransformAuthoredIntoMultipleMedia" xml:space="preserve"> | ||
178 | <value>Transform authored into multiple Media '{0}' and '{1}'.</value> | ||
179 | </data> | ||
180 | <data name="EXP_UnexpectedComplexReferenceChildType" xml:space="preserve"> | 135 | <data name="EXP_UnexpectedComplexReferenceChildType" xml:space="preserve"> |
181 | <value>Unexpected complex reference child type: {0}</value> | 136 | <value>Unexpected complex reference child type: {0}</value> |
182 | </data> | 137 | </data> |
@@ -189,39 +144,9 @@ | |||
189 | <data name="EXP_UnexpectedMergerErrorWithType" xml:space="preserve"> | 144 | <data name="EXP_UnexpectedMergerErrorWithType" xml:space="preserve"> |
190 | <value>Encountered an unexpected merge error of type '{0}' for which there is currently no error message to display. More information about the merge and the failure can be found in the merge log: '{1}'</value> | 145 | <value>Encountered an unexpected merge error of type '{0}' for which there is currently no error message to display. More information about the merge and the failure can be found in the merge log: '{1}'</value> |
191 | </data> | 146 | </data> |
192 | <data name="EXP_UnknowControlAttribute" xml:space="preserve"> | ||
193 | <value>Unknown control attribute: '{0}'.</value> | ||
194 | </data> | ||
195 | <data name="EXP_UnknownColumnType" xml:space="preserve"> | ||
196 | <value>Unknown column type: {0}</value> | ||
197 | </data> | ||
198 | <data name="EXP_UnknownCompressionLevelType" xml:space="preserve"> | ||
199 | <value>Unknown compression level type: {0}</value> | ||
200 | </data> | ||
201 | <data name="EXP_UnknownCustomColumnCategory" xml:space="preserve"> | ||
202 | <value>Unknown custom column category '{0}'.</value> | ||
203 | </data> | ||
204 | <data name="EXP_UnknownCustomColumnModularizationType" xml:space="preserve"> | ||
205 | <value>Unknown custom column modularization type '{0}'.</value> | ||
206 | </data> | ||
207 | <data name="EXP_UnknownCustomColumnType" xml:space="preserve"> | ||
208 | <value>Unknown custom column type '{0}'.</value> | ||
209 | </data> | ||
210 | <data name="EXP_UnknownOutputType" xml:space="preserve"> | ||
211 | <value>Unknown output type.</value> | ||
212 | </data> | ||
213 | <data name="EXP_UnknownPermissionAttribute" xml:space="preserve"> | ||
214 | <value>Unknown permission attribute '{0}'.</value> | ||
215 | </data> | ||
216 | <data name="EXP_UnknowSequenceTable" xml:space="preserve"> | ||
217 | <value>Unknown sequence table.</value> | ||
218 | </data> | ||
219 | <data name="EXP_UnknownPlatformEnum" xml:space="preserve"> | 147 | <data name="EXP_UnknownPlatformEnum" xml:space="preserve"> |
220 | <value>Unknown platform enumeration '{0}' encountered.</value> | 148 | <value>Unknown platform enumeration '{0}' encountered.</value> |
221 | </data> | 149 | </data> |
222 | <data name="EXP_UnsupportedTable" xml:space="preserve"> | ||
223 | <value>The table {0} is not supported.</value> | ||
224 | </data> | ||
225 | <data name="Format_FirstLineNumber" xml:space="preserve"> | 150 | <data name="Format_FirstLineNumber" xml:space="preserve"> |
226 | <value>{0}({1})</value> | 151 | <value>{0}({1})</value> |
227 | </data> | 152 | </data> |
diff --git a/src/WixToolset.Core/WixToolsetServiceProvider.cs b/src/WixToolset.Core/WixToolsetServiceProvider.cs index c77f3813..995daa89 100644 --- a/src/WixToolset.Core/WixToolsetServiceProvider.cs +++ b/src/WixToolset.Core/WixToolsetServiceProvider.cs | |||
@@ -11,6 +11,7 @@ namespace WixToolset.Core | |||
11 | public class WixToolsetServiceProvider : IServiceProvider | 11 | public class WixToolsetServiceProvider : IServiceProvider |
12 | { | 12 | { |
13 | private ExtensionManager extensionManager; | 13 | private ExtensionManager extensionManager; |
14 | private Messaging messaging; | ||
14 | private ParseHelper parseHelper; | 15 | private ParseHelper parseHelper; |
15 | private PreprocessHelper preprocessHelper; | 16 | private PreprocessHelper preprocessHelper; |
16 | private TupleDefinitionCreator tupleDefinitionCreator; | 17 | private TupleDefinitionCreator tupleDefinitionCreator; |
@@ -62,6 +63,11 @@ namespace WixToolset.Core | |||
62 | return this.extensionManager = this.extensionManager ?? new ExtensionManager(); | 63 | return this.extensionManager = this.extensionManager ?? new ExtensionManager(); |
63 | } | 64 | } |
64 | 65 | ||
66 | if (serviceType == typeof(IMessaging)) | ||
67 | { | ||
68 | return this.messaging = this.messaging ?? new Messaging(); | ||
69 | } | ||
70 | |||
65 | if (serviceType == typeof(ITupleDefinitionCreator)) | 71 | if (serviceType == typeof(ITupleDefinitionCreator)) |
66 | { | 72 | { |
67 | return this.tupleDefinitionCreator = this.tupleDefinitionCreator ?? new TupleDefinitionCreator(this); | 73 | return this.tupleDefinitionCreator = this.tupleDefinitionCreator ?? new TupleDefinitionCreator(this); |
diff --git a/src/WixToolset.Core/WixVariableResolver.cs b/src/WixToolset.Core/WixVariableResolver.cs index c4572d33..f8bccef0 100644 --- a/src/WixToolset.Core/WixVariableResolver.cs +++ b/src/WixToolset.Core/WixVariableResolver.cs | |||
@@ -11,6 +11,7 @@ namespace WixToolset.Core | |||
11 | using WixToolset.Data; | 11 | using WixToolset.Data; |
12 | using WixToolset.Data.Tuples; | 12 | using WixToolset.Data.Tuples; |
13 | using WixToolset.Extensibility; | 13 | using WixToolset.Extensibility; |
14 | using WixToolset.Extensibility.Services; | ||
14 | 15 | ||
15 | /// <summary> | 16 | /// <summary> |
16 | /// WiX variable resolver. | 17 | /// WiX variable resolver. |
@@ -22,16 +23,15 @@ namespace WixToolset.Core | |||
22 | /// <summary> | 23 | /// <summary> |
23 | /// Instantiate a new WixVariableResolver. | 24 | /// Instantiate a new WixVariableResolver. |
24 | /// </summary> | 25 | /// </summary> |
25 | public WixVariableResolver(Localizer localizer = null) | 26 | public WixVariableResolver(IMessaging messaging, Localizer localizer = null) |
26 | { | 27 | { |
27 | this.wixVariables = new Dictionary<string, string>(); | 28 | this.wixVariables = new Dictionary<string, string>(); |
29 | this.Messaging = messaging; | ||
28 | this.Localizer = localizer; | 30 | this.Localizer = localizer; |
29 | } | 31 | } |
30 | 32 | ||
31 | /// <summary> | 33 | private IMessaging Messaging { get; } |
32 | /// Gets or sets the localizer. | 34 | |
33 | /// </summary> | ||
34 | /// <value>The localizer.</value> | ||
35 | private Localizer Localizer { get; } | 35 | private Localizer Localizer { get; } |
36 | 36 | ||
37 | /// <summary> | 37 | /// <summary> |
@@ -52,7 +52,7 @@ namespace WixToolset.Core | |||
52 | } | 52 | } |
53 | catch (ArgumentException) | 53 | catch (ArgumentException) |
54 | { | 54 | { |
55 | Messaging.Instance.OnMessage(WixErrors.WixVariableCollision(null, name)); | 55 | this.Messaging.Write(ErrorMessages.WixVariableCollision(null, name)); |
56 | } | 56 | } |
57 | } | 57 | } |
58 | 58 | ||
@@ -70,7 +70,7 @@ namespace WixToolset.Core | |||
70 | { | 70 | { |
71 | if (!wixVariableRow.Overridable) // collision | 71 | if (!wixVariableRow.Overridable) // collision |
72 | { | 72 | { |
73 | Messaging.Instance.OnMessage(WixErrors.WixVariableCollision(wixVariableRow.SourceLineNumbers, wixVariableRow.WixVariable)); | 73 | this.Messaging.Write(ErrorMessages.WixVariableCollision(wixVariableRow.SourceLineNumbers, wixVariableRow.WixVariable)); |
74 | } | 74 | } |
75 | } | 75 | } |
76 | } | 76 | } |
@@ -153,7 +153,7 @@ namespace WixToolset.Core | |||
153 | // localization variables to not support inline default values | 153 | // localization variables to not support inline default values |
154 | if ("loc" == variableNamespace) | 154 | if ("loc" == variableNamespace) |
155 | { | 155 | { |
156 | Messaging.Instance.OnMessage(WixErrors.IllegalInlineLocVariable(sourceLineNumbers, variableId, variableDefaultValue)); | 156 | this.Messaging.Write(ErrorMessages.IllegalInlineLocVariable(sourceLineNumbers, variableId, variableDefaultValue)); |
157 | } | 157 | } |
158 | } | 158 | } |
159 | 159 | ||
@@ -183,7 +183,7 @@ namespace WixToolset.Core | |||
183 | // warn about deprecated syntax of $(loc.var) | 183 | // warn about deprecated syntax of $(loc.var) |
184 | if ('$' == sb[matches[i].Index]) | 184 | if ('$' == sb[matches[i].Index]) |
185 | { | 185 | { |
186 | Messaging.Instance.OnMessage(WixWarnings.DeprecatedLocalizationVariablePrefix(sourceLineNumbers, variableId)); | 186 | this.Messaging.Write(WarningMessages.DeprecatedLocalizationVariablePrefix(sourceLineNumbers, variableId)); |
187 | } | 187 | } |
188 | 188 | ||
189 | resolvedValue = this.Localizer?.GetLocalizedValue(variableId); | 189 | resolvedValue = this.Localizer?.GetLocalizedValue(variableId); |
@@ -193,7 +193,7 @@ namespace WixToolset.Core | |||
193 | // illegal syntax of $(wix.var) | 193 | // illegal syntax of $(wix.var) |
194 | if ('$' == sb[matches[i].Index]) | 194 | if ('$' == sb[matches[i].Index]) |
195 | { | 195 | { |
196 | Messaging.Instance.OnMessage(WixErrors.IllegalWixVariablePrefix(sourceLineNumbers, variableId)); | 196 | this.Messaging.Write(ErrorMessages.IllegalWixVariablePrefix(sourceLineNumbers, variableId)); |
197 | } | 197 | } |
198 | else | 198 | else |
199 | { | 199 | { |
@@ -225,11 +225,11 @@ namespace WixToolset.Core | |||
225 | } | 225 | } |
226 | else if ("loc" == variableNamespace && errorOnUnknown) // unresolved loc variable | 226 | else if ("loc" == variableNamespace && errorOnUnknown) // unresolved loc variable |
227 | { | 227 | { |
228 | Messaging.Instance.OnMessage(WixErrors.LocalizationVariableUnknown(sourceLineNumbers, variableId)); | 228 | this.Messaging.Write(ErrorMessages.LocalizationVariableUnknown(sourceLineNumbers, variableId)); |
229 | } | 229 | } |
230 | else if (!localizationOnly && "wix" == variableNamespace && errorOnUnknown) // unresolved wix variable | 230 | else if (!localizationOnly && "wix" == variableNamespace && errorOnUnknown) // unresolved wix variable |
231 | { | 231 | { |
232 | Messaging.Instance.OnMessage(WixErrors.WixVariableUnknown(sourceLineNumbers, variableId)); | 232 | this.Messaging.Write(ErrorMessages.WixVariableUnknown(sourceLineNumbers, variableId)); |
233 | } | 233 | } |
234 | } | 234 | } |
235 | } | 235 | } |
@@ -321,7 +321,7 @@ namespace WixToolset.Core | |||
321 | } | 321 | } |
322 | else | 322 | else |
323 | { | 323 | { |
324 | throw new WixException(WixErrors.UnresolvedBindReference(sourceLineNumbers, value)); | 324 | throw new WixException(ErrorMessages.UnresolvedBindReference(sourceLineNumbers, value)); |
325 | } | 325 | } |
326 | } | 326 | } |
327 | } | 327 | } |
diff --git a/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs b/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs index bd4b70da..3714f9e7 100644 --- a/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs | |||
@@ -25,7 +25,7 @@ namespace WixToolsetTest.CoreIntegration | |||
25 | var intermediateFolder = fs.GetFolder(); | 25 | var intermediateFolder = fs.GetFolder(); |
26 | 26 | ||
27 | var program = new Program(); | 27 | var program = new Program(); |
28 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 28 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
29 | { | 29 | { |
30 | "build", | 30 | "build", |
31 | Path.Combine(folder, "Package.wxs"), | 31 | Path.Combine(folder, "Package.wxs"), |
@@ -68,7 +68,7 @@ namespace WixToolsetTest.CoreIntegration | |||
68 | var intermediateFolder = fs.GetFolder(); | 68 | var intermediateFolder = fs.GetFolder(); |
69 | 69 | ||
70 | var program = new Program(); | 70 | var program = new Program(); |
71 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 71 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
72 | { | 72 | { |
73 | "build", | 73 | "build", |
74 | Path.Combine(folder, "Package.wxs"), | 74 | Path.Combine(folder, "Package.wxs"), |
diff --git a/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs b/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs index 1b7a18cf..4f34f330 100644 --- a/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs | |||
@@ -23,7 +23,7 @@ namespace WixToolsetTest.CoreIntegration | |||
23 | var intermediateFolder = fs.GetFolder(); | 23 | var intermediateFolder = fs.GetFolder(); |
24 | 24 | ||
25 | var program = new Program(); | 25 | var program = new Program(); |
26 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 26 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
27 | { | 27 | { |
28 | "build", | 28 | "build", |
29 | Path.Combine(folder, "Package.wxs"), | 29 | Path.Combine(folder, "Package.wxs"), |
@@ -59,7 +59,7 @@ namespace WixToolsetTest.CoreIntegration | |||
59 | var intermediateFolder = fs.GetFolder(); | 59 | var intermediateFolder = fs.GetFolder(); |
60 | 60 | ||
61 | var program = new Program(); | 61 | var program = new Program(); |
62 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 62 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
63 | { | 63 | { |
64 | "build", | 64 | "build", |
65 | Path.Combine(folder, "Package.wxs"), | 65 | Path.Combine(folder, "Package.wxs"), |
@@ -95,7 +95,7 @@ namespace WixToolsetTest.CoreIntegration | |||
95 | var intermediateFolder = fs.GetFolder(); | 95 | var intermediateFolder = fs.GetFolder(); |
96 | 96 | ||
97 | var program = new Program(); | 97 | var program = new Program(); |
98 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 98 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
99 | { | 99 | { |
100 | "build", | 100 | "build", |
101 | Path.Combine(folder, "Package.wxs"), | 101 | Path.Combine(folder, "Package.wxs"), |
@@ -125,7 +125,7 @@ namespace WixToolsetTest.CoreIntegration | |||
125 | var intermediateFolder = fs.GetFolder(); | 125 | var intermediateFolder = fs.GetFolder(); |
126 | 126 | ||
127 | var program = new Program(); | 127 | var program = new Program(); |
128 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 128 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
129 | { | 129 | { |
130 | "build", | 130 | "build", |
131 | Path.Combine(folder, "Package.wxs"), | 131 | Path.Combine(folder, "Package.wxs"), |
@@ -155,7 +155,7 @@ namespace WixToolsetTest.CoreIntegration | |||
155 | var intermediateFolder = fs.GetFolder(); | 155 | var intermediateFolder = fs.GetFolder(); |
156 | 156 | ||
157 | var program = new Program(); | 157 | var program = new Program(); |
158 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 158 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
159 | { | 159 | { |
160 | "build", | 160 | "build", |
161 | Path.Combine(folder, "Package.wxs"), | 161 | Path.Combine(folder, "Package.wxs"), |
@@ -185,7 +185,7 @@ namespace WixToolsetTest.CoreIntegration | |||
185 | var intermediateFolder = fs.GetFolder(); | 185 | var intermediateFolder = fs.GetFolder(); |
186 | 186 | ||
187 | var program = new Program(); | 187 | var program = new Program(); |
188 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 188 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
189 | { | 189 | { |
190 | "build", | 190 | "build", |
191 | Path.Combine(folder, "Module.wxs"), | 191 | Path.Combine(folder, "Module.wxs"), |
@@ -219,7 +219,7 @@ namespace WixToolsetTest.CoreIntegration | |||
219 | var intermediateFolder = fs.GetFolder(); | 219 | var intermediateFolder = fs.GetFolder(); |
220 | 220 | ||
221 | var program = new Program(); | 221 | var program = new Program(); |
222 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 222 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
223 | { | 223 | { |
224 | "build", | 224 | "build", |
225 | Path.Combine(folder, "Package.wxs"), | 225 | Path.Combine(folder, "Package.wxs"), |
@@ -255,7 +255,7 @@ namespace WixToolsetTest.CoreIntegration | |||
255 | var intermediateFolder = fs.GetFolder(); | 255 | var intermediateFolder = fs.GetFolder(); |
256 | 256 | ||
257 | var program = new Program(); | 257 | var program = new Program(); |
258 | var result = program.Run(new WixToolsetServiceProvider(), new[] | 258 | var result = program.Run(new WixToolsetServiceProvider(), null, new[] |
259 | { | 259 | { |
260 | "build", | 260 | "build", |
261 | Path.Combine(folder, "Package.wxs"), | 261 | Path.Combine(folder, "Package.wxs"), |
diff --git a/src/wix/Program.cs b/src/wix/Program.cs index 21a158d2..4cfc0138 100644 --- a/src/wix/Program.cs +++ b/src/wix/Program.cs | |||
@@ -3,7 +3,11 @@ | |||
3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Globalization; | ||
7 | using System.Text; | ||
8 | using System.Threading; | ||
6 | using WixToolset.Data; | 9 | using WixToolset.Data; |
10 | using WixToolset.Extensibility; | ||
7 | using WixToolset.Extensibility.Services; | 11 | using WixToolset.Extensibility.Services; |
8 | 12 | ||
9 | /// <summary> | 13 | /// <summary> |
@@ -19,12 +23,12 @@ namespace WixToolset.Core | |||
19 | [MTAThread] | 23 | [MTAThread] |
20 | public static int Main(string[] args) | 24 | public static int Main(string[] args) |
21 | { | 25 | { |
22 | Messaging.Instance.InitializeAppName("WIX", "wix.exe"); | ||
23 | Messaging.Instance.Display += DisplayMessage; | ||
24 | |||
25 | var serviceProvider = new WixToolsetServiceProvider(); | 26 | var serviceProvider = new WixToolsetServiceProvider(); |
27 | |||
28 | var listener = new ConsoleMessageListener("WIX", "wix.exe"); | ||
29 | |||
26 | var program = new Program(); | 30 | var program = new Program(); |
27 | return program.Run(serviceProvider, args); | 31 | return program.Run(serviceProvider, listener, args); |
28 | } | 32 | } |
29 | 33 | ||
30 | /// <summary> | 34 | /// <summary> |
@@ -33,10 +37,13 @@ namespace WixToolset.Core | |||
33 | /// <param name="serviceProvider">Service provider to use throughout this execution.</param> | 37 | /// <param name="serviceProvider">Service provider to use throughout this execution.</param> |
34 | /// <param name="args">Command-line arguments to execute.</param> | 38 | /// <param name="args">Command-line arguments to execute.</param> |
35 | /// <returns>Returns the application error code.</returns> | 39 | /// <returns>Returns the application error code.</returns> |
36 | public int Run(IServiceProvider serviceProvider, string[] args) | 40 | public int Run(IServiceProvider serviceProvider, IMessageListener listener, string[] args) |
37 | { | 41 | { |
42 | var messaging = serviceProvider.GetService<IMessaging>(); | ||
43 | messaging.SetListener(listener); | ||
44 | |||
38 | var context = serviceProvider.GetService<ICommandLineContext>(); | 45 | var context = serviceProvider.GetService<ICommandLineContext>(); |
39 | context.Messaging = Messaging.Instance; | 46 | context.Messaging = messaging; |
40 | context.ExtensionManager = CreateExtensionManagerWithStandardBackends(serviceProvider); | 47 | context.ExtensionManager = CreateExtensionManagerWithStandardBackends(serviceProvider); |
41 | context.ParsedArguments = args; | 48 | context.ParsedArguments = args; |
42 | 49 | ||
@@ -57,17 +64,50 @@ namespace WixToolset.Core | |||
57 | return extensionManager; | 64 | return extensionManager; |
58 | } | 65 | } |
59 | 66 | ||
60 | private static void DisplayMessage(object sender, DisplayEventArgs e) | 67 | private class ConsoleMessageListener : IMessageListener |
61 | { | 68 | { |
62 | switch (e.Level) | 69 | public ConsoleMessageListener(string shortName, string longName) |
70 | { | ||
71 | this.ShortAppName = shortName; | ||
72 | this.LongAppName = longName; | ||
73 | |||
74 | PrepareConsoleForLocalization(); | ||
75 | } | ||
76 | |||
77 | public string LongAppName { get; } | ||
78 | |||
79 | public string ShortAppName { get; } | ||
80 | |||
81 | public void Write(Message message) | ||
63 | { | 82 | { |
64 | case MessageLevel.Warning: | 83 | var filename = message.SourceLineNumbers?.FileName ?? this.LongAppName; |
65 | case MessageLevel.Error: | 84 | var line = message.SourceLineNumbers?.LineNumber ?? -1; |
66 | Console.Error.WriteLine(e.Message); | 85 | var type = message.Level.ToString().ToLowerInvariant(); |
67 | break; | 86 | var output = message.Level >= MessageLevel.Warning ? Console.Out : Console.Error; |
68 | default: | 87 | |
69 | Console.WriteLine(e.Message); | 88 | if (line > 0) |
70 | break; | 89 | { |
90 | filename = String.Concat(filename, "(", line, ")"); | ||
91 | } | ||
92 | |||
93 | output.WriteLine("{0} : {1} {2}{3:0000}: {4}", filename, type, this.ShortAppName, message.Id, message.ToString()); | ||
94 | } | ||
95 | |||
96 | public void Write(string message) | ||
97 | { | ||
98 | Console.Out.WriteLine(message); | ||
99 | } | ||
100 | |||
101 | private static void PrepareConsoleForLocalization() | ||
102 | { | ||
103 | Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture.GetConsoleFallbackUICulture(); | ||
104 | |||
105 | if (Console.OutputEncoding.CodePage != Encoding.UTF8.CodePage && | ||
106 | Console.OutputEncoding.CodePage != Thread.CurrentThread.CurrentUICulture.TextInfo.OEMCodePage && | ||
107 | Console.OutputEncoding.CodePage != Thread.CurrentThread.CurrentUICulture.TextInfo.ANSICodePage) | ||
108 | { | ||
109 | Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); | ||
110 | } | ||
71 | } | 111 | } |
72 | } | 112 | } |
73 | } | 113 | } |