Integrate simplified message handling
Rob Mensching committed
Dec 19, 2017 at 12:25 UTC
155a6e96346e0cb3d9ab6f5372fa29b46ebaee89
104 files changed
+2055
-9192
src/WixToolset.BuildTasks/DoIt.cs
+61
-4
@@ -9,6 +9,7 @@ namespace WixToolset.BuildTasks
9
using Microsoft.Build.Utilities;
10
using WixToolset.Core;
11
using WixToolset.Data;
12
+ using WixToolset.Extensibility;
13
using WixToolset.Extensibility.Services;
14
15
/// <summary>
@@ -16,11 +17,13 @@ namespace WixToolset.BuildTasks
17
/// </summary>
18
public sealed class DoIt : Task
19
{
19
- public DoIt()
20
+ public DoIt() : this(null)
21
{
21
- Messaging.Instance.InitializeAppName("WIX", "wix.exe");
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");
27
}
28
29
public string AdditionalOptions { get; set; }
@@ -112,6 +115,8 @@ namespace WixToolset.BuildTasks
115
public string[] SuppressIces { get; set; }
116
public string AdditionalCub { get; set; }
117
118
+ private IMessageListener Listener { get; }
119
+
120
public override bool Execute()
121
{
122
try
@@ -168,7 +173,11 @@ namespace WixToolset.BuildTasks
173
var serviceProvider = new WixToolsetServiceProvider();
174
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;
181
context.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider);
182
context.Arguments = commandLineString;
183
@@ -284,5 +293,53 @@ namespace WixToolset.BuildTasks
293
// commandLineBuilder.AppendFileNamesIfNotNull(this.SourceFiles, " ");
294
// }
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
+ }
344
}
345
}
src/WixToolset.BuildTasks/WixToolTask.cs
-2
@@ -184,8 +184,6 @@ namespace WixToolset.BuildTasks
184
this.messagesAvailable = new ManualResetEvent(false);
185
this.toolExited = new ManualResetEvent(false);
186
187
- Util.RunningInMsBuild = true;
188
-
187
WixToolTaskLogger logger = new WixToolTaskLogger(this.messageQueue, this.messagesAvailable);
188
TextWriter saveConsoleOut = Console.Out;
189
TextWriter saveConsoleError = Console.Error;
src/WixToolset.Core.Burn/Bundles/BurnCommon.cs
+12
-9
@@ -6,6 +6,7 @@ namespace WixToolset.Core.Burn.Bundles
6
using System.Diagnostics;
7
using System.IO;
8
using WixToolset.Data;
9
+ using WixToolset.Extensibility.Services;
10
11
/// <summary>
12
/// Common functionality for Burn PE Writer & Reader for the WiX toolset.
@@ -77,7 +78,6 @@ namespace WixToolset.Core.Burn.Bundles
78
79
protected const UInt32 BURN_SECTION_MAGIC = 0x00f14300;
80
protected const UInt32 BURN_SECTION_VERSION = 0x00000002;
80
-
81
protected string fileExe;
82
protected UInt32 peOffset = UInt32.MaxValue;
83
protected UInt16 sections = UInt16.MaxValue;
@@ -103,8 +103,9 @@ namespace WixToolset.Core.Burn.Bundles
103
/// </summary>
104
/// <param name="fileExe">File to modify in-place.</param>
105
/// <param name="bundleGuid">GUID for the bundle.</param>
106
- public BurnCommon(string fileExe)
106
+ public BurnCommon(IMessaging messaging, string fileExe)
107
{
108
+ this.messaging = messaging;
109
this.fileExe = fileExe;
110
}
111
@@ -123,6 +124,8 @@ namespace WixToolset.Core.Burn.Bundles
124
public UInt32 AttachedContainerAddress { get; protected set; }
125
public UInt32 AttachedContainerSize { get; protected set; }
126
127
+ protected IMessaging messaging { get; }
128
+
129
public void Dispose()
130
{
131
Dispose(true);
@@ -176,21 +179,21 @@ namespace WixToolset.Core.Burn.Bundles
179
uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_MAGIC);
180
if (BURN_SECTION_MAGIC != uint32)
181
{
179
- Messaging.Instance.OnMessage(WixErrors.InvalidBundle(this.fileExe));
182
+ this.messaging.Write(ErrorMessages.InvalidBundle(this.fileExe));
183
return false;
184
}
185
186
this.Version = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_VERSION);
187
if (BURN_SECTION_VERSION != this.Version)
188
{
186
- Messaging.Instance.OnMessage(WixErrors.BundleTooNew(this.fileExe, this.Version));
189
+ this.messaging.Write(ErrorMessages.BundleTooNew(this.fileExe, this.Version));
190
return false;
191
}
192
193
uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_FORMAT); // We only know how to deal with CABs right now
194
if (1 != uint32)
195
{
193
- Messaging.Instance.OnMessage(WixErrors.InvalidBundle(this.fileExe));
196
+ this.messaging.Write(ErrorMessages.InvalidBundle(this.fileExe));
197
return false;
198
}
199
@@ -257,7 +260,7 @@ namespace WixToolset.Core.Burn.Bundles
260
261
if (UInt32.MaxValue == wixburnSectionOffset)
262
{
260
- Messaging.Instance.OnMessage(WixErrors.StubMissingWixburnSection(this.fileExe));
263
+ this.messaging.Write(ErrorMessages.StubMissingWixburnSection(this.fileExe));
264
return false;
265
}
266
@@ -265,7 +268,7 @@ namespace WixToolset.Core.Burn.Bundles
268
// the smallest alignment (512 bytes), but just to be paranoid...
269
if (BURN_SECTION_SIZE > BurnCommon.ReadUInt32(bytes, IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA))
270
{
268
- Messaging.Instance.OnMessage(WixErrors.StubWixburnSectionTooSmall(this.fileExe));
271
+ this.messaging.Write(ErrorMessages.StubWixburnSectionTooSmall(this.fileExe));
272
return false;
273
}
274
@@ -294,7 +297,7 @@ namespace WixToolset.Core.Burn.Bundles
297
// Verify the NT signature...
298
if (IMAGE_NT_SIGNATURE != BurnCommon.ReadUInt32(bytes, IMAGE_NT_HEADER_OFFSET_SIGNATURE))
299
{
297
- Messaging.Instance.OnMessage(WixErrors.InvalidStubExe(this.fileExe));
300
+ this.messaging.Write(ErrorMessages.InvalidStubExe(this.fileExe));
301
return false;
302
}
303
@@ -329,7 +332,7 @@ namespace WixToolset.Core.Burn.Bundles
332
// Verify the DOS 'MZ' signature.
333
if (IMAGE_DOS_SIGNATURE != BurnCommon.ReadUInt16(bytes, IMAGE_DOS_HEADER_OFFSET_MAGIC))
334
{
332
- Messaging.Instance.OnMessage(WixErrors.InvalidStubExe(this.fileExe));
335
+ this.messaging.Write(ErrorMessages.InvalidStubExe(this.fileExe));
336
return false;
337
}
338
src/WixToolset.Core.Burn/Bundles/BurnReader.cs
+5
-4
@@ -8,6 +8,7 @@ namespace WixToolset.Core.Burn.Bundles
8
using System.IO;
9
using System.Xml;
10
using WixToolset.Core.Native;
11
+ using WixToolset.Extensibility.Services;
12
13
/// <summary>
14
/// Burn PE reader for the WiX toolset.
@@ -32,8 +33,8 @@ namespace WixToolset.Core.Burn.Bundles
33
/// Creates a BurnReader for reading a PE file.
34
/// </summary>
35
/// <param name="fileExe">File to read.</param>
35
- private BurnReader(string fileExe)
36
- : base(fileExe)
36
+ private BurnReader(IMessaging messaging, string fileExe)
37
+ : base(messaging, fileExe)
38
{
39
this.attachedContainerPayloadNames = new List<DictionaryEntry>();
40
}
@@ -59,9 +60,9 @@ namespace WixToolset.Core.Burn.Bundles
60
/// </summary>
61
/// <param name="fileExe">Path to file.</param>
62
/// <returns>Burn reader.</returns>
62
- public static BurnReader Open(string fileExe)
63
+ public static BurnReader Open(IMessaging messaging, string fileExe)
64
{
64
- BurnReader reader = new BurnReader(fileExe);
65
+ BurnReader reader = new BurnReader(messaging, fileExe);
66
67
reader.binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete));
68
if (!reader.Initialize(reader.binaryReader))
src/WixToolset.Core.Burn/Bundles/BurnWriter.cs
+6
-5
@@ -6,6 +6,7 @@ namespace WixToolset.Core.Burn.Bundles
6
using System.Diagnostics;
7
using System.IO;
8
using WixToolset.Data;
9
+ using WixToolset.Extensibility.Services;
10
11
/// <summary>
12
/// Burn PE writer for the WiX toolset.
@@ -30,8 +31,8 @@ namespace WixToolset.Core.Burn.Bundles
31
/// </summary>
32
/// <param name="fileExe">File to modify in-place.</param>
33
/// <param name="bundleGuid">GUID for the bundle.</param>
33
- private BurnWriter(string fileExe)
34
- : base(fileExe)
34
+ private BurnWriter(IMessaging messaging, string fileExe)
35
+ : base(messaging, fileExe)
36
{
37
}
38
@@ -40,9 +41,9 @@ namespace WixToolset.Core.Burn.Bundles
41
/// </summary>
42
/// <param name="fileExe">Path to file.</param>
43
/// <returns>Burn writer.</returns>
43
- public static BurnWriter Open(string fileExe)
44
+ public static BurnWriter Open(IMessaging messaging, string fileExe)
45
{
45
- BurnWriter writer = new BurnWriter(fileExe);
46
+ BurnWriter writer = new BurnWriter(messaging, fileExe);
47
48
using (BinaryReader binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete)))
49
{
@@ -76,7 +77,7 @@ namespace WixToolset.Core.Burn.Bundles
77
this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_MAGIC, BURN_SECTION_MAGIC);
78
this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_VERSION, BURN_SECTION_VERSION);
79
79
- Messaging.Instance.OnMessage(WixVerboses.BundleGuid(bundleId.ToString("B")));
80
+ this.messaging.Write(VerboseMessages.BundleGuid(bundleId.ToString("B")));
81
this.binaryWriter.BaseStream.Seek(this.wixburnDataOffset + BURN_SECTION_OFFSET_BUNDLEGUID, SeekOrigin.Begin);
82
this.binaryWriter.Write(bundleId.ToByteArray());
83
src/WixToolset.Core.Burn/Inscribe/InscribeBundleCommand.cs
+1
-1
@@ -29,7 +29,7 @@ namespace WixToolset.Core.Burn.Inscribe
29
{
30
reader.Stream.Seek(reader.AttachedContainerAddress, SeekOrigin.Begin);
31
32
- using (BurnWriter writer = BurnWriter.Open(tempFile))
32
+ using (BurnWriter writer = BurnWriter.Open(this.Context.Messaging, tempFile))
33
{
34
writer.RememberThenResetSignature();
35
writer.AppendContainer(reader.Stream, reader.AttachedContainerSize, BurnCommon.Container.Attached);
src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs
+12
-9
@@ -8,22 +8,25 @@ namespace WixToolset.Core.WindowsInstaller.Bind
8
using System.Linq;
9
using WixToolset.Core.Bind;
10
using WixToolset.Data;
11
- using WixToolset.Data.Rows;
11
using WixToolset.Data.Tuples;
12
+ using WixToolset.Extensibility.Services;
13
14
/// <summary>
15
/// AssignMediaCommand assigns files to cabs based on Media or MediaTemplate rows.
16
/// </summary>
17
internal class AssignMediaCommand
18
{
19
- public AssignMediaCommand(IntermediateSection section)
19
+ public AssignMediaCommand(IntermediateSection section, IMessaging messaging)
20
{
21
this.CabinetNameTemplate = "Cab{0}.cab";
22
this.Section = section;
23
+ this.Messaging = messaging;
24
}
25
26
private IntermediateSection Section { get; }
27
28
+ private IMessaging Messaging { get; }
29
+
30
public IEnumerable<FileFacade> FileFacades { private get; set; }
31
32
public bool FilesCompressed { private get; set; }
@@ -60,7 +63,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
63
// If both tables are authored, it is an error.
64
if (mediaTemplateTable.Count > 0 && mediaTable.Count > 1)
65
{
63
- throw new WixException(WixErrors.MediaTableCollision(null));
66
+ throw new WixException(ErrorMessages.MediaTableCollision(null));
67
}
68
69
// When building merge module, all the files go to "#MergeModule.CABinet".
@@ -144,11 +147,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
147
}
148
catch (FormatException)
149
{
147
- throw new WixException(WixErrors.IllegalEnvironmentVariable("WIX_MUMS", mumsString));
150
+ throw new WixException(ErrorMessages.IllegalEnvironmentVariable("WIX_MUMS", mumsString));
151
}
152
catch (OverflowException)
153
{
151
- throw new WixException(WixErrors.MaximumUncompressedMediaSizeTooLarge(null, maxPreCabSizeInMB));
154
+ throw new WixException(ErrorMessages.MaximumUncompressedMediaSizeTooLarge(null, maxPreCabSizeInMB));
155
}
156
157
foreach (FileFacade facade in this.FileFacades)
@@ -234,8 +237,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
237
{
238
if (cabinetMediaRows.TryGetValue(mediaRow.Cabinet, out var existingRow))
239
{
237
- Messaging.Instance.OnMessage(WixErrors.DuplicateCabinetName(mediaRow.SourceLineNumbers, mediaRow.Cabinet));
238
- Messaging.Instance.OnMessage(WixErrors.DuplicateCabinetName2(existingRow.SourceLineNumbers, existingRow.Cabinet));
240
+ this.Messaging.Write(ErrorMessages.DuplicateCabinetName(mediaRow.SourceLineNumbers, mediaRow.Cabinet));
241
+ this.Messaging.Write(ErrorMessages.DuplicateCabinetName2(existingRow.SourceLineNumbers, existingRow.Cabinet));
242
}
243
else
244
{
@@ -259,7 +262,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
262
{
263
if (!mediaRows.TryGetValue(facade.WixFile.DiskId, out var mediaRow))
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));
266
continue;
267
}
268
@@ -279,7 +282,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
282
}
283
else
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));
286
}
287
}
288
}
src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
+27
-22
@@ -35,6 +35,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
35
this.ExpectedEmbeddedFiles = context.ExpectedEmbeddedFiles;
36
this.Extensions = context.Extensions;
37
this.Intermediate = context.IntermediateRepresentation;
38
+ this.Messaging = context.Messaging;
39
this.OutputPath = context.OutputPath;
40
this.PdbFile = context.OutputPdbPath;
41
this.IntermediateFolder = context.IntermediateFolder;
@@ -68,6 +69,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
69
70
private Intermediate Intermediate { get; }
71
72
+ private IMessaging Messaging { get; }
73
+
74
private string OutputPath { get; }
75
76
private bool SuppressAddingValidationRows { get; }
@@ -160,7 +163,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
163
// Sequence all the actions.
164
{
165
var command = new SequenceActionsCommand(section);
163
- command.Messaging = Messaging.Instance;
166
+ command.Messaging = this.Messaging;
167
command.Execute();
168
}
169
@@ -191,12 +194,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind
194
////}
195
#endif
196
194
- if (Messaging.Instance.EncounteredError)
197
+ if (this.Messaging.EncounteredError)
198
{
199
return;
200
}
201
199
- Messaging.Instance.OnMessage(WixVerboses.UpdatingFileInformation());
202
+ this.Messaging.Write(VerboseMessages.UpdatingFileInformation());
203
204
// This must occur after all variables and source paths have been resolved.
205
List<FileFacade> fileFacades;
@@ -215,7 +218,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
218
219
// Gather information about files that did not come from merge modules (i.e. rows with a reference to the File table).
220
{
218
- var command = new UpdateFileFacadesCommand(section);
221
+ var command = new UpdateFileFacadesCommand(this.Messaging, section);
222
command.FileFacades = fileFacades;
223
command.UpdateFileFacades = fileFacades.Where(f => !f.FromModule);
224
command.OverwriteHash = true;
@@ -227,13 +230,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
230
// Now that the variable cache is populated, resolve any delayed fields.
231
if (this.DelayedFields.Any())
232
{
230
- var command = new ResolveDelayedFieldsCommand(this.DelayedFields, variableCache);
233
+ var command = new ResolveDelayedFieldsCommand(this.Messaging, this.DelayedFields, variableCache);
234
command.Execute();
235
}
236
237
// Set generated component guids.
238
{
236
- var command = new CalculateComponentGuids(section);
239
+ var command = new CalculateComponentGuids(this.Messaging, section);
240
command.Execute();
241
}
242
@@ -244,7 +247,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
247
248
if (wixMergeTuples.Any())
249
{
247
- var command = new ExtractMergeModuleFilesCommand(section, wixMergeTuples);
250
+ var command = new ExtractMergeModuleFilesCommand(this.Messaging, section, wixMergeTuples);
251
command.FileFacades = fileFacades;
252
command.OutputInstallerVersion = installerVersion;
253
command.SuppressLayout = this.SuppressLayout;
@@ -265,7 +268,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
268
#endif
269
270
// stop processing if an error previously occurred
268
- if (Messaging.Instance.EncounteredError)
271
+ if (this.Messaging.EncounteredError)
272
{
273
return;
274
}
@@ -280,7 +283,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
283
Dictionary<MediaTuple, IEnumerable<FileFacade>> filesByCabinetMedia;
284
IEnumerable<FileFacade> uncompressedFiles;
285
{
283
- var command = new AssignMediaCommand(section);
286
+ var command = new AssignMediaCommand(section, this.Messaging);
287
command.FileFacades = fileFacades;
288
command.FilesCompressed = compressed;
289
command.Execute();
@@ -291,7 +294,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
294
}
295
296
// stop processing if an error previously occurred
294
- if (Messaging.Instance.EncounteredError)
297
+ if (this.Messaging.EncounteredError)
298
{
299
return;
300
}
@@ -355,7 +358,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
358
#endif
359
360
// Stop processing if an error previously occurred.
358
- if (Messaging.Instance.EncounteredError)
361
+ if (this.Messaging.EncounteredError)
362
{
363
return;
364
}
@@ -374,13 +377,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
377
string layoutDirectory = Path.GetDirectoryName(this.OutputPath);
378
if (!this.SuppressLayout || OutputType.Module == output.Type)
379
{
377
- Messaging.Instance.OnMessage(WixVerboses.CreatingCabinetFiles());
380
+ this.Messaging.Write(VerboseMessages.CreatingCabinetFiles());
381
382
var command = new CreateCabinetsCommand();
383
command.CabbingThreadCount = this.CabbingThreadCount;
384
command.CabCachePath = this.CabCachePath;
385
command.DefaultCompressionLevel = this.DefaultCompressionLevel;
386
command.Output = output;
387
+ command.Messaging = this.Messaging;
388
command.BackendExtensions = this.BackendExtensions;
389
command.LayoutDirectory = layoutDirectory;
390
command.Compressed = compressed;
@@ -435,13 +439,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
439
this.ValidateComponentGuids(output);
440
441
// stop processing if an error previously occurred
438
- if (Messaging.Instance.EncounteredError)
442
+ if (this.Messaging.EncounteredError)
443
{
444
return;
445
}
446
447
// Generate database file.
444
- Messaging.Instance.OnMessage(WixVerboses.GeneratingDatabase());
448
+ this.Messaging.Write(VerboseMessages.GeneratingDatabase());
449
string tempDatabaseFile = Path.Combine(this.IntermediateFolder, Path.GetFileName(this.OutputPath));
450
this.GenerateDatabase(output, tempDatabaseFile, false, false);
451
@@ -452,7 +456,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
456
}
457
458
// Stop processing if an error previously occurred.
455
- if (Messaging.Instance.EncounteredError)
459
+ if (this.Messaging.EncounteredError)
460
{
461
return;
462
}
@@ -468,7 +472,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
472
// Merge modules.
473
if (OutputType.Product == output.Type)
474
{
471
- Messaging.Instance.OnMessage(WixVerboses.MergingModules());
475
+ this.Messaging.Write(VerboseMessages.MergingModules());
476
477
var command = new MergeModulesCommand();
478
command.FileFacades = fileFacades;
@@ -478,7 +482,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
482
command.Execute();
483
}
484
481
- if (Messaging.Instance.EncounteredError)
485
+ if (this.Messaging.EncounteredError)
486
{
487
return;
488
}
@@ -492,12 +496,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind
496
// set the output file for source line information
497
this.Validator.Output = this.Output;
498
495
- Messaging.Instance.OnMessage(WixVerboses.ValidatingDatabase());
499
+ Messaging.Instance.Write(WixVerboses.ValidatingDatabase());
500
501
this.Validator.Validate(tempDatabaseFile);
502
503
stopwatch.Stop();
500
- Messaging.Instance.OnMessage(WixVerboses.ValidatedDatabase(stopwatch.ElapsedMilliseconds));
504
+ Messaging.Instance.Write(WixVerboses.ValidatedDatabase(stopwatch.ElapsedMilliseconds));
505
506
// Stop processing if an error occurred.
507
if (Messaging.Instance.EncounteredError)
@@ -508,7 +512,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
512
#endif
513
514
// Process uncompressed files.
511
- if (!Messaging.Instance.EncounteredError && !this.SuppressLayout && uncompressedFiles.Any())
515
+ if (!this.Messaging.EncounteredError && !this.SuppressLayout && uncompressedFiles.Any())
516
{
517
var command = new ProcessUncompressedFilesCommand(section);
518
command.Compressed = compressed;
@@ -908,11 +912,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
912
913
if (allComponentsHaveConditions)
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));
916
}
917
else
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));
920
}
921
}
922
@@ -929,6 +933,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
933
private void UpdateControlText(Output output)
934
{
935
var command = new UpdateControlTextCommand();
936
+ command.Messaging = this.Messaging;
937
command.BBControlTable = output.Tables["BBControl"];
938
command.WixBBControlTable = output.Tables["WixBBControl"];
939
command.ControlTable = output.Tables["Control"];
src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs
+9
-6
@@ -6,11 +6,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind
6
using System.Collections.Generic;
7
using System.Globalization;
8
using System.IO;
9
+ using WixToolset.Core.Native;
10
using WixToolset.Data;
11
+ using WixToolset.Data.WindowsInstaller;
12
using WixToolset.Extensibility;
13
+ using WixToolset.Extensibility.Services;
14
using WixToolset.Msi;
12
- using WixToolset.Core.Native;
13
- using WixToolset.Data.WindowsInstaller;
15
16
internal class BindTransformCommand
17
{
@@ -22,6 +23,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
23
24
public Output Transform { private get; set; }
25
26
+ public IMessaging Messaging { private get; set; }
27
+
28
public string OutputPath { private get; set; }
29
30
public void Execute()
@@ -197,7 +200,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
200
if (((int)TransformFlags.ValidateUpgradeCode & transformFlags) != 0 &&
201
(String.IsNullOrEmpty(targetUpgradeCode) || String.IsNullOrEmpty(updatedUpgradeCode)))
202
{
200
- Messaging.Instance.OnMessage(WixErrors.BothUpgradeCodesRequired());
203
+ this.Messaging.Write(ErrorMessages.BothUpgradeCodesRequired());
204
}
205
206
string emptyFile = null;
@@ -276,7 +279,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
279
{
280
if (RowOperation.Add == fileRow.Operation)
281
{
279
- Messaging.Instance.OnMessage(WixErrors.InvalidAddedFileRowWithoutSequence(fileRow.SourceLineNumbers, (string)fileRow[0]));
282
+ this.Messaging.Write(ErrorMessages.InvalidAddedFileRowWithoutSequence(fileRow.SourceLineNumbers, (string)fileRow[0]));
283
break;
284
}
285
@@ -384,7 +387,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
387
//}
388
389
// Any errors encountered up to this point can cause errors during generation.
387
- if (Messaging.Instance.EncounteredError)
390
+ if (this.Messaging.EncounteredError)
391
{
392
return;
393
}
@@ -419,7 +422,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
422
}
423
else
424
{
422
- Messaging.Instance.OnMessage(WixErrors.NoDifferencesInTransform(this.Transform.SourceLineNumbers));
425
+ this.Messaging.Write(ErrorMessages.NoDifferencesInTransform(this.Transform.SourceLineNumbers));
426
}
427
}
428
}
src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs
+12
-10
@@ -4,13 +4,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
4
{
5
using System;
6
using System.Collections;
7
- using System.Collections.Generic;
7
using System.IO;
8
using System.Linq;
9
using System.Threading;
10
using WixToolset.Core.Bind;
11
using WixToolset.Core.Native;
12
using WixToolset.Data;
13
+ using WixToolset.Extensibility.Services;
14
15
/// <summary>
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
26
private IntPtr newCabNamesCallBackAddress;
27
28
- public int MaximumCabinetSizeForLargeFileSplitting { get; set; }
29
-
30
- public int MaximumUncompressedMediaSize { get; set; }
31
-
28
/// <summary>
29
/// Instantiate a new CabinetBuilder.
30
/// </summary>
31
/// <param name="threadCount">number of threads to use</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)
34
{
35
if (0 >= threadCount)
36
{
@@ -43,13 +39,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind
39
40
this.cabinetWorkItems = new Queue();
41
this.lockObject = new object();
46
-
42
+ this.Messaging = messaging;
43
this.threadCount = threadCount;
44
45
// Set Address of Binder's callback function for Cabinet Splitting
46
this.newCabNamesCallBackAddress = newCabNamesCallBackAddress;
47
}
48
49
+ private IMessaging Messaging { get; }
50
+
51
+ public int MaximumCabinetSizeForLargeFileSplitting { get; set; }
52
+
53
+ public int MaximumUncompressedMediaSize { get; set; }
54
+
55
/// <summary>
56
/// Enqueues a CabinetWorkItem to the queue.
57
/// </summary>
@@ -119,11 +121,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
121
}
122
catch (WixException we)
123
{
122
- Messaging.Instance.OnMessage(we.Error);
124
+ this.Messaging.Write(we.Error);
125
}
126
catch (Exception e)
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));
129
}
130
}
131
@@ -133,7 +135,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
135
/// <param name="cabinetWorkItem">CabinetWorkItem containing information about the cabinet to create.</param>
136
private void CreateCabinet(CabinetWorkItem cabinetWorkItem)
137
{
136
- Messaging.Instance.OnMessage(WixVerboses.CreateCabinet(cabinetWorkItem.CabinetFile));
138
+ this.Messaging.Write(VerboseMessages.CreateCabinet(cabinetWorkItem.CabinetFile));
139
140
int maxCabinetSize = 0; // The value of 0 corresponds to default of 2GB which means no cabinet splitting
141
ulong maxPreCompressedSizeInBytes = 0;
src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs
+1
-1
@@ -109,7 +109,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
109
}
110
catch (ArgumentException)
111
{
112
- throw new WixException(WixErrors.IllegalCharactersInPath(path));
112
+ throw new WixException(ErrorMessages.IllegalCharactersInPath(path));
113
}
114
}
115
}
src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
+10
-6
@@ -10,17 +10,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind
10
using WixToolset.Core.Native;
11
using WixToolset.Data;
12
using WixToolset.Data.Tuples;
13
+ using WixToolset.Extensibility.Services;
14
15
/// <summary>
16
/// Set the guids for components with generatable guids.
17
/// </summary>
18
internal class CalculateComponentGuids
19
{
19
- public CalculateComponentGuids(IntermediateSection section)
20
+ public CalculateComponentGuids(IMessaging messaging, IntermediateSection section)
21
{
22
+ this.Messaging = messaging;
23
this.Section = section;
24
}
25
26
+ private IMessaging Messaging { get; }
27
+
28
private IntermediateSection Section { get; }
29
30
public void Execute()
@@ -43,7 +47,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
47
48
if (String.IsNullOrEmpty(componentRow.KeyPath) || odbcDataSourceKeyPath)
49
{
46
- Messaging.Instance.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(componentRow.SourceLineNumbers));
50
+ this.Messaging.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(componentRow.SourceLineNumbers));
51
continue;
52
}
53
@@ -143,13 +147,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
147
path.StartsWith(@"StartMenuFolder\programs", StringComparison.Ordinal) ||
148
path.StartsWith(@"WindowsFolder\fonts", StringComparison.Ordinal))
149
{
146
- Messaging.Instance.OnMessage(WixErrors.IllegalPathForGeneratedComponentGuid(componentRow.SourceLineNumbers, fileRow.Component_, path));
150
+ this.Messaging.Write(ErrorMessages.IllegalPathForGeneratedComponentGuid(componentRow.SourceLineNumbers, fileRow.Component_, path));
151
}
152
153
// if component has more than one file, the key path must be versioned
154
if (1 < numFilesInComponent && String.IsNullOrEmpty(fileRow.Version))
155
{
152
- Messaging.Instance.OnMessage(WixErrors.IllegalGeneratedGuidComponentUnversionedKeypath(componentRow.SourceLineNumbers));
156
+ this.Messaging.Write(ErrorMessages.IllegalGeneratedGuidComponentUnversionedKeypath(componentRow.SourceLineNumbers));
157
}
158
}
159
else
@@ -157,13 +161,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
161
// not a key path, so it must be an unversioned file if component has more than one file
162
if (1 < numFilesInComponent && !String.IsNullOrEmpty(fileRow.Version))
163
{
160
- Messaging.Instance.OnMessage(WixErrors.IllegalGeneratedGuidComponentVersionedNonkeypath(componentRow.SourceLineNumbers));
164
+ this.Messaging.Write(ErrorMessages.IllegalGeneratedGuidComponentVersionedNonkeypath(componentRow.SourceLineNumbers));
165
}
166
}
167
}
168
169
// if the rules were followed, reward with a generated guid
166
- if (!Messaging.Instance.EncounteredError)
170
+ if (!this.Messaging.EncounteredError)
171
{
172
componentRow.ComponentId = Uuid.NewUuid(BindDatabaseCommand.WixComponentGuidNamespace, path).ToString("B").ToUpperInvariant();
173
}
src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs
+7
-4
@@ -12,13 +12,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind
12
using WixToolset.Data.WindowsInstaller;
13
using WixToolset.Data.WindowsInstaller.Rows;
14
using WixToolset.Extensibility;
15
+ using WixToolset.Extensibility.Services;
16
17
internal class CopyTransformDataCommand
18
{
19
public bool CopyOutFileRows { private get; set; }
20
21
public IEnumerable<IBinderExtension> Extensions { private get; set; }
21
-
22
+
23
+ public IMessaging Messaging { private get; set; }
24
+
25
public Output Output { private get; set; }
26
27
public TableDefinitionCollection TableDefinitions { private get; set; }
@@ -465,14 +468,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
468
{
469
if (seqDuplicateFiles < seqInstallFiles)
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));
472
}
473
else
474
{
475
sequence = (seqDuplicateFiles + seqInstallFiles) / 2;
476
if (seqInstallFiles == sequence || seqDuplicateFiles == sequence)
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));
479
}
480
}
481
}
@@ -579,7 +582,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
582
// Make sure all changes to non keypath files also had a change in the keypath.
583
if (!componentWithChangedKeyPath.ContainsKey(componentFile.Key) && componentKeyPath.ContainsKey(componentFile.Key))
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]));
586
}
587
}
588
}
src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs
+22
-19
@@ -16,6 +16,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
16
using WixToolset.Data.WindowsInstaller;
17
using WixToolset.Data.WindowsInstaller.Rows;
18
using WixToolset.Extensibility;
19
+ using WixToolset.Extensibility.Services;
20
21
/// <summary>
22
/// Creates cabinet files.
@@ -45,6 +46,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
46
47
public string CabCachePath { private get; set; }
48
49
+ public IMessaging Messaging { private get; set; }
50
+
51
public string TempFilesLocation { private get; set; }
52
53
/// <summary>
@@ -85,7 +88,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
88
this.SetCabbingThreadCount();
89
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));
92
93
// Supply Compile MediaTemplate Attributes to Cabinet Builder
94
this.GetMediaTemplateAttributes(out var MaximumCabinetSizeForLargeFileSplitting, out var MaximumUncompressedMediaSize);
@@ -120,14 +123,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
123
}
124
125
// stop processing if an error previously occurred
123
- if (Messaging.Instance.EncounteredError)
126
+ if (this.Messaging.EncounteredError)
127
{
128
return;
129
}
130
131
// create queued cabinets with multiple threads
132
cabinetBuilder.CreateQueuedCabinets();
130
- if (Messaging.Instance.EncounteredError)
133
+ if (this.Messaging.EncounteredError)
134
{
135
return;
136
}
@@ -152,7 +155,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
155
156
if (0 >= this.CabbingThreadCount)
157
{
155
- throw new WixException(WixErrors.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors));
158
+ throw new WixException(ErrorMessages.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors));
159
}
160
}
161
else // default to 1 if the environment variable is not set
@@ -160,15 +163,15 @@ namespace WixToolset.Core.WindowsInstaller.Bind
163
this.CabbingThreadCount = 1;
164
}
165
163
- Messaging.Instance.OnMessage(WixVerboses.SetCabbingThreadCount(this.CabbingThreadCount.ToString()));
166
+ this.Messaging.Write(VerboseMessages.SetCabbingThreadCount(this.CabbingThreadCount.ToString()));
167
}
168
catch (ArgumentException)
169
{
167
- throw new WixException(WixErrors.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors));
170
+ throw new WixException(ErrorMessages.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors));
171
}
172
catch (FormatException)
173
{
171
- throw new WixException(WixErrors.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors));
174
+ throw new WixException(ErrorMessages.IllegalEnvironmentVariable("NUMBER_OF_PROCESSORS", numberOfProcessors));
175
}
176
}
177
}
@@ -202,11 +205,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
205
// If building a patch, remind them to run -p for torch.
206
if (OutputType.Patch == output.Type)
207
{
205
- Messaging.Instance.OnMessage(WixWarnings.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName, true));
208
+ this.Messaging.Write(WarningMessages.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName, true));
209
}
210
else
211
{
209
- Messaging.Instance.OnMessage(WixWarnings.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName));
212
+ this.Messaging.Write(WarningMessages.EmptyCabinet(mediaRow.SourceLineNumbers, cabinetName));
213
}
214
}
215
@@ -223,7 +226,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
226
}
227
else // reuse the cabinet from the cabinet cache.
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));
230
231
try
232
{
@@ -237,7 +240,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
240
}
241
catch (Exception e)
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));
244
}
245
}
246
@@ -303,7 +306,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
306
if (!mutex.WaitOne(0, false)) // Check if you can get the lock
307
{
308
// Cound not get the Lock
306
- Messaging.Instance.OnMessage(WixVerboses.CabinetsSplitInParallel());
309
+ this.Messaging.Write(VerboseMessages.CabinetsSplitInParallel());
310
mutex.WaitOne(); // Wait on other thread
311
}
312
@@ -333,7 +336,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
336
// Check if File Transfer was added
337
if (!transferAdded)
338
{
336
- throw new WixException(WixErrors.SplitCabinetCopyRegistrationFailed(newCabinetName, firstCabinetName));
339
+ throw new WixException(ErrorMessages.SplitCabinetCopyRegistrationFailed(newCabinetName, firstCabinetName));
340
}
341
342
// Add the new Cabinets to media table using LastSequence of Base Cabinet
@@ -365,14 +368,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
368
if (newCabinetName.Equals(mediaRow.Cabinet, StringComparison.InvariantCultureIgnoreCase))
369
{
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));
372
}
373
}
374
375
// Check if the last Split Cabinet was found in the Media Table
376
if (!lastSplitCabinetFound)
377
{
375
- throw new WixException(WixErrors.SplitCabinetInsertionFailed(newCabinetName, firstCabinetName, lastCabinetOfThisSequence));
378
+ throw new WixException(ErrorMessages.SplitCabinetInsertionFailed(newCabinetName, firstCabinetName, lastCabinetOfThisSequence));
379
}
380
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
457
}
458
catch (FormatException)
459
{
457
- throw new WixException(WixErrors.IllegalEnvironmentVariable("WIX_MCSLFS", mcslfsString));
460
+ throw new WixException(ErrorMessages.IllegalEnvironmentVariable("WIX_MCSLFS", mcslfsString));
461
}
462
catch (OverflowException)
463
{
461
- throw new WixException(WixErrors.MaximumCabinetSizeForLargeFileSplittingTooLarge(null, maxCabSizeForLargeFileInMB, MaxValueOfMaxCabSizeForLargeFileSplitting));
464
+ throw new WixException(ErrorMessages.MaximumCabinetSizeForLargeFileSplittingTooLarge(null, maxCabSizeForLargeFileInMB, MaxValueOfMaxCabSizeForLargeFileSplitting));
465
}
466
467
try
@@ -476,11 +479,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
479
}
480
catch (FormatException)
481
{
479
- throw new WixException(WixErrors.IllegalEnvironmentVariable("WIX_MUMS", mumsString));
482
+ throw new WixException(ErrorMessages.IllegalEnvironmentVariable("WIX_MUMS", mumsString));
483
}
484
catch (OverflowException)
485
{
483
- throw new WixException(WixErrors.MaximumUncompressedMediaSizeTooLarge(null, maxPreCompressedSizeInMB));
486
+ throw new WixException(ErrorMessages.MaximumUncompressedMediaSizeTooLarge(null, maxPreCompressedSizeInMB));
487
}
488
489
maxCabSizeForLargeFileSplitting = maxCabSizeForLargeFileInMB;
src/WixToolset.Core.WindowsInstaller/Bind/CreateIdtFileCommand.cs
+7
-3
@@ -8,17 +8,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind
8
using System.Text;
9
using WixToolset.Data;
10
using WixToolset.Data.WindowsInstaller;
11
+ using WixToolset.Extensibility.Services;
12
13
internal class CreateIdtFileCommand
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)
16
{
17
+ this.Messaging = messaging;
18
this.Table = table;
19
this.Codepage = codepage;
20
this.IntermediateFolder = intermediateFolder;
21
this.KeepAddedColumns = keepAddedColumns;
22
}
23
24
+ private IMessaging Messaging { get; }
25
+
26
private Table Table { get; }
27
28
private int Codepage { get; set; }
@@ -67,7 +71,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
71
72
if (TableDefinition.MaxColumnsInRealTable < table.Definition.Columns.Count)
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));
75
}
76
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
102
}
103
catch (EncoderFallbackException)
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)));
106
107
rowBytes = convertEncoding.GetBytes(rowString);
108
}
src/WixToolset.Core.WindowsInstaller/Bind/ExtractMergeModuleFilesCommand.cs
+15
-11
@@ -15,18 +15,22 @@ namespace WixToolset.Core.WindowsInstaller.Bind
15
using WixToolset.Core.Native;
16
using WixToolset.Core.Bind;
17
using WixToolset.Data.Tuples;
18
+ using WixToolset.Extensibility.Services;
19
20
/// <summary>
21
/// Retrieve files information and extract them from merge modules.
22
/// </summary>
23
internal class ExtractMergeModuleFilesCommand
24
{
24
- public ExtractMergeModuleFilesCommand(IntermediateSection section, List<WixMergeTuple> wixMergeTuples)
25
+ public ExtractMergeModuleFilesCommand(IMessaging messaging, IntermediateSection section, List<WixMergeTuple> wixMergeTuples)
26
{
27
+ this.Messaging = messaging;
28
this.Section = section;
29
this.WixMergeTuples = wixMergeTuples;
30
}
31
32
+ private IMessaging Messaging { get; }
33
+
34
private IntermediateSection Section { get; }
35
36
private List<WixMergeTuple> WixMergeTuples { get; }
@@ -121,11 +125,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
125
// If case-sensitive collision with another merge module or a user-authored file identifier.
126
if (indexedFileFacades.TryGetValue(mergeModuleFileFacade.File.File, out var collidingFacade))
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));
129
}
130
else if (uniqueModuleFileIdentifiers.TryGetValue(mergeModuleFileFacade.File.File, out collidingFacade)) // case-insensitive collision with another file identifier in the same merge module
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));
133
}
134
else // no collision
135
{
@@ -152,23 +156,23 @@ namespace WixToolset.Core.WindowsInstaller.Bind
156
int moduleInstallerVersion = Convert.ToInt32(moduleInstallerVersionString, CultureInfo.InvariantCulture);
157
if (moduleInstallerVersion > this.OutputInstallerVersion)
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));
160
}
161
}
162
catch (FormatException)
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));
165
}
166
}
167
}
168
}
169
catch (FileNotFoundException)
170
{
167
- throw new WixException(WixErrors.FileNotFound(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile));
171
+ throw new WixException(ErrorMessages.FileNotFound(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile));
172
}
173
catch (Win32Exception)
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));
176
}
177
178
return containsFiles;
@@ -187,7 +191,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
191
}
192
catch (FormatException)
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()));
195
return;
196
}
197
@@ -210,16 +214,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind
214
}
215
catch (FileNotFoundException)
216
{
213
- throw new WixException(WixErrors.CabFileDoesNotExist(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath));
217
+ throw new WixException(ErrorMessages.CabFileDoesNotExist(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath));
218
}
219
catch
220
{
217
- throw new WixException(WixErrors.CabExtractionFailed(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath));
221
+ throw new WixException(ErrorMessages.CabExtractionFailed(moduleCabPath, wixMergeRow.SourceFile, mergeIdPath));
222
}
223
}
224
catch (COMException ce)
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));
227
}
228
finally
229
{
src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs
+11
-7
@@ -13,6 +13,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
13
using WixToolset.Msi;
14
using WixToolset.Core.Native;
15
using WixToolset.Data.WindowsInstaller;
16
+ using WixToolset.Extensibility.Services;
17
18
internal class GenerateDatabaseCommand
19
{
@@ -25,6 +26,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
26
/// </summary>
27
public bool KeepAddedColumns { private get; set; }
28
29
+ public IMessaging Messaging { private get; set; }
30
+
31
public Output Output { private get; set; }
32
33
public string OutputPath { private get; set; }
@@ -177,7 +180,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
180
try
181
{
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);
184
command.Execute();
185
186
db.Import(command.IdtPath);
@@ -262,11 +265,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
265
{
266
if (0xA1 == e.NativeErrorCode) // ERROR_BAD_PATHNAME
267
{
265
- throw new WixException(WixErrors.FileNotFound(row.SourceLineNumbers, (string)row[i]));
268
+ throw new WixException(ErrorMessages.FileNotFound(row.SourceLineNumbers, (string)row[i]));
269
}
270
else
271
{
269
- throw new WixException(WixErrors.Win32Exception(e.NativeErrorCode, e.Message));
272
+ throw new WixException(ErrorMessages.Win32Exception(e.NativeErrorCode, e.Message));
273
}
274
}
275
}
@@ -279,7 +282,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
282
// check for a stream name that is more than 62 characters long (the maximum allowed length)
283
if (needStream && MsiInterop.MsiMaxStreamNameLength < streamName.Length)
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));
286
}
287
else // add the row to the database
288
{
@@ -309,7 +312,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
312
// Bind the transform.
313
this.BindTransform(subStorage.Data, transformFile);
314
312
- if (Messaging.Instance.EncounteredError)
315
+ if (this.Messaging.EncounteredError)
316
{
317
continue;
318
}
@@ -338,7 +341,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
341
342
private void BindTransform(Output transform, string outputPath)
343
{
341
- BindTransformCommand command = new BindTransformCommand();
344
+ var command = new BindTransformCommand();
345
+ command.Messaging = this.Messaging;
346
command.Extensions = this.Extensions;
347
command.TempFilesLocation = this.TempFilesLocation;
348
command.Transform = transform;
@@ -372,7 +376,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
376
catch (WixInvalidIdtException)
377
{
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));
380
}
381
}
382
}
src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs
+20
-17
@@ -13,6 +13,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
13
using WixToolset.Data;
14
using WixToolset.Data.WindowsInstaller;
15
using WixToolset.Data.WindowsInstaller.Rows;
16
+ using WixToolset.Extensibility.Services;
17
using WixToolset.MergeMod;
18
using WixToolset.Msi;
19
@@ -23,6 +24,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
24
{
25
public IEnumerable<FileFacade> FileFacades { private get; set; }
26
27
+ public IMessaging Messaging { private get; set; }
28
+
29
public Output Output { private get; set; }
30
31
public string OutputPath { private get; set; }
@@ -73,11 +76,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
76
}
77
catch (FormatException)
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));
80
continue;
81
}
82
80
- Messaging.Instance.OnMessage(WixVerboses.OpeningMergeModule(wixMergeRow.SourceFile, mergeLanguage));
83
+ this.Messaging.Write(VerboseMessages.OpeningMergeModule(wixMergeRow.SourceFile, mergeLanguage));
84
merge.OpenModule(wixMergeRow.SourceFile, mergeLanguage);
85
moduleOpen = true;
86
@@ -89,7 +92,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
92
}
93
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));
96
merge.MergeEx(wixMergeRow.Feature, wixMergeRow.Directory, callback);
97
98
// connect any non-primary features
@@ -99,7 +102,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
102
{
103
if (wixMergeRow.Id == (string)row[1])
104
{
102
- Messaging.Instance.OnMessage(WixVerboses.ConnectingMergeModule(wixMergeRow.SourceFile, (string)row[0]));
105
+ this.Messaging.Write(VerboseMessages.ConnectingMergeModule(wixMergeRow.SourceFile, (string)row[0]));
106
merge.Connect((string)row[0]);
107
}
108
}
@@ -144,38 +147,38 @@ namespace WixToolset.Core.WindowsInstaller.Bind
147
switch (mergeError.Type)
148
{
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()));
151
break;
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));
154
break;
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));
157
break;
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));
160
break;
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));
163
break;
164
case MsmErrorType.msmErrorTableMerge:
165
if ("_Validation" != mergeError.DatabaseTable) // ignore merge errors in the _Validation table
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));
168
}
169
break;
170
case MsmErrorType.msmErrorPlatformMismatch:
168
- Messaging.Instance.OnMessage(WixErrors.MergePlatformMismatch(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile));
171
+ this.Messaging.Write(ErrorMessages.MergePlatformMismatch(wixMergeRow.SourceLineNumbers, wixMergeRow.SourceFile));
172
break;
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));
175
break;
176
}
177
}
178
179
if (0 >= mergeErrors.Count && !commit)
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));
182
}
183
184
if (moduleOpen)
@@ -199,7 +202,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
202
}
203
204
// stop processing if an error previously occurred
202
- if (Messaging.Instance.EncounteredError)
205
+ if (this.Messaging.EncounteredError)
206
{
207
return;
208
}
@@ -223,7 +226,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
226
{
227
if (null != record)
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()));
230
view.Modify(ModifyView.Delete, record);
231
}
232
}
@@ -251,7 +254,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
254
break;
255
}
256
254
- Messaging.Instance.OnMessage(WixWarnings.SuppressMergedAction(resultRecord.GetString(1), tableName));
257
+ this.Messaging.Write(WarningMessages.SuppressMergedAction(resultRecord.GetString(1), tableName));
258
}
259
}
260
}
@@ -273,7 +276,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
276
}
277
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());
280
using (View view = db.OpenView("SELECT `Sequence`, `Attributes` FROM `File` WHERE `File`=?"))
281
{
282
foreach (var file in this.FileFacades)
src/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs
+1
-1
@@ -97,7 +97,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
97
{
98
if (null == fileRecord)
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
}
102
103
relativeFileLayoutPath = Binder.GetFileSourcePath(directories, fileRecord[1], fileRecord[2], this.Compressed, this.LongNamesInImage);
src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs
+22
-21
@@ -9,6 +9,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
9
using WixToolset.Core.Native;
10
using WixToolset.Data;
11
using WixToolset.Data.Tuples;
12
+ using WixToolset.Extensibility.Services;
13
14
internal class SequenceActionsCommand
15
{
@@ -27,7 +28,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
28
29
private Dictionary<string, WixActionTuple> StandardActionsById { get; }
30
30
- public Messaging Messaging { private get; set; }
31
+ public IMessaging Messaging { private get; set; }
32
33
public void Execute()
34
{
@@ -64,10 +65,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
65
{
66
if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow))
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));
69
if (null != collidingActionRow.SourceLineNumbers)
70
{
70
- this.Messaging.OnMessage(WixErrors.OverridableActionCollision2(collidingActionRow.SourceLineNumbers));
71
+ this.Messaging.Write(ErrorMessages.OverridableActionCollision2(collidingActionRow.SourceLineNumbers));
72
}
73
}
74
else
@@ -93,10 +94,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
94
95
if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow))
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));
98
if (null != collidingActionRow.SourceLineNumbers)
99
{
99
- this.Messaging.OnMessage(WixErrors.ActionCollision2(collidingActionRow.SourceLineNumbers));
100
+ this.Messaging.Write(ErrorMessages.ActionCollision2(collidingActionRow.SourceLineNumbers));
101
}
102
}
103
else
@@ -127,20 +128,20 @@ namespace WixToolset.Core.WindowsInstaller.Bind
128
{
129
if (requiredActionRow.Overridable)
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()));
132
if (null != requiredActionRow.SourceLineNumbers)
133
{
133
- this.Messaging.OnMessage(WixWarnings.SuppressAction2(requiredActionRow.SourceLineNumbers));
134
+ this.Messaging.Write(WarningMessages.SuppressAction2(requiredActionRow.SourceLineNumbers));
135
}
136
137
requiredActionRows.Remove(key);
138
}
139
else // suppressing a non-overridable action row
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));
142
if (null != requiredActionRow.SourceLineNumbers)
143
{
143
- this.Messaging.OnMessage(WixErrors.SuppressNonoverridableAction2(requiredActionRow.SourceLineNumbers));
144
+ this.Messaging.Write(ErrorMessages.SuppressNonoverridableAction2(requiredActionRow.SourceLineNumbers));
145
}
146
}
147
}
@@ -156,14 +157,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
157
// check for standard actions that don't have a sequence number in a merge module
158
if (SectionType.Module == this.Section.Type && WindowsInstallerStandard.IsStandardAction(actionRow.Action))
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));
161
}
162
163
this.SequenceActionRow(actionRow, requiredActionRows);
164
}
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
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));
168
}
169
}
170
@@ -231,10 +232,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
232
{
233
if (sequenceScheduledActionRow.Sequence == actionRow.Sequence)
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));
236
if (null != sequenceScheduledActionRow.SourceLineNumbers)
237
{
237
- this.Messaging.OnMessage(WixWarnings.ActionSequenceCollision2(sequenceScheduledActionRow.SourceLineNumbers));
238
+ this.Messaging.Write(WarningMessages.ActionSequenceCollision2(sequenceScheduledActionRow.SourceLineNumbers));
239
}
240
}
241
}
@@ -262,19 +263,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind
263
// Create errors for all the before actions.
264
foreach (var actionRow in relativeActions.PreviousActions)
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));
267
}
268
269
// Create errors for all the after actions.
270
foreach (var actionRow in relativeActions.NextActions)
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));
273
}
274
275
// If there is source line information for the absolutely scheduled action display it
276
if (absoluteActionRow.SourceLineNumbers != null)
277
{
277
- this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction2(absoluteActionRow.SourceLineNumbers));
278
+ this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction2(absoluteActionRow.SourceLineNumbers));
279
}
280
281
continue;
@@ -289,10 +290,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
290
// look for collisions
291
if (unusedSequence == previousUsedSequence)
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));
294
if (absoluteActionRow.SourceLineNumbers != null)
295
{
295
- this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers));
296
+ this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers));
297
}
298
299
unusedSequence++;
@@ -319,10 +320,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
320
321
if (unusedSequence == nextUsedSequence)
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));
324
if (absoluteActionRow.SourceLineNumbers != null)
325
{
325
- this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers));
326
+ this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers));
327
}
328
329
unusedSequence--;
@@ -596,7 +597,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
597
}
598
else if (actionRow == parentActionRow || this.ContainsChildActionRow(actionRow, parentActionRow)) // cycle detected
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));
601
}
602
603
// Add this action to the appropriate list of dependent action rows.
src/WixToolset.Core.WindowsInstaller/Bind/UpdateControlTextCommand.cs
+7
-4
@@ -7,9 +7,12 @@ namespace WixToolset.Core.WindowsInstaller.Bind
7
using WixToolset.Data;
8
using WixToolset.Data.WindowsInstaller;
9
using WixToolset.Data.WindowsInstaller.Rows;
10
+ using WixToolset.Extensibility.Services;
11
12
internal class UpdateControlTextCommand
13
{
14
+ public IMessaging Messaging { private get; set; }
15
+
16
public Table BBControlTable { private get; set; }
17
18
public Table WixBBControlTable { private get; set; }
@@ -60,19 +63,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind
63
}
64
catch (DirectoryNotFoundException e)
65
{
63
- Messaging.Instance.OnMessage(WixErrors.BinderFileManagerMissingFile(sourceLineNumbers, e.Message));
66
+ this.Messaging.Write(ErrorMessages.BinderFileManagerMissingFile(sourceLineNumbers, e.Message));
67
}
68
catch (FileNotFoundException e)
69
{
67
- Messaging.Instance.OnMessage(WixErrors.BinderFileManagerMissingFile(sourceLineNumbers, e.Message));
70
+ this.Messaging.Write(ErrorMessages.BinderFileManagerMissingFile(sourceLineNumbers, e.Message));
71
}
72
catch (IOException e)
73
{
71
- Messaging.Instance.OnMessage(WixErrors.BinderFileManagerMissingFile(sourceLineNumbers, e.Message));
74
+ this.Messaging.Write(ErrorMessages.BinderFileManagerMissingFile(sourceLineNumbers, e.Message));
75
}
76
catch (NotSupportedException)
77
{
75
- Messaging.Instance.OnMessage(WixErrors.FileNotFound(sourceLineNumbers, source));
78
+ this.Messaging.Write(ErrorMessages.FileNotFound(sourceLineNumbers, source));
79
}
80
81
return text;
src/WixToolset.Core.WindowsInstaller/Bind/UpdateFileFacadesCommand.cs
+25
-21
@@ -15,6 +15,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
15
using WixToolset.Data;
16
using WixToolset.Data.Tuples;
17
using WixToolset.Data.WindowsInstaller;
18
+ using WixToolset.Extensibility.Services;
19
using WixToolset.Msi;
20
21
/// <summary>
@@ -22,11 +23,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
23
/// </summary>
24
internal class UpdateFileFacadesCommand
25
{
25
- public UpdateFileFacadesCommand(IntermediateSection section)
26
+ public UpdateFileFacadesCommand(IMessaging messaging, IntermediateSection section)
27
{
28
+ this.Messaging = messaging;
29
this.Section = section;
30
}
31
32
+ private IMessaging Messaging { get; }
33
+
34
private IntermediateSection Section { get; }
35
36
public IEnumerable<FileFacade> FileFacades { private get; set; }
@@ -62,23 +66,23 @@ namespace WixToolset.Core.WindowsInstaller.Bind
66
}
67
catch (ArgumentException)
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));
70
return;
71
}
72
catch (PathTooLongException)
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));
75
return;
76
}
77
catch (NotSupportedException)
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));
80
return;
81
}
82
83
if (!fileInfo.Exists)
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));
86
return;
87
}
88
@@ -86,7 +90,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
90
{
91
if (Int32.MaxValue < fileStream.Length)
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));
94
}
95
96
file.File.FileSize = Convert.ToInt32(fileStream.Length, CultureInfo.InvariantCulture);
@@ -102,11 +106,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
106
{
107
if (0x2 == e.NativeErrorCode) // ERROR_FILE_NOT_FOUND
108
{
105
- throw new WixException(WixErrors.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName));
109
+ throw new WixException(ErrorMessages.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName));
110
}
111
else
112
{
109
- throw new WixException(WixErrors.Win32Exception(e.NativeErrorCode, e.Message));
113
+ throw new WixException(ErrorMessages.Win32Exception(e.NativeErrorCode, e.Message));
114
}
115
}
116
@@ -128,14 +132,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
132
// for unversioned file. That's allowed but generally a dangerous thing to do so let's point that out to the user.
133
if (!this.FileFacades.Any(r => file.File.Version.Equals(r.File.File, StringComparison.Ordinal)))
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));
136
}
137
}
138
else
139
{
140
if (null != file.File.Language)
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));
143
}
144
145
int[] hash;
@@ -147,11 +151,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
151
{
152
if (0x2 == e.NativeErrorCode) // ERROR_FILE_NOT_FOUND
153
{
150
- throw new WixException(WixErrors.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName));
154
+ throw new WixException(ErrorMessages.FileNotFound(file.File.SourceLineNumbers, fileInfo.FullName));
155
}
156
else
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));
159
}
160
}
161
@@ -193,7 +197,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
197
198
if (!String.IsNullOrEmpty(file.File.Language) && String.IsNullOrEmpty(language))
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));
201
}
202
else // override the default provided by the user (usually nothing) with the actual language from the file itself.
203
{
@@ -260,7 +264,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
264
}
265
else if (file.WixFile.File_AssemblyApplication == null)
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_));
268
}
269
270
string assemblyVersion = referenceIdentity.GetAttribute(null, "Version");
@@ -271,7 +275,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
275
}
276
else
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)));
279
return;
280
}
281
@@ -360,7 +364,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
364
FileFacade fileManifest = this.FileFacades.SingleOrDefault(r => r.File.File.Equals(file.WixFile.File_AssemblyManifest, StringComparison.Ordinal));
365
if (null == fileManifest)
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));
368
}
369
370
string win32Type = null;
@@ -397,7 +401,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
401
}
402
if (!hasNextSibling)
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));
405
return;
406
}
407
@@ -435,11 +439,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
439
}
440
catch (FileNotFoundException fe)
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"));
443
}
444
catch (XmlException xe)
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));
447
}
448
449
if (!String.IsNullOrEmpty(win32Name))
@@ -482,7 +486,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
486
// check for null value (this can occur when grabbing the file version from an assembly without one)
487
if (String.IsNullOrEmpty(value))
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));
490
}
491
else
492
{
@@ -491,7 +495,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
495
String.IsNullOrEmpty(file.WixFile.File_AssemblyApplication) &&
496
!String.Equals(Path.GetFileNameWithoutExtension(file.File.LongFileName), value, StringComparison.OrdinalIgnoreCase))
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));
499
}
500
501
// override directly authored value
src/WixToolset.Core.WindowsInstaller/Data/Xsd/actions.xsd
new
+73
@@ -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>
src/WixToolset.Core.WindowsInstaller/Data/Xsd/tables.xsd
new
+248
@@ -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>
src/WixToolset.Core.WindowsInstaller/Differ.cs
+12
-18
@@ -10,26 +10,29 @@ namespace WixToolset.Core.WindowsInstaller
10
using WixToolset.Data.WindowsInstaller;
11
using WixToolset.Data.WindowsInstaller.Rows;
12
using WixToolset.Extensibility;
13
+ using WixToolset.Extensibility.Services;
14
using WixToolset.Msi;
15
16
/// <summary>
17
/// Creates a transform by diffing two outputs.
18
/// </summary>
18
- public sealed class Differ : IMessageHandler
19
+ public sealed class Differ
20
{
21
private List<IInspectorExtension> inspectorExtensions;
22
private bool showPedanticMessages;
23
private bool suppressKeepingSpecialRows;
24
private bool preserveUnchangedRows;
25
private const char sectionDelimiter = '/';
26
+ private readonly IMessaging messaging;
27
private SummaryInformationStreams transformSummaryInfo;
28
29
/// <summary>
30
/// Instantiates a new Differ class.
31
/// </summary>
30
- public Differ()
32
+ public Differ(IMessaging messaging)
33
{
34
this.inspectorExtensions = new List<IInspectorExtension>();
35
+ this.messaging = messaging;
36
}
37
38
/// <summary>
@@ -99,17 +102,17 @@ namespace WixToolset.Core.WindowsInstaller
102
// compare the codepages
103
if (targetOutput.Codepage != updatedOutput.Codepage && 0 == (TransformFlags.ErrorChangeCodePage & validationFlags))
104
{
102
- this.OnMessage(WixErrors.OutputCodepageMismatch(targetOutput.SourceLineNumbers, targetOutput.Codepage, updatedOutput.Codepage));
105
+ this.messaging.Write(ErrorMessages.OutputCodepageMismatch(targetOutput.SourceLineNumbers, targetOutput.Codepage, updatedOutput.Codepage));
106
if (null != updatedOutput.SourceLineNumbers)
107
{
105
- this.OnMessage(WixErrors.OutputCodepageMismatch2(updatedOutput.SourceLineNumbers));
108
+ this.messaging.Write(ErrorMessages.OutputCodepageMismatch2(updatedOutput.SourceLineNumbers));
109
}
110
}
111
112
// compare the output types
113
if (targetOutput.Type != updatedOutput.Type)
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()));
116
}
117
118
// compare the contents of the tables
@@ -159,15 +162,6 @@ namespace WixToolset.Core.WindowsInstaller
162
return transform;
163
}
164
162
- /// <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
-
165
/// <summary>
166
/// Add a row to the <paramref name="index"/> using the primary key.
167
/// </summary>
@@ -210,7 +204,7 @@ namespace WixToolset.Core.WindowsInstaller
204
}
205
else if (this.showPedanticMessages)
206
{
213
- this.OnMessage(WixWarnings.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, row.Table.Name));
207
+ this.messaging.Write(ErrorMessages.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, row.Table.Name));
208
}
209
}
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
364
if (0 != targetTable.Definition.CompareTo(updatedTable.Definition))
365
{
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));
368
}
369
else
370
{
@@ -425,7 +419,7 @@ namespace WixToolset.Core.WindowsInstaller
419
this.transformSummaryInfo.TargetProductCode = (string)row[1];
420
if ("*" == this.transformSummaryInfo.TargetProductCode)
421
{
428
- this.OnMessage(WixErrors.ProductCodeInvalidForTransform(row.SourceLineNumbers));
422
+ this.messaging.Write(ErrorMessages.ProductCodeInvalidForTransform(row.SourceLineNumbers));
423
}
424
}
425
else if ("ProductVersion" == (string)row[0])
@@ -466,7 +460,7 @@ namespace WixToolset.Core.WindowsInstaller
460
this.transformSummaryInfo.UpdatedProductCode = (string)row[1];
461
if ("*" == this.transformSummaryInfo.UpdatedProductCode)
462
{
469
- this.OnMessage(WixErrors.ProductCodeInvalidForTransform(row.SourceLineNumbers));
463
+ this.messaging.Write(ErrorMessages.ProductCodeInvalidForTransform(row.SourceLineNumbers));
464
}
465
}
466
else if ("ProductVersion" == (string)row[0])
src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs
+7
-7
@@ -36,7 +36,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe
36
FileAttributes attributes = File.GetAttributes(this.Context.InputFilePath);
37
if (FileAttributes.ReadOnly == (attributes & FileAttributes.ReadOnly))
38
{
39
- this.Context.Messaging.OnMessage(WixErrors.ReadOnlyOutputFile(this.Context.InputFilePath));
39
+ this.Context.Messaging.Write(ErrorMessages.ReadOnlyOutputFile(this.Context.InputFilePath));
40
return shouldCommit;
41
}
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
180
if (!File.Exists(cabPath))
181
{
182
- this.Context.Messaging.OnMessage(WixErrors.WixFileNotFound(cabPath));
182
+ this.Context.Messaging.Write(ErrorMessages.WixFileNotFound(cabPath));
183
continue;
184
}
185
@@ -205,11 +205,11 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe
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
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
}
210
else // otherwise, generic error
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
}
214
}
215
@@ -252,7 +252,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe
252
253
if (digitalCertificateTable.Rows.Count > 0)
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();
257
258
database.Import(command.IdtPath);
@@ -261,7 +261,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe
261
262
if (digitalSignatureTable.Rows.Count > 0)
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();
266
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
276
if (foundUnsignedExternals)
277
{
278
- this.Context.Messaging.OnMessage(WixWarnings.ExternalCabsAreNotSigned(this.Context.InputFilePath));
278
+ this.Context.Messaging.Write(WarningMessages.ExternalCabsAreNotSigned(this.Context.InputFilePath));
279
}
280
281
if (shouldCommit)
src/WixToolset.Core.WindowsInstaller/MelterCore.cs
+3
-1
@@ -7,8 +7,9 @@ namespace WixToolset
7
/// <summary>
8
/// Melts a Module Wix document into a ComponentGroup representation.
9
/// </summary>
10
- public sealed class MelterCore : IMessageHandler
10
+ public sealed class MelterCore
11
{
12
+#if TODO_MELT
13
/// <summary>
14
/// Gets whether the melter core encountered an error while processing.
15
/// </summary>
@@ -26,5 +27,6 @@ namespace WixToolset
27
{
28
Messaging.Instance.OnMessage(e);
29
}
30
+#endif
31
}
32
}
src/WixToolset.Core.WindowsInstaller/Msi/WixInvalidIdtException.cs
+2
-2
@@ -16,7 +16,7 @@ namespace WixToolset.Msi
16
/// </summary>
17
/// <param name="idtFile">The invalid idt file.</param>
18
public WixInvalidIdtException(string idtFile) :
19
- base(WixDataErrors.InvalidIdt(new SourceLineNumber(idtFile), idtFile))
19
+ base(ErrorMessages.InvalidIdt(new SourceLineNumber(idtFile), idtFile))
20
{
21
}
22
@@ -26,7 +26,7 @@ namespace WixToolset.Msi
26
/// <param name="idtFile">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) :
29
- base(WixDataErrors.InvalidIdt(new SourceLineNumber(idtFile), idtFile, tableName))
29
+ base(ErrorMessages.InvalidIdt(new SourceLineNumber(idtFile), idtFile, tableName))
30
{
31
}
32
}
src/WixToolset.Core.WindowsInstaller/Patch.cs
-9
@@ -1232,14 +1232,5 @@ namespace WixToolset.Data
1232
#endif
1233
throw new NotImplementedException();
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
- }
1235
}
1236
}
src/WixToolset.Core.WindowsInstaller/PatchTransform.cs
+1
-10
@@ -10,7 +10,7 @@ namespace WixToolset
10
using WixToolset.Data;
11
using WixToolset.Extensibility;
12
13
- public class PatchTransform : IMessageHandler
13
+ public class PatchTransform
14
{
15
private string baseline;
16
private Intermediate transform;
@@ -264,14 +264,5 @@ namespace WixToolset
264
#endif
265
throw new NotImplementedException();
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
- }
267
}
268
}
src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
+1
-1
@@ -136,7 +136,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
136
}
137
catch (FileNotFoundException)
138
{
139
- throw new WixException(WixErrors.FileNotFound(new SourceLineNumber(this.InputFilePath), cabinetFile));
139
+ throw new WixException(ErrorMessages.FileNotFound(new SourceLineNumber(this.InputFilePath), cabinetFile));
140
}
141
}
142
}
src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
+5
-4
@@ -12,11 +12,12 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
12
using WixToolset.Data;
13
using WixToolset.Data.WindowsInstaller;
14
using WixToolset.Data.WindowsInstaller.Rows;
15
+ using WixToolset.Extensibility.Services;
16
using WixToolset.Msi;
17
18
internal class UnbindDatabaseCommand
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)
21
{
22
this.Messaging = messaging;
23
this.Database = database;
@@ -31,7 +32,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
32
this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions();
33
}
34
34
- public Messaging Messaging { get; }
35
+ public IMessaging Messaging { get; }
36
37
public Database Database { get; }
38
@@ -316,7 +317,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
317
318
if (!success)
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));
321
}
322
break;
323
case ColumnType.Object:
@@ -480,7 +481,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
481
482
if (!File.Exists(wixFileRow.Source))
483
{
483
- throw new WixException(WixErrors.WixFileNotFound(wixFileRow.Source));
484
+ throw new WixException(ErrorMessages.WixFileNotFound(wixFileRow.Source));
485
}
486
487
wixFileTable.Rows.Add(wixFileRow);
src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
+4
-3
@@ -13,11 +13,12 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
13
using WixToolset.Data;
14
using WixToolset.Data.WindowsInstaller;
15
using WixToolset.Extensibility;
16
+ using WixToolset.Extensibility.Services;
17
using WixToolset.Msi;
18
19
internal class UnbindTransformCommand
20
{
20
- public UnbindTransformCommand(Messaging messaging, string transformFile, string exportBasePath, string intermediateFolder)
21
+ public UnbindTransformCommand(IMessaging messaging, string transformFile, string exportBasePath, string intermediateFolder)
22
{
23
this.Messaging = messaging;
24
this.TransformFile = transformFile;
@@ -27,7 +28,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
28
this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions();
29
}
30
30
- private Messaging Messaging { get; }
31
+ private IMessaging Messaging { get; }
32
33
private string TransformFile { get; }
34
@@ -152,7 +153,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
153
// this commonly happens when the transform was built
154
// against a database schema different from the internal
155
// table definitions
155
- throw new WixException(WixErrors.TransformSchemaMismatch());
156
+ throw new WixException(ErrorMessages.TransformSchemaMismatch());
157
}
158
}
159
src/WixToolset.Core.WindowsInstaller/UnbindContext.cs
+5
-2
@@ -2,12 +2,15 @@
2
3
namespace WixToolset.Core
4
{
5
- using WixToolset.Data;
5
+ using System;
6
using WixToolset.Extensibility;
7
+ using WixToolset.Extensibility.Services;
8
9
internal class UnbindContext : IUnbindContext
10
{
10
- public Messaging Messaging { get; } = Messaging.Instance;
11
+ public IServiceProvider ServiceProvider { get; }
12
+
13
+ public IMessaging Messaging { get; set; }
14
15
public string ExportBasePath { get; set; }
16
src/WixToolset.Core.WindowsInstaller/Unbinder.cs
+2
-2
@@ -53,11 +53,11 @@ namespace WixToolset.Core
53
{
54
if (OutputType.Transform == outputType)
55
{
56
- throw new WixException(WixErrors.FileNotFound(null, file, "Transform"));
56
+ throw new WixException(ErrorMessages.FileNotFound(null, file, "Transform"));
57
}
58
else
59
{
60
- throw new WixException(WixErrors.FileNotFound(null, file, "Database"));
60
+ throw new WixException(ErrorMessages.FileNotFound(null, file, "Database"));
61
}
62
}
63
src/WixToolset.Core.WindowsInstaller/Validator.cs
+17
-25
@@ -22,7 +22,7 @@ namespace WixToolset.Core.WindowsInstaller
22
/// <summary>
23
/// Runs internal consistency evaluators (ICEs) from cub files against a database.
24
/// </summary>
25
- public sealed class Validator : IMessageHandler
25
+ public sealed class Validator
26
{
27
private string actionName;
28
private StringCollection cubeFiles;
@@ -30,15 +30,17 @@ namespace WixToolset.Core.WindowsInstaller
30
private Output output;
31
private InstallUIHandler validationUIHandler;
32
private bool validationSessionComplete;
33
+ private readonly IMessaging messaging;
34
35
/// <summary>
36
/// Instantiate a new Validator.
37
/// </summary>
37
- public Validator()
38
+ public Validator(IMessaging messaging)
39
{
40
this.cubeFiles = new StringCollection();
40
- this.extension = new ValidatorExtension();
41
+ this.extension = new ValidatorExtension(messaging);
42
this.validationUIHandler = new InstallUIHandler(this.ValidationUIHandler);
43
+ this.messaging = messaging;
44
}
45
46
/// <summary>
@@ -127,7 +129,7 @@ namespace WixToolset.Core.WindowsInstaller
129
{
130
if (!mutex.WaitOne(0, false))
131
{
130
- this.OnMessage(WixVerboses.ValidationSerialized());
132
+ this.messaging.Write(VerboseMessages.ValidationSerialized());
133
mutex.WaitOne();
134
}
135
@@ -176,7 +178,7 @@ namespace WixToolset.Core.WindowsInstaller
178
{
179
if (0x6E == e.NativeErrorCode) // ERROR_OPEN_FAILED
180
{
179
- throw new WixException(WixErrors.CubeFileNotFound(cubeFile));
181
+ throw new WixException(ErrorMessages.CubeFileNotFound(cubeFile));
182
}
183
184
throw;
@@ -248,7 +250,7 @@ namespace WixToolset.Core.WindowsInstaller
250
}
251
catch (Win32Exception e)
252
{
251
- if (!Messaging.Instance.EncounteredError)
253
+ if (!this.messaging.EncounteredError)
254
{
255
throw e;
256
}
@@ -270,7 +272,7 @@ namespace WixToolset.Core.WindowsInstaller
272
catch (Win32Exception e)
273
{
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)
276
{
277
if (0x6E == e.NativeErrorCode) // ERROR_OPEN_FAILED
278
{
@@ -278,23 +280,23 @@ namespace WixToolset.Core.WindowsInstaller
280
// this would be the temporary copy and there would be
281
// no final output since the error occured; during smoke
282
// they should know the path passed into smoke
281
- this.OnMessage(WixErrors.ValidationFailedToOpenDatabase());
283
+ this.messaging.Write(ErrorMessages.ValidationFailedToOpenDatabase());
284
}
285
else if (0x64D == e.NativeErrorCode)
286
{
285
- this.OnMessage(WixErrors.ValidationFailedDueToLowMsiEngine());
287
+ this.messaging.Write(ErrorMessages.ValidationFailedDueToLowMsiEngine());
288
}
289
else if (0x654 == e.NativeErrorCode)
290
{
289
- this.OnMessage(WixErrors.ValidationFailedDueToInvalidPackage());
291
+ this.messaging.Write(ErrorMessages.ValidationFailedDueToInvalidPackage());
292
}
293
else if (0x658 == e.NativeErrorCode)
294
{
293
- this.OnMessage(WixErrors.ValidationFailedDueToMultilanguageMergeModule());
295
+ this.messaging.Write(ErrorMessages.ValidationFailedDueToMultilanguageMergeModule());
296
}
297
else if (0x659 == e.NativeErrorCode)
298
{
297
- this.OnMessage(WixWarnings.ValidationFailedDueToSystemPolicy());
299
+ this.messaging.Write(WarningMessages.ValidationFailedDueToSystemPolicy());
300
}
301
else
302
{
@@ -305,7 +307,7 @@ namespace WixToolset.Core.WindowsInstaller
307
msgTemp = String.Concat("Action - '", this.actionName, "' ", e.Message);
308
}
309
308
- this.OnMessage(WixErrors.Win32Exception(e.NativeErrorCode, msgTemp));
310
+ this.messaging.Write(ErrorMessages.Win32Exception(e.NativeErrorCode, msgTemp));
311
}
312
}
313
}
@@ -322,16 +324,6 @@ namespace WixToolset.Core.WindowsInstaller
324
}
325
}
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
-
327
public static Validator CreateFromContext(IBindContext context, string cubeFilename)
328
{
329
Validator validator = null;
@@ -339,7 +331,7 @@ namespace WixToolset.Core.WindowsInstaller
331
// Tell the binder about the validator if validation isn't suppressed
332
if (!context.SuppressValidation)
333
{
342
- validator = new Validator();
334
+ validator = new Validator(context.Messaging);
335
validator.IntermediateFolder = Path.Combine(context.IntermediateFolder, "validate");
336
337
// set the default cube file
@@ -378,7 +370,7 @@ namespace WixToolset.Core.WindowsInstaller
370
}
371
catch (WixException ex)
372
{
381
- this.OnMessage(ex.Error);
373
+ this.messaging.Write(ex.Error);
374
}
375
376
return 1;
src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs
+12
-24
@@ -6,23 +6,26 @@ namespace WixToolset.Extensibility
6
using System.Collections;
7
using WixToolset.Data;
8
using WixToolset.Data.WindowsInstaller;
9
+ using WixToolset.Extensibility.Services;
10
11
/// <summary>
12
/// Base class for creating a validator extension. This default implementation
13
/// will fire and event with the ICE name and description.
14
/// </summary>
14
- public class ValidatorExtension : IMessageHandler
15
+ public class ValidatorExtension
16
{
17
private string databaseFile;
18
private Hashtable indexedSourceLineNumbers;
19
private Output output;
20
private SourceLineNumber sourceLineNumbers;
21
+ private readonly IMessaging messaging;
22
23
/// <summary>
24
/// Instantiate a new <see cref="ValidatorExtension"/>.
25
/// </summary>
24
- public ValidatorExtension()
26
+ public ValidatorExtension(IMessaging messaging)
27
{
28
+ this.messaging = messaging;
29
}
30
31
/// <summary>
@@ -183,11 +186,11 @@ namespace WixToolset.Extensibility
186
{
187
if (null == action)
188
{
186
- throw new WixException(WixErrors.UnexpectedExternalUIMessage(message));
189
+ throw new WixException(ErrorMessages.UnexpectedExternalUIMessage(message));
190
}
191
else
192
{
190
- throw new WixException(WixErrors.UnexpectedExternalUIMessage(message, action));
193
+ throw new WixException(ErrorMessages.UnexpectedExternalUIMessage(message, action));
194
}
195
}
196
@@ -209,16 +212,16 @@ namespace WixToolset.Extensibility
212
{
213
case "0":
214
case "1":
212
- this.OnMessage(WixErrors.ValidationError(messageSourceLineNumbers, messageParts[0], messageParts[2]));
215
+ this.messaging.Write(ErrorMessages.ValidationError(messageSourceLineNumbers, messageParts[0], messageParts[2]));
216
break;
217
case "2":
215
- this.OnMessage(WixWarnings.ValidationWarning(messageSourceLineNumbers, messageParts[0], messageParts[2]));
218
+ this.messaging.Write(WarningMessages.ValidationWarning(messageSourceLineNumbers, messageParts[0], messageParts[2]));
219
break;
220
case "3":
218
- this.OnMessage(WixVerboses.ValidationInfo(messageParts[0], messageParts[2]));
221
+ this.messaging.Write(VerboseMessages.ValidationInfo(messageParts[0], messageParts[2]));
222
break;
223
default:
221
- throw new WixException(WixErrors.InvalidValidatorMessageType(messageParts[1]));
224
+ throw new WixException(ErrorMessages.InvalidValidatorMessageType(messageParts[1]));
225
}
226
}
227
@@ -264,7 +267,7 @@ namespace WixToolset.Extensibility
267
268
if (this.indexedSourceLineNumbers.ContainsKey(key))
269
{
267
- this.OnMessage(WixWarnings.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, table.Name));
270
+ this.messaging.Write(WarningMessages.DuplicatePrimaryKey(row.SourceLineNumbers, primaryKey, table.Name));
271
}
272
else
273
{
@@ -281,20 +284,5 @@ namespace WixToolset.Extensibility
284
// use the file name as the source line information
285
return this.sourceLineNumbers;
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
- }
287
}
288
}
src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs
+3
-1
@@ -16,7 +16,9 @@ namespace WixToolset.Core.WindowsInstaller
16
private static readonly object lockObject = new object();
17
18
private static TableDefinitionCollection tableDefinitions;
19
+#if REVISIT_FOR_PATCHING
20
private static WixActionRowCollection standardActions;
21
+#endif
22
23
/// <summary>
24
/// Gets the table definitions stored in this assembly.
@@ -57,7 +59,7 @@ namespace WixToolset.Core.WindowsInstaller
59
}
60
61
return WindowsInstallerStandardInternal.standardActions;
60
-#endif
62
+#endif
63
throw new NotImplementedException();
64
}
65
}
src/WixToolset.Core/AppCommon.cs
-102
@@ -3,115 +3,13 @@
3
namespace WixToolset.Core
4
{
5
using System;
6
- using System.Collections.Specialized;
7
- using System.Globalization;
8
- using System.IO;
6
using System.Reflection;
10
- using System.Text;
11
- using System.Threading;
12
- using WixToolset.Data;
7
8
/// <summary>
9
/// Common utilities for Wix applications.
10
/// </summary>
11
public static class AppCommon
12
{
19
- /// <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
-
13
/// <summary>
14
/// Creates and returns the string for CreatingApplication field (MSI Summary Information Stream).
15
/// </summary>
src/WixToolset.Core/BackendContext.cs
deleted
-16
@@ -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
-}
src/WixToolset.Core/Bind/FileResolver.cs
+1
-1
@@ -221,7 +221,7 @@ namespace WixToolset.Core.Bind
221
}
222
catch (ArgumentException)
223
{
224
- throw new WixException(WixErrors.IllegalCharactersInPath(path));
224
+ throw new WixException(ErrorMessages.IllegalCharactersInPath(path));
225
}
226
}
227
src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs
+7
-3
@@ -7,6 +7,7 @@ namespace WixToolset.Core.Bind
7
using System.Globalization;
8
using WixToolset.Data;
9
using WixToolset.Extensibility;
10
+ using WixToolset.Extensibility.Services;
11
12
/// <summary>
13
/// Resolves the fields which had variables that needed to be resolved after the file information
@@ -19,12 +20,15 @@ namespace WixToolset.Core.Bind
20
/// </summary>
21
/// <param name="delayedFields">The fields which had resolution delayed.</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)
24
{
25
+ this.Messaging = messaging;
26
this.DelayedFields = delayedFields;
27
this.VariableCache = variableCache;
28
}
29
30
+ private IMessaging Messaging { get; }
31
+
32
private IEnumerable<IDelayedField> DelayedFields { get;}
33
34
private IDictionary<string, string> VariableCache { get; }
@@ -58,7 +62,7 @@ namespace WixToolset.Core.Bind
62
}
63
catch (WixException we)
64
{
61
- Messaging.Instance.OnMessage(we.Error);
65
+ this.Messaging.Write(we.Error);
66
continue;
67
}
68
}
@@ -103,7 +107,7 @@ namespace WixToolset.Core.Bind
107
}
108
catch (WixException we)
109
{
106
- Messaging.Instance.OnMessage(we.Error);
110
+ this.Messaging.Write(we.Error);
111
}
112
}
113
}
src/WixToolset.Core/Bind/ResolveFieldsCommand.cs
+6
-3
@@ -7,12 +7,15 @@ namespace WixToolset.Core.Bind
7
using WixToolset.Data;
8
using WixToolset.Data.Bind;
9
using WixToolset.Extensibility;
10
+ using WixToolset.Extensibility.Services;
11
12
/// <summary>
13
/// Resolve source fields in the tables included in the output
14
/// </summary>
15
internal class ResolveFieldsCommand
16
{
17
+ public IMessaging Messaging { private get; set; }
18
+
19
public bool BuildingPatch { private get; set; }
20
21
public IBindVariableResolver BindVariableResolver { private get; set; }
@@ -75,7 +78,7 @@ namespace WixToolset.Core.Bind
78
}
79
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.
82
{
83
continue;
84
}
@@ -151,7 +154,7 @@ namespace WixToolset.Core.Bind
154
catch (WixFileNotFoundException)
155
{
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));
158
}
159
}
160
@@ -208,7 +211,7 @@ namespace WixToolset.Core.Bind
211
catch (WixFileNotFoundException)
212
{
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));
215
}
216
}
217
}
src/WixToolset.Core/Bind/TransferFilesCommand.cs
+15
-11
@@ -9,18 +9,22 @@ namespace WixToolset.Core.Bind
9
using WixToolset.Data;
10
using WixToolset.Data.Bind;
11
using WixToolset.Extensibility;
12
+ using WixToolset.Extensibility.Services;
13
14
internal class TransferFilesCommand
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)
17
{
18
this.FileResolver = new FileResolver(bindPaths, extensions);
19
+ this.Messaging = messaging;
20
this.FileTransfers = fileTransfers;
21
this.SuppressAclReset = suppressAclReset;
22
}
23
24
private FileResolver FileResolver { get; }
25
26
+ private IMessaging Messaging { get; }
27
+
28
private IEnumerable<FileTransfer> FileTransfers { get; }
29
30
private bool SuppressAclReset { get; }
@@ -47,12 +51,12 @@ namespace WixToolset.Core.Bind
51
{
52
if (fileTransfer.Move)
53
{
50
- Messaging.Instance.OnMessage(WixVerboses.MoveFile(fileSource, fileTransfer.Destination));
54
+ this.Messaging.Write(VerboseMessages.MoveFile(fileSource, fileTransfer.Destination));
55
this.TransferFile(true, fileSource, fileTransfer.Destination);
56
}
57
else
58
{
55
- Messaging.Instance.OnMessage(WixVerboses.CopyFile(fileSource, fileTransfer.Destination));
59
+ this.Messaging.Write(VerboseMessages.CopyFile(fileSource, fileTransfer.Destination));
60
this.TransferFile(false, fileSource, fileTransfer.Destination);
61
}
62
@@ -61,7 +65,7 @@ namespace WixToolset.Core.Bind
65
}
66
catch (FileNotFoundException e)
67
{
64
- throw new WixFileNotFoundException(e.FileName);
68
+ throw new WixFileNotFoundException(fileTransfer.SourceLineNumbers, e.FileName);
69
}
70
catch (DirectoryNotFoundException)
71
{
@@ -72,7 +76,7 @@ namespace WixToolset.Core.Bind
76
}
77
78
string directory = Path.GetDirectoryName(fileTransfer.Destination);
75
- Messaging.Instance.OnMessage(WixVerboses.CreateDirectory(directory));
79
+ this.Messaging.Write(VerboseMessages.CreateDirectory(directory));
80
Directory.CreateDirectory(directory);
81
retry = true;
82
}
@@ -86,7 +90,7 @@ namespace WixToolset.Core.Bind
90
91
if (File.Exists(fileTransfer.Destination))
92
{
89
- Messaging.Instance.OnMessage(WixVerboses.RemoveDestinationFile(fileTransfer.Destination));
93
+ this.Messaging.Write(VerboseMessages.RemoveDestinationFile(fileTransfer.Destination));
94
95
// try to ensure the file is not read-only
96
FileAttributes attributes = File.GetAttributes(fileTransfer.Destination);
@@ -96,7 +100,7 @@ namespace WixToolset.Core.Bind
100
}
101
catch (ArgumentException) // thrown for unauthorized access errors
102
{
99
- throw new WixException(WixErrors.UnauthorizedAccess(fileTransfer.Destination));
103
+ throw new WixException(ErrorMessages.UnauthorizedAccess(fileTransfer.Destination));
104
}
105
106
// try to delete the file
@@ -106,7 +110,7 @@ namespace WixToolset.Core.Bind
110
}
111
catch (IOException)
112
{
109
- throw new WixException(WixErrors.FileInUse(null, fileTransfer.Destination));
113
+ throw new WixException(ErrorMessages.FileInUse(null, fileTransfer.Destination));
114
}
115
116
retry = true;
@@ -126,7 +130,7 @@ namespace WixToolset.Core.Bind
130
131
if (File.Exists(fileTransfer.Destination))
132
{
129
- Messaging.Instance.OnMessage(WixVerboses.RemoveDestinationFile(fileTransfer.Destination));
133
+ this.Messaging.Write(VerboseMessages.RemoveDestinationFile(fileTransfer.Destination));
134
135
// ensure the file is not read-only, then delete it
136
FileAttributes attributes = File.GetAttributes(fileTransfer.Destination);
@@ -137,7 +141,7 @@ namespace WixToolset.Core.Bind
141
}
142
catch (IOException)
143
{
140
- throw new WixException(WixErrors.FileInUse(null, fileTransfer.Destination));
144
+ throw new WixException(ErrorMessages.FileInUse(null, fileTransfer.Destination));
145
}
146
147
retry = true;
@@ -168,7 +172,7 @@ namespace WixToolset.Core.Bind
172
}
173
catch
174
{
171
- Messaging.Instance.OnMessage(WixWarnings.UnableToResetAcls());
175
+ this.Messaging.Write(WarningMessages.UnableToResetAcls());
176
}
177
}
178
}
src/WixToolset.Core/BindContext.cs
+1
-1
@@ -17,7 +17,7 @@ namespace WixToolset.Core
17
18
public IServiceProvider ServiceProvider { get; }
19
20
- public Messaging Messaging { get; set; }
20
+ public IMessaging Messaging { get; set; }
21
22
public IEnumerable<BindPath> BindPaths { get; set; }
23
src/WixToolset.Core/Binder.cs
+7
-6
@@ -215,7 +215,7 @@ namespace WixToolset.Core
215
this.Layout(bindResult);
216
}
217
218
- return Messaging.Instance.EncounteredError;
218
+ return this.Context.Messaging.EncounteredError;
219
}
220
221
private ResolveResult Resolve()
@@ -227,6 +227,7 @@ namespace WixToolset.Core
227
IEnumerable<DelayedField> delayedFields;
228
{
229
var command = new ResolveFieldsCommand();
230
+ command.Messaging = this.Context.Messaging;
231
command.BuildingPatch = buildingPatch;
232
command.BindVariableResolver = this.Context.WixVariableResolver;
233
command.BindPaths = this.Context.BindPaths;
@@ -437,12 +438,12 @@ namespace WixToolset.Core
438
{
439
if (!this.DeleteTempFiles())
440
{
440
- this.Context.Messaging.OnMessage(WixWarnings.FailedToDeleteTempDir(this.TempFilesLocation));
441
+ this.Context.Messaging.Write(WarningMessages.FailedToDeleteTempDir(this.TempFilesLocation));
442
}
443
}
444
else
445
{
445
- this.Context.Messaging.OnMessage(WixVerboses.BinderTempDirLocatedAt(this.TempFilesLocation));
446
+ this.Context.Messaging.Write(VerboseMessages.BinderTempDirLocatedAt(this.TempFilesLocation));
447
}
448
}
449
@@ -594,9 +595,9 @@ namespace WixToolset.Core
595
{
596
if (null != transfers && transfers.Any())
597
{
597
- this.Context.Messaging.OnMessage(WixVerboses.LayingOutMedia());
598
+ this.Context.Messaging.Write(VerboseMessages.LayingOutMedia());
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);
601
command.Execute();
602
}
603
}
@@ -613,7 +614,7 @@ namespace WixToolset.Core
614
{
615
if (!directories.ContainsKey(directory))
616
{
616
- throw new WixException(WixErrors.ExpectedDirectory(directory));
617
+ throw new WixException(ErrorMessages.ExpectedDirectory(directory));
618
}
619
620
ResolvedDirectory resolvedDirectory = (ResolvedDirectory)directories[directory];
src/WixToolset.Core/BinderFileManagerCore.cs
-9
@@ -96,14 +96,5 @@ namespace WixToolset
96
97
return Enumerable.Empty<string>();
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
- }
99
}
100
}
src/WixToolset.Core/CommandLine/BuildCommand.cs
+34
-25
@@ -13,9 +13,10 @@ namespace WixToolset.Core
13
14
internal class BuildCommand : ICommandLineCommand
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
{
18
this.ServiceProvider = serviceProvider;
19
+ this.Messaging = messaging;
20
this.ExtensionManager = extensions;
21
this.LocFiles = locFiles;
22
this.LibraryFiles = libraryFiles;
@@ -38,6 +39,8 @@ namespace WixToolset.Core
39
40
public IServiceProvider ServiceProvider { get; }
41
42
+ public IMessaging Messaging { get; }
43
+
44
public IExtensionManager ExtensionManager { get; }
45
46
public IEnumerable<string> IncludeSearchPaths { get; }
@@ -91,13 +94,13 @@ namespace WixToolset.Core
94
{
95
var output = this.LinkPhase(intermediates);
96
94
- if (!Messaging.Instance.EncounteredError)
97
+ if (!this.Messaging.EncounteredError)
98
{
99
this.BindPhase(output);
100
}
101
}
102
100
- return Messaging.Instance.LastErrorNumber;
103
+ return this.Messaging.LastErrorNumber;
104
}
105
106
private IEnumerable<Intermediate> CompilePhase()
@@ -107,7 +110,7 @@ namespace WixToolset.Core
110
foreach (var sourceFile in this.SourceFiles)
111
{
112
var preprocessContext = this.ServiceProvider.GetService<IPreprocessContext>();
110
- preprocessContext.Messaging = Messaging.Instance;
113
+ preprocessContext.Messaging = this.Messaging;
114
preprocessContext.Extensions = this.ExtensionManager.Create<IPreprocessorExtension>();
115
preprocessContext.Platform = Platform.X86; // TODO: set this correctly
116
preprocessContext.IncludeSearchPaths = this.IncludeSearchPaths?.ToList() ?? new List<string>();
@@ -117,18 +120,24 @@ namespace WixToolset.Core
120
var preprocessor = new Preprocessor();
121
var document = preprocessor.Process(preprocessContext);
122
120
- var compileContext = this.ServiceProvider.GetService<ICompileContext>();
121
- compileContext.Messaging = Messaging.Instance;
122
- compileContext.CompilationId = Guid.NewGuid().ToString("N");
123
- compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>();
124
- compileContext.OutputPath = sourceFile.OutputPath;
125
- compileContext.Platform = Platform.X86; // TODO: set this correctly
126
- compileContext.Source = document;
127
-
128
- var compiler = new Compiler();
129
- var intermediate = compiler.Compile(compileContext);
130
-
131
- intermediates.Add(intermediate);
123
+ if (!this.Messaging.EncounteredError)
124
+ {
125
+ var compileContext = this.ServiceProvider.GetService<ICompileContext>();
126
+ compileContext.Messaging = this.Messaging;
127
+ compileContext.CompilationId = Guid.NewGuid().ToString("N");
128
+ compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>();
129
+ compileContext.OutputPath = sourceFile.OutputPath;
130
+ compileContext.Platform = Platform.X86; // TODO: set this correctly
131
+ compileContext.Source = document;
132
+
133
+ var compiler = new Compiler();
134
+ var intermediate = compiler.Compile(compileContext);
135
+
136
+ if (!this.Messaging.EncounteredError)
137
+ {
138
+ intermediates.Add(intermediate);
139
+ }
140
+ }
141
}
142
143
return intermediates;
@@ -139,7 +148,7 @@ namespace WixToolset.Core
148
var localizations = this.LoadLocalizationFiles().ToList();
149
150
// If there was an error adding localization files, then bail.
142
- if (Messaging.Instance.EncounteredError)
151
+ if (this.Messaging.EncounteredError)
152
{
153
return null;
154
}
@@ -166,7 +175,7 @@ namespace WixToolset.Core
175
var libraries = this.LoadLibraries(creator);
176
177
var context = this.ServiceProvider.GetService<ILinkContext>();
169
- context.Messaging = Messaging.Instance;
178
+ context.Messaging = this.Messaging;
179
context.Extensions = this.ExtensionManager.Create<ILinkerExtension>();
180
context.ExtensionData = this.ExtensionManager.Create<IExtensionData>();
181
context.ExpectedOutputType = this.OutputType;
@@ -182,7 +191,7 @@ namespace WixToolset.Core
191
{
192
var localizations = this.LoadLocalizationFiles().ToList();
193
185
- var localizer = new Localizer(localizations);
194
+ var localizer = new Localizer(this.Messaging, localizations);
195
196
var resolver = CreateWixResolverWithVariables(localizer, output);
197
@@ -193,7 +202,7 @@ namespace WixToolset.Core
202
}
203
204
var context = this.ServiceProvider.GetService<IBindContext>();
196
- context.Messaging = Messaging.Instance;
205
+ context.Messaging = this.Messaging;
206
context.ExtensionManager = this.ExtensionManager;
207
context.BindPaths = this.BindPaths ?? Array.Empty<BindPath>();
208
//context.CabbingThreadCount = this.CabbingThreadCount;
@@ -234,11 +243,11 @@ namespace WixToolset.Core
243
}
244
catch (WixCorruptFileException e)
245
{
237
- Messaging.Instance.OnMessage(e.Error);
246
+ this.Messaging.Write(e.Error);
247
}
248
catch (WixUnexpectedFileFormatException e)
249
{
241
- Messaging.Instance.OnMessage(e.Error);
250
+ this.Messaging.Write(e.Error);
251
}
252
}
253
}
@@ -250,15 +259,15 @@ namespace WixToolset.Core
259
{
260
foreach (var loc in this.LocFiles)
261
{
253
- var localization = Localizer.ParseLocalizationFile(loc);
262
+ var localization = Localizer.ParseLocalizationFile(this.Messaging, loc);
263
264
yield return localization;
265
}
266
}
267
259
- private static WixVariableResolver CreateWixResolverWithVariables(Localizer localizer, Intermediate output)
268
+ private WixVariableResolver CreateWixResolverWithVariables(Localizer localizer, Intermediate output)
269
{
261
- var resolver = new WixVariableResolver(localizer);
270
+ var resolver = new WixVariableResolver(this.Messaging, localizer);
271
272
// Gather all the wix variables.
273
var wixVariables = output?.Sections.SelectMany(s => s.Tuples).OfType<WixVariableTuple>();
src/WixToolset.Core/CommandLine/CommandLine.cs
+13
-13
@@ -24,12 +24,10 @@ namespace WixToolset.Core
24
25
internal class CommandLine : ICommandLine, IParseCommandLine
26
{
27
- public CommandLine()
28
- {
29
- }
30
-
27
private IServiceProvider ServiceProvider { get; set; }
28
29
+ private IMessaging Messaging { get; set; }
30
+
31
public static string ExpectedArgument { get; } = "expected argument";
32
33
public string ActiveCommand { get; private set; }
@@ -48,6 +46,8 @@ namespace WixToolset.Core
46
{
47
this.ServiceProvider = context.ServiceProvider;
48
49
+ this.Messaging = context.Messaging ?? this.ServiceProvider.GetService<IMessaging>();
50
+
51
this.ExtensionManager = context.ExtensionManager ?? this.ServiceProvider.GetService<IExtensionManager>();
52
53
var args = context.ParsedArguments ?? Array.Empty<string>();
@@ -186,7 +186,7 @@ namespace WixToolset.Core
186
}
187
});
188
189
- Messaging.Instance.ShowVerboseMessages = verbose;
189
+ this.Messaging.ShowVerboseMessages = verbose;
190
191
if (showVersion)
192
{
@@ -208,17 +208,17 @@ namespace WixToolset.Core
208
case Commands.Build:
209
{
210
var sourceFiles = GatherSourceFiles(files, outputFolder);
211
- var variables = GatherPreprocessorVariables(defines);
212
- var bindPathList = GatherBindPaths(bindPaths);
211
+ var variables = this.GatherPreprocessorVariables(defines);
212
+ var bindPathList = this.GatherBindPaths(bindPaths);
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
}
216
217
case Commands.Compile:
218
{
219
var sourceFiles = GatherSourceFiles(files, outputFolder);
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
}
223
}
224
@@ -305,7 +305,7 @@ namespace WixToolset.Core
305
return files;
306
}
307
308
- private static IDictionary<string, string> GatherPreprocessorVariables(IEnumerable<string> defineConstants)
308
+ private IDictionary<string, string> GatherPreprocessorVariables(IEnumerable<string> defineConstants)
309
{
310
var variables = new Dictionary<string, string>();
311
@@ -315,7 +315,7 @@ namespace WixToolset.Core
315
316
if (variables.ContainsKey(value[0]))
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;
320
}
321
@@ -325,7 +325,7 @@ namespace WixToolset.Core
325
return variables;
326
}
327
328
- private static IEnumerable<BindPath> GatherBindPaths(IEnumerable<string> bindPaths)
328
+ private IEnumerable<BindPath> GatherBindPaths(IEnumerable<string> bindPaths)
329
{
330
var result = new List<BindPath>();
331
@@ -339,7 +339,7 @@ namespace WixToolset.Core
339
}
340
else if (File.Exists(bp.Path))
341
{
342
- Messaging.Instance.OnMessage(WixErrors.ExpectedDirectoryGotFile("-bindpath", bp.Path));
342
+ this.Messaging.Write(ErrorMessages.ExpectedDirectoryGotFile("-bindpath", bp.Path));
343
}
344
}
345
src/WixToolset.Core/CommandLine/CommandLineContext.cs
+1
-2
@@ -3,7 +3,6 @@
3
namespace WixToolset.Core
4
{
5
using System;
6
- using WixToolset.Data;
6
using WixToolset.Extensibility.Services;
7
8
internal class CommandLineContext : ICommandLineContext
@@ -15,7 +14,7 @@ namespace WixToolset.Core
14
15
public IServiceProvider ServiceProvider { get; }
16
18
- public Messaging Messaging { get; set; }
17
+ public IMessaging Messaging { get; set; }
18
19
public IExtensionManager ExtensionManager { get; set; }
20
src/WixToolset.Core/CommandLine/CompileCommand.cs
+6
-3
@@ -11,16 +11,19 @@ namespace WixToolset.Core
11
12
internal class CompileCommand : ICommandLineCommand
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
{
16
this.PreprocessorVariables = preprocessorVariables;
17
this.ServiceProvider = serviceProvider;
18
+ this.Messaging = messaging;
19
this.ExtensionManager = extensions;
20
this.SourceFiles = sources;
21
}
22
23
private IServiceProvider ServiceProvider { get; }
24
25
+ private IMessaging Messaging { get; }
26
+
27
private IExtensionManager ExtensionManager { get; }
28
29
public IEnumerable<string> IncludeSearchPaths { get; }
@@ -34,7 +37,7 @@ namespace WixToolset.Core
37
foreach (var sourceFile in this.SourceFiles)
38
{
39
var preprocessContext = this.ServiceProvider.GetService<IPreprocessContext>();
37
- preprocessContext.Messaging = Messaging.Instance;
40
+ preprocessContext.Messaging = this.Messaging;
41
preprocessContext.Extensions = this.ExtensionManager.Create<IPreprocessorExtension>();
42
preprocessContext.Platform = Platform.X86; // TODO: set this correctly
43
preprocessContext.IncludeSearchPaths = this.IncludeSearchPaths?.ToList() ?? new List<string>();
@@ -45,7 +48,7 @@ namespace WixToolset.Core
48
var document = preprocessor.Process(preprocessContext);
49
50
var compileContext = this.ServiceProvider.GetService<ICompileContext>();
48
- compileContext.Messaging = Messaging.Instance;
51
+ compileContext.Messaging = this.Messaging;
52
compileContext.CompilationId = Guid.NewGuid().ToString("N");
53
compileContext.Extensions = this.ExtensionManager.Create<ICompilerExtension>();
54
compileContext.OutputPath = sourceFile.OutputPath;
src/WixToolset.Core/Common.cs
+27
-26
@@ -14,6 +14,7 @@ namespace WixToolset.Core
14
using System.Xml.Linq;
15
using WixToolset.Data;
16
using WixToolset.Extensibility;
17
+ using WixToolset.Extensibility.Services;
18
19
/// <summary>
20
/// Common Wix utility methods and types.
@@ -111,7 +112,7 @@ namespace WixToolset.Core
112
/// <param name="path">The temporary directory to delete.</param>
113
/// <param name="messageHandler">The message handler.</param>
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)
116
{
117
// try three times and give up with a warning if the temp files aren't gone by then
118
int retryLimit = 3;
@@ -133,7 +134,7 @@ namespace WixToolset.Core
134
}
135
else
136
{
136
- messageHandler.OnMessage(WixWarnings.AccessDeniedForDeletion(null, path));
137
+ messageHandler.Write(WarningMessages.AccessDeniedForDeletion(null, path));
138
return false;
139
}
140
}
@@ -146,7 +147,7 @@ namespace WixToolset.Core
147
{
148
if (i == (retryLimit - 1)) // last try failed still, give up
149
{
149
- messageHandler.OnMessage(WixWarnings.DirectoryInUse(null, path));
150
+ messageHandler.Write(WarningMessages.DirectoryInUse(null, path));
151
return false;
152
}
153
@@ -203,7 +204,7 @@ namespace WixToolset.Core
204
codePage = encoding.CodePage;
205
if (0 > codePage || Int16.MaxValue < codePage)
206
{
206
- throw new WixException(WixErrors.InvalidSummaryInfoCodePage(sourceLineNumbers, codePage));
207
+ throw new WixException(ErrorMessages.InvalidSummaryInfoCodePage(sourceLineNumbers, codePage));
208
}
209
}
210
@@ -327,7 +328,7 @@ namespace WixToolset.Core
328
case "true":
329
return true;
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"));
332
}
333
}
334
@@ -433,7 +434,7 @@ namespace WixToolset.Core
434
/// <param name="fileAttribute">The FileAttribute to change on each file.</param>
435
/// <param name="messageHandler">The message handler.</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)
438
{
439
foreach (string subDirectory in Directory.GetDirectories(path))
440
{
@@ -458,7 +459,7 @@ namespace WixToolset.Core
459
}
460
catch (UnauthorizedAccessException)
461
{
461
- messageHandler.OnMessage(WixWarnings.AccessDeniedForSettingAttributes(null, filePath));
462
+ messageHandler.Write(WarningMessages.AccessDeniedForSettingAttributes(null, filePath));
463
}
464
}
465
}
@@ -624,14 +625,14 @@ namespace WixToolset.Core
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>
626
/// <param name="messageHandler">A delegate that receives error messages.</param>
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)
629
{
630
string value = attribute.Value;
631
632
if ((emptyRule == EmptyRule.MustHaveNonWhitespaceCharacters && String.IsNullOrEmpty(value.Trim())) ||
633
(emptyRule == EmptyRule.CanBeWhitespaceOnly && String.IsNullOrEmpty(value)))
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));
636
return String.Empty;
637
}
638
@@ -663,15 +664,15 @@ namespace WixToolset.Core
664
/// <param name="attribute">The attribute containing the value to get.</param>
665
/// <param name="messageHandler">A delegate that receives error messages.</param>
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)
668
{
668
- string value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly);
669
+ string value = Common.GetAttributeValue(messaging, sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly);
670
671
if (Common.IsIdentifier(value))
672
{
673
if (72 < value.Length)
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));
676
}
677
678
return value;
@@ -680,11 +681,11 @@ namespace WixToolset.Core
681
{
682
if (value.StartsWith("[", StringComparison.Ordinal) && value.EndsWith("]", StringComparison.Ordinal))
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));
685
}
686
else
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));
689
}
690
691
return String.Empty;
@@ -700,11 +701,11 @@ namespace WixToolset.Core
701
/// <param name="maximum">The maximum legal value.</param>
702
/// <param name="messageHandler">A delegate that receives error messages.</param>
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)
705
{
706
Debug.Assert(minimum > CompilerConstants.IntegerNotSet && minimum > CompilerConstants.IllegalInteger, "The legal values for this attribute collide with at least one sentinel used during parsing.");
707
707
- string value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly);
708
+ string value = Common.GetAttributeValue(messaging, sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly);
709
int integer = CompilerConstants.IllegalInteger;
710
711
if (0 < value.Length)
@@ -713,17 +714,17 @@ namespace WixToolset.Core
714
{
715
if (CompilerConstants.IntegerNotSet == integer || CompilerConstants.IllegalInteger == integer)
716
{
716
- Messaging.Instance.OnMessage(WixErrors.IntegralValueSentinelCollision(sourceLineNumbers, integer));
717
+ messaging.Write(ErrorMessages.IntegralValueSentinelCollision(sourceLineNumbers, integer));
718
}
719
else if (minimum > integer || maximum < integer)
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));
722
integer = CompilerConstants.IllegalInteger;
723
}
724
}
725
else
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));
728
}
729
}
730
@@ -737,9 +738,9 @@ namespace WixToolset.Core
738
/// <param name="attribute">The attribute containing the value to get.</param>
739
/// <param name="messageHandler">A delegate that receives error messages.</param>
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)
742
{
742
- string value = Common.GetAttributeValue(sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly);
743
+ string value = Common.GetAttributeValue(messaging, sourceLineNumbers, attribute, EmptyRule.CanBeWhitespaceOnly);
744
YesNoType yesNo = YesNoType.IllegalValue;
745
746
if ("yes".Equals(value) || "true".Equals(value))
@@ -752,7 +753,7 @@ namespace WixToolset.Core
753
}
754
else
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));
757
}
758
759
return yesNo;
@@ -776,13 +777,13 @@ namespace WixToolset.Core
777
/// </summary>
778
/// <param name="sourceLineNumbers">Source line information about the owner element.</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)
781
{
782
// Ignore elements defined by the W3C because we'll assume they are always right.
783
if (!((String.IsNullOrEmpty(attribute.Name.NamespaceName) && attribute.Name.LocalName.Equals("xmlns", StringComparison.Ordinal)) ||
784
attribute.Name.NamespaceName.StartsWith(CompilerCore.W3SchemaPrefix.NamespaceName, StringComparison.Ordinal)))
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));
787
}
788
}
789
@@ -791,13 +792,13 @@ namespace WixToolset.Core
792
/// </summary>
793
/// <param name="sourceLineNumbers">Source line information about the owner element.</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)
796
{
797
// Ignore elements defined by the W3C because we'll assume they are always right.
798
if (!((String.IsNullOrEmpty(extensionAttribute.Name.NamespaceName) && extensionAttribute.Name.LocalName.Equals("xmlns", StringComparison.Ordinal)) ||
799
extensionAttribute.Name.NamespaceName.StartsWith(CompilerCore.W3SchemaPrefix.NamespaceName, StringComparison.Ordinal)))
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));
802
}
803
}
804
}
src/WixToolset.Core/CompileContext.cs
+2
-1
@@ -7,6 +7,7 @@ namespace WixToolset.Core
7
using System.Xml.Linq;
8
using WixToolset.Data;
9
using WixToolset.Extensibility;
10
+ using WixToolset.Extensibility.Services;
11
12
public class CompileContext : ICompileContext
13
{
@@ -17,7 +18,7 @@ namespace WixToolset.Core
18
19
public IServiceProvider ServiceProvider { get; }
20
20
- public Messaging Messaging { get; set; }
21
+ public IMessaging Messaging { get; set; }
22
23
public string CompilationId { get; set; }
24
src/WixToolset.Core/Compiler.cs
+625
-625
@@ -112,7 +112,7 @@ namespace WixToolset.Core
112
}
113
else
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
}
117
118
extension.PreCompile(context);
@@ -123,9 +123,9 @@ namespace WixToolset.Core
123
{
124
var parseHelper = context.ServiceProvider.GetService<IParseHelper>();
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;
128
- this.componentIdPlaceholdersResolver = new WixVariableResolver();
128
+ this.componentIdPlaceholdersResolver = new WixVariableResolver(this.Context.Messaging);
129
130
// parse the document
131
var source = context.Source;
@@ -140,17 +140,17 @@ namespace WixToolset.Core
140
{
141
if (String.IsNullOrEmpty(source.Root.Name.NamespaceName))
142
{
143
- this.Core.OnMessage(WixErrors.InvalidWixXmlNamespace(sourceLineNumbers, "Wix", CompilerCore.WixNamespace.ToString()));
143
+ this.Core.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, "Wix", CompilerCore.WixNamespace.ToString()));
144
}
145
else
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
}
149
}
150
}
151
else
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
}
155
156
// Resolve any Component Id placeholders compiled into the intermediate.
@@ -189,7 +189,7 @@ namespace WixToolset.Core
189
this.Core = null;
190
}
191
192
- return Messaging.Instance.EncounteredError ? null : target;
192
+ return this.Context.Messaging.EncounteredError ? null : target;
193
}
194
195
/// <summary>
@@ -204,7 +204,7 @@ namespace WixToolset.Core
204
return s;
205
}
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
}
209
210
/// <summary>
@@ -254,7 +254,7 @@ namespace WixToolset.Core
254
{
255
if (property.Id != property.Id.ToUpperInvariant())
256
{
257
- this.Core.OnMessage(WixErrors.SearchPropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id));
257
+ this.Core.Write(ErrorMessages.SearchPropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id));
258
}
259
260
var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.AppSearch, property);
@@ -290,7 +290,7 @@ namespace WixToolset.Core
290
Group group = match.Groups["identifier"];
291
if (group.Success)
292
{
293
- this.Core.OnMessage(WixWarnings.PropertyValueContainsPropertyReference(sourceLineNumbers, property.Id, group.Value));
293
+ this.Core.Write(WarningMessages.PropertyValueContainsPropertyReference(sourceLineNumbers, property.Id, group.Value));
294
}
295
}
296
}
@@ -330,7 +330,7 @@ namespace WixToolset.Core
330
{
331
if (secure && property.Id != property.Id.ToUpperInvariant())
332
{
333
- this.Core.OnMessage(WixErrors.SecurePropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id));
333
+ this.Core.Write(ErrorMessages.SecurePropertyNotUppercase(sourceLineNumbers, "Property", "Id", property.Id));
334
}
335
336
if (null == section)
@@ -426,12 +426,12 @@ namespace WixToolset.Core
426
427
if (null == appId)
428
{
429
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
429
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
430
}
431
432
if ((YesNoType.No == advertise && YesNoType.Yes == appIdAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == appIdAdvertise))
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
}
436
else
437
{
@@ -468,7 +468,7 @@ namespace WixToolset.Core
468
{
469
if (null != description)
470
{
471
- this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Description"));
471
+ this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Description"));
472
}
473
474
if (!this.Core.EncounteredError)
@@ -569,7 +569,7 @@ namespace WixToolset.Core
569
570
if (null == id)
571
{
572
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
572
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
573
}
574
575
this.Core.ParseForExtensionElements(node);
@@ -609,12 +609,12 @@ namespace WixToolset.Core
609
case "src":
610
if (null != sourceFile)
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
}
614
615
if ("src" == attrib.Name.LocalName)
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
}
619
sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
620
break;
@@ -634,27 +634,27 @@ namespace WixToolset.Core
634
635
if (null == id)
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;
639
}
640
else if (!String.IsNullOrEmpty(id.Id)) // only check legal values
641
{
642
if (55 < id.Id.Length)
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
}
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
{
648
if (18 < id.Id.Length)
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
}
652
}
653
}
654
655
if (null == sourceFile)
656
{
657
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
657
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
658
}
659
660
this.Core.ParseForExtensionElements(node);
@@ -710,27 +710,27 @@ namespace WixToolset.Core
710
711
if (null == id)
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;
715
}
716
else if (!String.IsNullOrEmpty(id.Id)) // only check legal values
717
{
718
if (57 < id.Id.Length)
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
}
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
{
724
if (20 < id.Id.Length)
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
}
728
}
729
}
730
731
if (null == sourceFile)
732
{
733
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
733
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
734
}
735
736
this.Core.ParseForExtensionElements(node);
@@ -776,7 +776,7 @@ namespace WixToolset.Core
776
777
if (null == property)
778
{
779
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
779
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
780
}
781
782
// find unexpected child elements
@@ -845,12 +845,12 @@ namespace WixToolset.Core
845
846
if (null == id)
847
{
848
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
848
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
849
}
850
851
if (null == productCode)
852
{
853
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductCode"));
853
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductCode"));
854
}
855
856
this.Core.ParseForExtensionElements(node);
@@ -917,12 +917,12 @@ namespace WixToolset.Core
917
918
if (null == id)
919
{
920
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
920
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
921
}
922
923
if (null == qualifier)
924
{
925
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Qualifier"));
925
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Qualifier"));
926
}
927
928
this.Core.ParseForExtensionElements(node);
@@ -1066,7 +1066,7 @@ namespace WixToolset.Core
1066
1067
if (null == classId)
1068
{
1069
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
1069
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
1070
}
1071
1072
HashSet<string> uniqueContexts = new HashSet<string>();
@@ -1074,7 +1074,7 @@ namespace WixToolset.Core
1074
{
1075
if (uniqueContexts.Contains(context))
1076
{
1077
- this.Core.OnMessage(WixErrors.DuplicateContextValue(sourceLineNumbers, context));
1077
+ this.Core.Write(ErrorMessages.DuplicateContextValue(sourceLineNumbers, context));
1078
}
1079
else
1080
{
@@ -1093,7 +1093,7 @@ namespace WixToolset.Core
1093
1094
if ((YesNoType.No == advertise && YesNoType.Yes == classAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == classAdvertise))
1095
{
1096
- this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, classAdvertise.ToString(), advertise.ToString()));
1096
+ this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, classAdvertise.ToString(), advertise.ToString()));
1097
}
1098
else
1099
{
@@ -1108,12 +1108,12 @@ namespace WixToolset.Core
1108
1109
if (YesNoType.Yes == advertise && 0 == contexts.Length)
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
}
1113
1114
if (!String.IsNullOrEmpty(parentAppId) && !String.IsNullOrEmpty(appId))
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
}
1118
1119
if (!String.IsNullOrEmpty(localFileServer))
@@ -1173,12 +1173,12 @@ namespace WixToolset.Core
1173
{
1174
if (null != fileServer || null != localFileServer)
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
}
1178
1179
if (null != foreignServer)
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
}
1183
1184
if (null == appId && null != parentAppId)
@@ -1226,16 +1226,16 @@ namespace WixToolset.Core
1226
{
1227
if (null == fileServer && null == localFileServer && null == foreignServer)
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
}
1231
1232
if (null != fileServer && null != foreignServer)
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
}
1236
else if (null != localFileServer && null != foreignServer)
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
}
1240
else if (null == fileServer)
1241
{
@@ -1244,7 +1244,7 @@ namespace WixToolset.Core
1244
1245
if (null != appId) // need to use nesting (not a reference) for the unadvertised Class elements
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
}
1249
1250
// add the core registry keys for each context in the class
@@ -1254,7 +1254,7 @@ namespace WixToolset.Core
1254
{
1255
if (null != argument)
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
}
1259
1260
if (null != fileServer)
@@ -1291,7 +1291,7 @@ namespace WixToolset.Core
1291
}
1292
else
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
}
1296
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
1343
if (YesNoType.NotSet != relativePath) // ClassId's RelativePath
1344
{
1345
- this.Core.OnMessage(WixErrors.RelativePathForRegistryElement(sourceLineNumbers));
1345
+ this.Core.Write(ErrorMessages.RelativePathForRegistryElement(sourceLineNumbers));
1346
}
1347
}
1348
@@ -1454,12 +1454,12 @@ namespace WixToolset.Core
1454
1455
if (null == interfaceId)
1456
{
1457
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
1457
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
1458
}
1459
1460
if (null == name)
1461
{
1462
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
1462
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
1463
}
1464
1465
this.Core.ParseForExtensionElements(node);
@@ -1537,17 +1537,17 @@ namespace WixToolset.Core
1537
1538
if (null == mask)
1539
{
1540
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Mask"));
1540
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Mask"));
1541
}
1542
1543
if (CompilerConstants.IntegerNotSet == offset)
1544
{
1545
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset"));
1545
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset"));
1546
}
1547
1548
if (null == value)
1549
{
1550
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
1550
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
1551
}
1552
1553
this.Core.ParseForExtensionElements(node);
@@ -1556,7 +1556,7 @@ namespace WixToolset.Core
1556
{
1557
if (mask.Length != value.Length)
1558
{
1559
- this.Core.OnMessage(WixErrors.ValueAndMaskMustBeSameLength(sourceLineNumbers));
1559
+ this.Core.Write(ErrorMessages.ValueAndMaskMustBeSameLength(sourceLineNumbers));
1560
}
1561
cb = mask.Length / 2;
1562
}
@@ -1628,7 +1628,7 @@ namespace WixToolset.Core
1628
1629
if (null == minimum && null == maximum)
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
}
1633
1634
this.Core.ParseForExtensionElements(node);
@@ -1697,7 +1697,7 @@ namespace WixToolset.Core
1697
type = 2;
1698
break;
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;
1702
}
1703
}
@@ -1729,17 +1729,17 @@ namespace WixToolset.Core
1729
1730
if (null == key)
1731
{
1732
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
1732
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
1733
}
1734
1735
if (CompilerConstants.IntegerNotSet == root)
1736
{
1737
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
1737
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
1738
}
1739
1740
if (CompilerConstants.IntegerNotSet == type)
1741
{
1742
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
1742
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
1743
}
1744
1745
signature = id.Id;
@@ -1753,7 +1753,7 @@ namespace WixToolset.Core
1753
case "DirectorySearch":
1754
if (oneChild)
1755
{
1756
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1756
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1757
}
1758
oneChild = true;
1759
@@ -1763,7 +1763,7 @@ namespace WixToolset.Core
1763
case "DirectorySearchRef":
1764
if (oneChild)
1765
{
1766
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1766
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1767
}
1768
oneChild = true;
1769
signature = this.ParseDirectorySearchRefElement(child, id.Id);
@@ -1771,7 +1771,7 @@ namespace WixToolset.Core
1771
case "FileSearch":
1772
if (oneChild)
1773
{
1774
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1774
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1775
}
1776
oneChild = true;
1777
signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet);
@@ -1780,7 +1780,7 @@ namespace WixToolset.Core
1780
case "FileSearchRef":
1781
if (oneChild)
1782
{
1783
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1783
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
1784
}
1785
oneChild = true;
1786
string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures
@@ -1844,7 +1844,7 @@ namespace WixToolset.Core
1844
1845
if (null == id)
1846
{
1847
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
1847
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
1848
}
1849
1850
this.Core.ParseForExtensionElements(node);
@@ -1933,7 +1933,7 @@ namespace WixToolset.Core
1933
case "DirectorySearch":
1934
if (oneChild)
1935
{
1936
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
1936
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
1937
}
1938
oneChild = true;
1939
signature = this.ParseDirectorySearchElement(child, "CCP_DRIVE");
@@ -1941,7 +1941,7 @@ namespace WixToolset.Core
1941
case "DirectorySearchRef":
1942
if (oneChild)
1943
{
1944
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
1944
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
1945
}
1946
oneChild = true;
1947
signature = this.ParseDirectorySearchRefElement(child, "CCP_DRIVE");
@@ -1959,7 +1959,7 @@ namespace WixToolset.Core
1959
1960
if (null == signature)
1961
{
1962
- this.Core.OnMessage(WixErrors.SearchElementRequired(sourceLineNumbers, node.Name.LocalName));
1962
+ this.Core.Write(ErrorMessages.SearchElementRequired(sourceLineNumbers, node.Name.LocalName));
1963
}
1964
1965
return signature;
@@ -2005,13 +2005,13 @@ namespace WixToolset.Core
2005
else if (signature != sig)
2006
{
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
}
2010
}
2011
2012
if (null == signature)
2013
{
2014
- this.Core.OnMessage(WixErrors.SearchElementRequired(sourceLineNumbers, node.Name.LocalName));
2014
+ this.Core.Write(ErrorMessages.SearchElementRequired(sourceLineNumbers, node.Name.LocalName));
2015
}
2016
2017
if (!this.Core.EncounteredError)
@@ -2110,7 +2110,7 @@ namespace WixToolset.Core
2110
bits |= MsiInterop.MsidbComponentAttributesSourceOnly;
2111
break;
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;
2115
}
2116
}
@@ -2181,30 +2181,30 @@ namespace WixToolset.Core
2181
2182
if (null == directoryId)
2183
{
2184
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Directory"));
2184
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Directory"));
2185
}
2186
2187
if (String.IsNullOrEmpty(guid) && MsiInterop.MsidbComponentAttributesShared == (bits & MsiInterop.MsidbComponentAttributesShared))
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
}
2191
2192
if (String.IsNullOrEmpty(guid) && MsiInterop.MsidbComponentAttributesPermanent == (bits & MsiInterop.MsidbComponentAttributesPermanent))
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
}
2196
2197
if (null != feature)
2198
{
2199
if (this.compilingModule)
2200
{
2201
- this.Core.OnMessage(WixErrors.IllegalAttributeInMergeModule(sourceLineNumbers, node.Name.LocalName, "Feature"));
2201
+ this.Core.Write(ErrorMessages.IllegalAttributeInMergeModule(sourceLineNumbers, node.Name.LocalName, "Feature"));
2202
}
2203
else
2204
{
2205
if (ComplexReferenceParentType.Feature == parentType || ComplexReferenceParentType.FeatureGroup == parentType)
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
}
2209
else
2210
{
@@ -2236,7 +2236,7 @@ namespace WixToolset.Core
2236
if (null != condition)
2237
{
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
}
2241
condition = this.ParseConditionElement(child, node.Name.LocalName, null, null);
2242
break;
@@ -2369,7 +2369,7 @@ namespace WixToolset.Core
2369
2370
if (keyFound && YesNoType.Yes == keyPathSet)
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
}
2374
2375
// if a possible KeyPath has been found and that value was explicitly set as
@@ -2398,13 +2398,13 @@ namespace WixToolset.Core
2398
{
2399
if (encounteredODBCDataSource)
2400
{
2401
- this.Core.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers));
2401
+ this.Core.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers));
2402
isGeneratableGuidOk = false;
2403
}
2404
2405
if (0 != files && MsiInterop.MsidbComponentAttributesRegistryKeyPath == keyBits)
2406
{
2407
- this.Core.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers, true));
2407
+ this.Core.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(sourceLineNumbers, true));
2408
isGeneratableGuidOk = false;
2409
}
2410
}
@@ -2412,7 +2412,7 @@ namespace WixToolset.Core
2412
// check for implicit KeyPath which can easily be accidentally changed
2413
if (this.ShowPedanticMessages && !keyFound && !isGeneratableGuidOk)
2414
{
2415
- this.Core.OnMessage(WixErrors.ImplicitComponentKeyPath(sourceLineNumbers, id.Id));
2415
+ this.Core.Write(ErrorMessages.ImplicitComponentKeyPath(sourceLineNumbers, id.Id));
2416
}
2417
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
}
2429
else
2430
{
2431
- this.Core.OnMessage(WixErrors.CannotDefaultComponentId(sourceLineNumbers));
2431
+ this.Core.Write(ErrorMessages.CannotDefaultComponentId(sourceLineNumbers));
2432
}
2433
}
2434
2435
// If an id was not determined by now, we have to error.
2436
if (null == id)
2437
{
2438
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
2438
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
2439
}
2440
2441
// finally add the Component table row
@@ -2524,7 +2524,7 @@ namespace WixToolset.Core
2524
2525
if (null == id)
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;
2529
}
2530
@@ -2609,7 +2609,7 @@ namespace WixToolset.Core
2609
2610
if (null == id)
2611
{
2612
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
2612
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
2613
}
2614
2615
this.Core.ParseForExtensionElements(node);
@@ -2658,7 +2658,7 @@ namespace WixToolset.Core
2658
2659
if (null == id)
2660
{
2661
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
2661
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
2662
}
2663
2664
this.Core.ParseForExtensionElements(node);
@@ -2705,7 +2705,7 @@ namespace WixToolset.Core
2705
type = MsiInterop.MsidbLocatorTypeFileName;
2706
break;
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;
2710
}
2711
}
@@ -2737,7 +2737,7 @@ namespace WixToolset.Core
2737
case "DirectorySearch":
2738
if (oneChild)
2739
{
2740
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2740
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2741
}
2742
oneChild = true;
2743
@@ -2747,7 +2747,7 @@ namespace WixToolset.Core
2747
case "DirectorySearchRef":
2748
if (oneChild)
2749
{
2750
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2750
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2751
}
2752
oneChild = true;
2753
signature = this.ParseDirectorySearchRefElement(child, id.Id);
@@ -2755,7 +2755,7 @@ namespace WixToolset.Core
2755
case "FileSearch":
2756
if (oneChild)
2757
{
2758
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2758
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2759
}
2760
oneChild = true;
2761
signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet);
@@ -2764,7 +2764,7 @@ namespace WixToolset.Core
2764
case "FileSearchRef":
2765
if (oneChild)
2766
{
2767
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2767
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
2768
}
2769
oneChild = true;
2770
string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures
@@ -2907,7 +2907,7 @@ namespace WixToolset.Core
2907
case "FileId":
2908
if (null != fileId)
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
}
2912
fileId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2913
this.Core.CreateSimpleReference(sourceLineNumbers, "File", fileId);
@@ -2934,22 +2934,22 @@ namespace WixToolset.Core
2934
2935
if (null != sourceFolder && null != sourceDirectory) // SourceFolder and SourceDirectory cannot coexist
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
}
2939
2940
if (null != sourceFolder && null != sourceProperty) // SourceFolder and SourceProperty cannot coexist
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
}
2944
2945
if (null != sourceDirectory && null != sourceProperty) // SourceDirectory and SourceProperty cannot coexist
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
}
2949
2950
if (null != destinationDirectory && null != destinationProperty) // DestinationDirectory and DestinationProperty cannot coexist
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
}
2954
2955
// generate a short file name
@@ -2970,7 +2970,7 @@ namespace WixToolset.Core
2970
// DestinationDirectory or DestinationProperty must be specified
2971
if (null == destinationDirectory && null == destinationProperty)
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
}
2975
2976
if (!this.Core.EncounteredError)
@@ -3007,32 +3007,32 @@ namespace WixToolset.Core
3007
{
3008
if (null != sourceDirectory)
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
}
3012
3013
if (null != sourceFolder)
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
}
3017
3018
if (null != sourceName)
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
}
3022
3023
if (null != sourceProperty)
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
}
3027
3028
if (delete)
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
}
3032
3033
if (null == destinationName && null == destinationDirectory && null == destinationProperty)
3034
{
3035
- this.Core.OnMessage(WixWarnings.CopyFileFileIdUseless(sourceLineNumbers));
3035
+ this.Core.Write(WarningMessages.CopyFileFileIdUseless(sourceLineNumbers));
3036
}
3037
3038
if (!this.Core.EncounteredError)
@@ -3084,7 +3084,7 @@ namespace WixToolset.Core
3084
case "BinaryKey":
3085
if (null != source)
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
}
3089
source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
3090
sourceBits = MsiInterop.MsidbCustomActionTypeBinaryData;
@@ -3093,7 +3093,7 @@ namespace WixToolset.Core
3093
case "Directory":
3094
if (null != source)
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
}
3098
source = this.Core.CreateDirectoryReferenceFromInlineSyntax(sourceLineNumbers, attrib, null);
3099
sourceBits = MsiInterop.MsidbCustomActionTypeDirectory;
@@ -3101,7 +3101,7 @@ namespace WixToolset.Core
3101
case "DllEntry":
3102
if (null != target)
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
}
3106
target = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3107
targetBits = MsiInterop.MsidbCustomActionTypeDll;
@@ -3109,7 +3109,7 @@ namespace WixToolset.Core
3109
case "Error":
3110
if (null != target)
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
}
3114
target = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3115
targetBits = MsiInterop.MsidbCustomActionTypeTextData | MsiInterop.MsidbCustomActionTypeSourceFile;
@@ -3140,7 +3140,7 @@ namespace WixToolset.Core
3140
case "ExeCommand":
3141
if (null != target)
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
}
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;
@@ -3173,7 +3173,7 @@ namespace WixToolset.Core
3173
bits |= MsiInterop.MsidbCustomActionTypeClientRepeat;
3174
break;
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;
3178
}
3179
}
@@ -3181,7 +3181,7 @@ namespace WixToolset.Core
3181
case "FileKey":
3182
if (null != source)
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
}
3186
source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
3187
sourceBits = MsiInterop.MsidbCustomActionTypeSourceFile;
@@ -3202,7 +3202,7 @@ namespace WixToolset.Core
3202
case "JScriptCall":
3203
if (null != target)
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
}
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;
@@ -3216,7 +3216,7 @@ namespace WixToolset.Core
3216
case "Property":
3217
if (null != source)
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
}
3221
source = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3222
sourceBits = MsiInterop.MsidbCustomActionTypeProperty;
@@ -3240,7 +3240,7 @@ namespace WixToolset.Core
3240
bits |= MsiInterop.MsidbCustomActionTypeContinue;
3241
break;
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;
3245
}
3246
}
@@ -3248,12 +3248,12 @@ namespace WixToolset.Core
3248
case "Script":
3249
if (null != source)
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
}
3253
3254
if (null != target)
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
}
3258
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;
3278
break;
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;
3282
}
3283
}
@@ -3294,7 +3294,7 @@ namespace WixToolset.Core
3294
case "Value":
3295
if (null != target)
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
}
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;
@@ -3302,7 +3302,7 @@ namespace WixToolset.Core
3302
case "VBScriptCall":
3303
if (null != target)
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
}
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;
@@ -3327,7 +3327,7 @@ namespace WixToolset.Core
3327
3328
if (null == id)
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;
3332
}
3333
@@ -3348,48 +3348,48 @@ namespace WixToolset.Core
3348
{
3349
if (null == source)
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
}
3353
else if (MsiInterop.MsidbCustomActionTypeDirectory == sourceBits)
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
}
3357
}
3358
else if (MsiInterop.MsidbCustomActionTypeJScript == targetBits) // non-inline jscript
3359
{
3360
if (null == source)
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
}
3364
else if (MsiInterop.MsidbCustomActionTypeDirectory == sourceBits)
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
}
3368
}
3369
else if (MsiInterop.MsidbCustomActionTypeExe == targetBits) // exe-command
3370
{
3371
if (null == source)
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
}
3375
}
3376
else if (MsiInterop.MsidbCustomActionTypeTextData == (bits | sourceBits | targetBits))
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
}
3380
else if (!String.IsNullOrEmpty(innerText)) // inner text cannot be specified with non-script CAs
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
}
3384
3385
if (MsiInterop.MsidbCustomActionType64BitScript == (bits & MsiInterop.MsidbCustomActionType64BitScript) && MsiInterop.MsidbCustomActionTypeVBScript != targetBits && MsiInterop.MsidbCustomActionTypeJScript != targetBits)
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
}
3389
3390
if ((MsiInterop.MsidbCustomActionTypeAsync | MsiInterop.MsidbCustomActionTypeContinue) == (bits & (MsiInterop.MsidbCustomActionTypeAsync | MsiInterop.MsidbCustomActionTypeContinue)) && MsiInterop.MsidbCustomActionTypeExe != targetBits)
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
}
3394
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...
3398
if (0 == (bits & MsiInterop.MsidbCustomActionTypeInScript))
3399
{
3400
- this.Core.OnMessage(WixErrors.IllegalTerminalServerCustomActionAttributes(sourceLineNumbers));
3400
+ this.Core.Write(ErrorMessages.IllegalTerminalServerCustomActionAttributes(sourceLineNumbers));
3401
}
3402
}
3403
@@ -3406,12 +3406,12 @@ namespace WixToolset.Core
3406
MsiInterop.MsidbCustomActionTypeTextData == targetBits &&
3407
0 != (bits & MsiInterop.MsidbCustomActionTypeInScript))
3408
{
3409
- this.Core.OnMessage(WixErrors.IllegalPropertyCustomActionAttributes(sourceLineNumbers));
3409
+ this.Core.Write(ErrorMessages.IllegalPropertyCustomActionAttributes(sourceLineNumbers));
3410
}
3411
3412
if (0 == targetBits)
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
}
3416
3417
this.Core.ParseForExtensionElements(node);
@@ -3475,7 +3475,7 @@ namespace WixToolset.Core
3475
3476
if (null == id)
3477
{
3478
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3478
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3479
}
3480
3481
this.Core.ParseForExtensionElements(node);
@@ -3520,7 +3520,7 @@ namespace WixToolset.Core
3520
3521
if (null == primaryKeys[0])
3522
{
3523
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3523
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3524
}
3525
3526
this.Core.CreateSimpleReference(sourceLineNumbers, "MsiPatchSequence", primaryKeys);
@@ -3565,7 +3565,7 @@ namespace WixToolset.Core
3565
3566
if (null == id)
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;
3570
}
3571
@@ -3640,7 +3640,7 @@ namespace WixToolset.Core
3640
3641
if (null == id)
3642
{
3643
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3643
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3644
}
3645
3646
this.Core.ParseForExtensionElements(node);
@@ -3682,11 +3682,11 @@ namespace WixToolset.Core
3682
3683
if (null == id)
3684
{
3685
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3685
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3686
}
3687
else if (31 < id.Length)
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
}
3691
3692
this.Core.ParseForExtensionElements(node);
@@ -3743,11 +3743,11 @@ namespace WixToolset.Core
3743
3744
if (null == tableId)
3745
{
3746
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3746
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
3747
}
3748
else if (31 < tableId.Length)
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
}
3752
3753
foreach (XElement child in node.Elements())
@@ -3833,7 +3833,7 @@ namespace WixToolset.Core
3833
typeName = "CHAR";
3834
break;
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;
3838
}
3839
}
@@ -3849,18 +3849,18 @@ namespace WixToolset.Core
3849
3850
if (null == columnName)
3851
{
3852
- this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Id"));
3852
+ this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Id"));
3853
}
3854
3855
if (null == typeName)
3856
{
3857
- this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Type"));
3857
+ this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Type"));
3858
}
3859
else if ("SHORT" == typeName)
3860
{
3861
if (2 != width && 4 != width)
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
}
3865
columnType = String.Concat(nullable ? "I" : "i", width);
3866
}
@@ -3873,7 +3873,7 @@ namespace WixToolset.Core
3873
{
3874
if ("Binary" != category)
3875
{
3876
- this.Core.OnMessage(WixErrors.ExpectedBinaryCategory(childSourceLineNumbers));
3876
+ this.Core.Write(ErrorMessages.ExpectedBinaryCategory(childSourceLineNumbers));
3877
}
3878
columnType = String.Concat(nullable ? "V" : "v", width);
3879
}
@@ -3927,7 +3927,7 @@ namespace WixToolset.Core
3927
3928
if (null == columnName)
3929
{
3930
- this.Core.OnMessage(WixErrors.ExpectedAttribute(dataSourceLineNumbers, data.Name.LocalName, "Column"));
3930
+ this.Core.Write(ErrorMessages.ExpectedAttribute(dataSourceLineNumbers, data.Name.LocalName, "Column"));
3931
}
3932
3933
dataValue = String.Concat(dataValue, null == dataValue ? String.Empty : Common.CustomRowFieldSeparator.ToString(), columnName, ":", Common.GetInnerText(data));
@@ -3959,7 +3959,7 @@ namespace WixToolset.Core
3959
{
3960
if (null == primaryKeys || 0 == primaryKeys.Length)
3961
{
3962
- this.Core.OnMessage(WixErrors.CustomTableMissingPrimaryKey(sourceLineNumbers));
3962
+ this.Core.Write(ErrorMessages.CustomTableMissingPrimaryKey(sourceLineNumbers));
3963
}
3964
3965
if (!this.Core.EncounteredError)
@@ -4097,12 +4097,12 @@ namespace WixToolset.Core
4097
{
4098
if (!String.IsNullOrEmpty(shortName))
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
}
4102
4103
if (null == parentId)
4104
{
4105
- this.Core.OnMessage(WixErrors.DirectoryRootWithoutName(sourceLineNumbers, node.Name.LocalName, "Name"));
4105
+ this.Core.Write(ErrorMessages.DirectoryRootWithoutName(sourceLineNumbers, node.Name.LocalName, "Name"));
4106
}
4107
}
4108
else if (!String.IsNullOrEmpty(name))
@@ -4116,11 +4116,11 @@ namespace WixToolset.Core
4116
}
4117
else if (name.Equals("."))
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
}
4121
else if (name.Equals(shortName))
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
}
4125
}
4126
@@ -4128,7 +4128,7 @@ namespace WixToolset.Core
4128
{
4129
if (!String.IsNullOrEmpty(shortSourceName))
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
}
4133
}
4134
else
@@ -4142,11 +4142,11 @@ namespace WixToolset.Core
4142
}
4143
else if (sourceName.Equals("."))
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
}
4147
else if (sourceName.Equals(shortSourceName))
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
}
4151
}
4152
@@ -4191,7 +4191,7 @@ namespace WixToolset.Core
4191
4192
if ("TARGETDIR".Equals(id.Id) && !"SourceDir".Equals(defaultDir))
4193
{
4194
- this.Core.OnMessage(WixErrors.IllegalTargetDirDefaultDir(sourceLineNumbers, defaultDir));
4194
+ this.Core.Write(ErrorMessages.IllegalTargetDirDefaultDir(sourceLineNumbers, defaultDir));
4195
}
4196
4197
foreach (XElement child in node.Elements())
@@ -4293,7 +4293,7 @@ namespace WixToolset.Core
4293
4294
if (null == id)
4295
{
4296
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
4296
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
4297
}
4298
4299
if (!String.IsNullOrEmpty(fileSource) && !fileSource.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal))
@@ -4391,7 +4391,7 @@ namespace WixToolset.Core
4391
case "DirectorySearch":
4392
if (oneChild)
4393
{
4394
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4394
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4395
}
4396
oneChild = true;
4397
signature = this.ParseDirectorySearchElement(child, id.Id);
@@ -4399,7 +4399,7 @@ namespace WixToolset.Core
4399
case "DirectorySearchRef":
4400
if (oneChild)
4401
{
4402
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4402
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4403
}
4404
oneChild = true;
4405
signature = this.ParseDirectorySearchRefElement(child, id.Id);
@@ -4407,7 +4407,7 @@ namespace WixToolset.Core
4407
case "FileSearch":
4408
if (oneChild)
4409
{
4410
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
4410
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
4411
}
4412
oneChild = true;
4413
hasFileSearch = true;
@@ -4416,7 +4416,7 @@ namespace WixToolset.Core
4416
case "FileSearchRef":
4417
if (oneChild)
4418
{
4419
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
4419
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
4420
}
4421
oneChild = true;
4422
signature = this.ParseSimpleRefElement(child, "Signature");
@@ -4432,7 +4432,7 @@ namespace WixToolset.Core
4432
{
4433
if (!hasFileSearch)
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
}
4437
else if (!oneChild)
4438
{
@@ -4518,7 +4518,7 @@ namespace WixToolset.Core
4518
{
4519
if (!String.IsNullOrEmpty(parentSignature))
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
}
4523
else
4524
{
@@ -4544,7 +4544,7 @@ namespace WixToolset.Core
4544
case "DirectorySearch":
4545
if (oneChild)
4546
{
4547
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4547
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4548
}
4549
oneChild = true;
4550
signature = this.ParseDirectorySearchElement(child, id.Id);
@@ -4552,7 +4552,7 @@ namespace WixToolset.Core
4552
case "DirectorySearchRef":
4553
if (oneChild)
4554
{
4555
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4555
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4556
}
4557
oneChild = true;
4558
signature = this.ParseDirectorySearchRefElement(child, id.Id);
@@ -4560,7 +4560,7 @@ namespace WixToolset.Core
4560
case "FileSearch":
4561
if (oneChild)
4562
{
4563
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4563
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
4564
}
4565
oneChild = true;
4566
signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet);
@@ -4568,7 +4568,7 @@ namespace WixToolset.Core
4568
case "FileSearchRef":
4569
if (oneChild)
4570
{
4571
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
4571
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
4572
}
4573
oneChild = true;
4574
signature = this.ParseSimpleRefElement(child, "Signature");
@@ -4636,7 +4636,7 @@ namespace WixToolset.Core
4636
bits = bits | MsiInterop.MsidbFeatureAttributesUIDisallowAbsent;
4637
break;
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;
4641
}
4642
}
@@ -4657,7 +4657,7 @@ namespace WixToolset.Core
4657
case Wix.Feature.AllowAdvertiseType.yes: // this is the default
4658
break;
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;
4662
}
4663
}
@@ -4681,7 +4681,7 @@ namespace WixToolset.Core
4681
case Wix.Feature.InstallDefaultType.followParent:
4682
if (ComplexReferenceParentType.Product == parentType)
4683
{
4684
- this.Core.OnMessage(WixErrors.RootFeatureCannotFollowParent(sourceLineNumbers));
4684
+ this.Core.Write(ErrorMessages.RootFeatureCannotFollowParent(sourceLineNumbers));
4685
}
4686
bits = bits | MsiInterop.MsidbFeatureAttributesFollowParent;
4687
break;
@@ -4691,7 +4691,7 @@ namespace WixToolset.Core
4691
bits = bits | MsiInterop.MsidbFeatureAttributesFavorSource;
4692
break;
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;
4696
}
4697
}
@@ -4703,7 +4703,7 @@ namespace WixToolset.Core
4703
title = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
4704
if ("PUT-FEATURE-TITLE-HERE" == title)
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
}
4708
break;
4709
case "TypicalDefault":
@@ -4719,7 +4719,7 @@ namespace WixToolset.Core
4719
case Wix.Feature.TypicalDefaultType.install: // this is the default
4720
break;
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;
4724
}
4725
}
@@ -4737,27 +4737,27 @@ namespace WixToolset.Core
4737
4738
if (null == id)
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;
4742
}
4743
else if (38 < id.Id.Length)
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
}
4747
4748
if (null != configurableDirectory && configurableDirectory.ToUpper(CultureInfo.InvariantCulture) != configurableDirectory)
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
}
4752
4753
if ("advertise" == typicalDefault && "no" == allowAdvertise)
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
}
4757
4758
if (YesNoType.Yes == followParent && ("local" == installDefault || "source" == installDefault))
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
}
4762
4763
int childDisplay = 0;
@@ -4827,7 +4827,7 @@ namespace WixToolset.Core
4827
int value;
4828
if (!Int32.TryParse(display, NumberStyles.Integer, CultureInfo.InvariantCulture, out value))
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
}
4832
else
4833
{
@@ -4892,7 +4892,7 @@ namespace WixToolset.Core
4892
4893
if (null == id)
4894
{
4895
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
4895
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
4896
}
4897
4898
int lastDisplay = 0;
@@ -4978,7 +4978,7 @@ namespace WixToolset.Core
4978
4979
if (null == id)
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;
4983
}
4984
@@ -5074,7 +5074,7 @@ namespace WixToolset.Core
5074
5075
if (null == id)
5076
{
5077
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
5077
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
5078
}
5079
5080
this.Core.ParseForExtensionElements(node);
@@ -5133,7 +5133,7 @@ namespace WixToolset.Core
5133
action = "!";
5134
break;
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;
5138
}
5139
}
@@ -5145,7 +5145,7 @@ namespace WixToolset.Core
5145
part = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
5146
if (!Wix.Environment.TryParsePartType(part, out partType))
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
}
5150
break;
5151
case "Permanent":
@@ -5178,14 +5178,14 @@ namespace WixToolset.Core
5178
5179
if (null == name)
5180
{
5181
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
5181
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
5182
}
5183
5184
if (Wix.Environment.PartType.NotSet != partType)
5185
{
5186
if ("+" == action)
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
}
5190
5191
switch (partType)
@@ -5248,7 +5248,7 @@ namespace WixToolset.Core
5248
5249
if (CompilerConstants.IntegerNotSet == id)
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;
5253
}
5254
@@ -5288,7 +5288,7 @@ namespace WixToolset.Core
5288
YesNoType extensionAdvertise = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
5289
if ((YesNoType.No == advertise && YesNoType.Yes == extensionAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == extensionAdvertise))
5290
{
5291
- this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, extensionAdvertise.ToString(), advertise.ToString()));
5291
+ this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, extensionAdvertise.ToString(), advertise.ToString()));
5292
}
5293
advertise = extensionAdvertise;
5294
break;
@@ -5445,7 +5445,7 @@ namespace WixToolset.Core
5445
assemblyType = FileAssemblyType.Win32Assembly;
5446
break;
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;
5450
}
5451
}
@@ -5545,7 +5545,7 @@ namespace WixToolset.Core
5545
procArch = "ia64";
5546
break;
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;
5550
}
5551
}
@@ -5609,7 +5609,7 @@ namespace WixToolset.Core
5609
// the companion file cannot be the key path of a component
5610
if (YesNoType.Yes == keyPath)
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
}
5614
}
5615
@@ -5618,7 +5618,7 @@ namespace WixToolset.Core
5618
name = Path.GetFileName(source);
5619
if (!this.Core.IsValidLongFilename(name, false))
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
}
5623
}
5624
@@ -5641,32 +5641,32 @@ namespace WixToolset.Core
5641
5642
if (null != defaultVersion && null != companionFile)
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
}
5646
5647
if (FileAssemblyType.NotAnAssembly == assemblyType)
5648
{
5649
if (null != assemblyManifest)
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
}
5653
5654
if (null != assemblyApplication)
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
}
5658
}
5659
else
5660
{
5661
if (FileAssemblyType.Win32Assembly == assemblyType && null == assemblyManifest)
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
}
5665
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)
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
}
5671
}
5672
@@ -5942,11 +5942,11 @@ namespace WixToolset.Core
5942
// Using both ShortName and Name will not always work due to a Windows Installer bug.
5943
if (null != shortName && null != name)
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
}
5947
else if (null == shortName && null == name) // at least one name must be specified.
5948
{
5949
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
5949
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
5950
}
5951
5952
if (this.Core.IsValidShortFilename(name, false))
@@ -5958,7 +5958,7 @@ namespace WixToolset.Core
5958
}
5959
else
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
}
5963
}
5964
@@ -5981,7 +5981,7 @@ namespace WixToolset.Core
5981
// value must be specified and unique.
5982
if (isSameId)
5983
{
5984
- this.Core.OnMessage(WixErrors.UniqueFileSearchIdRequired(sourceLineNumbers, parentSignature, node.Name.LocalName));
5984
+ this.Core.Write(ErrorMessages.UniqueFileSearchIdRequired(sourceLineNumbers, parentSignature, node.Name.LocalName));
5985
}
5986
}
5987
else if (parentDepth > 1)
@@ -5990,7 +5990,7 @@ namespace WixToolset.Core
5990
// as the parent DirectorySearch if AssignToProperty is not set.
5991
if (!isSameId)
5992
{
5993
- this.Core.OnMessage(WixErrors.IllegalSearchIdForParentDepth(sourceLineNumbers, id.Id, parentSignature));
5993
+ this.Core.Write(ErrorMessages.IllegalSearchIdForParentDepth(sourceLineNumbers, id.Id, parentSignature));
5994
}
5995
}
5996
@@ -6284,7 +6284,7 @@ namespace WixToolset.Core
6284
}
6285
else
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
}
6289
}
6290
}
@@ -6333,7 +6333,7 @@ namespace WixToolset.Core
6333
if (null == condition || 0 == condition.Length)
6334
{
6335
condition = null;
6336
- this.Core.OnMessage(WixErrors.ConditionExpected(sourceLineNumbers, node.Name.LocalName));
6336
+ this.Core.Write(ErrorMessages.ConditionExpected(sourceLineNumbers, node.Name.LocalName));
6337
}
6338
6339
switch (parentElementLocalName)
@@ -6341,7 +6341,7 @@ namespace WixToolset.Core
6341
case "Control":
6342
if (null == action)
6343
{
6344
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
6344
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
6345
}
6346
6347
if (!this.Core.EncounteredError)
@@ -6356,7 +6356,7 @@ namespace WixToolset.Core
6356
case "Feature":
6357
if (CompilerConstants.IntegerNotSet == level)
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;
6361
}
6362
@@ -6372,7 +6372,7 @@ namespace WixToolset.Core
6372
case "Product":
6373
if (null == message)
6374
{
6375
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Message"));
6375
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Message"));
6376
}
6377
6378
if (!this.Core.EncounteredError)
@@ -6437,7 +6437,7 @@ namespace WixToolset.Core
6437
action = MsiInterop.MsidbIniFileActionRemoveTag;
6438
break;
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;
6442
}
6443
}
@@ -6473,18 +6473,18 @@ namespace WixToolset.Core
6473
6474
if (CompilerConstants.IntegerNotSet == action)
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;
6478
}
6479
6480
if (null == key)
6481
{
6482
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
6482
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
6483
}
6484
6485
if (null == name)
6486
{
6487
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
6487
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
6488
}
6489
else if (0 < name.Length)
6490
{
@@ -6497,7 +6497,7 @@ namespace WixToolset.Core
6497
}
6498
else
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
}
6502
}
6503
else // generate a short file name.
@@ -6511,7 +6511,7 @@ namespace WixToolset.Core
6511
6512
if (null == section)
6513
{
6514
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section"));
6514
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section"));
6515
}
6516
6517
if (null == id)
@@ -6529,7 +6529,7 @@ namespace WixToolset.Core
6529
{
6530
if (null == value)
6531
{
6532
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
6532
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
6533
}
6534
6535
tableName = TupleDefinitionType.IniFile;
@@ -6606,7 +6606,7 @@ namespace WixToolset.Core
6606
type = 2;
6607
break;
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;
6611
}
6612
}
@@ -6624,12 +6624,12 @@ namespace WixToolset.Core
6624
6625
if (null == key)
6626
{
6627
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
6627
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
6628
}
6629
6630
if (null == name)
6631
{
6632
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
6632
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
6633
}
6634
else if (0 < name.Length)
6635
{
@@ -6642,7 +6642,7 @@ namespace WixToolset.Core
6642
}
6643
else
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
}
6647
}
6648
else if (null == shortName) // generate a short file name.
@@ -6653,7 +6653,7 @@ namespace WixToolset.Core
6653
6654
if (null == section)
6655
{
6656
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section"));
6656
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Section"));
6657
}
6658
6659
if (null == id)
@@ -6674,7 +6674,7 @@ namespace WixToolset.Core
6674
case "DirectorySearch":
6675
if (oneChild)
6676
{
6677
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
6677
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
6678
}
6679
oneChild = true;
6680
@@ -6684,7 +6684,7 @@ namespace WixToolset.Core
6684
case "DirectorySearchRef":
6685
if (oneChild)
6686
{
6687
- this.Core.OnMessage(WixErrors.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
6687
+ this.Core.Write(ErrorMessages.TooManySearchElements(childSourceLineNumbers, node.Name.LocalName));
6688
}
6689
oneChild = true;
6690
signature = this.ParseDirectorySearchRefElement(child, id.Id);
@@ -6692,7 +6692,7 @@ namespace WixToolset.Core
6692
case "FileSearch":
6693
if (oneChild)
6694
{
6695
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
6695
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
6696
}
6697
oneChild = true;
6698
signature = this.ParseFileSearchElement(child, id.Id, false, CompilerConstants.IntegerNotSet);
@@ -6701,7 +6701,7 @@ namespace WixToolset.Core
6701
case "FileSearchRef":
6702
if (oneChild)
6703
{
6704
- this.Core.OnMessage(WixErrors.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
6704
+ this.Core.Write(ErrorMessages.TooManySearchElements(sourceLineNumbers, node.Name.LocalName));
6705
}
6706
oneChild = true;
6707
string newId = this.ParseSimpleRefElement(child, "Signature"); // FileSearch signatures override parent signatures
@@ -6768,7 +6768,7 @@ namespace WixToolset.Core
6768
6769
if (null == shared)
6770
{
6771
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Shared"));
6771
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Shared"));
6772
}
6773
6774
this.Core.ParseForExtensionElements(node);
@@ -6866,12 +6866,12 @@ namespace WixToolset.Core
6866
6867
if (null == id)
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;
6871
}
6872
else if (40 < id.Id.Length)
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
6876
// No need to check for modularization problems since DigitalSignature and thus DigitalCertificate
6877
// currently have no usage in merge modules.
@@ -6879,7 +6879,7 @@ namespace WixToolset.Core
6879
6880
if (null == sourceFile)
6881
{
6882
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
6882
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
6883
}
6884
6885
this.Core.ParseForExtensionElements(node);
@@ -6952,7 +6952,7 @@ namespace WixToolset.Core
6952
6953
if (null == certificateId)
6954
{
6955
- this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "DigitalCertificate"));
6955
+ this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "DigitalCertificate"));
6956
}
6957
6958
if (!this.Core.EncounteredError)
@@ -6985,13 +6985,13 @@ namespace WixToolset.Core
6985
string upgradeCode = contextValues["UpgradeCode"];
6986
if (String.IsNullOrEmpty(upgradeCode))
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
}
6990
6991
string productVersion = contextValues["ProductVersion"];
6992
if (String.IsNullOrEmpty(productVersion))
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
}
6996
6997
string productLanguage = contextValues["ProductLanguage"];
@@ -7056,27 +7056,27 @@ namespace WixToolset.Core
7056
7057
if (!allowDowngrades && String.IsNullOrEmpty(downgradeErrorMessage))
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
}
7061
7062
if (allowDowngrades && !String.IsNullOrEmpty(downgradeErrorMessage))
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
}
7066
7067
if (allowDowngrades && allowSameVersionUpgrades)
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
}
7071
7072
if (blockUpgrades && String.IsNullOrEmpty(disallowUpgradeErrorMessage))
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
}
7076
7077
if (!blockUpgrades && !String.IsNullOrEmpty(disallowUpgradeErrorMessage))
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
}
7081
7082
if (!this.Core.EncounteredError)
@@ -7207,7 +7207,7 @@ namespace WixToolset.Core
7207
Wix.CompressionLevelType compressionLevelType;
7208
if (!Wix.Enums.TryParseCompressionLevelType(compressionLevelString, out compressionLevelType))
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
}
7212
else
7213
{
@@ -7226,12 +7226,12 @@ namespace WixToolset.Core
7226
case "src":
7227
if (null != layout)
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
}
7231
7232
if ("src" == attrib.Name.LocalName)
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
}
7236
layout = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
7237
break;
@@ -7254,7 +7254,7 @@ namespace WixToolset.Core
7254
7255
if (CompilerConstants.IntegerNotSet == id)
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;
7259
}
7260
@@ -7264,13 +7264,13 @@ namespace WixToolset.Core
7264
{
7265
if (null == cabinet)
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
}
7269
else
7270
{
7271
if (62 < cabinet.Length)
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
}
7275
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
7285
if (!Common.WixVariableRegex.Match(cabinet).Success)
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
}
7289
}
7290
}
@@ -7292,7 +7292,7 @@ namespace WixToolset.Core
7292
7293
if (null != compressionLevel && null == cabinet)
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
}
7297
7298
if (patch)
@@ -7314,11 +7314,11 @@ namespace WixToolset.Core
7314
case "DigitalSignature":
7315
if (YesNoType.Yes == embedCab)
7316
{
7317
- this.Core.OnMessage(WixErrors.SignedEmbeddedCabinet(childSourceLineNumbers));
7317
+ this.Core.Write(ErrorMessages.SignedEmbeddedCabinet(childSourceLineNumbers));
7318
}
7319
else if (null == cabinet)
7320
{
7321
- this.Core.OnMessage(WixErrors.ExpectedSignedCabinetName(childSourceLineNumbers));
7321
+ this.Core.Write(ErrorMessages.ExpectedSignedCabinetName(childSourceLineNumbers));
7322
}
7323
else
7324
{
@@ -7428,11 +7428,11 @@ namespace WixToolset.Core
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))
7430
{
7431
- this.Core.OnMessage(WixErrors.InvalidCabinetTemplate(sourceLineNumbers, cabinetTemplate));
7431
+ this.Core.Write(ErrorMessages.InvalidCabinetTemplate(sourceLineNumbers, cabinetTemplate));
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.
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
}
7437
}
7438
break;
@@ -7442,21 +7442,21 @@ namespace WixToolset.Core
7442
{
7443
if (!Wix.Enums.TryParseCompressionLevelType(compressionLevel, out compressionLevelType))
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
}
7447
}
7448
break;
7449
case "DiskPrompt":
7450
diskPrompt = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
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;
7454
case "EmbedCab":
7455
embedCab = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
7456
break;
7457
case "VolumeLabel":
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;
7461
case "MaximumUncompressedMediaSize":
7462
maximumUncompressedMediaSize = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 1, int.MaxValue);
@@ -7582,22 +7582,22 @@ namespace WixToolset.Core
7582
7583
if (null == id)
7584
{
7585
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
7585
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
7586
}
7587
7588
if (null == language)
7589
{
7590
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
7590
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
7591
}
7592
7593
if (null == sourceFile)
7594
{
7595
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
7595
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
7596
}
7597
7598
if (CompilerConstants.IntegerNotSet == diskId)
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;
7602
}
7603
@@ -7688,7 +7688,7 @@ namespace WixToolset.Core
7688
7689
if (null == name)
7690
{
7691
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
7691
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
7692
}
7693
else // need to hex encode these characters
7694
{
@@ -7699,7 +7699,7 @@ namespace WixToolset.Core
7699
7700
if (null == value)
7701
{
7702
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
7702
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
7703
}
7704
else // need to hex encode these characters
7705
{
@@ -7751,7 +7751,7 @@ namespace WixToolset.Core
7751
7752
if (null == id)
7753
{
7754
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
7754
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
7755
}
7756
7757
this.Core.ParseForExtensionElements(node);
@@ -7806,7 +7806,7 @@ namespace WixToolset.Core
7806
7807
if (null == contentType)
7808
{
7809
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ContentType"));
7809
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ContentType"));
7810
}
7811
7812
// if the advertise state has not been set, default to non-advertised
@@ -7821,7 +7821,7 @@ namespace WixToolset.Core
7821
{
7822
if (YesNoType.Yes != parentAdvertised)
7823
{
7824
- this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), parentAdvertised.ToString()));
7824
+ this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), parentAdvertised.ToString()));
7825
}
7826
7827
if (!this.Core.EncounteredError)
@@ -7836,7 +7836,7 @@ namespace WixToolset.Core
7836
{
7837
if (YesNoType.Yes == returnContentType && YesNoType.Yes == parentAdvertised)
7838
{
7839
- this.Core.OnMessage(WixErrors.CannotDefaultMismatchedAdvertiseStates(sourceLineNumbers));
7839
+ this.Core.Write(ErrorMessages.CannotDefaultMismatchedAdvertiseStates(sourceLineNumbers));
7840
}
7841
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);
7874
if ("PUT-MODULE-NAME-HERE" == this.activeName)
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
}
7878
else
7879
{
@@ -7885,7 +7885,7 @@ namespace WixToolset.Core
7885
break;
7886
case "Guid":
7887
moduleId = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
7888
- this.Core.OnMessage(WixWarnings.DeprecatedModuleGuidAttribute(sourceLineNumbers));
7888
+ this.Core.Write(WarningMessages.DeprecatedModuleGuidAttribute(sourceLineNumbers));
7889
break;
7890
case "Language":
7891
this.activeLanguage = this.Core.GetAttributeLocalizableIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue);
@@ -7906,21 +7906,21 @@ namespace WixToolset.Core
7906
7907
if (null == this.activeName)
7908
{
7909
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
7909
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
7910
}
7911
7912
if (null == this.activeLanguage)
7913
{
7914
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
7914
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
7915
}
7916
7917
if (null == version)
7918
{
7919
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
7919
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
7920
}
7921
else if (!CompilerCore.IsValidModuleOrBundleVersion(version))
7922
{
7923
- this.Core.OnMessage(WixWarnings.InvalidModuleOrBundleVersion(sourceLineNumbers, "Module", version));
7923
+ this.Core.Write(WarningMessages.InvalidModuleOrBundleVersion(sourceLineNumbers, "Module", version));
7924
}
7925
7926
try
@@ -8119,7 +8119,7 @@ namespace WixToolset.Core
8119
8120
if (null == this.activeName)
8121
{
8122
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8122
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8123
}
8124
8125
this.Core.CreateActiveSection(this.activeName, SectionType.PatchCreation, codepage, this.Context.CompilationId);
@@ -8250,13 +8250,13 @@ namespace WixToolset.Core
8250
8251
if (null == name)
8252
{
8253
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
8253
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
8254
}
8255
else if (0 < name.Length)
8256
{
8257
if (8 < name.Length) // check the length
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
}
8261
else // check for illegal characters
8262
{
@@ -8264,7 +8264,7 @@ namespace WixToolset.Core
8264
{
8265
if (!Char.IsLetterOrDigit(character) && '_' != character)
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
}
8269
}
8270
}
@@ -8338,19 +8338,19 @@ namespace WixToolset.Core
8338
upgrade = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
8339
if (13 < upgrade.Length)
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
}
8343
break;
8344
case "SourceFile":
8345
case "src":
8346
if (null != sourceFile)
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
}
8350
8351
if ("src" == attrib.Name.LocalName)
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
}
8355
sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
8356
break;
@@ -8358,12 +8358,12 @@ namespace WixToolset.Core
8358
case "srcPatch":
8359
if (null != sourcePatch)
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
}
8363
8364
if ("srcPatch" == attrib.Name.LocalName)
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
}
8368
sourcePatch = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
8369
break;
@@ -8380,12 +8380,12 @@ namespace WixToolset.Core
8380
8381
if (null == upgrade)
8382
{
8383
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8383
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8384
}
8385
8386
if (null == sourceFile)
8387
{
8388
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
8388
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
8389
}
8390
8391
foreach (XElement child in node.Elements())
@@ -8470,7 +8470,7 @@ namespace WixToolset.Core
8470
8471
if (null == file)
8472
{
8473
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File"));
8473
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File"));
8474
}
8475
8476
foreach (XElement child in node.Elements())
@@ -8539,7 +8539,7 @@ namespace WixToolset.Core
8539
target = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
8540
if (target.Length > 13)
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
}
8544
break;
8545
case "IgnoreMissingFiles":
@@ -8552,12 +8552,12 @@ namespace WixToolset.Core
8552
case "src":
8553
if (null != sourceFile)
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
}
8557
8558
if ("src" == attrib.Name.LocalName)
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
}
8562
sourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
8563
break;
@@ -8577,17 +8577,17 @@ namespace WixToolset.Core
8577
8578
if (null == target)
8579
{
8580
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8580
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8581
}
8582
8583
if (null == sourceFile)
8584
{
8585
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
8585
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
8586
}
8587
8588
if (CompilerConstants.IntegerNotSet == order)
8589
{
8590
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order"));
8590
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order"));
8591
}
8592
8593
foreach (XElement child in node.Elements())
@@ -8671,7 +8671,7 @@ namespace WixToolset.Core
8671
8672
if (null == file)
8673
{
8674
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8674
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
8675
}
8676
8677
foreach (XElement child in node.Elements())
@@ -8755,12 +8755,12 @@ namespace WixToolset.Core
8755
case "src":
8756
if (null != source)
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
}
8760
8761
if ("src" == attrib.Name.LocalName)
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
}
8765
source = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
8766
break;
@@ -8777,17 +8777,17 @@ namespace WixToolset.Core
8777
8778
if (null == file)
8779
{
8780
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File"));
8780
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File"));
8781
}
8782
8783
if (null == source)
8784
{
8785
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Source"));
8785
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Source"));
8786
}
8787
8788
if (CompilerConstants.IntegerNotSet == order)
8789
{
8790
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order"));
8790
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Order"));
8791
}
8792
8793
foreach (XElement child in node.Elements())
@@ -8880,7 +8880,7 @@ namespace WixToolset.Core
8880
8881
if (null == file)
8882
{
8883
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File"));
8883
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "File"));
8884
}
8885
8886
foreach (XElement child in node.Elements())
@@ -8905,7 +8905,7 @@ namespace WixToolset.Core
8905
8906
if (null == protectOffsets || null == protectLengths)
8907
{
8908
- this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "ProtectRange"));
8908
+ this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "ProtectRange"));
8909
}
8910
8911
if (!this.Core.EncounteredError)
@@ -8955,12 +8955,12 @@ namespace WixToolset.Core
8955
8956
if (null == length)
8957
{
8958
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Length"));
8958
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Length"));
8959
}
8960
8961
if (null == offset)
8962
{
8963
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset"));
8963
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Offset"));
8964
}
8965
8966
this.Core.ParseForExtensionElements(node);
@@ -9025,12 +9025,12 @@ namespace WixToolset.Core
9025
9026
if (null == name)
9027
{
9028
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
9028
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
9029
}
9030
9031
if (null == value)
9032
{
9033
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
9033
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
9034
}
9035
9036
this.Core.ParseForExtensionElements(node);
@@ -9047,7 +9047,7 @@ namespace WixToolset.Core
9047
{
9048
if (null != company)
9049
{
9050
- this.Core.OnMessage(WixErrors.UnexpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company"));
9050
+ this.Core.Write(ErrorMessages.UnexpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company"));
9051
}
9052
this.ProcessProperties(sourceLineNumbers, name, value);
9053
}
@@ -9077,22 +9077,22 @@ namespace WixToolset.Core
9077
case "ProductCode":
9078
if (null != target)
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
}
9082
target = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
9083
break;
9084
case "Target":
9085
if (null != target)
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
}
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);
9091
break;
9092
case "TargetImage":
9093
if (null != target)
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
}
9097
target = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
9098
this.Core.CreateSimpleReference(sourceLineNumbers, "TargetImages", target);
@@ -9119,7 +9119,7 @@ namespace WixToolset.Core
9119
9120
if (null == family)
9121
{
9122
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "PatchFamily"));
9122
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "PatchFamily"));
9123
}
9124
9125
this.Core.ParseForExtensionElements(node);
@@ -9173,7 +9173,7 @@ namespace WixToolset.Core
9173
9174
if (null == id)
9175
{
9176
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9176
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9177
}
9178
9179
this.Core.ParseForExtensionElements(node);
@@ -9221,7 +9221,7 @@ namespace WixToolset.Core
9221
string id = this.ParseTargetProductCodeElement(child);
9222
if (0 == String.CompareOrdinal("*", id))
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
}
9226
else
9227
{
@@ -9288,7 +9288,7 @@ namespace WixToolset.Core
9288
9289
if (null == id)
9290
{
9291
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9291
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9292
}
9293
9294
this.Core.ParseForExtensionElements(node);
@@ -9328,7 +9328,7 @@ namespace WixToolset.Core
9328
9329
if (null == path)
9330
{
9331
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Path"));
9331
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Path"));
9332
}
9333
9334
this.Core.ParseForExtensionElements(node);
@@ -9446,11 +9446,11 @@ namespace WixToolset.Core
9446
9447
if (null == this.activeName)
9448
{
9449
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9449
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9450
}
9451
if (null == classification)
9452
{
9453
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification"));
9453
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification"));
9454
}
9455
if (null == clientPatchId)
9456
{
@@ -9458,15 +9458,15 @@ namespace WixToolset.Core
9458
}
9459
if (null == description)
9460
{
9461
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description"));
9461
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description"));
9462
}
9463
if (null == displayName)
9464
{
9465
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName"));
9465
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName"));
9466
}
9467
if (null == manufacturer)
9468
{
9469
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
9469
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
9470
}
9471
9472
this.Core.CreateActiveSection(this.activeName, SectionType.Patch, codepage, this.Context.CompilationId);
@@ -9668,17 +9668,17 @@ namespace WixToolset.Core
9668
9669
if (null == id)
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;
9673
}
9674
9675
if (String.IsNullOrEmpty(version))
9676
{
9677
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
9677
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
9678
}
9679
else if (!CompilerCore.IsValidProductVersion(version))
9680
{
9681
- this.Core.OnMessage(WixErrors.InvalidProductVersion(sourceLineNumbers, version));
9681
+ this.Core.Write(ErrorMessages.InvalidProductVersion(sourceLineNumbers, version));
9682
}
9683
9684
// find unexpected child elements
@@ -9768,7 +9768,7 @@ namespace WixToolset.Core
9768
this.Core.ParseForExtensionElements(node);
9769
9770
// Always warn when using the All element.
9771
- this.Core.OnMessage(WixWarnings.AllChangesIncludedInPatch(sourceLineNumbers));
9771
+ this.Core.Write(WarningMessages.AllChangesIncludedInPatch(sourceLineNumbers));
9772
9773
if (!this.Core.EncounteredError)
9774
{
@@ -9808,7 +9808,7 @@ namespace WixToolset.Core
9808
9809
if (null == id)
9810
{
9811
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9811
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
9812
}
9813
9814
this.Core.ParseForExtensionElements(node);
@@ -9853,12 +9853,12 @@ namespace WixToolset.Core
9853
9854
if (null == id)
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;
9858
}
9859
else if (27 < id.Id.Length)
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
}
9863
9864
foreach (XElement child in node.Elements())
@@ -9871,7 +9871,7 @@ namespace WixToolset.Core
9871
if (parsedValidate)
9872
{
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
}
9876
else
9877
{
@@ -9949,7 +9949,7 @@ namespace WixToolset.Core
9949
validationFlags |= TransformFlags.ValidateUpdateVersion;
9950
break;
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;
9954
}
9955
break;
@@ -9975,7 +9975,7 @@ namespace WixToolset.Core
9975
validationFlags |= TransformFlags.ValidateNewGreaterBaseVersion;
9976
break;
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;
9980
}
9981
break;
@@ -10117,13 +10117,13 @@ namespace WixToolset.Core
10117
10118
if (null == requiredId)
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;
10122
}
10123
10124
if (CompilerConstants.IntegerNotSet == requiredLanguage)
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;
10128
}
10129
@@ -10188,13 +10188,13 @@ namespace WixToolset.Core
10188
10189
if (null == excludedId)
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;
10193
}
10194
10195
if (CompilerConstants.IntegerNotSet != excludeExceptLanguage && CompilerConstants.IntegerNotSet != excludeLanguage)
10196
{
10197
- this.Core.OnMessage(WixErrors.IllegalModuleExclusionLanguageAttributes(sourceLineNumbers));
10197
+ this.Core.Write(ErrorMessages.IllegalModuleExclusionLanguageAttributes(sourceLineNumbers));
10198
}
10199
else if (CompilerConstants.IntegerNotSet != excludeExceptLanguage)
10200
{
@@ -10278,7 +10278,7 @@ namespace WixToolset.Core
10278
format = 3;
10279
break;
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;
10283
}
10284
}
@@ -10317,13 +10317,13 @@ namespace WixToolset.Core
10317
10318
if (null == name)
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;
10322
}
10323
10324
if (CompilerConstants.IntegerNotSet == format)
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;
10328
}
10329
@@ -10388,19 +10388,19 @@ namespace WixToolset.Core
10388
10389
if (null == column)
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;
10393
}
10394
10395
if (null == table)
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;
10399
}
10400
10401
if (null == rowKeys)
10402
{
10403
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Row"));
10403
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Row"));
10404
}
10405
10406
this.Core.ParseForExtensionElements(node);
@@ -10446,7 +10446,7 @@ namespace WixToolset.Core
10446
10447
if (null == id)
10448
{
10449
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
10449
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
10450
}
10451
10452
this.Core.ParseForExtensionElements(node);
@@ -10506,7 +10506,7 @@ namespace WixToolset.Core
10506
10507
if (null == name)
10508
{
10509
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
10509
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
10510
}
10511
10512
if (null == id)
@@ -10594,7 +10594,7 @@ namespace WixToolset.Core
10594
10595
if (null == id)
10596
{
10597
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
10597
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
10598
}
10599
10600
this.Core.ParseForExtensionElements(node);
@@ -10656,7 +10656,7 @@ namespace WixToolset.Core
10656
registration = 1;
10657
break;
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;
10661
}
10662
}
@@ -10674,7 +10674,7 @@ namespace WixToolset.Core
10674
10675
if (CompilerConstants.IntegerNotSet == registration)
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;
10679
}
10680
@@ -10784,7 +10784,7 @@ namespace WixToolset.Core
10784
// merge modules must always be compressed, so this attribute is invalid
10785
if (this.compilingModule)
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"));
10789
}
10790
else if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
@@ -10810,7 +10810,7 @@ namespace WixToolset.Core
10810
sourceBits = sourceBits | 8;
10811
break;
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;
10815
}
10816
}
@@ -10833,7 +10833,7 @@ namespace WixToolset.Core
10833
sourceBits = sourceBits | 8;
10834
break;
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;
10838
}
10839
}
@@ -10851,13 +10851,13 @@ namespace WixToolset.Core
10851
packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
10852
if ("PUT-COMPANY-NAME-HERE" == packageAuthor)
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
}
10856
break;
10857
case "Platform":
10858
if (null != platformValue)
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
}
10862
10863
platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -10865,7 +10865,7 @@ namespace WixToolset.Core
10865
switch (platformType)
10866
{
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;
10870
case Wix.Package.PlatformType.x86:
10871
platform = "Intel";
@@ -10874,7 +10874,7 @@ namespace WixToolset.Core
10874
platform = "x64";
10875
break;
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;
10879
case Wix.Package.PlatformType.ia64:
10880
platform = "Intel64";
@@ -10883,17 +10883,17 @@ namespace WixToolset.Core
10883
platform = "Arm";
10884
break;
10885
default:
10886
- this.Core.OnMessage(WixErrors.InvalidPlatformValue(sourceLineNumbers, platformValue));
10886
+ this.Core.Write(ErrorMessages.InvalidPlatformValue(sourceLineNumbers, platformValue));
10887
break;
10888
}
10889
break;
10890
case "Platforms":
10891
if (null != platformValue)
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
}
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);
10898
platform = platformValue;
10899
break;
@@ -10923,31 +10923,31 @@ namespace WixToolset.Core
10923
10924
if (installPrivilegeSeen && installScopeSeen)
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
}
10928
10929
if ((0 != String.Compare(platform, "Intel", StringComparison.OrdinalIgnoreCase)) && 200 > msiVersion)
10930
{
10931
msiVersion = 200;
10932
- this.Core.OnMessage(WixWarnings.RequiresMsi200for64bitPackage(sourceLineNumbers));
10932
+ this.Core.Write(WarningMessages.RequiresMsi200for64bitPackage(sourceLineNumbers));
10933
}
10934
10935
if ((0 == String.Compare(platform, "Arm", StringComparison.OrdinalIgnoreCase)) && 500 > msiVersion)
10936
{
10937
msiVersion = 500;
10938
- this.Core.OnMessage(WixWarnings.RequiresMsi500forArmPackage(sourceLineNumbers));
10938
+ this.Core.Write(WarningMessages.RequiresMsi500forArmPackage(sourceLineNumbers));
10939
}
10940
10941
if (null == packageAuthor)
10942
{
10943
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
10943
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
10944
}
10945
10946
if (this.compilingModule)
10947
{
10948
if (null == packageCode)
10949
{
10950
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
10950
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
10951
}
10952
10953
// merge modules use the modularization guid as the package code
@@ -10968,7 +10968,7 @@ namespace WixToolset.Core
10968
10969
if ("*" != packageCode)
10970
{
10971
- this.Core.OnMessage(WixWarnings.PackageCodeSet(sourceLineNumbers));
10971
+ this.Core.Write(WarningMessages.PackageCodeSet(sourceLineNumbers));
10972
}
10973
}
10974
@@ -11101,37 +11101,37 @@ namespace WixToolset.Core
11101
11102
if (YesNoType.NotSet == allowRemoval)
11103
{
11104
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "AllowRemoval"));
11104
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "AllowRemoval"));
11105
}
11106
11107
if (null == classification)
11108
{
11109
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification"));
11109
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Classification"));
11110
}
11111
11112
if (null == description)
11113
{
11114
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description"));
11114
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description"));
11115
}
11116
11117
if (null == displayName)
11118
{
11119
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName"));
11119
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "DisplayName"));
11120
}
11121
11122
if (null == manufacturerName)
11123
{
11124
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ManufacturerName"));
11124
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ManufacturerName"));
11125
}
11126
11127
if (null == moreInfoUrl)
11128
{
11129
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "MoreInfoURL"));
11129
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "MoreInfoURL"));
11130
}
11131
11132
if (null == targetProductName)
11133
{
11134
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "TargetProductName"));
11134
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "TargetProductName"));
11135
}
11136
11137
foreach (XElement child in node.Elements())
@@ -11288,17 +11288,17 @@ namespace WixToolset.Core
11288
11289
if (null == company)
11290
{
11291
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company"));
11291
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Company"));
11292
}
11293
11294
if (null == property)
11295
{
11296
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
11296
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
11297
}
11298
11299
if (null == value)
11300
{
11301
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
11301
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
11302
}
11303
11304
this.Core.ParseForExtensionElements(node);
@@ -11382,13 +11382,13 @@ namespace WixToolset.Core
11382
switch (attrib.Name.LocalName)
11383
{
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;
11387
case "Comments":
11388
comments = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
11389
break;
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;
11393
case "Description":
11394
packageName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -11397,19 +11397,19 @@ namespace WixToolset.Core
11397
keywords = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
11398
break;
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;
11402
case "Manufacturer":
11403
packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
11404
break;
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;
11408
case "ReadOnly":
11409
security = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
11410
break;
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;
11414
case "SummaryCodepage":
11415
codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib);
@@ -11508,7 +11508,7 @@ namespace WixToolset.Core
11508
SourceLineNumber sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
11509
string name = null;
11510
11511
- this.Core.OnMessage(WixWarnings.DeprecatedIgnoreModularizationElement(sourceLineNumbers));
11511
+ this.Core.Write(WarningMessages.DeprecatedIgnoreModularizationElement(sourceLineNumbers));
11512
11513
foreach (XAttribute attrib in node.Attributes())
11514
{
@@ -11535,7 +11535,7 @@ namespace WixToolset.Core
11535
11536
if (null == name)
11537
{
11538
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
11538
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
11539
}
11540
11541
this.Core.ParseForExtensionElements(node);
@@ -11624,12 +11624,12 @@ namespace WixToolset.Core
11624
11625
if (null == user)
11626
{
11627
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "User"));
11627
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "User"));
11628
}
11629
11630
if (int.MinValue == permission) // just GENERIC_READ, which is MSI_NULL
11631
{
11632
- this.Core.OnMessage(WixErrors.GenericReadNotAllowed(sourceLineNumbers));
11632
+ this.Core.Write(ErrorMessages.GenericReadNotAllowed(sourceLineNumbers));
11633
}
11634
11635
this.Core.ParseForExtensionElements(node);
@@ -11695,7 +11695,7 @@ namespace WixToolset.Core
11695
11696
if (null == sddl)
11697
{
11698
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Sddl"));
11698
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Sddl"));
11699
}
11700
11701
if (null == id)
@@ -11713,7 +11713,7 @@ namespace WixToolset.Core
11713
if (null != condition)
11714
{
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
}
11718
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);
11777
if ("PUT-COMPANY-NAME-HERE" == manufacturer)
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
}
11781
break;
11782
case "Name":
11783
this.activeName = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.MustHaveNonWhitespaceCharacters);
11784
if ("PUT-PRODUCT-NAME-HERE" == this.activeName)
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
}
11788
break;
11789
case "UpgradeCode":
@@ -11809,36 +11809,36 @@ namespace WixToolset.Core
11809
11810
if (null == productCode)
11811
{
11812
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
11812
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
11813
}
11814
11815
if (null == this.activeLanguage)
11816
{
11817
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
11817
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
11818
}
11819
11820
if (null == manufacturer)
11821
{
11822
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
11822
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
11823
}
11824
11825
if (null == this.activeName)
11826
{
11827
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
11827
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
11828
}
11829
11830
if (null == upgradeCode)
11831
{
11832
- this.Core.OnMessage(WixWarnings.MissingUpgradeCode(sourceLineNumbers));
11832
+ this.Core.Write(WarningMessages.MissingUpgradeCode(sourceLineNumbers));
11833
}
11834
11835
if (null == version)
11836
{
11837
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
11837
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
11838
}
11839
else if (!CompilerCore.IsValidProductVersion(version))
11840
{
11841
- this.Core.OnMessage(WixErrors.InvalidProductVersion(sourceLineNumbers, version));
11841
+ this.Core.Write(ErrorMessages.InvalidProductVersion(sourceLineNumbers, version));
11842
}
11843
11844
if (this.Core.EncounteredError)
@@ -12079,7 +12079,7 @@ namespace WixToolset.Core
12079
12080
if ((YesNoType.No == advertise && YesNoType.Yes == progIdAdvertise) || (YesNoType.Yes == advertise && YesNoType.No == progIdAdvertise))
12081
{
12082
- this.Core.OnMessage(WixErrors.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), progIdAdvertise.ToString()));
12082
+ this.Core.Write(ErrorMessages.AdvertiseStateMustMatch(sourceLineNumbers, advertise.ToString(), progIdAdvertise.ToString()));
12083
}
12084
else
12085
{
@@ -12093,7 +12093,7 @@ namespace WixToolset.Core
12093
12094
if (null != parent && (null != icon || CompilerConstants.IntegerNotSet != iconIndex))
12095
{
12096
- this.Core.OnMessage(WixErrors.VersionIndependentProgIdsCannotHaveIcons(sourceLineNumbers));
12096
+ this.Core.Write(ErrorMessages.VersionIndependentProgIdsCannotHaveIcons(sourceLineNumbers));
12097
}
12098
12099
YesNoType firstProgIdForNestedClass = YesNoType.Yes;
@@ -12125,7 +12125,7 @@ namespace WixToolset.Core
12125
else
12126
{
12127
SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
12128
- this.Core.OnMessage(WixErrors.ProgIdNestedTooDeep(childSourceLineNumbers));
12128
+ this.Core.Write(ErrorMessages.ProgIdNestedTooDeep(childSourceLineNumbers));
12129
}
12130
break;
12131
default:
@@ -12209,7 +12209,7 @@ namespace WixToolset.Core
12209
// raise an error for an orphaned ProgId
12210
if (YesNoType.Yes == advertise && !foundExtension && null == parent && null == classId)
12211
{
12212
- this.Core.OnMessage(WixWarnings.OrphanedProgId(sourceLineNumbers, progId));
12212
+ this.Core.Write(WarningMessages.OrphanedProgId(sourceLineNumbers, progId));
12213
}
12214
12215
return progId;
@@ -12270,16 +12270,16 @@ namespace WixToolset.Core
12270
12271
if (null == id)
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;
12275
}
12276
else if ("ProductID" == id.Id)
12277
{
12278
- this.Core.OnMessage(WixWarnings.ProductIdAuthored(sourceLineNumbers));
12278
+ this.Core.Write(WarningMessages.ProductIdAuthored(sourceLineNumbers));
12279
}
12280
else if ("SecureCustomProperties" == id.Id || "AdminProperties" == id.Id || "MsiHiddenProperties" == id.Id)
12281
{
12282
- this.Core.OnMessage(WixErrors.CannotAuthorSpecialProperties(sourceLineNumbers, id.Id));
12282
+ this.Core.Write(ErrorMessages.CannotAuthorSpecialProperties(sourceLineNumbers, id.Id));
12283
}
12284
12285
string innerText = this.Core.GetTrimmedInnerText(node);
@@ -12288,7 +12288,7 @@ namespace WixToolset.Core
12288
// cannot specify both the value attribute and inner text
12289
if (!String.IsNullOrEmpty(innerText))
12290
{
12291
- this.Core.OnMessage(WixErrors.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value"));
12291
+ this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value"));
12292
}
12293
}
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.
12327
if (complianceCheck && 0 == signatures.Count)
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
}
12331
12332
foreach (string sig in signatures)
@@ -12350,7 +12350,7 @@ namespace WixToolset.Core
12350
// the element.
12351
if (String.IsNullOrEmpty(value) && !admin && !secure && !hidden)
12352
{
12353
- this.Core.OnMessage(WixWarnings.PropertyUseless(sourceLineNumbers, id.Id));
12353
+ this.Core.Write(WarningMessages.PropertyUseless(sourceLineNumbers, id.Id));
12354
}
12355
else // there is a value and/or a flag set, do that.
12356
{
@@ -12360,7 +12360,7 @@ namespace WixToolset.Core
12360
12361
if (!this.Core.EncounteredError && YesNoType.Yes == suppressModularization)
12362
{
12363
- this.Core.OnMessage(WixWarnings.PropertyModularizationSuppressed(sourceLineNumbers));
12363
+ this.Core.Write(WarningMessages.PropertyModularizationSuppressed(sourceLineNumbers));
12364
12365
this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.WixSuppressModularization, id);
12366
}
@@ -12402,7 +12402,7 @@ namespace WixToolset.Core
12402
id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
12403
break;
12404
case "Action":
12405
- this.Core.OnMessage(WixWarnings.DeprecatedRegistryKeyActionAttribute(sourceLineNumbers));
12405
+ this.Core.Write(WarningMessages.DeprecatedRegistryKeyActionAttribute(sourceLineNumbers));
12406
action = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
12407
if (0 < action.Length)
12408
{
@@ -12419,7 +12419,7 @@ namespace WixToolset.Core
12419
case Wix.RegistryKey.ActionType.none:
12420
break;
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;
12424
}
12425
}
@@ -12440,7 +12440,7 @@ namespace WixToolset.Core
12440
case "Root":
12441
if (CompilerConstants.IntegerNotSet != root)
12442
{
12443
- this.Core.OnMessage(WixErrors.RegistryRootInvalid(sourceLineNumbers));
12443
+ this.Core.Write(ErrorMessages.RegistryRootInvalid(sourceLineNumbers));
12444
}
12445
12446
root = this.Core.GetAttributeMsidbRegistryRootValue(sourceLineNumbers, attrib, true);
@@ -12470,19 +12470,19 @@ namespace WixToolset.Core
12470
{
12471
if (null != id)
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
}
12475
}
12476
12477
if (CompilerConstants.IntegerNotSet == root)
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;
12481
}
12482
12483
if (null == key)
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
12487
}
12488
@@ -12499,7 +12499,7 @@ namespace WixToolset.Core
12499
{
12500
if (YesNoType.Yes == keyPath)
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
}
12504
12505
possibleKeyPath = possibleChildKeyPath; // the child is the key path
@@ -12515,7 +12515,7 @@ namespace WixToolset.Core
12515
{
12516
if (YesNoType.Yes == keyPath)
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
}
12520
12521
possibleKeyPath = possibleChildKeyPath; // the child is the key path
@@ -12529,14 +12529,14 @@ namespace WixToolset.Core
12529
case "Permission":
12530
if (!forceCreateOnInstall)
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
}
12534
this.ParsePermissionElement(child, id.Id, "Registry");
12535
break;
12536
case "PermissionEx":
12537
if (!forceCreateOnInstall)
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
}
12541
this.ParsePermissionExElement(child, id.Id, "Registry");
12542
break;
@@ -12610,7 +12610,7 @@ namespace WixToolset.Core
12610
{
12611
if (!Wix.RegistryValue.TryParseActionType(action, out actionType))
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
}
12615
}
12616
break;
@@ -12637,7 +12637,7 @@ namespace WixToolset.Core
12637
case "Root":
12638
if (CompilerConstants.IntegerNotSet != root)
12639
{
12640
- this.Core.OnMessage(WixErrors.RegistryRootInvalid(sourceLineNumbers));
12640
+ this.Core.Write(ErrorMessages.RegistryRootInvalid(sourceLineNumbers));
12641
}
12642
12643
root = this.Core.GetAttributeMsidbRegistryRootValue(sourceLineNumbers, attrib, true);
@@ -12648,7 +12648,7 @@ namespace WixToolset.Core
12648
{
12649
if (!Wix.RegistryValue.TryParseTypeType(type, out typeType))
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
}
12653
}
12654
break;
@@ -12675,22 +12675,22 @@ namespace WixToolset.Core
12675
if ((Wix.RegistryValue.ActionType.append == actionType || Wix.RegistryValue.ActionType.prepend == actionType) &&
12676
Wix.RegistryValue.TypeType.multiString != typeType)
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
}
12680
12681
if (null == key)
12682
{
12683
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
12683
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
12684
}
12685
12686
if (CompilerConstants.IntegerNotSet == root)
12687
{
12688
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
12688
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
12689
}
12690
12691
if (null == type)
12692
{
12693
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
12693
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
12694
}
12695
12696
foreach (XElement child in node.Elements())
@@ -12702,7 +12702,7 @@ namespace WixToolset.Core
12702
case "MultiStringValue":
12703
if (Wix.RegistryValue.TypeType.multiString != typeType && null != value)
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
}
12707
else if (null == value)
12708
{
@@ -12773,11 +12773,11 @@ namespace WixToolset.Core
12773
// value may be set by child MultiStringValue elements, so it must be checked here
12774
if (null == value)
12775
{
12776
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
12776
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
12777
}
12778
else if (0 == value.Length && ("+" == name || "-" == name || "*" == name)) // prevent accidental authoring of special name values
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
}
12782
12783
if (!this.Core.EncounteredError)
@@ -12834,7 +12834,7 @@ namespace WixToolset.Core
12834
{
12835
if (!Wix.RemoveRegistryKey.TryParseActionType(action, out actionType))
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
}
12839
}
12840
break;
@@ -12863,17 +12863,17 @@ namespace WixToolset.Core
12863
12864
if (null == action)
12865
{
12866
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
12866
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
12867
}
12868
12869
if (null == key)
12870
{
12871
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
12871
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
12872
}
12873
12874
if (CompilerConstants.IntegerNotSet == root)
12875
{
12876
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
12876
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
12877
}
12878
12879
this.Core.ParseForExtensionElements(node);
@@ -12949,12 +12949,12 @@ namespace WixToolset.Core
12949
12950
if (null == key)
12951
{
12952
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
12952
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
12953
}
12954
12955
if (CompilerConstants.IntegerNotSet == root)
12956
{
12957
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
12957
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Root"));
12958
}
12959
12960
this.Core.ParseForExtensionElements(node);
@@ -13037,7 +13037,7 @@ namespace WixToolset.Core
13037
13038
if (null == name)
13039
{
13040
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
13040
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
13041
}
13042
else if (0 < name.Length)
13043
{
@@ -13050,7 +13050,7 @@ namespace WixToolset.Core
13050
}
13051
else
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
}
13055
}
13056
else if (null == shortName) // generate a short file name.
@@ -13061,13 +13061,13 @@ namespace WixToolset.Core
13061
13062
if (CompilerConstants.IntegerNotSet == on)
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;
13066
}
13067
13068
if (null != directory && null != property)
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
}
13072
13073
if (null == id)
@@ -13158,13 +13158,13 @@ namespace WixToolset.Core
13158
13159
if (CompilerConstants.IntegerNotSet == on)
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;
13163
}
13164
13165
if (null != directory && null != property)
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
}
13169
13170
if (null == id)
@@ -13244,12 +13244,12 @@ namespace WixToolset.Core
13244
13245
if (CompilerConstants.IntegerNotSet == runFromSource)
13246
{
13247
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunFromSource"));
13247
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunFromSource"));
13248
}
13249
13250
if (CompilerConstants.IntegerNotSet == runLocal)
13251
{
13252
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunLocal"));
13252
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "RunLocal"));
13253
}
13254
13255
this.Core.ParseForExtensionElements(node);
@@ -13395,22 +13395,22 @@ namespace WixToolset.Core
13395
13396
if (customAction && "Custom" == actionName)
13397
{
13398
- this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Action"));
13398
+ this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Action"));
13399
}
13400
else if (showDialog && "Show" == actionName)
13401
{
13402
- this.Core.OnMessage(WixErrors.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Dialog"));
13402
+ this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Dialog"));
13403
}
13404
13405
if (CompilerConstants.IntegerNotSet != sequence)
13406
{
13407
if (CompilerConstants.IntegerNotSet != exitSequence)
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
}
13411
else if (null != beforeAction || null != afterAction)
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
}
13415
}
13416
else // sequence not specified use OnExit (which may also be not set).
@@ -13420,33 +13420,33 @@ namespace WixToolset.Core
13420
13421
if (null != beforeAction && null != afterAction)
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
}
13425
else if ((customAction || showDialog || specialAction) && !suppress && CompilerConstants.IntegerNotSet == sequence && null == beforeAction && null == afterAction)
13426
{
13427
- this.Core.OnMessage(WixErrors.NeedSequenceBeforeOrAfter(childSourceLineNumbers, child.Name.LocalName));
13427
+ this.Core.Write(ErrorMessages.NeedSequenceBeforeOrAfter(childSourceLineNumbers, child.Name.LocalName));
13428
}
13429
13430
// action that is scheduled to occur before/after itself
13431
if (beforeAction == actionName)
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
}
13435
else if (afterAction == actionName)
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
}
13439
13440
// normal standard actions cannot be set overridable by the user (since they are overridable by default)
13441
if (overridable && WindowsInstallerStandard.IsStandardAction(actionName) && !specialAction)
13442
{
13443
- this.Core.OnMessage(WixErrors.UnexpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Overridable"));
13443
+ this.Core.Write(ErrorMessages.UnexpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Overridable"));
13444
}
13445
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))
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
}
13451
13452
this.Core.ParseForExtensionElements(child);
@@ -13497,7 +13497,7 @@ namespace WixToolset.Core
13497
string requiredPrivileges = null;
13498
string sid = null;
13499
13500
- this.Core.OnMessage(WixWarnings.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName));
13500
+ this.Core.Write(WarningMessages.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName));
13501
13502
foreach (XAttribute attrib in node.Attributes())
13503
{
@@ -13574,7 +13574,7 @@ namespace WixToolset.Core
13574
case "ServiceName":
13575
if (!String.IsNullOrEmpty(serviceName))
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
}
13579
13580
name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -13752,7 +13752,7 @@ namespace WixToolset.Core
13752
13753
if (String.IsNullOrEmpty(name))
13754
{
13755
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName"));
13755
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName"));
13756
}
13757
else if (null == id)
13758
{
@@ -13761,12 +13761,12 @@ namespace WixToolset.Core
13761
13762
if (0 == events)
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
}
13766
13767
if (String.IsNullOrEmpty(delayedAutoStart) && String.IsNullOrEmpty(failureActionsWhen) && String.IsNullOrEmpty(preShutdownDelay) && String.IsNullOrEmpty(requiredPrivileges) && String.IsNullOrEmpty(sid))
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
}
13771
13772
if (!this.Core.EncounteredError)
@@ -13841,7 +13841,7 @@ namespace WixToolset.Core
13841
string actions = null;
13842
string actionsDelays = null;
13843
13844
- this.Core.OnMessage(WixWarnings.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName));
13844
+ this.Core.Write(WarningMessages.ServiceConfigFamilyNotSupported(sourceLineNumbers, node.Name.LocalName));
13845
13846
foreach (XAttribute attrib in node.Attributes())
13847
{
@@ -13885,7 +13885,7 @@ namespace WixToolset.Core
13885
case "ServiceName":
13886
if (!String.IsNullOrEmpty(serviceName))
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
}
13890
13891
name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -13952,12 +13952,12 @@ namespace WixToolset.Core
13952
13953
if (String.IsNullOrEmpty(action))
13954
{
13955
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Action"));
13955
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Action"));
13956
}
13957
13958
if (String.IsNullOrEmpty(delay))
13959
{
13960
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Delay"));
13960
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, child.Name.LocalName, "Delay"));
13961
}
13962
13963
if (!String.IsNullOrEmpty(actions))
@@ -13985,7 +13985,7 @@ namespace WixToolset.Core
13985
13986
if (String.IsNullOrEmpty(name))
13987
{
13988
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName"));
13988
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ServiceName"));
13989
}
13990
else if (null == id)
13991
{
@@ -13994,7 +13994,7 @@ namespace WixToolset.Core
13994
13995
if (0 == events)
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
}
13999
14000
if (!this.Core.EncounteredError)
@@ -14106,7 +14106,7 @@ namespace WixToolset.Core
14106
14107
if (null == name)
14108
{
14109
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14109
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14110
}
14111
14112
// get the ServiceControl arguments
@@ -14184,7 +14184,7 @@ namespace WixToolset.Core
14184
14185
if (null == dependency)
14186
{
14187
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14187
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14188
}
14189
14190
this.Core.ParseForExtensionElements(node);
@@ -14255,7 +14255,7 @@ namespace WixToolset.Core
14255
errorbits |= MsiInterop.MsidbServiceInstallErrorCritical;
14256
break;
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;
14260
}
14261
}
@@ -14293,10 +14293,10 @@ namespace WixToolset.Core
14293
break;
14294
case Wix.ServiceInstall.StartType.boot:
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;
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;
14301
}
14302
}
@@ -14316,10 +14316,10 @@ namespace WixToolset.Core
14316
break;
14317
case Wix.ServiceInstall.TypeType.kernelDriver:
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;
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;
14324
}
14325
}
@@ -14343,7 +14343,7 @@ namespace WixToolset.Core
14343
14344
if (String.IsNullOrEmpty(name))
14345
{
14346
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14346
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14347
}
14348
else if (null == id)
14349
{
@@ -14352,7 +14352,7 @@ namespace WixToolset.Core
14352
14353
if (0 == startType)
14354
{
14355
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Start"));
14355
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Start"));
14356
}
14357
14358
if (eraseDescription)
@@ -14462,7 +14462,7 @@ namespace WixToolset.Core
14462
// default so no work necessary.
14463
break;
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;
14467
}
14468
}
@@ -14485,7 +14485,7 @@ namespace WixToolset.Core
14485
14486
if (null == id)
14487
{
14488
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14488
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14489
}
14490
else if (String.IsNullOrEmpty(actionName))
14491
{
@@ -14494,7 +14494,7 @@ namespace WixToolset.Core
14494
14495
if (null == value)
14496
{
14497
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
14497
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
14498
}
14499
14500
this.Core.ParseForExtensionElements(node);
@@ -14577,7 +14577,7 @@ namespace WixToolset.Core
14577
// default so no work necessary.
14578
break;
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;
14582
}
14583
}
@@ -14600,7 +14600,7 @@ namespace WixToolset.Core
14600
14601
if (null == id)
14602
{
14603
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14603
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14604
}
14605
else if (String.IsNullOrEmpty(actionName))
14606
{
@@ -14609,16 +14609,16 @@ namespace WixToolset.Core
14609
14610
if (null == value)
14611
{
14612
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
14612
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
14613
}
14614
14615
if (null != beforeAction && null != afterAction)
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
}
14619
else if (null == beforeAction && null == afterAction)
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
}
14623
14624
this.Core.ParseForExtensionElements(node);
@@ -14629,11 +14629,11 @@ namespace WixToolset.Core
14629
// action that is scheduled to occur before/after itself
14630
if (beforeAction == actionName)
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
}
14634
else if (afterAction == actionName)
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
}
14638
14639
var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.CustomAction);
@@ -14712,7 +14712,7 @@ namespace WixToolset.Core
14712
14713
if (null == id)
14714
{
14715
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14715
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
14716
}
14717
14718
this.Core.ParseForExtensionElements(node);
@@ -14767,12 +14767,12 @@ namespace WixToolset.Core
14767
14768
if (null == name)
14769
{
14770
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14770
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14771
}
14772
14773
if (null == sourceFile)
14774
{
14775
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
14775
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
14776
}
14777
14778
foreach (XElement child in node.Elements())
@@ -14785,7 +14785,7 @@ namespace WixToolset.Core
14785
this.ParseSFPCatalogElement(child, ref parentName);
14786
if (null != dependency && parentName == dependency)
14787
{
14788
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency"));
14788
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency"));
14789
}
14790
dependency = parentName;
14791
break;
@@ -14805,7 +14805,7 @@ namespace WixToolset.Core
14805
14806
if (null == dependency)
14807
{
14808
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency"));
14808
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dependency"));
14809
}
14810
14811
if (!this.Core.EncounteredError)
@@ -14916,7 +14916,7 @@ namespace WixToolset.Core
14916
show = 7;
14917
break;
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;
14921
break;
14922
}
@@ -14941,7 +14941,7 @@ namespace WixToolset.Core
14941
14942
if (advertise && null != target)
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
}
14946
14947
if (null == directory)
@@ -14952,7 +14952,7 @@ namespace WixToolset.Core
14952
}
14953
else
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
}
14957
}
14958
@@ -14960,14 +14960,14 @@ namespace WixToolset.Core
14960
{
14961
if (CompilerConstants.IntegerNotSet == descriptionResourceId)
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
}
14965
}
14966
else
14967
{
14968
if (CompilerConstants.IntegerNotSet != descriptionResourceId)
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
}
14972
}
14973
@@ -14975,20 +14975,20 @@ namespace WixToolset.Core
14975
{
14976
if (CompilerConstants.IntegerNotSet == displayResourceId)
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
}
14980
}
14981
else
14982
{
14983
if (CompilerConstants.IntegerNotSet != displayResourceId)
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
}
14987
}
14988
14989
if (null == name)
14990
{
14991
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14991
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
14992
}
14993
else if (0 < name.Length)
14994
{
@@ -15001,7 +15001,7 @@ namespace WixToolset.Core
15001
}
15002
else
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
}
15006
}
15007
else if (null == shortName) // generate a short file name.
@@ -15012,7 +15012,7 @@ namespace WixToolset.Core
15012
15013
if ("Component" != parentElementLocalName && null != target)
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
}
15017
15018
if (null == id)
@@ -15053,7 +15053,7 @@ namespace WixToolset.Core
15053
{
15054
if (YesNoType.Yes != parentKeyPath && "Component" != parentElementLocalName)
15055
{
15056
- this.Core.OnMessage(WixWarnings.UnclearShortcut(sourceLineNumbers, id.Id, componentId, defaultTarget));
15056
+ this.Core.Write(WarningMessages.UnclearShortcut(sourceLineNumbers, id.Id, componentId, defaultTarget));
15057
}
15058
row.Set(4, Guid.Empty.ToString("B"));
15059
}
@@ -15138,7 +15138,7 @@ namespace WixToolset.Core
15138
15139
if (String.IsNullOrEmpty(key))
15140
{
15141
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
15141
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
15142
}
15143
else if (null == id)
15144
{
@@ -15154,13 +15154,13 @@ namespace WixToolset.Core
15154
}
15155
else // cannot specify both the value attribute and inner text
15156
{
15157
- this.Core.OnMessage(WixErrors.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value"));
15157
+ this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value"));
15158
}
15159
}
15160
15161
if (String.IsNullOrEmpty(value))
15162
{
15163
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
15163
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
15164
}
15165
15166
this.Core.ParseForExtensionElements(node);
@@ -15265,12 +15265,12 @@ namespace WixToolset.Core
15265
15266
if (null == id)
15267
{
15268
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
15268
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
15269
}
15270
15271
if (CompilerConstants.IntegerNotSet == language)
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;
15275
}
15276
@@ -15334,29 +15334,29 @@ namespace WixToolset.Core
15334
{
15335
if (CompilerConstants.LongNotSet != resourceId)
15336
{
15337
- this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "ResourceId"));
15337
+ this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "ResourceId"));
15338
}
15339
15340
if (0 != flags)
15341
{
15342
if (0x1 == (flags & 0x1))
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
}
15346
15347
if (0x2 == (flags & 0x2))
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
}
15351
15352
if (0x4 == (flags & 0x4))
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
}
15356
15357
if (0x8 == (flags & 0x8))
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
}
15361
}
15362
@@ -15383,17 +15383,17 @@ namespace WixToolset.Core
15383
{
15384
if (CompilerConstants.IntegerNotSet != cost && CompilerConstants.IllegalInteger != cost)
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
}
15388
15389
if (null == fileServer)
15390
{
15391
- this.Core.OnMessage(WixErrors.MissingTypeLibFile(sourceLineNumbers, node.Name.LocalName, "File"));
15391
+ this.Core.Write(ErrorMessages.MissingTypeLibFile(sourceLineNumbers, node.Name.LocalName, "File"));
15392
}
15393
15394
if (null == registryVersion)
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
}
15398
15399
// HKCR\TypeLib\[ID]\[MajorVersion].[MinorVersion], (Default) = [Description]
@@ -15443,7 +15443,7 @@ namespace WixToolset.Core
15443
case "BinarySource":
15444
if (null != source)
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
}
15448
source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
15449
type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeBinaryData;
@@ -15455,7 +15455,7 @@ namespace WixToolset.Core
15455
case "FileSource":
15456
if (null != source)
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
}
15460
source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
15461
type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeSourceFile;
@@ -15464,7 +15464,7 @@ namespace WixToolset.Core
15464
case "PropertySource":
15465
if (null != source)
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
}
15469
source = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
15470
type = MsiInterop.MsidbCustomActionTypeExe + MsiInterop.MsidbCustomActionTypeProperty;
@@ -15491,7 +15491,7 @@ namespace WixToolset.Core
15491
15492
if (null == source)
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
}
15496
15497
if (!this.Core.EncounteredError)
@@ -15556,7 +15556,7 @@ namespace WixToolset.Core
15556
if (0 < embeddedUICount) // there can be only one embedded UI
15557
{
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
}
15561
this.ParseEmbeddedUIElement(child);
15562
++embeddedUICount;
@@ -15582,7 +15582,7 @@ namespace WixToolset.Core
15582
if (RadioButtonType.Bitmap == radioButtonType || RadioButtonType.Icon == radioButtonType)
15583
{
15584
SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
15585
- this.Core.OnMessage(WixErrors.RadioButtonBitmapAndIconDisallowed(childSourceLineNumbers));
15585
+ this.Core.Write(ErrorMessages.RadioButtonBitmapAndIconDisallowed(childSourceLineNumbers));
15586
}
15587
break;
15588
case "TextStyle":
@@ -15655,7 +15655,7 @@ namespace WixToolset.Core
15655
}
15656
else
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
}
15660
break;
15661
case "Text":
@@ -15677,7 +15677,7 @@ namespace WixToolset.Core
15677
15678
if (null == value)
15679
{
15680
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
15680
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
15681
}
15682
15683
this.Core.ParseForExtensionElements(node);
@@ -15725,7 +15725,7 @@ namespace WixToolset.Core
15725
case "Bitmap":
15726
if (RadioButtonType.NotSet != type)
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
}
15730
text = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
15731
this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", text);
@@ -15740,7 +15740,7 @@ namespace WixToolset.Core
15740
case "Icon":
15741
if (RadioButtonType.NotSet != type)
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
}
15745
text = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
15746
this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", text);
@@ -15749,7 +15749,7 @@ namespace WixToolset.Core
15749
case "Text":
15750
if (RadioButtonType.NotSet != type)
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
}
15754
text = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
15755
type = RadioButtonType.Text;
@@ -15782,27 +15782,27 @@ namespace WixToolset.Core
15782
15783
if (null == value)
15784
{
15785
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
15785
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
15786
}
15787
15788
if (null == x)
15789
{
15790
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X"));
15790
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X"));
15791
}
15792
15793
if (null == y)
15794
{
15795
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y"));
15795
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y"));
15796
}
15797
15798
if (null == width)
15799
{
15800
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width"));
15800
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width"));
15801
}
15802
15803
if (null == height)
15804
{
15805
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height"));
15805
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height"));
15806
}
15807
15808
this.Core.ParseForExtensionElements(node);
@@ -15860,7 +15860,7 @@ namespace WixToolset.Core
15860
15861
if (null == action)
15862
{
15863
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
15863
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
15864
}
15865
15866
foreach (XElement child in node.Elements())
@@ -15996,7 +15996,7 @@ namespace WixToolset.Core
15996
15997
if (null == property)
15998
{
15999
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
15999
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
16000
}
16001
16002
foreach (XElement child in node.Elements())
@@ -16064,7 +16064,7 @@ namespace WixToolset.Core
16064
16065
if (null == property)
16066
{
16067
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
16067
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
16068
}
16069
16070
foreach (XElement child in node.Elements())
@@ -16082,7 +16082,7 @@ namespace WixToolset.Core
16082
else if (groupType != type)
16083
{
16084
SourceLineNumber childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
16085
- this.Core.OnMessage(WixErrors.RadioButtonTypeInconsistent(childSourceLineNumbers));
16085
+ this.Core.Write(ErrorMessages.RadioButtonTypeInconsistent(childSourceLineNumbers));
16086
}
16087
break;
16088
default:
@@ -16135,7 +16135,7 @@ namespace WixToolset.Core
16135
16136
if (null == action)
16137
{
16138
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
16138
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
16139
}
16140
16141
this.Core.ParseForExtensionElements(node);
@@ -16314,7 +16314,7 @@ namespace WixToolset.Core
16314
16315
if (null == faceName)
16316
{
16317
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "FaceName"));
16317
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "FaceName"));
16318
}
16319
16320
this.Core.ParseForExtensionElements(node);
@@ -16458,7 +16458,7 @@ namespace WixToolset.Core
16458
16459
if (null == id)
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;
16463
}
16464
@@ -16498,7 +16498,7 @@ namespace WixToolset.Core
16498
16499
if (null == firstControl)
16500
{
16501
- this.Core.OnMessage(WixErrors.NoFirstControlSpecified(sourceLineNumbers, id.Id));
16501
+ this.Core.Write(ErrorMessages.NoFirstControlSpecified(sourceLineNumbers, id.Id));
16502
}
16503
16504
if (!this.Core.EncounteredError)
@@ -16676,14 +16676,14 @@ namespace WixToolset.Core
16676
16677
if (String.IsNullOrEmpty(sourceFile))
16678
{
16679
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
16679
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
16680
}
16681
else if (String.IsNullOrEmpty(name))
16682
{
16683
name = Path.GetFileName(sourceFile);
16684
if (!this.Core.IsValidLongFilename(name, false))
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
}
16688
}
16689
@@ -16696,11 +16696,11 @@ namespace WixToolset.Core
16696
16697
if (null == id)
16698
{
16699
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
16699
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
16700
}
16701
else if (!Common.IsIdentifier(id.Id))
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
}
16705
}
16706
else if (String.IsNullOrEmpty(name))
@@ -16710,7 +16710,7 @@ namespace WixToolset.Core
16710
16711
if (!name.Contains("."))
16712
{
16713
- this.Core.OnMessage(WixErrors.InvalidEmbeddedUIFileName(sourceLineNumbers, name));
16713
+ this.Core.Write(ErrorMessages.InvalidEmbeddedUIFileName(sourceLineNumbers, name));
16714
}
16715
16716
foreach (XElement child in node.Elements())
@@ -16783,14 +16783,14 @@ namespace WixToolset.Core
16783
16784
if (String.IsNullOrEmpty(sourceFile))
16785
{
16786
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
16786
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
16787
}
16788
else if (String.IsNullOrEmpty(name))
16789
{
16790
name = Path.GetFileName(sourceFile);
16791
if (!this.Core.IsValidLongFilename(name, false))
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
}
16795
}
16796
@@ -16803,11 +16803,11 @@ namespace WixToolset.Core
16803
16804
if (null == id)
16805
{
16806
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
16806
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
16807
}
16808
else if (!Common.IsIdentifier(id.Id))
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
}
16812
}
16813
else if (String.IsNullOrEmpty(name))
@@ -16868,7 +16868,7 @@ namespace WixToolset.Core
16868
XAttribute typeAttribute = node.Attribute("Type");
16869
if (null == typeAttribute)
16870
{
16871
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
16871
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
16872
}
16873
else
16874
{
@@ -17016,14 +17016,14 @@ namespace WixToolset.Core
17016
this.Core.TrySetBitFromName(specialAttributes, "Icon32", YesNoType.Yes, bits, 16);
17017
break;
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;
17021
}
17022
}
17023
}
17024
else
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
}
17028
break;
17029
case "Property":
@@ -17074,22 +17074,22 @@ namespace WixToolset.Core
17074
17075
if (null == height)
17076
{
17077
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height"));
17077
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Height"));
17078
}
17079
17080
if (null == width)
17081
{
17082
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width"));
17082
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Width"));
17083
}
17084
17085
if (null == x)
17086
{
17087
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X"));
17087
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "X"));
17088
}
17089
17090
if (null == y)
17091
{
17092
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y"));
17092
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Y"));
17093
}
17094
17095
if (null == id)
@@ -17165,7 +17165,7 @@ namespace WixToolset.Core
17165
text = Common.GetInnerText(child);
17166
if (!String.IsNullOrEmpty(text) && null != sourceFile)
17167
{
17168
- this.Core.OnMessage(WixErrors.IllegalAttributeWithInnerText(childSourceLineNumbers, child.Name.LocalName, "SourceFile"));
17168
+ this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(childSourceLineNumbers, child.Name.LocalName, "SourceFile"));
17169
}
17170
break;
17171
default:
@@ -17211,11 +17211,11 @@ namespace WixToolset.Core
17211
{
17212
if (String.IsNullOrEmpty(property) && String.IsNullOrEmpty(checkBoxPropertyRef))
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
}
17216
else if (!String.IsNullOrEmpty(property) && !String.IsNullOrEmpty(checkBoxPropertyRef))
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
}
17220
else if (!String.IsNullOrEmpty(property))
17221
{
@@ -17272,7 +17272,7 @@ namespace WixToolset.Core
17272
{
17273
if (TupleDefinitionType.BBControl == tableName)
17274
{
17275
- this.Core.OnMessage(WixErrors.TabbableControlNotAllowedInBillboard(sourceLineNumbers, node.Name.LocalName, controlType));
17275
+ this.Core.Write(ErrorMessages.TabbableControlNotAllowedInBillboard(sourceLineNumbers, node.Name.LocalName, controlType));
17276
}
17277
17278
if (null == firstControl)
@@ -17322,14 +17322,14 @@ namespace WixToolset.Core
17322
case "Control":
17323
if (null != control)
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
}
17327
control = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
17328
break;
17329
case "Dialog":
17330
if (null != dialog)
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
}
17334
dialog = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
17335
this.Core.CreateSimpleReference(sourceLineNumbers, "Dialog", dialog);
@@ -17361,28 +17361,28 @@ namespace WixToolset.Core
17361
17362
if (null == control)
17363
{
17364
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Control"));
17364
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Control"));
17365
}
17366
17367
if (null == dialog)
17368
{
17369
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dialog"));
17369
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Dialog"));
17370
}
17371
17372
if (null == controlEvent && null == property) // need to specify at least one
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
}
17376
else if (null != controlEvent && null != property) // cannot specify both
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
}
17380
17381
if (null == argument)
17382
{
17383
if (null != controlEvent)
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
}
17387
else if (null != property)
17388
{
@@ -17499,7 +17499,7 @@ namespace WixToolset.Core
17499
17500
if (null == id)
17501
{
17502
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
17502
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
17503
}
17504
17505
// process the UpgradeVersion children here
@@ -17513,7 +17513,7 @@ namespace WixToolset.Core
17513
{
17514
case "Property":
17515
this.ParsePropertyElement(child);
17516
- this.Core.OnMessage(WixWarnings.DeprecatedUpgradeProperty(childSourceLineNumbers));
17516
+ this.Core.Write(WarningMessages.DeprecatedUpgradeProperty(childSourceLineNumbers));
17517
break;
17518
case "UpgradeVersion":
17519
this.ParseUpgradeVersionElement(child, id);
@@ -17618,16 +17618,16 @@ namespace WixToolset.Core
17618
17619
if (null == actionProperty)
17620
{
17621
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
17621
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Property"));
17622
}
17623
else if (actionProperty.ToUpper(CultureInfo.InvariantCulture) != actionProperty)
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
}
17627
17628
if (null == minimum && null == maximum)
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
}
17632
17633
this.Core.ParseForExtensionElements(node);
@@ -17694,7 +17694,7 @@ namespace WixToolset.Core
17694
break;
17695
case "Target":
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;
17699
case "TargetFile":
17700
targetFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -17716,22 +17716,22 @@ namespace WixToolset.Core
17716
17717
if (null == id)
17718
{
17719
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
17719
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
17720
}
17721
17722
if (null != target && null != targetFile)
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
}
17726
17727
if (null != target && null != targetProperty)
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
}
17731
17732
if (null != targetFile && null != targetProperty)
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
}
17736
17737
this.Core.ParseForExtensionElements(node);
@@ -17740,17 +17740,17 @@ namespace WixToolset.Core
17740
{
17741
if (null != target)
17742
{
17743
- this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Target"));
17743
+ this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "Target"));
17744
}
17745
17746
if (null != targetFile)
17747
{
17748
- this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetFile"));
17748
+ this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetFile"));
17749
}
17750
17751
if (null != targetProperty)
17752
{
17753
- this.Core.OnMessage(WixErrors.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetProperty"));
17753
+ this.Core.Write(ErrorMessages.IllegalAttributeWhenAdvertised(sourceLineNumbers, node.Name.LocalName, "TargetProperty"));
17754
}
17755
17756
if (!this.Core.EncounteredError)
@@ -17770,12 +17770,12 @@ namespace WixToolset.Core
17770
{
17771
if (CompilerConstants.IntegerNotSet != sequence)
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
}
17775
17776
if (null == target && null == targetFile && null == targetProperty)
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
}
17780
17781
if (null == target)
@@ -17851,12 +17851,12 @@ namespace WixToolset.Core
17851
17852
if (null == id)
17853
{
17854
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
17854
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
17855
}
17856
17857
if (null == key)
17858
{
17859
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
17859
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Key"));
17860
}
17861
17862
BundleApprovedExeForElevationAttributes attributes = BundleApprovedExeForElevationAttributes.None;
@@ -17938,7 +17938,7 @@ namespace WixToolset.Core
17938
disableModify = 0;
17939
break;
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;
17943
}
17944
break;
@@ -17946,7 +17946,7 @@ namespace WixToolset.Core
17946
disableRemove = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
17947
break;
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;
17951
case "HelpTelephone":
17952
helpTelephone = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -17990,16 +17990,16 @@ namespace WixToolset.Core
17990
17991
if (String.IsNullOrEmpty(version))
17992
{
17993
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
17993
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
17994
}
17995
else if (!CompilerCore.IsValidModuleOrBundleVersion(version))
17996
{
17997
- this.Core.OnMessage(WixWarnings.InvalidModuleOrBundleVersion(sourceLineNumbers, "Bundle", version));
17997
+ this.Core.Write(WarningMessages.InvalidModuleOrBundleVersion(sourceLineNumbers, "Bundle", version));
17998
}
17999
18000
if (String.IsNullOrEmpty(upgradeCode))
18001
{
18002
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "UpgradeCode"));
18002
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "UpgradeCode"));
18003
}
18004
18005
if (String.IsNullOrEmpty(copyright))
@@ -18054,7 +18054,7 @@ namespace WixToolset.Core
18054
if (baSeen)
18055
{
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
}
18059
this.ParseBootstrapperApplicationElement(child);
18060
baSeen = true;
@@ -18072,7 +18072,7 @@ namespace WixToolset.Core
18072
if (chainSeen)
18073
{
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
}
18077
this.ParseChainElement(child);
18078
chainSeen = true;
@@ -18087,7 +18087,7 @@ namespace WixToolset.Core
18087
if (logSeen)
18088
{
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
}
18092
logVariablePrefixAndExtension = this.ParseLogElement(child, fileSystemSafeBundleName);
18093
logSeen = true;
@@ -18124,7 +18124,7 @@ namespace WixToolset.Core
18124
18125
if (!chainSeen)
18126
{
18127
- this.Core.OnMessage(WixErrors.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "Chain"));
18127
+ this.Core.Write(ErrorMessages.ExpectedElement(sourceLineNumbers, node.Name.LocalName, "Chain"));
18128
}
18129
18130
if (!this.Core.EncounteredError)
@@ -18278,12 +18278,12 @@ namespace WixToolset.Core
18278
18279
if (null == id)
18280
{
18281
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
18281
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
18282
}
18283
18284
if (null == sourceFile)
18285
{
18286
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
18286
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
18287
}
18288
18289
this.Core.ParseForExtensionElements(node);
@@ -18329,7 +18329,7 @@ namespace WixToolset.Core
18329
string typeString = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
18330
if (!Enum.TryParse<ContainerType>(typeString, out type))
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
}
18334
break;
18335
default:
@@ -18352,12 +18352,12 @@ namespace WixToolset.Core
18352
18353
if (null == id)
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;
18357
}
18358
else if (!Common.IsIdentifier(id.Id))
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
}
18362
}
18363
else if (null == name)
@@ -18367,7 +18367,7 @@ namespace WixToolset.Core
18367
18368
if (!String.IsNullOrEmpty(downloadUrl) && ContainerType.Detached != type)
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
}
18372
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...
18450
// but we just say there's a missing <Payload>.
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
}
18454
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
18528
if (String.IsNullOrEmpty(id))
18529
{
18530
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
18530
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
18531
}
18532
else
18533
{
@@ -18593,7 +18593,7 @@ namespace WixToolset.Core
18593
}
18594
else
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
}
18598
}
18599
@@ -18613,13 +18613,13 @@ namespace WixToolset.Core
18613
}
18614
else
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
}
18618
}
18619
18620
if (String.IsNullOrEmpty(classification))
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
}
18624
18625
this.Core.ParseForExtensionElements(node);
@@ -18755,13 +18755,13 @@ namespace WixToolset.Core
18755
18756
if (CompilerCore.WixNamespace == node.Name.Namespace && node.Name.LocalName != "ExePackage")
18757
{
18758
- this.Core.OnMessage(WixErrors.RemotePayloadUnsupported(childSourceLineNumbers));
18758
+ this.Core.Write(ErrorMessages.RemotePayloadUnsupported(childSourceLineNumbers));
18759
continue;
18760
}
18761
18762
if (null != remotePayload)
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
}
18766
18767
remotePayload = this.ParseRemotePayloadElement(child);
@@ -18769,11 +18769,11 @@ namespace WixToolset.Core
18769
18770
if (null != sourceFile && null != remotePayload)
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
}
18774
else if (null == sourceFile && null == remotePayload)
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
}
18778
else if (null == sourceFile)
18779
{
@@ -18782,14 +18782,14 @@ namespace WixToolset.Core
18782
18783
if (null == downloadUrl && null != remotePayload)
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
}
18787
18788
if (Compiler.BurnUXContainerId == parentId)
18789
{
18790
if (compressed == YesNoDefaultType.No)
18791
{
18792
- Core.OnMessage(WixWarnings.UxPayloadsOnlySupportEmbedding(sourceLineNumbers, sourceFile));
18792
+ Core.Write(WarningMessages.UxPayloadsOnlySupportEmbedding(sourceLineNumbers, sourceFile));
18793
}
18794
18795
compressed = YesNoDefaultType.Yes;
@@ -18845,27 +18845,27 @@ namespace WixToolset.Core
18845
18846
if (String.IsNullOrEmpty(remotePayload.ProductName))
18847
{
18848
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductName"));
18848
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ProductName"));
18849
}
18850
18851
if (String.IsNullOrEmpty(remotePayload.Description))
18852
{
18853
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description"));
18853
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Description"));
18854
}
18855
18856
if (String.IsNullOrEmpty(remotePayload.Hash))
18857
{
18858
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Hash"));
18858
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Hash"));
18859
}
18860
18861
if (0 == remotePayload.Size)
18862
{
18863
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Size"));
18863
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Size"));
18864
}
18865
18866
if (String.IsNullOrEmpty(remotePayload.Version))
18867
{
18868
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
18868
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Version"));
18869
}
18870
18871
return remotePayload;
@@ -18947,7 +18947,7 @@ namespace WixToolset.Core
18947
18948
if (null == id)
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;
18952
}
18953
@@ -19024,7 +19024,7 @@ namespace WixToolset.Core
19024
19025
if (null == id)
19026
{
19027
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
19027
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
19028
}
19029
19030
this.Core.ParseForExtensionElements(node);
@@ -19084,7 +19084,7 @@ namespace WixToolset.Core
19084
string behaviorString = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
19085
if (!Enum.TryParse<ExitCodeBehaviorType>(behaviorString, true, out behavior))
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
}
19089
break;
19090
default:
@@ -19100,7 +19100,7 @@ namespace WixToolset.Core
19100
19101
if (ExitCodeBehaviorType.NotSet == behavior)
19102
{
19103
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Behavior"));
19103
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Behavior"));
19104
}
19105
19106
this.Core.ParseForExtensionElements(node);
@@ -19208,7 +19208,7 @@ namespace WixToolset.Core
19208
19209
if (null == previousId)
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
}
19213
19214
if (!this.Core.EncounteredError)
@@ -19339,12 +19339,12 @@ namespace WixToolset.Core
19339
19340
if (null == id)
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;
19344
}
19345
else if (!Common.IsIdentifier(id.Id))
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
}
19349
}
19350
@@ -19437,7 +19437,7 @@ namespace WixToolset.Core
19437
name = this.Core.GetAttributeLongFilename(sourceLineNumbers, attrib, false, true);
19438
if (!this.Core.IsValidLongFilename(name, false, true))
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
}
19442
break;
19443
case "SourceFile":
@@ -19528,7 +19528,7 @@ namespace WixToolset.Core
19528
compressed = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
19529
break;
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);
19533
allowed = (packageType == WixBundlePackageType.Msi);
19534
break;
@@ -19563,13 +19563,13 @@ namespace WixToolset.Core
19563
19564
if (CompilerCore.WixNamespace == node.Name.Namespace && node.Name.LocalName != "ExePackage" && node.Name.LocalName != "MsuPackage")
19565
{
19566
- this.Core.OnMessage(WixErrors.RemotePayloadUnsupported(childSourceLineNumbers));
19566
+ this.Core.Write(ErrorMessages.RemotePayloadUnsupported(childSourceLineNumbers));
19567
continue;
19568
}
19569
19570
if (null != remotePayload)
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
}
19574
19575
remotePayload = this.ParseRemotePayloadElement(child);
@@ -19579,7 +19579,7 @@ namespace WixToolset.Core
19579
{
19580
if (String.IsNullOrEmpty(name))
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
}
19584
else if (null == remotePayload)
19585
{
@@ -19592,13 +19592,13 @@ namespace WixToolset.Core
19592
}
19593
else if (null != remotePayload)
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
}
19597
else if (sourceFile.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal))
19598
{
19599
if (String.IsNullOrEmpty(name))
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
}
19603
else
19604
{
@@ -19608,13 +19608,13 @@ namespace WixToolset.Core
19608
19609
if (null == downloadUrl && null != remotePayload)
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
}
19613
19614
if (YesNoDefaultType.No != compressed && null != remotePayload)
19615
{
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
}
19619
19620
if (null == id)
@@ -19630,12 +19630,12 @@ namespace WixToolset.Core
19630
19631
if (null == id)
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;
19635
}
19636
else if (!Common.IsIdentifier(id.Id))
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
}
19640
}
19641
@@ -19651,7 +19651,7 @@ namespace WixToolset.Core
19651
19652
if (!String.IsNullOrEmpty(protocol) && !protocol.Equals("burn", StringComparison.Ordinal) && !protocol.Equals("netfx4", StringComparison.Ordinal) && !protocol.Equals("none", StringComparison.Ordinal))
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
}
19656
19657
if (!String.IsNullOrEmpty(protocol) && protocol.Equals("netfx4", StringComparison.Ordinal))
@@ -19660,17 +19660,17 @@ namespace WixToolset.Core
19660
{
19661
if (null == installCommand || -1 == installCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase))
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
}
19665
19666
if (null == repairCommand || -1 == repairCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase))
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
}
19670
19671
if (null == uninstallCommand || -1 == uninstallCommand.IndexOf(expectedArgument, StringComparison.OrdinalIgnoreCase))
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
}
19675
}
19676
}
@@ -19884,7 +19884,7 @@ namespace WixToolset.Core
19884
19885
if (String.IsNullOrEmpty(condition))
19886
{
19887
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Condition"));
19887
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Condition"));
19888
}
19889
19890
this.Core.ParseForExtensionElements(node);
@@ -19931,7 +19931,7 @@ namespace WixToolset.Core
19931
19932
if (null == id)
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;
19936
}
19937
@@ -20042,12 +20042,12 @@ namespace WixToolset.Core
20042
20043
if (null == id)
20044
{
20045
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20045
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20046
}
20047
20048
if (null != after && ComplexReferenceParentType.Container == parentType)
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
}
20052
20053
this.Core.ParseForExtensionElements(node);
@@ -20175,12 +20175,12 @@ namespace WixToolset.Core
20175
20176
if (null == name)
20177
{
20178
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
20178
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
20179
}
20180
20181
if (null == value)
20182
{
20183
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
20183
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
20184
}
20185
20186
this.Core.ParseForExtensionElements(node);
@@ -20232,7 +20232,7 @@ namespace WixToolset.Core
20232
20233
if (null == id)
20234
{
20235
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20235
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20236
}
20237
20238
this.Core.ParseForExtensionElements(node);
@@ -20281,7 +20281,7 @@ namespace WixToolset.Core
20281
20282
if (null == id)
20283
{
20284
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20284
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20285
}
20286
20287
if (!String.IsNullOrEmpty(action))
@@ -20298,7 +20298,7 @@ namespace WixToolset.Core
20298
case Wix.RelatedBundle.ActionType.Patch:
20299
break;
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;
20303
}
20304
}
@@ -20344,7 +20344,7 @@ namespace WixToolset.Core
20344
20345
if (null == location)
20346
{
20347
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Location"));
20347
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Location"));
20348
}
20349
20350
this.Core.ParseForExtensionElements(node);
@@ -20409,11 +20409,11 @@ namespace WixToolset.Core
20409
20410
if (null == name)
20411
{
20412
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
20412
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
20413
}
20414
else if (name.StartsWith("Wix", StringComparison.OrdinalIgnoreCase))
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
}
20418
20419
if (null == type && null != value)
@@ -20459,7 +20459,7 @@ namespace WixToolset.Core
20459
20460
if (null == value && null != type)
20461
{
20462
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, "Variable", "Value", "Type"));
20462
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, "Variable", "Value", "Type"));
20463
}
20464
20465
this.Core.ParseForExtensionElements(node);
@@ -20586,12 +20586,12 @@ namespace WixToolset.Core
20586
20587
if (null == id)
20588
{
20589
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20589
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
20590
}
20591
20592
if (null == value)
20593
{
20594
- this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
20594
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
20595
}
20596
20597
this.Core.ParseForExtensionElements(node);
src/WixToolset.Core/CompilerCore.cs
+32
-34
@@ -8,14 +8,11 @@ namespace WixToolset.Core
8
using System.Diagnostics;
9
using System.Diagnostics.CodeAnalysis;
10
using System.Globalization;
11
- using System.IO;
11
using System.Reflection;
13
- using System.Security.Cryptography;
12
using System.Text;
13
using System.Text.RegularExpressions;
14
using System.Xml.Linq;
15
using WixToolset.Data;
18
- using WixToolset.Data.Tuples;
16
using WixToolset.Extensibility;
17
using WixToolset.Extensibility.Services;
18
using Wix = WixToolset.Data.Serialize;
@@ -128,10 +125,10 @@ namespace WixToolset.Core
125
"REMOVE"
126
});
127
131
- private Dictionary<XNamespace, ICompilerExtension> extensions;
132
- private IParseHelper parseHelper;
133
- private Intermediate intermediate;
134
-
128
+ private readonly Dictionary<XNamespace, ICompilerExtension> extensions;
129
+ private readonly IParseHelper parseHelper;
130
+ private readonly Intermediate intermediate;
131
+ private readonly IMessaging messaging;
132
private HashSet<string> activeSectionInlinedDirectoryIds;
133
private HashSet<string> activeSectionSimpleReferences;
134
@@ -140,11 +137,12 @@ namespace WixToolset.Core
137
/// </summary>
138
/// <param name="intermediate">The Intermediate object representing compiled source document.</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)
141
{
142
this.extensions = extensions;
143
this.parseHelper = parseHelper;
144
this.intermediate = intermediate;
145
+ this.messaging = messaging;
146
}
147
148
/// <summary>
@@ -157,7 +155,7 @@ namespace WixToolset.Core
155
/// Gets whether the compiler core encountered an error while processing.
156
/// </summary>
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;
159
160
/// <summary>
161
/// Gets or sets the option to show pedantic messages.
@@ -511,7 +509,7 @@ namespace WixToolset.Core
509
}
510
catch (NotSupportedException)
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));
513
}
514
515
return CompilerConstants.IllegalInteger;
@@ -548,11 +546,11 @@ namespace WixToolset.Core
546
catch (NotSupportedException)
547
{
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));
550
}
551
catch (WixException e)
552
{
555
- this.OnMessage(e.Error);
553
+ this.messaging.Write(e.Error);
554
}
555
556
return null;
@@ -612,15 +610,15 @@ namespace WixToolset.Core
610
}
611
catch (ArgumentOutOfRangeException)
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));
614
}
615
catch (FormatException)
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));
618
}
619
catch (OverflowException)
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));
622
}
623
}
624
@@ -661,11 +659,11 @@ namespace WixToolset.Core
659
660
if (CompilerConstants.IntegerNotSet == integer || CompilerConstants.IllegalInteger == integer)
661
{
664
- this.OnMessage(WixErrors.IntegralValueSentinelCollision(sourceLineNumbers, integer));
662
+ this.Write(ErrorMessages.IntegralValueSentinelCollision(sourceLineNumbers, integer));
663
}
664
else if (minimum > integer || maximum < integer)
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));
667
integer = CompilerConstants.IllegalInteger;
668
}
669
@@ -673,11 +671,11 @@ namespace WixToolset.Core
671
}
672
catch (FormatException)
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));
675
}
676
catch (OverflowException)
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));
679
}
680
}
681
}
@@ -768,7 +766,7 @@ namespace WixToolset.Core
766
// Previous code never returned 'NotSet'!
767
break;
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));
770
break;
771
}
772
}
@@ -796,11 +794,11 @@ namespace WixToolset.Core
794
{
795
if (!this.IsValidShortFilename(value, allowWildcards) && !this.IsValidLocIdentifier(value))
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));
798
}
799
else if (CompilerCore.IsAmbiguousFilename(value))
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));
802
}
803
}
804
@@ -854,12 +852,12 @@ namespace WixToolset.Core
852
// TODO: Find a way to expose the valid values programatically!
853
if (allowHkmu)
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,
856
"HKMU", "HKCR", "HKCU", "HKLM", "HKU"));
857
}
858
else
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,
861
"HKCR", "HKCU", "HKLM", "HKU"));
862
}
863
}
@@ -926,7 +924,7 @@ namespace WixToolset.Core
924
if (Wix.InstallUninstallType.IllegalValue == installUninstall)
925
{
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,
928
"install", "uninstall", "both"));
929
}
930
}
@@ -951,7 +949,7 @@ namespace WixToolset.Core
949
result = Wix.ExitType.IllegalValue;
950
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,
953
"success", "cancel", "error", "suspend"));
954
}
955
@@ -974,7 +972,7 @@ namespace WixToolset.Core
972
if (CompilerCore.BuiltinBundleVariables.Contains(value))
973
{
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));
976
}
977
}
978
@@ -997,7 +995,7 @@ namespace WixToolset.Core
995
if (CompilerCore.DisallowedMsiProperties.Contains(value))
996
{
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));
999
}
1000
}
1001
@@ -1099,12 +1097,12 @@ namespace WixToolset.Core
1097
}
1098
1099
/// <summary>
1102
- /// Sends a message to the message delegate if there is one.
1100
+ /// Sends a message.
1101
/// </summary>
1104
- /// <param name="mea">Message event arguments.</param>
1105
- public void OnMessage(MessageEventArgs e)
1102
+ /// <param name="message">Message to write.</param>
1103
+ public void Write(Message message)
1104
{
1107
- Messaging.Instance.OnMessage(e);
1105
+ this.messaging.Write(message);
1106
}
1107
1108
/// <summary>
@@ -1128,11 +1126,11 @@ namespace WixToolset.Core
1126
{
1127
if (this.GetType().Assembly.Equals(caller))
1128
{
1131
- this.OnMessage(WixErrors.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired));
1129
+ this.Write(ErrorMessages.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired));
1130
}
1131
else
1132
{
1135
- this.OnMessage(WixErrors.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired, name.Name));
1133
+ this.Write(ErrorMessages.InsufficientVersion(sourceLineNumbers, versionCurrent, versionRequired, name.Name));
1134
}
1135
}
1136
}
src/WixToolset.Core/Converter.cs
+8
-3
@@ -10,6 +10,7 @@ namespace WixToolset.Core
10
using System.Xml;
11
using System.Xml.Linq;
12
using WixToolset.Data;
13
+ using WixToolset.Extensibility.Services;
14
15
/// <summary>
16
/// WiX source code converter.
@@ -64,7 +65,7 @@ namespace WixToolset.Core
65
/// <param name="indentationAmount">Indentation value to use when validating leading whitespace.</param>
66
/// <param name="errorsAsWarnings">Test errors to display as warnings.</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)
69
{
70
this.ConvertElementMapping = new Dictionary<XName, Action<XElement>>()
71
{
@@ -77,6 +78,8 @@ namespace WixToolset.Core
78
{ WixElementWithoutNamespaceName, this.ConvertWixElementWithoutNamespace },
79
};
80
81
+ this.Messaging = messaging;
82
+
83
this.IndentationAmount = indentationAmount;
84
85
this.ErrorsAsWarnings = new HashSet<ConverterTestType>(this.YieldConverterTypes(errorsAsWarnings));
@@ -90,6 +93,8 @@ namespace WixToolset.Core
93
94
private HashSet<ConverterTestType> IgnoreErrors { get; set; }
95
96
+ private IMessaging Messaging { get; }
97
+
98
private int IndentationAmount { get; set; }
99
100
private string SourceFile { get; set; }
@@ -528,9 +533,9 @@ namespace WixToolset.Core
533
bool warning = this.ErrorsAsWarnings.Contains(converterTestType);
534
string display = String.Format(CultureInfo.CurrentCulture, message, args);
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());
537
533
- Messaging.Instance.OnMessage(ea);
538
+ this.Messaging.Write(msg);
539
540
return true;
541
}
src/WixToolset.Core/Data/WixToolset.Core.Data.messages.resources
Binary files a/src/WixToolset.Core/Data/WixToolset.Core.Data.messages.resources and /dev/null differ
src/WixToolset.Core/Data/WixToolset.Core.WixStrings.resources
Binary files a/src/WixToolset.Core/Data/WixToolset.Core.WixStrings.resources and /dev/null differ
src/WixToolset.Core/Data/messages.cs
deleted
-3106
@@ -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
-}
src/WixToolset.Core/Data/messages.xml.old
deleted
-3998
@@ -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>
src/WixToolset.Core/Extensibility/HeatExtension.cs
+6
-6
@@ -123,13 +123,13 @@ namespace WixToolset.Core.Extensibility
123
}
124
else
125
{
126
- throw new WixException(WixErrors.InvalidExtension(assemblyName, innerE.Message));
126
+ throw new WixException(ErrorMessages.InvalidExtension(assemblyName, innerE.Message));
127
}
128
}
129
}
130
else
131
{
132
- throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message));
132
+ throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message));
133
}
134
}
135
}
@@ -143,7 +143,7 @@ namespace WixToolset.Core.Extensibility
143
}
144
catch (Exception e)
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
}
148
}
149
else
@@ -157,7 +157,7 @@ namespace WixToolset.Core.Extensibility
157
}
158
else
159
{
160
- throw new WixException(WixErrors.InvalidExtensionType(assemblyName, typeof(AssemblyDefaultHeatExtensionAttribute).ToString()));
160
+ throw new WixException(ErrorMessages.InvalidExtensionType(assemblyName, typeof(AssemblyDefaultHeatExtensionAttribute).ToString()));
161
}
162
}
163
}
@@ -168,7 +168,7 @@ namespace WixToolset.Core.Extensibility
168
}
169
else
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
}
173
}
174
@@ -191,7 +191,7 @@ namespace WixToolset.Core.Extensibility
191
}
192
catch (Exception e)
193
{
194
- throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message));
194
+ throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message));
195
}
196
197
return extensionAssembly;
src/WixToolset.Core/Extensibility/IHarvesterCore.cs
+2
-16
@@ -2,22 +2,14 @@
2
3
namespace WixToolset
4
{
5
- using System;
6
- using System.Diagnostics.CodeAnalysis;
7
- using System.IO;
8
- using WixToolset.Data;
9
- using Wix = WixToolset.Data.Serialize;
5
+ using WixToolset.Extensibility.Services;
6
7
/// <summary>
8
/// The WiX Toolset harvester core.
9
/// </summary>
10
public interface IHarvesterCore
11
{
16
- /// <summary>
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; }
12
+ IMessaging Messaging { get; set; }
13
14
/// <summary>
15
/// Gets or sets the value of the extension argument passed to heat.
@@ -46,12 +38,6 @@ namespace WixToolset
38
/// <returns>The generated identifier.</returns>
39
string GenerateIdentifier(string prefix, params string[] args);
40
49
- /// <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
-
41
/// <summary>
42
/// Resolves a file's path if the Wix.File.Source value starts with "SourceDir\".
43
/// </summary>
src/WixToolset.Core/Extensibility/IHeatCore.cs
-14
@@ -2,19 +2,11 @@
2
3
namespace WixToolset.Core.Extensibility
4
{
5
- using WixToolset.Data;
6
-
5
/// <summary>
6
/// The WiX Toolset Harvester application core.
7
/// </summary>
8
public interface IHeatCore
9
{
12
- /// <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
-
10
/// <summary>
11
/// Gets the harvester.
12
/// </summary>
@@ -26,11 +18,5 @@ namespace WixToolset.Core.Extensibility
18
/// </summary>
19
/// <value>The mutator.</value>
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);
21
}
22
}
src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs
renamed
+4
-4
@@ -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.
2
3
-namespace WixToolset.Core
3
+namespace WixToolset.Core.ExtensibilityServices
4
{
5
using System;
6
using System.Collections.Generic;
@@ -83,7 +83,7 @@ namespace WixToolset.Core
83
}
84
catch (Exception e)
85
{
86
- throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message), e);
86
+ throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message), e);
87
}
88
}
89
@@ -102,11 +102,11 @@ namespace WixToolset.Core
102
return false;
103
}
104
105
- throw new WixException(WixErrors.InvalidExtension(assemblyName, innerE.Message), innerE);
105
+ throw new WixException(ErrorMessages.InvalidExtension(assemblyName, innerE.Message), innerE);
106
}
107
catch (Exception e)
108
{
109
- throw new WixException(WixErrors.InvalidExtension(assemblyName, e.Message), e);
109
+ throw new WixException(ErrorMessages.InvalidExtension(assemblyName, e.Message), e);
110
}
111
}
112
}
src/WixToolset.Core/ExtensibilityServices/Messaging.cs
new
+194
@@ -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
+}
src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs
+35
-31
@@ -34,10 +34,14 @@ namespace WixToolset.Core.ExtensibilityServices
34
public ParseHelper(IServiceProvider serviceProvider)
35
{
36
this.ServiceProvider = serviceProvider;
37
+
38
+ this.Messaging = serviceProvider.GetService<IMessaging>();
39
}
40
41
private IServiceProvider ServiceProvider { get; }
42
43
+ private IMessaging Messaging { get; }
44
+
45
private ITupleDefinitionCreator Creator { get; set; }
46
47
public bool ContainsProperty(string possibleProperty)
@@ -136,7 +140,7 @@ namespace WixToolset.Core.ExtensibilityServices
140
// TODO: should overriding the parent identifier with a specific id be an error or a warning or just let it slide?
141
//if (null != parentId)
142
//{
139
- // this.core.OnMessage(WixErrors.Xxx(sourceLineNumbers));
143
+ // this.core.Write(WixErrors.Xxx(sourceLineNumbers));
144
//}
145
146
id = inlineSyntax[0].TrimEnd(':');
@@ -360,7 +364,7 @@ namespace WixToolset.Core.ExtensibilityServices
364
365
if (ParseHelper.PutGuidHere.IsMatch(value))
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));
368
return CompilerConstants.IllegalGuid;
369
}
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
378
// TODO: This used to be a pedantic error, what should it be now?
379
//if (uppercaseGuid != value)
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));
382
//}
383
384
return String.Concat("{", uppercaseGuid, "}");
385
}
386
else
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));
389
}
390
}
391
@@ -391,7 +395,7 @@ namespace WixToolset.Core.ExtensibilityServices
395
public Identifier GetAttributeIdentifier(SourceLineNumber sourceLineNumbers, XAttribute attribute)
396
{
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);
399
400
var match = ParseHelper.LegalIdentifierWithAccess.Match(value);
401
if (!match.Success)
@@ -407,7 +411,7 @@ namespace WixToolset.Core.ExtensibilityServices
411
412
if (Common.IsIdentifier(value) && 72 < value.Length)
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));
415
}
416
417
return new Identifier(value, access);
@@ -415,7 +419,7 @@ namespace WixToolset.Core.ExtensibilityServices
419
420
public string GetAttributeIdentifierValue(SourceLineNumber sourceLineNumbers, XAttribute attribute)
421
{
418
- return Common.GetAttributeIdentifierValue(sourceLineNumbers, attribute);
422
+ return Common.GetAttributeIdentifierValue(this.Messaging, sourceLineNumbers, attribute);
423
}
424
425
public string[] GetAttributeInlineDirectorySyntax(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool resultUsedToCreateReference = false)
@@ -432,12 +436,12 @@ namespace WixToolset.Core.ExtensibilityServices
436
string id = result[0].TrimEnd(':');
437
if (1 == result.Length)
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));
440
return null;
441
}
442
else if (!this.IsValidIdentifier(id))
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));
445
return null;
446
}
447
@@ -449,13 +453,13 @@ namespace WixToolset.Core.ExtensibilityServices
453
{
454
if (!this.IsValidLongFilename(result[0], false, false))
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]));
457
return null;
458
}
459
}
460
else if (!this.IsValidIdentifier(result[0]))
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]));
463
return null;
464
}
465
@@ -467,14 +471,14 @@ namespace WixToolset.Core.ExtensibilityServices
471
{
472
if (!this.IsValidLongFilename(result[i], false, false))
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]));
475
return null;
476
}
477
}
478
479
if (1 < result.Length && !value.EndsWith("\\"))
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));
482
}
483
}
484
@@ -483,7 +487,7 @@ namespace WixToolset.Core.ExtensibilityServices
487
488
public int GetAttributeIntegerValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, int minimum, int maximum)
489
{
486
- return Common.GetAttributeIntegerValue(sourceLineNumbers, attribute, minimum, maximum);
490
+ return Common.GetAttributeIntegerValue(this.Messaging, sourceLineNumbers, attribute, minimum, maximum);
491
}
492
493
public string GetAttributeLongFilename(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool allowWildcards, bool allowRelative)
@@ -501,11 +505,11 @@ namespace WixToolset.Core.ExtensibilityServices
505
{
506
if (allowRelative)
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));
509
}
510
else
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));
513
}
514
}
515
else if (allowRelative)
@@ -513,12 +517,12 @@ namespace WixToolset.Core.ExtensibilityServices
517
string normalizedPath = value.Replace('\\', '/');
518
if (normalizedPath.StartsWith("../", StringComparison.Ordinal) || normalizedPath.Contains("/../"))
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));
521
}
522
}
523
else if (CompilerCore.IsAmbiguousFilename(value))
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));
526
}
527
}
528
@@ -539,11 +543,11 @@ namespace WixToolset.Core.ExtensibilityServices
543
544
if (CompilerConstants.LongNotSet == longValue || CompilerConstants.IllegalLong == longValue)
545
{
542
- Messaging.Instance.OnMessage(WixErrors.IntegralValueSentinelCollision(sourceLineNumbers, longValue));
546
+ this.Messaging.Write(ErrorMessages.IntegralValueSentinelCollision(sourceLineNumbers, longValue));
547
}
548
else if (minimum > longValue || maximum < longValue)
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));
551
longValue = CompilerConstants.IllegalLong;
552
}
553
@@ -551,11 +555,11 @@ namespace WixToolset.Core.ExtensibilityServices
555
}
556
catch (FormatException)
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));
559
}
560
catch (OverflowException)
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));
563
}
564
}
565
@@ -564,7 +568,7 @@ namespace WixToolset.Core.ExtensibilityServices
568
569
public string GetAttributeValue(SourceLineNumber sourceLineNumbers, XAttribute attribute, EmptyRule emptyRule = EmptyRule.CanBeWhitespaceOnly)
570
{
567
- return Common.GetAttributeValue(sourceLineNumbers, attribute, emptyRule);
571
+ return Common.GetAttributeValue(this.Messaging, sourceLineNumbers, attribute, emptyRule);
572
}
573
574
public string GetAttributeVersionValue(SourceLineNumber sourceLineNumbers, XAttribute attribute)
@@ -584,7 +588,7 @@ namespace WixToolset.Core.ExtensibilityServices
588
return value;
589
}
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));
592
}
593
594
return null;
@@ -608,7 +612,7 @@ namespace WixToolset.Core.ExtensibilityServices
612
return YesNoDefaultType.Default;
613
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));
616
return YesNoDefaultType.IllegalValue;
617
}
618
}
@@ -628,7 +632,7 @@ namespace WixToolset.Core.ExtensibilityServices
632
return YesNoType.No;
633
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));
636
return YesNoType.IllegalValue;
637
}
638
}
@@ -722,7 +726,7 @@ namespace WixToolset.Core.ExtensibilityServices
726
else
727
{
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));
730
}
731
}
732
@@ -736,7 +740,7 @@ namespace WixToolset.Core.ExtensibilityServices
740
else
741
{
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));
744
}
745
}
746
@@ -751,7 +755,7 @@ namespace WixToolset.Core.ExtensibilityServices
755
else
756
{
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));
759
}
760
761
return keyPath;
@@ -775,13 +779,13 @@ namespace WixToolset.Core.ExtensibilityServices
779
public void UnexpectedAttribute(XElement element, XAttribute attribute)
780
{
781
var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(element);
778
- Common.UnexpectedAttribute(sourceLineNumbers, attribute);
782
+ Common.UnexpectedAttribute(this.Messaging, sourceLineNumbers, attribute);
783
}
784
785
public void UnexpectedElement(XElement parentElement, XElement childElement)
786
{
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));
789
}
790
791
private void CreateTupleDefinitionCreator()
src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs
+19
-19
@@ -42,7 +42,7 @@ namespace WixToolset.Core.ExtensibilityServices
42
{
43
if (showWarning)
44
{
45
- context.Messaging.OnMessage(WixWarnings.VariableDeclarationCollision(context.CurrentSourceLineNumber, name, value, currentValue));
45
+ context.Messaging.Write(WarningMessages.VariableDeclarationCollision(context.CurrentSourceLineNumber, name, value, currentValue));
46
}
47
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.
57
if (2 != prefixParts.Length || 0 >= prefixParts[0].Length || 0 >= prefixParts[1].Length)
58
{
59
- throw new WixException(WixErrors.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function));
59
+ throw new WixException(ErrorMessages.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function));
60
}
61
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.
66
if (2 != functionParts.Length || 0 >= functionParts[0].Length || 0 >= functionParts[1].Length || !functionParts[1].EndsWith(")", StringComparison.Ordinal))
67
{
68
- throw new WixException(WixErrors.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function));
68
+ throw new WixException(ErrorMessages.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, function));
69
}
70
71
var functionName = functionParts[0];
@@ -113,7 +113,7 @@ namespace WixToolset.Core.ExtensibilityServices
113
// Make sure the base version is specified
114
if (args.Length == 0 || String.IsNullOrEmpty(args[0]))
115
{
116
- throw new WixException(WixErrors.InvalidPreprocessorFunctionAutoVersion(context.CurrentSourceLineNumber));
116
+ throw new WixException(ErrorMessages.InvalidPreprocessorFunctionAutoVersion(context.CurrentSourceLineNumber));
117
}
118
119
// Build = days since 1/1/2000; Revision = seconds since midnight / 2
@@ -137,7 +137,7 @@ namespace WixToolset.Core.ExtensibilityServices
137
}
138
catch (Exception e)
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
}
142
}
143
else
@@ -165,7 +165,7 @@ namespace WixToolset.Core.ExtensibilityServices
165
}
166
else
167
{
168
- throw new WixException(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable));
168
+ throw new WixException(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable));
169
}
170
}
171
else
@@ -185,7 +185,7 @@ namespace WixToolset.Core.ExtensibilityServices
185
}
186
else
187
{
188
- throw new WixException(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable));
188
+ throw new WixException(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, variable));
189
}
190
}
191
}
@@ -220,7 +220,7 @@ namespace WixToolset.Core.ExtensibilityServices
220
return context.CurrentSourceLineNumber.FileName;
221
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
225
goto case "BUILDARCH";
226
@@ -260,7 +260,7 @@ namespace WixToolset.Core.ExtensibilityServices
260
}
261
catch (Exception e)
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
}
265
}
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.
278
if (2 != prefixParts.Length)
279
{
280
- throw new WixException(WixErrors.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName));
280
+ throw new WixException(ErrorMessages.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName));
281
}
282
283
var prefix = prefixParts[0];
@@ -285,7 +285,7 @@ namespace WixToolset.Core.ExtensibilityServices
285
286
if (String.IsNullOrEmpty(prefix) || String.IsNullOrEmpty(pragma))
287
{
288
- throw new WixException(WixErrors.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName));
288
+ throw new WixException(ErrorMessages.InvalidPreprocessorPragma(context.CurrentSourceLineNumber, pragmaName));
289
}
290
291
switch (prefix)
@@ -295,7 +295,7 @@ namespace WixToolset.Core.ExtensibilityServices
295
{
296
// Add any core defined pragmas here
297
default:
298
- context.Messaging.OnMessage(WixWarnings.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName));
298
+ context.Messaging.Write(WarningMessages.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName));
299
break;
300
}
301
break;
@@ -306,7 +306,7 @@ namespace WixToolset.Core.ExtensibilityServices
306
{
307
if (!extension.ProcessPragma(prefix, pragma, args, parent))
308
{
309
- context.Messaging.OnMessage(WixWarnings.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName));
309
+ context.Messaging.Write(WarningMessages.PreprocessorUnknownPragma(context.CurrentSourceLineNumber, pragmaName));
310
}
311
}
312
break;
@@ -339,7 +339,7 @@ namespace WixToolset.Core.ExtensibilityServices
339
currentPosition = remainder.IndexOf(')');
340
if (-1 == currentPosition)
341
{
342
- context.Messaging.OnMessage(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder));
342
+ context.Messaging.Write(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder));
343
break;
344
}
345
@@ -385,12 +385,12 @@ namespace WixToolset.Core.ExtensibilityServices
385
{
386
if (isFunction)
387
{
388
- context.Messaging.OnMessage(WixErrors.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, remainder));
388
+ context.Messaging.Write(ErrorMessages.InvalidPreprocessorFunction(context.CurrentSourceLineNumber, remainder));
389
break;
390
}
391
else
392
{
393
- context.Messaging.OnMessage(WixErrors.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder));
393
+ context.Messaging.Write(ErrorMessages.InvalidPreprocessorVariable(context.CurrentSourceLineNumber, remainder));
394
break;
395
}
396
}
@@ -410,12 +410,12 @@ namespace WixToolset.Core.ExtensibilityServices
410
{
411
if (isFunction)
412
{
413
- context.Messaging.OnMessage(WixErrors.UndefinedPreprocessorFunction(context.CurrentSourceLineNumber, subString));
413
+ context.Messaging.Write(ErrorMessages.UndefinedPreprocessorFunction(context.CurrentSourceLineNumber, subString));
414
break;
415
}
416
else
417
{
418
- context.Messaging.OnMessage(WixErrors.UndefinedPreprocessorVariable(context.CurrentSourceLineNumber, subString));
418
+ context.Messaging.Write(ErrorMessages.UndefinedPreprocessorVariable(context.CurrentSourceLineNumber, subString));
419
break;
420
}
421
}
@@ -448,7 +448,7 @@ namespace WixToolset.Core.ExtensibilityServices
448
{
449
if (!context.Variables.Remove(name))
450
{
451
- context.Messaging.OnMessage(WixErrors.CannotReundefineVariable(context.CurrentSourceLineNumber, name));
451
+ context.Messaging.Write(ErrorMessages.CannotReundefineVariable(context.CurrentSourceLineNumber, name));
452
}
453
}
454
src/WixToolset.Core/Harvester.cs
+1
-1
@@ -57,7 +57,7 @@ namespace WixToolset
57
58
if (null == this.harvesterExtension)
59
{
60
- throw new WixException(WixErrors.HarvestTypeNotFound());
60
+ throw new WixException(ErrorMessages.HarvestTypeNotFound());
61
}
62
63
this.harvesterExtension.Core = this.Core;
src/WixToolset.Core/HarvesterCore.cs
+6
-33
@@ -5,44 +5,26 @@ namespace WixToolset.Core
5
using System;
6
using System.Diagnostics.CodeAnalysis;
7
using System.IO;
8
- using WixToolset.Data;
8
+ using WixToolset.Extensibility.Services;
9
10
/// <summary>
11
/// The WiX Toolset harvester core.
12
/// </summary>
13
public sealed class HarvesterCore : IHarvesterCore
14
{
15
- private string extensionArgument;
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
- }
15
+ public IMessaging Messaging { get; set; }
16
17
/// <summary>
18
/// Gets or sets the value of the extension argument passed to heat.
19
/// </summary>
20
/// <value>The extension argument.</value>
31
- public string ExtensionArgument
32
- {
33
- get { return this.extensionArgument; }
34
- set { this.extensionArgument = value; }
35
- }
21
+ public string ExtensionArgument { get; set; }
22
23
/// <summary>
24
/// Gets or sets the value of the root directory that is being harvested.
25
/// </summary>
26
/// <value>The root directory being harvested.</value>
41
- public string RootDirectory
42
- {
43
- get { return this.rootDirectory; }
44
- set { this.rootDirectory = value; }
45
- }
27
+ public string RootDirectory { get; set; }
28
29
/// <summary>
30
/// Create an identifier based on passed file name
@@ -66,15 +48,6 @@ namespace WixToolset.Core
48
return Common.GenerateIdentifier(prefix, args);
49
}
50
69
- /// <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
-
51
/// <summary>
52
/// Resolves a file's path if the Wix.File.Source value starts with "SourceDir\".
53
/// </summary>
@@ -84,7 +57,7 @@ namespace WixToolset.Core
57
{
58
if (fileSource.StartsWith("SourceDir\\", StringComparison.Ordinal))
59
{
87
- string file = Path.GetFullPath(this.rootDirectory);
60
+ string file = Path.GetFullPath(this.RootDirectory);
61
if (File.Exists(file))
62
{
63
return file;
@@ -92,7 +65,7 @@ namespace WixToolset.Core
65
else
66
{
67
fileSource = fileSource.Substring(10);
95
- fileSource = Path.Combine(Path.GetFullPath(this.rootDirectory), fileSource);
68
+ fileSource = Path.Combine(Path.GetFullPath(this.RootDirectory), fileSource);
69
}
70
}
71
src/WixToolset.Core/HeatCore.cs
+1
-20
@@ -3,12 +3,11 @@
3
namespace WixToolset.Core
4
{
5
using WixToolset.Core.Extensibility;
6
- using WixToolset.Data;
6
7
/// <summary>
8
/// The WiX Toolset Harvester application core.
9
/// </summary>
11
- public sealed class HeatCore : IHeatCore, IMessageHandler
10
+ public sealed class HeatCore : IHeatCore
11
{
12
private Harvester harvester;
13
private Mutator mutator;
@@ -23,15 +22,6 @@ namespace WixToolset.Core
22
this.mutator = new Mutator();
23
}
24
26
- /// <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
-
25
/// <summary>
26
/// Gets the harvester.
27
/// </summary>
@@ -49,14 +39,5 @@ namespace WixToolset.Core
39
{
40
get { return this.mutator; }
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
- }
42
}
43
}
src/WixToolset.Core/ICommand.cs
deleted
-9
@@ -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
-}
src/WixToolset.Core/IfDefEventHandler.cs
deleted
-46
@@ -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
-}
src/WixToolset.Core/IncribeContext.cs
+2
-2
@@ -3,8 +3,8 @@
3
namespace WixToolset.Core
4
{
5
using System;
6
- using WixToolset.Data;
6
using WixToolset.Extensibility;
7
+ using WixToolset.Extensibility.Services;
8
9
internal class InscribeContext : IInscribeContext
10
{
@@ -15,7 +15,7 @@ namespace WixToolset.Core
15
16
public IServiceProvider ServiceProvider { get; }
17
18
- public Messaging Messaging { get; } = Messaging.Instance;
18
+ public IMessaging Messaging { get; set; }
19
20
public string IntermediateFolder { get; set; }
21
src/WixToolset.Core/Inscriber.cs
+1
-6
@@ -8,7 +8,7 @@ namespace WixToolset
8
/// <summary>
9
/// Converts a wixout representation of an MSM database into a ComponentGroup the form of WiX source.
10
/// </summary>
11
- public sealed class Inscriber : IMessageHandler
11
+ public sealed class Inscriber
12
{
13
/// <summary>
14
/// Gets or sets the temp files collection.
@@ -433,10 +433,5 @@ namespace WixToolset
433
#endif
434
return true;
435
}
436
-
437
- public void OnMessage(MessageEventArgs e)
438
- {
439
- Messaging.Instance.OnMessage(e);
440
- }
436
}
437
}
src/WixToolset.Core/InspectorCore.cs
deleted
-32
@@ -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
-}
src/WixToolset.Core/Librarian.cs
+3
-3
@@ -67,7 +67,7 @@ namespace WixToolset.Core
67
/// <param name="library">Library to validate.</param>
68
private Intermediate Validate(Intermediate library)
69
{
70
- FindEntrySectionAndLoadSymbolsCommand find = new FindEntrySectionAndLoadSymbolsCommand(library.Sections);
70
+ FindEntrySectionAndLoadSymbolsCommand find = new FindEntrySectionAndLoadSymbolsCommand(this.Context.Messaging, library.Sections);
71
find.Execute();
72
73
// TODO: Consider bringing this sort of verification back.
@@ -80,7 +80,7 @@ namespace WixToolset.Core
80
// reportDupes.Execute();
81
// }
82
83
- return (Messaging.Instance.EncounteredError ? null : library);
83
+ return (this.Context.Messaging.EncounteredError ? null : library);
84
}
85
86
private static Dictionary<string, Localization> CollateLocalizations(IEnumerable<Localization> localizations)
@@ -130,7 +130,7 @@ namespace WixToolset.Core
130
}
131
else
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
}
135
}
136
}
src/WixToolset.Core/LibraryContext.cs
+2
-1
@@ -6,12 +6,13 @@ namespace WixToolset.Core
6
using System.Collections.Generic;
7
using WixToolset.Data;
8
using WixToolset.Extensibility;
9
+ using WixToolset.Extensibility.Services;
10
11
public class LibraryContext : ILibraryContext
12
{
13
public IServiceProvider ServiceProvider { get; }
14
14
- public Messaging Messaging { get; set; }
15
+ public IMessaging Messaging { get; set; }
16
17
public bool BindFiles { get; set; }
18
src/WixToolset.Core/Link/FindEntrySectionAndLoadSymbolsCommand.cs
+9
-5
@@ -6,14 +6,18 @@ namespace WixToolset.Core.Link
6
using System.Collections.Generic;
7
using System.Linq;
8
using WixToolset.Data;
9
+ using WixToolset.Extensibility.Services;
10
10
- internal class FindEntrySectionAndLoadSymbolsCommand : ICommand
11
+ internal class FindEntrySectionAndLoadSymbolsCommand
12
{
12
- public FindEntrySectionAndLoadSymbolsCommand(IEnumerable<IntermediateSection> sections)
13
+ public FindEntrySectionAndLoadSymbolsCommand(IMessaging messaging, IEnumerable<IntermediateSection> sections)
14
{
15
+ this.Messaging = messaging;
16
this.Sections = sections;
17
}
18
19
+ private IMessaging Messaging { get; }
20
+
21
private IEnumerable<IntermediateSection> Sections { get; }
22
23
/// <summary>
@@ -55,7 +59,7 @@ namespace WixToolset.Core.Link
59
//if (SectionType.Unknown != expectedEntrySectionType && section.Type != expectedEntrySectionType)
60
//{
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));
63
//}
64
65
if (null == this.EntrySection)
@@ -64,8 +68,8 @@ namespace WixToolset.Core.Link
68
}
69
else
70
{
67
- Messaging.Instance.OnMessage(WixErrors.MultipleEntrySections(this.EntrySection.Tuples.FirstOrDefault()?.SourceLineNumbers, this.EntrySection.Id, section.Id));
68
- Messaging.Instance.OnMessage(WixErrors.MultipleEntrySections2(section.Tuples.FirstOrDefault()?.SourceLineNumbers));
71
+ this.Messaging.Write(ErrorMessages.MultipleEntrySections(this.EntrySection.Tuples.FirstOrDefault()?.SourceLineNumbers, this.EntrySection.Id, section.Id));
72
+ this.Messaging.Write(ErrorMessages.MultipleEntrySections2(section.Tuples.FirstOrDefault()?.SourceLineNumbers));
73
}
74
}
75
src/WixToolset.Core/Link/ReportConflictingSymbolsCommand.cs
+7
-3
@@ -5,15 +5,19 @@ namespace WixToolset.Link
5
using System.Collections.Generic;
6
using System.Linq;
7
using WixToolset.Data;
8
+ using WixToolset.Extensibility.Services;
9
10
public class ReportConflictingSymbolsCommand
11
{
11
- public ReportConflictingSymbolsCommand(IEnumerable<Symbol> possibleConflicts, IEnumerable<IntermediateSection> resolvedSections)
12
+ public ReportConflictingSymbolsCommand(IMessaging messaging, IEnumerable<Symbol> possibleConflicts, IEnumerable<IntermediateSection> resolvedSections)
13
{
14
+ this.Messaging = messaging;
15
this.PossibleConflicts = possibleConflicts;
16
this.ResolvedSections = resolvedSections;
17
}
18
19
+ private IMessaging Messaging { get; }
20
+
21
private IEnumerable<Symbol> PossibleConflicts { get; }
22
23
private IEnumerable<IntermediateSection> ResolvedSections { get; }
@@ -37,11 +41,11 @@ namespace WixToolset.Link
41
42
if (actuallyReferencedDuplicateSymbols.Any())
43
{
40
- Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol(referencedDuplicateSymbol.Row.SourceLineNumbers, referencedDuplicateSymbol.Name));
44
+ this.Messaging.Write(ErrorMessages.DuplicateSymbol(referencedDuplicateSymbol.Row.SourceLineNumbers, referencedDuplicateSymbol.Name));
45
46
foreach (Symbol duplicate in actuallyReferencedDuplicateSymbols)
47
{
44
- Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol2(duplicate.Row.SourceLineNumbers));
48
+ this.Messaging.Write(ErrorMessages.DuplicateSymbol2(duplicate.Row.SourceLineNumbers));
49
}
50
}
51
}
src/WixToolset.Core/Link/ResolveReferencesCommand.cs
+11
-7
@@ -7,19 +7,21 @@ namespace WixToolset.Link
7
using System.Linq;
8
using WixToolset.Data;
9
using WixToolset.Data.Tuples;
10
+ using WixToolset.Extensibility.Services;
11
12
/// <summary>
13
/// Resolves all the simple references in a section.
14
/// </summary>
14
- internal class ResolveReferencesCommand : ICommand
15
+ internal class ResolveReferencesCommand
16
{
17
private IntermediateSection entrySection;
18
private IDictionary<string, Symbol> symbols;
19
private HashSet<Symbol> referencedSymbols;
20
private HashSet<IntermediateSection> resolvedSections;
21
21
- public ResolveReferencesCommand(IntermediateSection entrySection, IDictionary<string, Symbol> symbols)
22
+ public ResolveReferencesCommand(IMessaging messaging, IntermediateSection entrySection, IDictionary<string, Symbol> symbols)
23
{
24
+ this.Messaging = messaging;
25
this.entrySection = entrySection;
26
this.symbols = symbols;
27
}
@@ -30,6 +32,8 @@ namespace WixToolset.Link
32
33
public IEnumerable<IntermediateSection> ResolvedSections { get { return this.resolvedSections; } }
34
35
+ private IMessaging Messaging { get; }
36
+
37
/// <summary>
38
/// Resolves all the simple references in a section.
39
/// </summary>
@@ -69,14 +73,14 @@ namespace WixToolset.Link
73
74
if (!this.symbols.TryGetValue(wixSimpleReferenceRow.SymbolicName, out var symbol))
75
{
72
- Messaging.Instance.OnMessage(WixErrors.UnresolvedReference(wixSimpleReferenceRow.SourceLineNumbers, wixSimpleReferenceRow.SymbolicName));
76
+ this.Messaging.Write(ErrorMessages.UnresolvedReference(wixSimpleReferenceRow.SourceLineNumbers, wixSimpleReferenceRow.SymbolicName));
77
}
78
else // see if the symbol (and any of its duplicates) are appropriately accessible.
79
{
80
IList<Symbol> accessible = DetermineAccessibleSymbols(section, symbol);
81
if (!accessible.Any())
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));
84
}
85
else if (1 == accessible.Count)
86
{
@@ -95,16 +99,16 @@ namespace WixToolset.Link
99
100
if (String.IsNullOrEmpty(referencingSourceLineNumber))
101
{
98
- Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol(accessibleSymbol.Row.SourceLineNumbers, accessibleSymbol.Name));
102
+ this.Messaging.Write(ErrorMessages.DuplicateSymbol(accessibleSymbol.Row.SourceLineNumbers, accessibleSymbol.Name));
103
}
104
else
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));
107
}
108
109
foreach (Symbol accessibleDuplicate in accessible.Skip(1))
110
{
107
- Messaging.Instance.OnMessage(WixErrors.DuplicateSymbol2(accessibleDuplicate.Row.SourceLineNumbers));
111
+ this.Messaging.Write(ErrorMessages.DuplicateSymbol2(accessibleDuplicate.Row.SourceLineNumbers));
112
}
113
}
114
}
src/WixToolset.Core/Link/WixGroupingOrdering.cs
+17
-39
@@ -11,13 +11,14 @@ namespace WixToolset.Core.Link
11
using System.Text;
12
using WixToolset.Data;
13
using WixToolset.Data.Tuples;
14
+ using WixToolset.Extensibility.Services;
15
16
/// <summary>
17
/// Grouping and Ordering class of the WiX toolset.
18
/// </summary>
18
- internal sealed class WixGroupingOrdering : IMessageHandler
19
+ internal sealed class WixGroupingOrdering
20
{
20
- private IMessageHandler messageHandler;
21
+ private IMessaging messageHandler;
22
private List<string> groupTypes;
23
private List<string> itemTypes;
24
private ItemCollection items;
@@ -32,7 +33,7 @@ namespace WixToolset.Core.Link
33
/// <param name="messageHandler">Handler for any error messages.</param>
34
/// <param name="groupTypes">Group 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)
37
{
38
this.EntrySection = entrySections;
39
this.messageHandler = messageHandler;
@@ -58,29 +59,6 @@ namespace WixToolset.Core.Link
59
this.loaded = false;
60
}
61
61
- /// <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
-
62
/// <summary>
63
/// Finds all nested items under a parent group and creates new WixGroup data for them.
64
/// </summary>
@@ -156,7 +134,7 @@ namespace WixToolset.Core.Link
134
Item parentItem;
135
if (!this.items.TryGetValue(parentType, parentId, out parentItem))
136
{
159
- this.OnMessage(WixErrors.IdentifierNotFound(parentType, parentId));
137
+ this.messageHandler.Write(ErrorMessages.IdentifierNotFound(parentType, parentId));
138
return;
139
}
140
@@ -257,7 +235,7 @@ namespace WixToolset.Core.Link
235
//if (null == wixGroupTable || 0 == wixGroupTable.Rows.Count)
236
//{
237
// // TODO: Change message name to make it *not* Bundle specific?
260
- // this.OnMessage(WixErrors.MissingBundleInformation("WixGroup"));
238
+ // this.Write(WixErrors.MissingBundleInformation("WixGroup"));
239
//}
240
241
// Collect all of the groups
@@ -326,7 +304,7 @@ namespace WixToolset.Core.Link
304
if (this.FindCircularGroupReference(item, item, itemsSeen, out circularReference))
305
{
306
itemsInKnownLoops.Add(itemsSeen);
329
- this.OnMessage(WixErrors.ReferenceLoopDetected(item.Row.SourceLineNumbers, circularReference));
307
+ this.messageHandler.Write(ErrorMessages.ReferenceLoopDetected(item.Row.SourceLineNumbers, circularReference));
308
}
309
}
310
}
@@ -398,12 +376,12 @@ namespace WixToolset.Core.Link
376
377
if (!this.items.TryGetValue(rowItemType, rowItemName, out var item))
378
{
401
- this.OnMessage(WixErrors.IdentifierNotFound(rowItemType, rowItemName));
379
+ this.messageHandler.Write(ErrorMessages.IdentifierNotFound(rowItemType, rowItemName));
380
}
381
382
if (!this.items.TryGetValue(rowDependsOnType, rowDependsOnName, out var dependsOn))
383
{
406
- this.OnMessage(WixErrors.IdentifierNotFound(rowDependsOnType, rowDependsOnName));
384
+ this.messageHandler.Write(ErrorMessages.IdentifierNotFound(rowDependsOnType, rowDependsOnName));
385
}
386
387
if (null == item || null == dependsOn)
@@ -411,7 +389,7 @@ namespace WixToolset.Core.Link
389
continue;
390
}
391
414
- item.AddAfter(dependsOn, this);
392
+ item.AddAfter(dependsOn, this.messageHandler);
393
}
394
}
395
@@ -426,12 +404,12 @@ namespace WixToolset.Core.Link
404
// ordering.
405
foreach (Item item in this.items)
406
{
429
- item.PropagateAfterToChildItems(this);
407
+ item.PropagateAfterToChildItems(this.messageHandler);
408
}
409
410
foreach (Item item in this.items)
411
{
434
- item.FlattenAfters(this);
412
+ item.FlattenAfters(this.messageHandler);
413
}
414
}
415
@@ -595,7 +573,7 @@ namespace WixToolset.Core.Link
573
/// </summary>
574
/// <param name="items">List of items to add.</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)
577
{
578
foreach (Item item in items)
579
{
@@ -608,7 +586,7 @@ namespace WixToolset.Core.Link
586
/// </summary>
587
/// <param name="item">Items to add.</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)
590
{
591
if (this.beforeItems.Contains(after))
592
{
@@ -617,7 +595,7 @@ namespace WixToolset.Core.Link
595
// have lost some distinction between authored and propagated ordering.
596
string circularReference = String.Format(CultureInfo.InvariantCulture, "{0}:{1} -> {2}:{3} -> {0}:{1}",
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));
599
return;
600
}
601
@@ -632,7 +610,7 @@ namespace WixToolset.Core.Link
610
/// <remarks>Because items don't know about their parent groups (and can, in fact, be in more
611
/// than one group at a time), we need to propagate the 'afters' from each parent item to its children
612
/// before we attempt to flatten the ordering.</remarks>
635
- public void PropagateAfterToChildItems(IMessageHandler messageHandler)
613
+ public void PropagateAfterToChildItems(IMessaging messageHandler)
614
{
615
if (this.ShouldItemPropagateChildOrdering())
616
{
@@ -647,7 +625,7 @@ namespace WixToolset.Core.Link
625
/// Flattens the ordering dependency for this item.
626
/// </summary>
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)
629
{
630
if (this.flattenedAfterItems)
631
{
src/WixToolset.Core/LinkContext.cs
+1
-1
@@ -17,7 +17,7 @@ namespace WixToolset.Core
17
18
public IServiceProvider ServiceProvider { get; }
19
20
- public Messaging Messaging { get; set; }
20
+ public IMessaging Messaging { get; set; }
21
22
public IEnumerable<ILinkerExtension> Extensions { get; set; }
23
src/WixToolset.Core/Linker.cs
+27
-27
@@ -17,7 +17,7 @@ namespace WixToolset.Core
17
/// <summary>
18
/// Linker core of the WiX toolset.
19
/// </summary>
20
- public sealed class Linker : IMessageHandler
20
+ public sealed class Linker
21
{
22
private static readonly char[] colonCharacter = ":".ToCharArray();
23
private static readonly string emptyGuid = Guid.Empty.ToString("B");
@@ -129,14 +129,14 @@ namespace WixToolset.Core
129
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);
132
- var find = new FindEntrySectionAndLoadSymbolsCommand(sections);
132
+ var find = new FindEntrySectionAndLoadSymbolsCommand(this.Context.Messaging, sections);
133
find.ExpectedOutputType = this.Context.ExpectedOutputType;
134
find.Execute();
135
136
// Must have found the entry section by now.
137
if (null == find.EntrySection)
138
{
139
- throw new WixException(WixErrors.MissingEntrySection(this.Context.ExpectedOutputType.ToString()));
139
+ throw new WixException(ErrorMessages.MissingEntrySection(this.Context.ExpectedOutputType.ToString()));
140
}
141
142
// Add the missing standard action symbols.
@@ -144,12 +144,12 @@ namespace WixToolset.Core
144
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).
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);
149
150
resolve.Execute();
151
152
- if (Messaging.Instance.EncounteredError)
152
+ if (this.Context.Messaging.EncounteredError)
153
{
154
return null;
155
}
@@ -160,7 +160,7 @@ namespace WixToolset.Core
160
161
this.FlattenSectionsComplexReferences(sections);
162
163
- if (Messaging.Instance.EncounteredError)
163
+ if (this.Context.Messaging.EncounteredError)
164
{
165
return null;
166
}
@@ -172,7 +172,7 @@ namespace WixToolset.Core
172
var modulesToFeatures = new ConnectToFeatureCollection();
173
this.ProcessComplexReferences(find.EntrySection, sections, referencedComponents, componentsToFeatures, featuresToFeatures, modulesToFeatures);
174
175
- if (Messaging.Instance.EncounteredError)
175
+ if (this.Context.Messaging.EncounteredError)
176
{
177
return null;
178
}
@@ -182,15 +182,15 @@ namespace WixToolset.Core
182
{
183
if (!referencedComponents.Contains(symbol.Name))
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
}
187
}
188
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();
192
193
- if (Messaging.Instance.EncounteredError)
193
+ if (this.Context.Messaging.EncounteredError)
194
{
195
return null;
196
}
@@ -422,7 +422,7 @@ namespace WixToolset.Core
422
}
423
else if (!row.Overridable || (collidingRow.Overridable && row.Overridable))
424
{
425
- this.OnMessage(WixErrors.WixVariableCollision(row.SourceLineNumbers, row.WixVariable));
425
+ this.OnMessage(ErrorMessages.WixVariableCollision(row.SourceLineNumbers, row.WixVariable));
426
}
427
}
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.
692
this.FlattenBundleTables(resolvedSection);
693
694
- if (Messaging.Instance.EncounteredError)
694
+ if (this.Context.Messaging.EncounteredError)
695
{
696
return null;
697
}
@@ -702,7 +702,7 @@ namespace WixToolset.Core
702
this.CheckOutputConsistency(output);
703
#endif
704
705
- return Messaging.Instance.EncounteredError ? null : output;
705
+ return this.Context.Messaging.EncounteredError ? null : output;
706
}
707
708
#if SOLVE_CUSTOM_TABLE
@@ -1079,10 +1079,10 @@ namespace WixToolset.Core
1079
/// <summary>
1080
/// Sends a message to the message delegate if there is one.
1081
/// </summary>
1082
- /// <param name="mea">Message event arguments.</param>
1083
- public void OnMessage(MessageEventArgs e)
1082
+ /// <param name="message">Message event arguments.</param>
1083
+ public void OnMessage(Message message)
1084
{
1085
- this.Context.Messaging.OnMessage(e);
1085
+ this.Context.Messaging.Write(message);
1086
}
1087
1088
/// <summary>
@@ -1138,7 +1138,7 @@ namespace WixToolset.Core
1138
{
1139
if (connection.IsExplicitPrimaryFeature)
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;
1143
}
1144
else
@@ -1170,7 +1170,7 @@ namespace WixToolset.Core
1170
connection = featuresToFeatures[wixComplexReferenceRow.Child];
1171
if (null != connection)
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;
1175
}
1176
@@ -1187,7 +1187,7 @@ namespace WixToolset.Core
1187
{
1188
if (connection.IsExplicitPrimaryFeature)
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;
1192
}
1193
else
@@ -1214,7 +1214,7 @@ namespace WixToolset.Core
1214
case ComplexReferenceChildType.Component:
1215
if (componentsToModules.ContainsKey(wixComplexReferenceRow.Child))
1216
{
1217
- this.OnMessage(WixErrors.ComponentReferencedTwice(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.Child));
1217
+ this.OnMessage(ErrorMessages.ComponentReferencedTwice(wixComplexReferenceRow.SourceLineNumbers, wixComplexReferenceRow.Child));
1218
continue;
1219
}
1220
else
@@ -1258,7 +1258,7 @@ namespace WixToolset.Core
1258
connection = featuresToFeatures[wixComplexReferenceRow.Child];
1259
if (null != connection)
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;
1263
}
1264
@@ -1443,7 +1443,7 @@ namespace WixToolset.Core
1443
// way up to present the loop as a directed graph.
1444
var loop = String.Join(" -> ", loopDetector);
1445
1446
- this.OnMessage(WixErrors.ReferenceLoopDetected(wixComplexReferenceRow?.SourceLineNumbers, loop));
1446
+ this.OnMessage(ErrorMessages.ReferenceLoopDetected(wixComplexReferenceRow?.SourceLineNumbers, loop));
1447
1448
// Cleanup the parentGroupsNeedingProcessing and the loopDetector just like the
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,
1581
// and ChainPackages/Payloads under the attached and any detatched
1582
// Containers.
1583
- var groups = new WixGroupingOrdering(entrySection, this);
1583
+ var groups = new WixGroupingOrdering(entrySection, this.Context.Messaging);
1584
1585
// Create UX payloads and Package payloads
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
1686
if (null != multipleFeatureComponents)
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
}
1690
else
1691
{
1692
- this.OnMessage(WixErrors.MergeModuleExpectedFeature(row.SourceLineNumbers, connectionId));
1692
+ this.OnMessage(ErrorMessages.MergeModuleExpectedFeature(row.SourceLineNumbers, connectionId));
1693
}
1694
}
1695
else
@@ -1704,7 +1704,7 @@ namespace WixToolset.Core
1704
{
1705
if (!multipleFeatureComponents.Contains(connectionId))
1706
{
1707
- this.OnMessage(WixWarnings.ImplicitComponentPrimaryFeature(connectionId));
1707
+ this.OnMessage(WarningMessages.ImplicitComponentPrimaryFeature(connectionId));
1708
1709
// remember this component so only one warning is generated for it
1710
multipleFeatureComponents[connectionId] = null;
@@ -1712,7 +1712,7 @@ namespace WixToolset.Core
1712
}
1713
else
1714
{
1715
- this.OnMessage(WixWarnings.ImplicitMergeModulePrimaryFeature(connectionId));
1715
+ this.OnMessage(WarningMessages.ImplicitMergeModulePrimaryFeature(connectionId));
1716
}
1717
}
1718
src/WixToolset.Core/Localizer.cs
+46
-45
@@ -9,6 +9,7 @@ namespace WixToolset.Core
9
using WixToolset.Data.Rows;
10
using WixToolset.Core.Native;
11
using WixToolset.Extensibility;
12
+ using WixToolset.Extensibility.Services;
13
14
/// <summary>
15
/// Parses localization files and localizes database values.
@@ -24,7 +25,7 @@ namespace WixToolset.Core
25
/// <summary>
26
/// Instantiate a new Localizer.
27
/// </summary>
27
- public Localizer(IEnumerable<Localization> localizations)
28
+ public Localizer(IMessaging messaging, IEnumerable<Localization> localizations)
29
{
30
this.Codepage = -1;
31
this.variables = new Dictionary<string, BindVariable>();
@@ -39,7 +40,7 @@ namespace WixToolset.Core
40
41
foreach (var variable in localization.Variables)
42
{
42
- Localizer.AddWixVariable(this.variables, variable);
43
+ Localizer.AddWixVariable(messaging, this.variables, variable);
44
}
45
46
foreach (KeyValuePair<string, LocalizedControl> localizedControl in localization.LocalizedControls)
@@ -86,7 +87,7 @@ namespace WixToolset.Core
87
/// <param name="tableDefinitions">Collection containing TableDefinitions to use when loading the localization file.</param>
88
/// <param name="suppressSchema">Suppress xml schema validation while loading.</param>
89
/// <returns>Returns the loaded localization file.</returns>
89
- public static Localization ParseLocalizationFile(string path)
90
+ public static Localization ParseLocalizationFile(IMessaging messaging, string path)
91
{
92
XElement root = XDocument.Load(path).Root;
93
Localization localization = null;
@@ -96,23 +97,23 @@ namespace WixToolset.Core
97
{
98
if (Localizer.WxlNamespace == root.Name.Namespace)
99
{
99
- localization = ParseWixLocalizationElement(root);
100
+ localization = ParseWixLocalizationElement(messaging, root);
101
}
102
else // invalid or missing namespace
103
{
104
if (null == root.Name.Namespace)
105
{
105
- Messaging.Instance.OnMessage(WixErrors.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, Localizer.WxlNamespace.NamespaceName));
106
+ messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, Localizer.WxlNamespace.NamespaceName));
107
}
108
else
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));
111
}
112
}
113
}
114
else
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));
117
}
118
119
return localization;
@@ -123,7 +124,7 @@ namespace WixToolset.Core
124
/// </summary>
125
/// <param name="variables">Dictionary of variable rows.</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)
128
{
129
if (!variables.TryGetValue(wixVariableRow.Id, out var existingWixVariableRow) || (existingWixVariableRow.Overridable && !wixVariableRow.Overridable))
130
{
@@ -131,7 +132,7 @@ namespace WixToolset.Core
132
}
133
else if (!wixVariableRow.Overridable)
134
{
134
- Messaging.Instance.OnMessage(WixErrors.DuplicateLocalizationIdentifier(wixVariableRow.SourceLineNumbers, wixVariableRow.Id));
135
+ messaging.Write(ErrorMessages.DuplicateLocalizationIdentifier(wixVariableRow.SourceLineNumbers, wixVariableRow.Id));
136
}
137
}
138
@@ -139,7 +140,7 @@ namespace WixToolset.Core
140
/// Parses the WixLocalization element.
141
/// </summary>
142
/// <param name="node">Element to parse.</param>
142
- private static Localization ParseWixLocalizationElement(XElement node)
143
+ private static Localization ParseWixLocalizationElement(IMessaging messaging, XElement node)
144
{
145
int codepage = -1;
146
string culture = null;
@@ -161,13 +162,13 @@ namespace WixToolset.Core
162
// do nothing; @Language is used for locutil which can't convert Culture to lcid
163
break;
164
default:
164
- Common.UnexpectedAttribute(sourceLineNumbers, attrib);
165
+ Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib);
166
break;
167
}
168
}
169
else
170
{
170
- Common.UnexpectedAttribute(sourceLineNumbers, attrib);
171
+ Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib);
172
}
173
}
174
@@ -181,32 +182,32 @@ namespace WixToolset.Core
182
switch (child.Name.LocalName)
183
{
184
case "String":
184
- Localizer.ParseString(child, variables);
185
+ Localizer.ParseString(messaging, child, variables);
186
break;
187
188
case "UI":
188
- Localizer.ParseUI(child, localizedControls);
189
+ Localizer.ParseUI(messaging, child, localizedControls);
190
break;
191
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()));
194
break;
195
}
196
}
197
else
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()));
200
}
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);
204
}
205
206
/// <summary>
207
/// Parse a localization string into a WixVariableRow.
208
/// </summary>
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)
211
{
212
string id = null;
213
bool overridable = false;
@@ -219,22 +220,22 @@ namespace WixToolset.Core
220
switch (attrib.Name.LocalName)
221
{
222
case "Id":
222
- id = Common.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
223
+ id = Common.GetAttributeIdentifierValue(messaging, sourceLineNumbers, attrib);
224
break;
225
case "Overridable":
225
- overridable = YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib);
226
+ overridable = YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib);
227
break;
228
case "Localizable":
229
; // do nothing
230
break;
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()));
233
break;
234
}
235
}
236
else
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()));
239
}
240
}
241
@@ -242,14 +243,14 @@ namespace WixToolset.Core
243
244
if (null == id)
245
{
245
- Messaging.Instance.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, "String", "Id"));
246
+ messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, "String", "Id"));
247
}
248
else if (0 == id.Length)
249
{
249
- Messaging.Instance.OnMessage(WixErrors.IllegalIdentifier(sourceLineNumbers, "String", "Id", 0));
250
+ messaging.Write(ErrorMessages.IllegalIdentifier(sourceLineNumbers, "String", "Id", 0));
251
}
252
252
- if (!Messaging.Instance.EncounteredError)
253
+ if (!messaging.EncounteredError)
254
{
255
var variable = new BindVariable
256
{
@@ -259,7 +260,7 @@ namespace WixToolset.Core
260
Value = value,
261
};
262
262
- Localizer.AddWixVariable(variables, variable);
263
+ Localizer.AddWixVariable(messaging, variables, variable);
264
}
265
}
266
@@ -268,7 +269,7 @@ namespace WixToolset.Core
269
/// </summary>
270
/// <param name="node">Element to parse.</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)
273
{
274
string dialog = null;
275
string control = null;
@@ -287,49 +288,49 @@ namespace WixToolset.Core
288
switch (attrib.Name.LocalName)
289
{
290
case "Dialog":
290
- dialog = Common.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
291
+ dialog = Common.GetAttributeIdentifierValue(messaging, sourceLineNumbers, attrib);
292
break;
293
case "Control":
293
- control = Common.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
294
+ control = Common.GetAttributeIdentifierValue(messaging, sourceLineNumbers, attrib);
295
break;
296
case "X":
296
- x = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue);
297
+ x = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue);
298
break;
299
case "Y":
299
- y = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue);
300
+ y = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue);
301
break;
302
case "Width":
302
- width = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue);
303
+ width = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue);
304
break;
305
case "Height":
305
- height = Common.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, short.MaxValue);
306
+ height = Common.GetAttributeIntegerValue(messaging, sourceLineNumbers, attrib, 0, short.MaxValue);
307
break;
308
case "RightToLeft":
308
- if (YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib))
309
+ if (YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib))
310
{
311
attribs |= MsiInterop.MsidbControlAttributesRTLRO;
312
}
313
break;
314
case "RightAligned":
314
- if (YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib))
315
+ if (YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib))
316
{
317
attribs |= MsiInterop.MsidbControlAttributesRightAligned;
318
}
319
break;
320
case "LeftScroll":
320
- if (YesNoType.Yes == Common.GetAttributeYesNoValue(sourceLineNumbers, attrib))
321
+ if (YesNoType.Yes == Common.GetAttributeYesNoValue(messaging, sourceLineNumbers, attrib))
322
{
323
attribs |= MsiInterop.MsidbControlAttributesLeftScroll;
324
}
325
break;
326
default:
326
- Common.UnexpectedAttribute(sourceLineNumbers, attrib);
327
+ Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib);
328
break;
329
}
330
}
331
else
332
{
332
- Common.UnexpectedAttribute(sourceLineNumbers, attrib);
333
+ Common.UnexpectedAttribute(messaging, sourceLineNumbers, attrib);
334
}
335
}
336
@@ -339,24 +340,24 @@ namespace WixToolset.Core
340
{
341
if (MsiInterop.MsidbControlAttributesRTLRO == (attribs & MsiInterop.MsidbControlAttributesRTLRO))
342
{
342
- Messaging.Instance.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightToLeft", "Control"));
343
+ messaging.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightToLeft", "Control"));
344
}
345
else if (MsiInterop.MsidbControlAttributesRightAligned == (attribs & MsiInterop.MsidbControlAttributesRightAligned))
346
{
346
- Messaging.Instance.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightAligned", "Control"));
347
+ messaging.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "RightAligned", "Control"));
348
}
349
else if (MsiInterop.MsidbControlAttributesLeftScroll == (attribs & MsiInterop.MsidbControlAttributesLeftScroll))
350
{
350
- Messaging.Instance.OnMessage(WixErrors.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "LeftScroll", "Control"));
351
+ messaging.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.ToString(), "LeftScroll", "Control"));
352
}
353
}
354
355
if (String.IsNullOrEmpty(control) && String.IsNullOrEmpty(dialog))
356
{
356
- Messaging.Instance.OnMessage(WixErrors.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.ToString(), "Dialog", "Control"));
357
+ messaging.Write(ErrorMessages.ExpectedAttributesWithOtherAttribute(sourceLineNumbers, node.Name.ToString(), "Dialog", "Control"));
358
}
359
359
- if (!Messaging.Instance.EncounteredError)
360
+ if (!messaging.EncounteredError)
361
{
362
LocalizedControl localizedControl = new LocalizedControl(dialog, control, x, y, width, height, attribs, text);
363
string key = localizedControl.GetKey();
@@ -364,11 +365,11 @@ namespace WixToolset.Core
365
{
366
if (String.IsNullOrEmpty(localizedControl.Control))
367
{
367
- Messaging.Instance.OnMessage(WixErrors.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog));
368
+ messaging.Write(ErrorMessages.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog));
369
}
370
else
371
{
371
- Messaging.Instance.OnMessage(WixErrors.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog, localizedControl.Control));
372
+ messaging.Write(ErrorMessages.DuplicatedUiLocalization(sourceLineNumbers, localizedControl.Dialog, localizedControl.Control));
373
}
374
}
375
else
src/WixToolset.Core/Mutator.cs
+3
-3
@@ -71,7 +71,7 @@ namespace WixToolset.Core
71
}
72
finally
73
{
74
- encounteredError = this.Core.EncounteredError;
74
+ encounteredError = this.Core.Messaging.EncounteredError;
75
}
76
77
// return the Wix document element only if mutation completed successfully
@@ -98,7 +98,7 @@ namespace WixToolset.Core
98
99
wixString = mutatorExtension.Mutate(wixString);
100
101
- if (String.IsNullOrEmpty(wixString) || this.Core.EncounteredError)
101
+ if (String.IsNullOrEmpty(wixString) || this.Core.Messaging.EncounteredError)
102
{
103
break;
104
}
@@ -106,7 +106,7 @@ namespace WixToolset.Core
106
}
107
finally
108
{
109
- encounteredError = this.Core.EncounteredError;
109
+ encounteredError = this.Core.Messaging.EncounteredError;
110
}
111
112
return encounteredError ? null : wixString;
src/WixToolset.Core/Preprocess/IfDefEventHandler.cs
new
+28
@@ -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
+}
src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs
renamed
+5
-14
@@ -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.
2
3
-namespace WixToolset
3
+namespace WixToolset.Core.Preprocess
4
{
5
using System;
6
using WixToolset.Data;
@@ -17,9 +17,6 @@ namespace WixToolset
17
/// </summary>
18
public class IncludedFileEventArgs : EventArgs
19
{
20
- private SourceLineNumber sourceLineNumbers;
21
- private string fullName;
22
-
20
/// <summary>
21
/// Creates a new IncludedFileEventArgs.
22
/// </summary>
@@ -27,26 +24,20 @@ namespace WixToolset
24
/// <param name="fullName">The full path of the included file.</param>
25
public IncludedFileEventArgs(SourceLineNumber sourceLineNumbers, string fullName)
26
{
30
- this.sourceLineNumbers = sourceLineNumbers;
31
- this.fullName = fullName;
27
+ this.SourceLineNumbers = sourceLineNumbers;
28
+ this.FullName = fullName;
29
}
30
31
/// <summary>
32
/// Gets the full path of the included file.
33
/// </summary>
34
/// <value>The full path of the included file.</value>
38
- public string FullName
39
- {
40
- get { return this.fullName; }
41
- }
35
+ public string FullName { get; }
36
37
/// <summary>
38
/// Gets the source line numbers.
39
/// </summary>
40
/// <value>The source line numbers.</value>
47
- public SourceLineNumber SourceLineNumbers
48
- {
49
- get { return this.sourceLineNumbers; }
50
- }
41
+ public SourceLineNumber SourceLineNumbers { get; }
42
}
43
}
src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs
renamed
+1
-1
@@ -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.
2
3
-namespace WixToolset
3
+namespace WixToolset.Core.Preprocess
4
{
5
using System;
6
using System.Xml.Linq;
src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs
new
+25
@@ -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
+}
src/WixToolset.Core/PreprocessContext.cs
+2
-1
@@ -6,6 +6,7 @@ namespace WixToolset.Core
6
using System.Collections.Generic;
7
using WixToolset.Data;
8
using WixToolset.Extensibility;
9
+ using WixToolset.Extensibility.Services;
10
11
/// <summary>
12
/// The preprocessor core.
@@ -19,7 +20,7 @@ namespace WixToolset.Core
20
21
public IServiceProvider ServiceProvider { get; }
22
22
- public Messaging Messaging { get; set; }
23
+ public IMessaging Messaging { get; set; }
24
25
public IEnumerable<IPreprocessorExtension> Extensions { get; set; }
26
src/WixToolset.Core/Preprocessor.cs
+36
-36
@@ -136,7 +136,7 @@ namespace WixToolset.Core
136
}
137
else
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
}
141
}
142
}
@@ -159,7 +159,7 @@ namespace WixToolset.Core
159
catch (XmlException e)
160
{
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
}
164
finally
165
{
@@ -347,12 +347,12 @@ namespace WixToolset.Core
347
case "elseif":
348
if (0 == ifStack.Count)
349
{
350
- throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif"));
350
+ throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif"));
351
}
352
353
if (IfState.If != ifContext.IfState && IfState.ElseIf != ifContext.IfState)
354
{
355
- throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif"));
355
+ throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "elseif"));
356
}
357
358
ifContext.IfState = IfState.ElseIf; // we're now in an elseif
@@ -370,12 +370,12 @@ namespace WixToolset.Core
370
case "else":
371
if (0 == ifStack.Count)
372
{
373
- throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else"));
373
+ throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else"));
374
}
375
376
if (IfState.If != ifContext.IfState && IfState.ElseIf != ifContext.IfState)
377
{
378
- throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else"));
378
+ throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "else"));
379
}
380
381
ifContext.IfState = IfState.Else; // we're now in an else
@@ -386,7 +386,7 @@ namespace WixToolset.Core
386
case "endif":
387
if (0 == ifStack.Count)
388
{
389
- throw new WixException(WixErrors.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "endif"));
389
+ throw new WixException(ErrorMessages.UnmatchedPreprocessorInstruction(sourceLineNumbers, "if", "endif"));
390
}
391
392
ifContext = (IfContext)ifStack.Pop();
@@ -466,7 +466,7 @@ namespace WixToolset.Core
466
break;
467
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
471
case "pragma":
472
this.PreprocessPragma(reader.Value, currentContainer);
@@ -483,7 +483,7 @@ namespace WixToolset.Core
483
{
484
if ("Include" != reader.LocalName)
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
}
488
489
this.IncludeNextStack.Pop();
@@ -540,13 +540,13 @@ namespace WixToolset.Core
540
541
if (0 != ifStack.Count)
542
{
543
- throw new WixException(WixErrors.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "if", "endif"));
543
+ throw new WixException(ErrorMessages.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "if", "endif"));
544
}
545
546
// TODO: can this actually happen?
547
if (0 != containerStack.Count)
548
{
549
- throw new WixException(WixErrors.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "nodes", "nodes"));
549
+ throw new WixException(ErrorMessages.NonterminatedPreprocessorInstruction(this.Context.CurrentSourceLineNumber, "nodes", "nodes"));
550
}
551
}
552
@@ -559,7 +559,7 @@ namespace WixToolset.Core
559
// Resolve other variables in the error message.
560
errorMessage = this.Helper.PreprocessString(this.Context, errorMessage);
561
562
- throw new WixException(WixErrors.PreprocessorError(this.Context.CurrentSourceLineNumber, errorMessage));
562
+ throw new WixException(ErrorMessages.PreprocessorError(this.Context.CurrentSourceLineNumber, errorMessage));
563
}
564
565
/// <summary>
@@ -571,7 +571,7 @@ namespace WixToolset.Core
571
// Resolve other variables in the warning message.
572
warningMessage = this.Helper.PreprocessString(this.Context, warningMessage);
573
574
- this.Context.Messaging.OnMessage(WixWarnings.PreprocessorWarning(this.Context.CurrentSourceLineNumber, warningMessage));
574
+ this.Context.Messaging.Write(WarningMessages.PreprocessorWarning(this.Context.CurrentSourceLineNumber, warningMessage));
575
}
576
577
/// <summary>
@@ -584,7 +584,7 @@ namespace WixToolset.Core
584
585
if (!match.Success)
586
{
587
- throw new WixException(WixErrors.IllegalDefineStatement(this.Context.CurrentSourceLineNumber, originalDefine));
587
+ throw new WixException(ErrorMessages.IllegalDefineStatement(this.Context.CurrentSourceLineNumber, originalDefine));
588
}
589
590
var defineName = match.Groups["varName"].Value;
@@ -645,7 +645,7 @@ namespace WixToolset.Core
645
646
if (null == includeFile)
647
{
648
- throw new WixException(WixErrors.FileNotFound(sourceLineNumbers, includePath, "include"));
648
+ throw new WixException(ErrorMessages.FileNotFound(sourceLineNumbers, includePath, "include"));
649
}
650
651
using (XmlReader reader = XmlReader.Create(includeFile, DocumentXmlReaderSettings))
@@ -660,7 +660,7 @@ namespace WixToolset.Core
660
catch (XmlException e)
661
{
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
}
665
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);
682
if (0 > indexOfInToken)
683
{
684
- throw new WixException(WixErrors.IllegalForeach(this.Context.CurrentSourceLineNumber, reader.Value));
684
+ throw new WixException(ErrorMessages.IllegalForeach(this.Context.CurrentSourceLineNumber, reader.Value));
685
}
686
687
// parse out the variable name
@@ -751,7 +751,7 @@ namespace WixToolset.Core
751
}
752
else if (reader.NodeType == XmlNodeType.None)
753
{
754
- throw new WixException(WixErrors.ExpectedEndforeach(this.Context.CurrentSourceLineNumber));
754
+ throw new WixException(ErrorMessages.ExpectedEndforeach(this.Context.CurrentSourceLineNumber));
755
}
756
757
reader.Read();
@@ -773,7 +773,7 @@ namespace WixToolset.Core
773
catch (XmlException e)
774
{
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
}
778
779
fragmentStream.Position = 0; // seek back to the beginning for the next loop.
@@ -791,7 +791,7 @@ namespace WixToolset.Core
791
792
if (!match.Success)
793
{
794
- throw new WixException(WixErrors.InvalidPreprocessorPragma(this.Context.CurrentSourceLineNumber, pragmaText));
794
+ throw new WixException(ErrorMessages.InvalidPreprocessorPragma(this.Context.CurrentSourceLineNumber, pragmaText));
795
}
796
797
// resolve other variables in the pragma argument(s)
@@ -803,7 +803,7 @@ namespace WixToolset.Core
803
}
804
catch (Exception e)
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
}
808
}
809
@@ -830,7 +830,7 @@ namespace WixToolset.Core
830
int endingQuotes = expression.IndexOf('\"', 1);
831
if (-1 == endingQuotes)
832
{
833
- throw new WixException(WixErrors.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
833
+ throw new WixException(ErrorMessages.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
834
}
835
836
// cut the quotes off the string
@@ -864,7 +864,7 @@ namespace WixToolset.Core
864
865
if (-1 == endingParen)
866
{
867
- throw new WixException(WixErrors.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
867
+ throw new WixException(ErrorMessages.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
868
}
869
token = expression.Substring(0, endingParen + 1);
870
@@ -981,12 +981,12 @@ namespace WixToolset.Core
981
else if (variable.IndexOf("(", StringComparison.Ordinal) != -1 || variable.IndexOf(")", StringComparison.Ordinal) != -1)
982
{
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
}
986
else if (variable.IndexOf("\"", StringComparison.Ordinal) != -1)
987
{
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
}
991
992
return varValue;
@@ -1017,7 +1017,7 @@ namespace WixToolset.Core
1017
{
1018
if (stringLiteral)
1019
{
1020
- throw new WixException(WixErrors.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1020
+ throw new WixException(ErrorMessages.UnmatchedQuotesInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1021
}
1022
1023
rightValue = this.GetNextToken(originalExpression, ref expression, out stringLiteral);
@@ -1068,7 +1068,7 @@ namespace WixToolset.Core
1068
{
1069
if (operation.Length > 0)
1070
{
1071
- throw new WixException(WixErrors.ExpectedVariable(this.Context.CurrentSourceLineNumber, originalExpression));
1071
+ throw new WixException(ErrorMessages.ExpectedVariable(this.Context.CurrentSourceLineNumber, originalExpression));
1072
}
1073
1074
// false expression
@@ -1083,7 +1083,7 @@ namespace WixToolset.Core
1083
}
1084
else
1085
{
1086
- throw new WixException(WixErrors.UnexpectedLiteral(this.Context.CurrentSourceLineNumber, originalExpression));
1086
+ throw new WixException(ErrorMessages.UnexpectedLiteral(this.Context.CurrentSourceLineNumber, originalExpression));
1087
}
1088
}
1089
else
@@ -1123,11 +1123,11 @@ namespace WixToolset.Core
1123
}
1124
catch (FormatException)
1125
{
1126
- throw new WixException(WixErrors.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1126
+ throw new WixException(ErrorMessages.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1127
}
1128
catch (OverflowException)
1129
{
1130
- throw new WixException(WixErrors.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1130
+ throw new WixException(ErrorMessages.IllegalIntegerInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1131
}
1132
1133
// Compare the numbers
@@ -1169,7 +1169,7 @@ namespace WixToolset.Core
1169
closeParenIndex = expression.IndexOf(')', closeParenIndex);
1170
if (closeParenIndex == -1)
1171
{
1172
- throw new WixException(WixErrors.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1172
+ throw new WixException(ErrorMessages.UnmatchedParenthesisInExpression(this.Context.CurrentSourceLineNumber, originalExpression));
1173
}
1174
1175
if (InsideQuotes(expression, closeParenIndex))
@@ -1218,7 +1218,7 @@ namespace WixToolset.Core
1218
currentValue = !currentValue;
1219
break;
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
}
1223
}
1224
@@ -1267,7 +1267,7 @@ namespace WixToolset.Core
1267
expression = expression.Trim();
1268
if (expression.Length == 0)
1269
{
1270
- throw new WixException(WixErrors.UnexpectedEmptySubexpression(this.Context.CurrentSourceLineNumber, originalExpression));
1270
+ throw new WixException(ErrorMessages.UnexpectedEmptySubexpression(this.Context.CurrentSourceLineNumber, originalExpression));
1271
}
1272
1273
// If the expression starts with parenthesis, evaluate it
@@ -1288,7 +1288,7 @@ namespace WixToolset.Core
1288
expression = expression.Substring(3).Trim();
1289
if (expression.Length == 0)
1290
{
1291
- throw new WixException(WixErrors.ExpectedExpressionAfterNot(this.Context.CurrentSourceLineNumber, originalExpression));
1291
+ throw new WixException(ErrorMessages.ExpectedExpressionAfterNot(this.Context.CurrentSourceLineNumber, originalExpression));
1292
}
1293
1294
expressionValue = this.EvaluateExpressionRecurse(originalExpression, ref expression, PreprocessorOperation.Not, true);
@@ -1317,7 +1317,7 @@ namespace WixToolset.Core
1317
}
1318
else
1319
{
1320
- throw new WixException(WixErrors.InvalidSubExpression(this.Context.CurrentSourceLineNumber, expression, originalExpression));
1320
+ throw new WixException(ErrorMessages.InvalidSubExpression(this.Context.CurrentSourceLineNumber, expression, originalExpression));
1321
}
1322
}
1323
@@ -1351,7 +1351,7 @@ namespace WixToolset.Core
1351
{
1352
if (1023 < this.CurrentFileStack.Count)
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
}
1356
1357
this.CurrentFileStack.Push(fileName);
src/WixToolset.Core/ResolvedVariableEventHandler.cs
deleted
-39
@@ -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
-}
src/WixToolset.Core/SourceFile.cs
-2
@@ -15,7 +15,5 @@ namespace WixToolset.Core
15
public string OutputPath { get; set; }
16
17
public string SourcePath { get; set; }
18
-
19
- public Stream Stream { get; set; }
18
}
19
}
src/WixToolset.Core/Util.cs
deleted
-17
@@ -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
-}
src/WixToolset.Core/Uuid.cs
+1
-8
@@ -10,15 +10,8 @@ namespace WixToolset
10
/// <summary>
11
/// Implementation of RFC 4122 - A Universally Unique Identifier (UUID) URN Namespace.
12
/// </summary>
13
- public sealed class Uuid
13
+ public static class Uuid
14
{
15
- /// <summary>
16
- /// Protect the constructor.
17
- /// </summary>
18
- private Uuid()
19
- {
20
- }
21
-
15
/// <summary>
16
/// Creates a version 3 name-based UUID.
17
/// </summary>
src/WixToolset.Core/WixFileNotFoundException.cs
renamed
+2
-10
@@ -11,21 +11,13 @@ namespace WixToolset
11
[Serializable]
12
public sealed class WixFileNotFoundException : WixException
13
{
14
- /// <summary>
15
- /// Instantiate a new WixFileNotFoundException.
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
-
14
/// <summary>
15
/// Instantiate a new WixFileNotFoundException.
16
/// </summary>
17
/// <param name="sourceLineNumbers">Source line information pertaining to the file that cannot be found.</param>
18
/// <param name="file">The file that could not be found.</param>
19
public WixFileNotFoundException(SourceLineNumber sourceLineNumbers, string file) :
28
- base(WixErrors.FileNotFound(sourceLineNumbers, file))
20
+ base(ErrorMessages.FileNotFound(sourceLineNumbers, file))
21
{
22
}
23
@@ -45,7 +37,7 @@ namespace WixToolset
37
/// <param name="file">The file that could not be found.</param>
38
/// <param name="fileType">The type of file that cannot be found.</param>
39
public WixFileNotFoundException(SourceLineNumber sourceLineNumbers, string file, string fileType) :
48
- base(WixErrors.FileNotFound(sourceLineNumbers, file, fileType))
40
+ base(ErrorMessages.FileNotFound(sourceLineNumbers, file, fileType))
41
{
42
}
43
}
src/WixToolset.Core/WixGenericMessageEventArgs.cs
deleted
-45
@@ -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
-}
src/WixToolset.Core/WixStrings.Designer.cs
+1
-249
@@ -37,102 +37,7 @@ namespace WixToolset {
37
return resourceMan;
38
}
39
}
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
-
40
+
41
/// <summary>
42
/// Looks up a localized string similar to Could not find a unique identifier for the given resource name..
43
/// </summary>
@@ -142,24 +47,6 @@ namespace WixToolset {
47
}
48
}
49
145
- /// <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
-
50
/// <summary>
51
/// Looks up a localized string similar to Found an ActionRow with a non-existent {0} action: {1}..
52
/// </summary>
@@ -178,33 +65,6 @@ namespace WixToolset {
65
}
66
}
67
181
- /// <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
-
68
/// <summary>
69
/// Looks up a localized string similar to Multiple harvester extensions specified..
70
/// </summary>
@@ -214,24 +74,6 @@ namespace WixToolset {
74
}
75
}
76
217
- /// <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
-
77
/// <summary>
78
/// Looks up a localized string similar to Unexpected complex reference child type: {0}.
79
/// </summary>
@@ -268,78 +110,6 @@ namespace WixToolset {
110
}
111
}
112
271
- /// <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
-
113
/// <summary>
114
/// Looks up a localized string similar to Unknown platform enumeration '{0}' encountered..
115
/// </summary>
@@ -349,24 +119,6 @@ namespace WixToolset {
119
}
120
}
121
352
- /// <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
-
122
/// <summary>
123
/// Looks up a localized string similar to {0}({1}).
124
/// </summary>
src/WixToolset.Core/WixStrings.resx
-75
@@ -117,39 +117,9 @@
117
<resheader name="writer">
118
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
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>
120
<data name="EXP_CouldnotFileUniqueIDForResourceName" xml:space="preserve">
121
<value>Could not find a unique identifier for the given resource name.</value>
122
</data>
150
- <data name="EXP_DidnotFindDuplicateSymbol" xml:space="preserve">
151
- <value>Didn't find duplicated symbol.</value>
152
- </data>
123
<data name="EXP_ExpectedComplexReferenceType" xml:space="preserve">
124
<value>Expected ComplexReference type.</value>
125
</data>
@@ -159,24 +129,9 @@
129
<data name="EXP_FoundActionRowWithNoSequenceBeforeOrAfterColumnSet" xml:space="preserve">
130
<value>Found an ActionRow with no Sequence, Before, or After column set.</value>
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>
132
<data name="EXP_MultipleHarvesterExtensionsSpecified" xml:space="preserve">
133
<value>Multiple harvester extensions specified.</value>
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>
135
<data name="EXP_UnexpectedComplexReferenceChildType" xml:space="preserve">
136
<value>Unexpected complex reference child type: {0}</value>
137
</data>
@@ -189,39 +144,9 @@
144
<data name="EXP_UnexpectedMergerErrorWithType" xml:space="preserve">
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>
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>
147
<data name="EXP_UnknownPlatformEnum" xml:space="preserve">
148
<value>Unknown platform enumeration '{0}' encountered.</value>
149
</data>
222
- <data name="EXP_UnsupportedTable" xml:space="preserve">
223
- <value>The table {0} is not supported.</value>
224
- </data>
150
<data name="Format_FirstLineNumber" xml:space="preserve">
151
<value>{0}({1})</value>
152
</data>
src/WixToolset.Core/WixToolsetServiceProvider.cs
+6
@@ -11,6 +11,7 @@ namespace WixToolset.Core
11
public class WixToolsetServiceProvider : IServiceProvider
12
{
13
private ExtensionManager extensionManager;
14
+ private Messaging messaging;
15
private ParseHelper parseHelper;
16
private PreprocessHelper preprocessHelper;
17
private TupleDefinitionCreator tupleDefinitionCreator;
@@ -62,6 +63,11 @@ namespace WixToolset.Core
63
return this.extensionManager = this.extensionManager ?? new ExtensionManager();
64
}
65
66
+ if (serviceType == typeof(IMessaging))
67
+ {
68
+ return this.messaging = this.messaging ?? new Messaging();
69
+ }
70
+
71
if (serviceType == typeof(ITupleDefinitionCreator))
72
{
73
return this.tupleDefinitionCreator = this.tupleDefinitionCreator ?? new TupleDefinitionCreator(this);
src/WixToolset.Core/WixVariableResolver.cs
+13
-13
@@ -11,6 +11,7 @@ namespace WixToolset.Core
11
using WixToolset.Data;
12
using WixToolset.Data.Tuples;
13
using WixToolset.Extensibility;
14
+ using WixToolset.Extensibility.Services;
15
16
/// <summary>
17
/// WiX variable resolver.
@@ -22,16 +23,15 @@ namespace WixToolset.Core
23
/// <summary>
24
/// Instantiate a new WixVariableResolver.
25
/// </summary>
25
- public WixVariableResolver(Localizer localizer = null)
26
+ public WixVariableResolver(IMessaging messaging, Localizer localizer = null)
27
{
28
this.wixVariables = new Dictionary<string, string>();
29
+ this.Messaging = messaging;
30
this.Localizer = localizer;
31
}
32
31
- /// <summary>
32
- /// Gets or sets the localizer.
33
- /// </summary>
34
- /// <value>The localizer.</value>
33
+ private IMessaging Messaging { get; }
34
+
35
private Localizer Localizer { get; }
36
37
/// <summary>
@@ -52,7 +52,7 @@ namespace WixToolset.Core
52
}
53
catch (ArgumentException)
54
{
55
- Messaging.Instance.OnMessage(WixErrors.WixVariableCollision(null, name));
55
+ this.Messaging.Write(ErrorMessages.WixVariableCollision(null, name));
56
}
57
}
58
@@ -70,7 +70,7 @@ namespace WixToolset.Core
70
{
71
if (!wixVariableRow.Overridable) // collision
72
{
73
- Messaging.Instance.OnMessage(WixErrors.WixVariableCollision(wixVariableRow.SourceLineNumbers, wixVariableRow.WixVariable));
73
+ this.Messaging.Write(ErrorMessages.WixVariableCollision(wixVariableRow.SourceLineNumbers, wixVariableRow.WixVariable));
74
}
75
}
76
}
@@ -153,7 +153,7 @@ namespace WixToolset.Core
153
// localization variables to not support inline default values
154
if ("loc" == variableNamespace)
155
{
156
- Messaging.Instance.OnMessage(WixErrors.IllegalInlineLocVariable(sourceLineNumbers, variableId, variableDefaultValue));
156
+ this.Messaging.Write(ErrorMessages.IllegalInlineLocVariable(sourceLineNumbers, variableId, variableDefaultValue));
157
}
158
}
159
@@ -183,7 +183,7 @@ namespace WixToolset.Core
183
// warn about deprecated syntax of $(loc.var)
184
if ('$' == sb[matches[i].Index])
185
{
186
- Messaging.Instance.OnMessage(WixWarnings.DeprecatedLocalizationVariablePrefix(sourceLineNumbers, variableId));
186
+ this.Messaging.Write(WarningMessages.DeprecatedLocalizationVariablePrefix(sourceLineNumbers, variableId));
187
}
188
189
resolvedValue = this.Localizer?.GetLocalizedValue(variableId);
@@ -193,7 +193,7 @@ namespace WixToolset.Core
193
// illegal syntax of $(wix.var)
194
if ('$' == sb[matches[i].Index])
195
{
196
- Messaging.Instance.OnMessage(WixErrors.IllegalWixVariablePrefix(sourceLineNumbers, variableId));
196
+ this.Messaging.Write(ErrorMessages.IllegalWixVariablePrefix(sourceLineNumbers, variableId));
197
}
198
else
199
{
@@ -225,11 +225,11 @@ namespace WixToolset.Core
225
}
226
else if ("loc" == variableNamespace && errorOnUnknown) // unresolved loc variable
227
{
228
- Messaging.Instance.OnMessage(WixErrors.LocalizationVariableUnknown(sourceLineNumbers, variableId));
228
+ this.Messaging.Write(ErrorMessages.LocalizationVariableUnknown(sourceLineNumbers, variableId));
229
}
230
else if (!localizationOnly && "wix" == variableNamespace && errorOnUnknown) // unresolved wix variable
231
{
232
- Messaging.Instance.OnMessage(WixErrors.WixVariableUnknown(sourceLineNumbers, variableId));
232
+ this.Messaging.Write(ErrorMessages.WixVariableUnknown(sourceLineNumbers, variableId));
233
}
234
}
235
}
@@ -321,7 +321,7 @@ namespace WixToolset.Core
321
}
322
else
323
{
324
- throw new WixException(WixErrors.UnresolvedBindReference(sourceLineNumbers, value));
324
+ throw new WixException(ErrorMessages.UnresolvedBindReference(sourceLineNumbers, value));
325
}
326
}
327
}
src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs
+2
-2
@@ -25,7 +25,7 @@ namespace WixToolsetTest.CoreIntegration
25
var intermediateFolder = fs.GetFolder();
26
27
var program = new Program();
28
- var result = program.Run(new WixToolsetServiceProvider(), new[]
28
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
29
{
30
"build",
31
Path.Combine(folder, "Package.wxs"),
@@ -68,7 +68,7 @@ namespace WixToolsetTest.CoreIntegration
68
var intermediateFolder = fs.GetFolder();
69
70
var program = new Program();
71
- var result = program.Run(new WixToolsetServiceProvider(), new[]
71
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
72
{
73
"build",
74
Path.Combine(folder, "Package.wxs"),
src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs
+8
-8
@@ -23,7 +23,7 @@ namespace WixToolsetTest.CoreIntegration
23
var intermediateFolder = fs.GetFolder();
24
25
var program = new Program();
26
- var result = program.Run(new WixToolsetServiceProvider(), new[]
26
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
27
{
28
"build",
29
Path.Combine(folder, "Package.wxs"),
@@ -59,7 +59,7 @@ namespace WixToolsetTest.CoreIntegration
59
var intermediateFolder = fs.GetFolder();
60
61
var program = new Program();
62
- var result = program.Run(new WixToolsetServiceProvider(), new[]
62
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
63
{
64
"build",
65
Path.Combine(folder, "Package.wxs"),
@@ -95,7 +95,7 @@ namespace WixToolsetTest.CoreIntegration
95
var intermediateFolder = fs.GetFolder();
96
97
var program = new Program();
98
- var result = program.Run(new WixToolsetServiceProvider(), new[]
98
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
99
{
100
"build",
101
Path.Combine(folder, "Package.wxs"),
@@ -125,7 +125,7 @@ namespace WixToolsetTest.CoreIntegration
125
var intermediateFolder = fs.GetFolder();
126
127
var program = new Program();
128
- var result = program.Run(new WixToolsetServiceProvider(), new[]
128
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
129
{
130
"build",
131
Path.Combine(folder, "Package.wxs"),
@@ -155,7 +155,7 @@ namespace WixToolsetTest.CoreIntegration
155
var intermediateFolder = fs.GetFolder();
156
157
var program = new Program();
158
- var result = program.Run(new WixToolsetServiceProvider(), new[]
158
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
159
{
160
"build",
161
Path.Combine(folder, "Package.wxs"),
@@ -185,7 +185,7 @@ namespace WixToolsetTest.CoreIntegration
185
var intermediateFolder = fs.GetFolder();
186
187
var program = new Program();
188
- var result = program.Run(new WixToolsetServiceProvider(), new[]
188
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
189
{
190
"build",
191
Path.Combine(folder, "Module.wxs"),
@@ -219,7 +219,7 @@ namespace WixToolsetTest.CoreIntegration
219
var intermediateFolder = fs.GetFolder();
220
221
var program = new Program();
222
- var result = program.Run(new WixToolsetServiceProvider(), new[]
222
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
223
{
224
"build",
225
Path.Combine(folder, "Package.wxs"),
@@ -255,7 +255,7 @@ namespace WixToolsetTest.CoreIntegration
255
var intermediateFolder = fs.GetFolder();
256
257
var program = new Program();
258
- var result = program.Run(new WixToolsetServiceProvider(), new[]
258
+ var result = program.Run(new WixToolsetServiceProvider(), null, new[]
259
{
260
"build",
261
Path.Combine(folder, "Package.wxs"),
src/wix/Program.cs
+55
-15
@@ -3,7 +3,11 @@
3
namespace WixToolset.Core
4
{
5
using System;
6
+ using System.Globalization;
7
+ using System.Text;
8
+ using System.Threading;
9
using WixToolset.Data;
10
+ using WixToolset.Extensibility;
11
using WixToolset.Extensibility.Services;
12
13
/// <summary>
@@ -19,12 +23,12 @@ namespace WixToolset.Core
23
[MTAThread]
24
public static int Main(string[] args)
25
{
22
- Messaging.Instance.InitializeAppName("WIX", "wix.exe");
23
- Messaging.Instance.Display += DisplayMessage;
24
-
26
var serviceProvider = new WixToolsetServiceProvider();
27
+
28
+ var listener = new ConsoleMessageListener("WIX", "wix.exe");
29
+
30
var program = new Program();
27
- return program.Run(serviceProvider, args);
31
+ return program.Run(serviceProvider, listener, args);
32
}
33
34
/// <summary>
@@ -33,10 +37,13 @@ namespace WixToolset.Core
37
/// <param name="serviceProvider">Service provider to use throughout this execution.</param>
38
/// <param name="args">Command-line arguments to execute.</param>
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)
41
{
42
+ var messaging = serviceProvider.GetService<IMessaging>();
43
+ messaging.SetListener(listener);
44
+
45
var context = serviceProvider.GetService<ICommandLineContext>();
39
- context.Messaging = Messaging.Instance;
46
+ context.Messaging = messaging;
47
context.ExtensionManager = CreateExtensionManagerWithStandardBackends(serviceProvider);
48
context.ParsedArguments = args;
49
@@ -57,17 +64,50 @@ namespace WixToolset.Core
64
return extensionManager;
65
}
66
60
- private static void DisplayMessage(object sender, DisplayEventArgs e)
67
+ private class ConsoleMessageListener : IMessageListener
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)
82
{
64
- case MessageLevel.Warning:
65
- case MessageLevel.Error:
66
- Console.Error.WriteLine(e.Message);
67
- break;
68
- default:
69
- Console.WriteLine(e.Message);
70
- break;
83
+ var filename = message.SourceLineNumbers?.FileName ?? this.LongAppName;
84
+ var line = message.SourceLineNumbers?.LineNumber ?? -1;
85
+ var type = message.Level.ToString().ToLowerInvariant();
86
+ var output = message.Level >= MessageLevel.Warning ? Console.Out : Console.Error;
87
+
88
+ if (line > 0)
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
+ }
111
}
112
}
113
}