Fix formatting on some bundle files.
Sean Hall committed
Mar 30, 2022 at 17:06 UTC
1b61862e5292f007624868e0f40e50a593383200
5 files changed
+874
-875
src/wix/WixToolset.Core.Burn/Bundles/BurnCommon.cs
+72
-73
@@ -31,31 +31,31 @@ namespace WixToolset.Core.Burn.Bundles
31
// See WinNT.h for details about the PE format, including the
32
// structure and offsets for IMAGE_DOS_HEADER, IMAGE_NT_HEADERS32,
33
// IMAGE_FILE_HEADER, etc.
34
- protected const UInt32 IMAGE_DOS_HEADER_SIZE = 64;
35
- protected const UInt32 IMAGE_DOS_HEADER_OFFSET_MAGIC = 0;
36
- protected const UInt32 IMAGE_DOS_HEADER_OFFSET_NTHEADER = 60;
34
+ protected const uint IMAGE_DOS_HEADER_SIZE = 64;
35
+ protected const uint IMAGE_DOS_HEADER_OFFSET_MAGIC = 0;
36
+ protected const uint IMAGE_DOS_HEADER_OFFSET_NTHEADER = 60;
37
38
- protected const UInt32 IMAGE_NT_HEADER_SIZE = 24; // signature DWORD (4) + IMAGE_FILE_HEADER (20)
39
- protected const UInt32 IMAGE_NT_HEADER_OFFSET_SIGNATURE = 0;
40
- protected const UInt32 IMAGE_NT_HEADER_OFFSET_NUMBEROFSECTIONS = 6;
41
- protected const UInt32 IMAGE_NT_HEADER_OFFSET_SIZEOFOPTIONALHEADER = 20;
38
+ protected const uint IMAGE_NT_HEADER_SIZE = 24; // signature DWORD (4) + IMAGE_FILE_HEADER (20)
39
+ protected const uint IMAGE_NT_HEADER_OFFSET_SIGNATURE = 0;
40
+ protected const uint IMAGE_NT_HEADER_OFFSET_NUMBEROFSECTIONS = 6;
41
+ protected const uint IMAGE_NT_HEADER_OFFSET_SIZEOFOPTIONALHEADER = 20;
42
43
- protected const UInt32 IMAGE_OPTIONAL_OFFSET_CHECKSUM = 4 * 16; // checksum is 16 DWORDs into IMAGE_OPTIONAL_HEADER which is right after the IMAGE_NT_HEADER.
44
- protected const UInt32 IMAGE_OPTIONAL_NEGATIVE_OFFSET_CERTIFICATETABLE = (IMAGE_DATA_DIRECTORY_SIZE * (IMAGE_NUMBEROF_DIRECTORY_ENTRIES - IMAGE_DIRECTORY_ENTRY_SECURITY));
43
+ protected const uint IMAGE_OPTIONAL_OFFSET_CHECKSUM = 4 * 16; // checksum is 16 DWORDs into IMAGE_OPTIONAL_HEADER which is right after the IMAGE_NT_HEADER.
44
+ protected const uint IMAGE_OPTIONAL_NEGATIVE_OFFSET_CERTIFICATETABLE = (IMAGE_DATA_DIRECTORY_SIZE * (IMAGE_NUMBEROF_DIRECTORY_ENTRIES - IMAGE_DIRECTORY_ENTRY_SECURITY));
45
46
- protected const UInt32 IMAGE_SECTION_HEADER_SIZE = 40;
47
- protected const UInt32 IMAGE_SECTION_HEADER_OFFSET_NAME = 0;
48
- protected const UInt32 IMAGE_SECTION_HEADER_OFFSET_VIRTUALSIZE = 8;
49
- protected const UInt32 IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA = 16;
50
- protected const UInt32 IMAGE_SECTION_HEADER_OFFSET_POINTERTORAWDATA = 20;
46
+ protected const uint IMAGE_SECTION_HEADER_SIZE = 40;
47
+ protected const uint IMAGE_SECTION_HEADER_OFFSET_NAME = 0;
48
+ protected const uint IMAGE_SECTION_HEADER_OFFSET_VIRTUALSIZE = 8;
49
+ protected const uint IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA = 16;
50
+ protected const uint IMAGE_SECTION_HEADER_OFFSET_POINTERTORAWDATA = 20;
51
52
- protected const UInt32 IMAGE_DATA_DIRECTORY_SIZE = 8; // struct of two DWORDs.
53
- protected const UInt32 IMAGE_DIRECTORY_ENTRY_SECURITY = 4;
54
- protected const UInt32 IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16;
52
+ protected const uint IMAGE_DATA_DIRECTORY_SIZE = 8; // struct of two DWORDs.
53
+ protected const uint IMAGE_DIRECTORY_ENTRY_SECURITY = 4;
54
+ protected const uint IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16;
55
56
- protected const UInt16 IMAGE_DOS_SIGNATURE = 0x5A4D;
57
- protected const UInt32 IMAGE_NT_SIGNATURE = 0x00004550;
58
- protected const UInt64 IMAGE_SECTION_WIXBURN_NAME = 0x6E7275627869772E; // ".wixburn", as a qword.
56
+ protected const ushort IMAGE_DOS_SIGNATURE = 0x5A4D;
57
+ protected const uint IMAGE_NT_SIGNATURE = 0x00004550;
58
+ protected const ulong IMAGE_SECTION_WIXBURN_NAME = 0x6E7275627869772E; // ".wixburn", as a qword.
59
60
// The ".wixburn" section contains:
61
// 0- 3: magic number
@@ -69,32 +69,32 @@ namespace WixToolset.Core.Burn.Bundles
69
// 44-47: container count
70
// 48-51: byte count of manifest + UX container
71
// 52-512: byte count of attached containers (4 bytes for each container)
72
- protected const UInt32 BURN_SECTION_OFFSET_MAGIC = 0;
73
- protected const UInt32 BURN_SECTION_OFFSET_VERSION = 4;
74
- protected const UInt32 BURN_SECTION_OFFSET_BUNDLEGUID = 8;
75
- protected const UInt32 BURN_SECTION_OFFSET_STUBSIZE = 24;
76
- protected const UInt32 BURN_SECTION_OFFSET_ORIGINALCHECKSUM = 28;
77
- protected const UInt32 BURN_SECTION_OFFSET_ORIGINALSIGNATUREOFFSET = 32;
78
- protected const UInt32 BURN_SECTION_OFFSET_ORIGINALSIGNATURESIZE = 36;
79
- protected const UInt32 BURN_SECTION_OFFSET_FORMAT = 40;
80
- protected const UInt32 BURN_SECTION_OFFSET_COUNT = 44;
81
- protected const UInt32 BURN_SECTION_OFFSET_UXSIZE = 48;
82
- protected const UInt32 BURN_SECTION_OFFSET_ATTACHEDCONTAINERSIZE0 = 52;
83
- protected const UInt32 BURN_SECTION_MIN_SIZE = BURN_SECTION_OFFSET_ATTACHEDCONTAINERSIZE0;
84
-
85
- protected const UInt32 BURN_SECTION_MAGIC = 0x00f14300;
86
- protected const UInt32 BURN_SECTION_VERSION = 0x00000002;
72
+ protected const uint BURN_SECTION_OFFSET_MAGIC = 0;
73
+ protected const uint BURN_SECTION_OFFSET_VERSION = 4;
74
+ protected const uint BURN_SECTION_OFFSET_BUNDLEGUID = 8;
75
+ protected const uint BURN_SECTION_OFFSET_STUBSIZE = 24;
76
+ protected const uint BURN_SECTION_OFFSET_ORIGINALCHECKSUM = 28;
77
+ protected const uint BURN_SECTION_OFFSET_ORIGINALSIGNATUREOFFSET = 32;
78
+ protected const uint BURN_SECTION_OFFSET_ORIGINALSIGNATURESIZE = 36;
79
+ protected const uint BURN_SECTION_OFFSET_FORMAT = 40;
80
+ protected const uint BURN_SECTION_OFFSET_COUNT = 44;
81
+ protected const uint BURN_SECTION_OFFSET_UXSIZE = 48;
82
+ protected const uint BURN_SECTION_OFFSET_ATTACHEDCONTAINERSIZE0 = 52;
83
+ protected const uint BURN_SECTION_MIN_SIZE = BURN_SECTION_OFFSET_ATTACHEDCONTAINERSIZE0;
84
+
85
+ protected const uint BURN_SECTION_MAGIC = 0x00f14300;
86
+ protected const uint BURN_SECTION_VERSION = 0x00000002;
87
88
protected string fileExe;
89
- protected UInt32 peOffset = UInt32.MaxValue;
90
- protected UInt16 sections = UInt16.MaxValue;
91
- protected UInt32 firstSectionOffset = UInt32.MaxValue;
92
- protected UInt32 checksumOffset;
93
- protected UInt32 certificateTableSignatureOffset;
94
- protected UInt32 certificateTableSignatureSize;
95
- protected UInt32 wixburnDataOffset = UInt32.MaxValue;
96
- protected UInt32 wixburnRawDataSize;
97
- protected UInt32 wixburnMaxContainers;
89
+ protected uint peOffset = UInt32.MaxValue;
90
+ protected ushort sections = UInt16.MaxValue;
91
+ protected uint firstSectionOffset = UInt32.MaxValue;
92
+ protected uint checksumOffset;
93
+ protected uint certificateTableSignatureOffset;
94
+ protected uint certificateTableSignatureSize;
95
+ protected uint wixburnDataOffset = UInt32.MaxValue;
96
+ protected uint wixburnRawDataSize;
97
+ protected uint wixburnMaxContainers;
98
99
// TODO: does this enum exist in another form somewhere?
100
/// <summary>
@@ -104,7 +104,7 @@ namespace WixToolset.Core.Burn.Bundles
104
{
105
Nothing = 0,
106
UX,
107
- Attached
107
+ Attached,
108
}
109
110
/// <summary>
@@ -119,16 +119,16 @@ namespace WixToolset.Core.Burn.Bundles
119
this.AttachedContainers = new List<ContainerSlot>();
120
}
121
122
- public UInt32 Checksum { get; protected set; }
123
- public UInt32 SignatureOffset { get; protected set; }
124
- public UInt32 SignatureSize { get; protected set; }
125
- public UInt32 Version { get; protected set; }
126
- public UInt32 StubSize { get; protected set; }
127
- public UInt32 OriginalChecksum { get; protected set; }
128
- public UInt32 OriginalSignatureOffset { get; protected set; }
129
- public UInt32 OriginalSignatureSize { get; protected set; }
130
- public UInt32 EngineSize { get; protected set; }
131
- public UInt32 UXAddress { get { return this.StubSize; } }
122
+ public uint Checksum { get; protected set; }
123
+ public uint SignatureOffset { get; protected set; }
124
+ public uint SignatureSize { get; protected set; }
125
+ public uint Version { get; protected set; }
126
+ public uint StubSize { get; protected set; }
127
+ public uint OriginalChecksum { get; protected set; }
128
+ public uint OriginalSignatureOffset { get; protected set; }
129
+ public uint OriginalSignatureSize { get; protected set; }
130
+ public uint EngineSize { get; protected set; }
131
+ public uint UXAddress { get { return this.StubSize; } }
132
public List<ContainerSlot> AttachedContainers { get; protected set; }
133
134
protected IMessaging Messaging { get; }
@@ -179,10 +179,9 @@ namespace WixToolset.Core.Burn.Bundles
179
}
180
181
reader.BaseStream.Seek(this.wixburnDataOffset, SeekOrigin.Begin);
182
- byte[] bytes = reader.ReadBytes((int)this.wixburnRawDataSize);
183
- UInt32 uint32 = 0;
182
+ var bytes = reader.ReadBytes((int)this.wixburnRawDataSize);
183
185
- uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_MAGIC);
184
+ var uint32 = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_MAGIC);
185
if (BURN_SECTION_MAGIC != uint32)
186
{
187
this.Messaging.Write(ErrorMessages.InvalidBundle(this.fileExe));
@@ -208,7 +207,7 @@ namespace WixToolset.Core.Burn.Bundles
207
this.OriginalSignatureOffset = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_ORIGINALSIGNATUREOFFSET);
208
this.OriginalSignatureSize = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_ORIGINALSIGNATURESIZE);
209
211
- uint containerCount = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_COUNT);
210
+ var containerCount = BurnCommon.ReadUInt32(bytes, BURN_SECTION_OFFSET_COUNT);
211
uint uxSize = 0;
212
if (this.wixburnMaxContainers < containerCount)
213
{
@@ -221,7 +220,7 @@ namespace WixToolset.Core.Burn.Bundles
220
for (uint i = 0; i < containerCount; ++i)
221
{
222
uint sizeOffset = BURN_SECTION_OFFSET_UXSIZE + (i * 4);
224
- uint size = BurnCommon.ReadUInt32(bytes, sizeOffset);
223
+ var size = BurnCommon.ReadUInt32(bytes, sizeOffset);
224
this.AttachedContainers.Add(new ContainerSlot(size));
225
}
226
uxSize = this.AttachedContainers[0].Size;
@@ -261,11 +260,11 @@ namespace WixToolset.Core.Burn.Bundles
260
return false;
261
}
262
264
- UInt32 wixburnSectionOffset = UInt32.MaxValue;
265
- byte[] bytes = new byte[IMAGE_SECTION_HEADER_SIZE];
263
+ var wixburnSectionOffset = UInt32.MaxValue;
264
+ var bytes = new byte[IMAGE_SECTION_HEADER_SIZE];
265
266
reader.BaseStream.Seek(this.firstSectionOffset, SeekOrigin.Begin);
268
- for (UInt16 sectionIndex = 0; sectionIndex < this.sections; ++sectionIndex)
267
+ for (ushort sectionIndex = 0; sectionIndex < this.sections; ++sectionIndex)
268
{
269
reader.Read(bytes, 0, bytes.Length);
270
@@ -292,7 +291,7 @@ namespace WixToolset.Core.Burn.Bundles
291
return false;
292
}
293
295
- this.wixburnMaxContainers = (this.wixburnRawDataSize - BURN_SECTION_OFFSET_UXSIZE) / sizeof(UInt32);
294
+ this.wixburnMaxContainers = (this.wixburnRawDataSize - BURN_SECTION_OFFSET_UXSIZE) / sizeof(uint);
295
this.wixburnDataOffset = BurnCommon.ReadUInt32(bytes, IMAGE_SECTION_HEADER_OFFSET_POINTERTORAWDATA);
296
}
297
@@ -313,7 +312,7 @@ namespace WixToolset.Core.Burn.Bundles
312
}
313
314
reader.BaseStream.Seek(this.peOffset, SeekOrigin.Begin);
316
- byte[] bytes = reader.ReadBytes((int)IMAGE_NT_HEADER_SIZE);
315
+ var bytes = reader.ReadBytes((int)IMAGE_NT_HEADER_SIZE);
316
317
// Verify the NT signature...
318
if (IMAGE_NT_SIGNATURE != BurnCommon.ReadUInt32(bytes, IMAGE_NT_HEADER_OFFSET_SIGNATURE))
@@ -322,7 +321,7 @@ namespace WixToolset.Core.Burn.Bundles
321
return false;
322
}
323
325
- ushort sizeOptionalHeader = BurnCommon.ReadUInt16(bytes, IMAGE_NT_HEADER_OFFSET_SIZEOFOPTIONALHEADER);
324
+ var sizeOptionalHeader = BurnCommon.ReadUInt16(bytes, IMAGE_NT_HEADER_OFFSET_SIZEOFOPTIONALHEADER);
325
326
this.sections = BurnCommon.ReadUInt16(bytes, IMAGE_NT_HEADER_OFFSET_NUMBEROFSECTIONS);
327
this.firstSectionOffset = this.peOffset + IMAGE_NT_HEADER_SIZE + sizeOptionalHeader;
@@ -348,7 +347,7 @@ namespace WixToolset.Core.Burn.Bundles
347
{
348
if (UInt32.MaxValue == this.peOffset)
349
{
351
- byte[] bytes = reader.ReadBytes((int)IMAGE_DOS_HEADER_SIZE);
350
+ var bytes = reader.ReadBytes((int)IMAGE_DOS_HEADER_SIZE);
351
352
// Verify the DOS 'MZ' signature.
353
if (IMAGE_DOS_SIGNATURE != BurnCommon.ReadUInt16(bytes, IMAGE_DOS_HEADER_OFFSET_MAGIC))
@@ -369,10 +368,10 @@ namespace WixToolset.Core.Burn.Bundles
368
/// <param name="bytes">Array from which to read.</param>
369
/// <param name="offset">Beginning offset from which to read.</param>
370
/// <returns>value at offset</returns>
372
- internal static UInt16 ReadUInt16(byte[] bytes, UInt32 offset)
371
+ internal static ushort ReadUInt16(byte[] bytes, uint offset)
372
{
373
Debug.Assert(offset + 2 <= bytes.Length);
375
- return (UInt16)(bytes[offset] + (bytes[offset + 1] << 8));
374
+ return (ushort)(bytes[offset] + (bytes[offset + 1] << 8));
375
}
376
377
/// <summary>
@@ -381,10 +380,10 @@ namespace WixToolset.Core.Burn.Bundles
380
/// <param name="bytes">Array from which to read.</param>
381
/// <param name="offset">Beginning offset from which to read.</param>
382
/// <returns>value at offset</returns>
384
- internal static UInt32 ReadUInt32(byte[] bytes, UInt32 offset)
383
+ internal static uint ReadUInt32(byte[] bytes, uint offset)
384
{
385
Debug.Assert(offset + 4 <= bytes.Length);
387
- return BurnCommon.ReadUInt16(bytes, offset) + ((UInt32)BurnCommon.ReadUInt16(bytes, offset + 2) << 16);
386
+ return BurnCommon.ReadUInt16(bytes, offset) + ((uint)BurnCommon.ReadUInt16(bytes, offset + 2) << 16);
387
}
388
389
/// <summary>
@@ -393,10 +392,10 @@ namespace WixToolset.Core.Burn.Bundles
392
/// <param name="bytes">Array from which to read.</param>
393
/// <param name="offset">Beginning offset from which to read.</param>
394
/// <returns>value at offset</returns>
396
- internal static UInt64 ReadUInt64(byte[] bytes, UInt32 offset)
395
+ internal static ulong ReadUInt64(byte[] bytes, uint offset)
396
{
397
Debug.Assert(offset + 8 <= bytes.Length);
399
- return BurnCommon.ReadUInt32(bytes, offset) + ((UInt64)BurnCommon.ReadUInt32(bytes, offset + 4) << 32);
398
+ return BurnCommon.ReadUInt32(bytes, offset) + ((ulong)BurnCommon.ReadUInt32(bytes, offset + 4) << 32);
399
}
400
}
401
src/wix/WixToolset.Core.Burn/Bundles/BurnWriter.cs
+12
-11
@@ -44,9 +44,9 @@ namespace WixToolset.Core.Burn.Bundles
44
/// <returns>Burn writer.</returns>
45
public static BurnWriter Open(IMessaging messaging, string fileExe)
46
{
47
- BurnWriter writer = new BurnWriter(messaging, fileExe);
47
+ var writer = new BurnWriter(messaging, fileExe);
48
49
- using (BinaryReader binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete)))
49
+ using (var binaryReader = new BinaryReader(File.Open(fileExe, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete)))
50
{
51
if (!writer.Initialize(binaryReader))
52
{
@@ -93,7 +93,7 @@ namespace WixToolset.Core.Burn.Bundles
93
this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_FORMAT, 1); // Hard-coded to CAB for now.
94
this.AttachedContainers.Clear();
95
this.WriteToBurnSectionOffset(BURN_SECTION_OFFSET_COUNT, 0);
96
- for (uint i = BURN_SECTION_OFFSET_UXSIZE; i < this.wixburnMaxContainers; i += sizeof(UInt32))
96
+ for (var i = BURN_SECTION_OFFSET_UXSIZE; i < this.wixburnMaxContainers; i += sizeof(uint))
97
{
98
this.WriteToBurnSectionOffset(i, 0);
99
}
@@ -112,7 +112,7 @@ namespace WixToolset.Core.Burn.Bundles
112
/// <returns>true if the container data is successfully appended; false otherwise</returns>
113
public bool AppendContainer(string fileContainer, BurnCommon.Container container)
114
{
115
- using (FileStream reader = File.OpenRead(fileContainer))
115
+ using (var reader = File.OpenRead(fileContainer))
116
{
117
return this.AppendContainer(reader, reader.Length, container);
118
}
@@ -136,10 +136,10 @@ namespace WixToolset.Core.Burn.Bundles
136
this.AttachedContainers.Clear();
137
this.AttachedContainers.Add(uxContainerSlot);
138
139
- uint nextAddress = this.EngineSize;
140
- for (int i = 1; i < reader.AttachedContainers.Count; i++)
139
+ var nextAddress = this.EngineSize;
140
+ for (var i = 1; i < reader.AttachedContainers.Count; i++)
141
{
142
- ContainerSlot cntnr = reader.AttachedContainers[i];
142
+ var cntnr = reader.AttachedContainers[i];
143
144
reader.Stream.Seek(nextAddress, SeekOrigin.Begin);
145
// TODO: verify that the size in the section data is 0 or the same size.
@@ -160,8 +160,8 @@ namespace WixToolset.Core.Burn.Bundles
160
/// <returns>true if the container data is successfully appended; false otherwise</returns>
161
public bool AppendContainer(Stream containerStream, long containerSize, BurnCommon.Container container)
162
{
163
- uint containerCount = (uint)this.AttachedContainers.Count;
164
- uint burnSectionOffsetSize = BURN_SECTION_OFFSET_UXSIZE + (containerCount * sizeof(UInt32));
163
+ var containerCount = (uint)this.AttachedContainers.Count;
164
+ uint burnSectionOffsetSize = BURN_SECTION_OFFSET_UXSIZE + (containerCount * sizeof(uint));
165
var containerSlot = new ContainerSlot((uint)containerSize);
166
167
switch (container)
@@ -239,13 +239,14 @@ namespace WixToolset.Core.Burn.Bundles
239
/// <param name="burnSectionOffsetSize">Offset of size field for this container in ".wixburn" section data.</param>
240
/// <param name="burnSectionCount">Number of Burn sections.</param>
241
/// <returns>true if the container data is successfully appended; false otherwise</returns>
242
- private bool AppendContainer(Stream containerStream, UInt32 containerSize, UInt32 burnSectionOffsetSize, UInt32 burnSectionCount)
242
+ private bool AppendContainer(Stream containerStream, uint containerSize, uint burnSectionOffsetSize, uint burnSectionCount)
243
{
244
if (this.invalidBundle)
245
{
246
return false;
247
}
248
- if (burnSectionOffsetSize > (this.wixburnRawDataSize - sizeof(UInt32)))
248
+
249
+ if (burnSectionOffsetSize > (this.wixburnRawDataSize - sizeof(uint)))
250
{
251
this.invalidBundle = true;
252
this.Messaging.Write(BurnBackendErrors.TooManyAttachedContainers(this.wixburnMaxContainers));
src/wix/WixToolset.Core.Burn/Bundles/GetPackageFacadesCommand.cs
+40
-40
@@ -129,49 +129,49 @@ namespace WixToolset.Core.Burn.Bundles
129
130
switch (package.Type)
131
{
132
- case WixBundlePackageType.Exe:
133
- if (exePackages.TryGetValue(id, out var exePackage))
134
- {
135
- facades.Add(id, new PackageFacade(package, exePackage));
136
- }
137
- else
138
- {
139
- this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleExePackage", id));
140
- }
141
- break;
132
+ case WixBundlePackageType.Exe:
133
+ if (exePackages.TryGetValue(id, out var exePackage))
134
+ {
135
+ facades.Add(id, new PackageFacade(package, exePackage));
136
+ }
137
+ else
138
+ {
139
+ this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleExePackage", id));
140
+ }
141
+ break;
142
143
- case WixBundlePackageType.Msi:
144
- if (msiPackages.TryGetValue(id, out var msiPackage))
145
- {
146
- facades.Add(id, new PackageFacade(package, msiPackage));
147
- }
148
- else
149
- {
150
- this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleMsiPackage", id));
151
- }
152
- break;
143
+ case WixBundlePackageType.Msi:
144
+ if (msiPackages.TryGetValue(id, out var msiPackage))
145
+ {
146
+ facades.Add(id, new PackageFacade(package, msiPackage));
147
+ }
148
+ else
149
+ {
150
+ this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleMsiPackage", id));
151
+ }
152
+ break;
153
154
- case WixBundlePackageType.Msp:
155
- if (mspPackages.TryGetValue(id, out var mspPackage))
156
- {
157
- facades.Add(id, new PackageFacade(package, mspPackage));
158
- }
159
- else
160
- {
161
- this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleMspPackage", id));
162
- }
163
- break;
154
+ case WixBundlePackageType.Msp:
155
+ if (mspPackages.TryGetValue(id, out var mspPackage))
156
+ {
157
+ facades.Add(id, new PackageFacade(package, mspPackage));
158
+ }
159
+ else
160
+ {
161
+ this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleMspPackage", id));
162
+ }
163
+ break;
164
165
- case WixBundlePackageType.Msu:
166
- if (msuPackages.TryGetValue(id, out var msuPackage))
167
- {
168
- facades.Add(id, new PackageFacade(package, msuPackage));
169
- }
170
- else
171
- {
172
- this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleMsuPackage", id));
173
- }
174
- break;
165
+ case WixBundlePackageType.Msu:
166
+ if (msuPackages.TryGetValue(id, out var msuPackage))
167
+ {
168
+ facades.Add(id, new PackageFacade(package, msuPackage));
169
+ }
170
+ else
171
+ {
172
+ this.Messaging.Write(ErrorMessages.IdentifierNotFound("WixBundleMsuPackage", id));
173
+ }
174
+ break;
175
}
176
}
177
src/wix/WixToolset.Core/Compiler_Bundle.cs
+750
-750
@@ -40,36 +40,36 @@ namespace WixToolset.Core
40
{
41
switch (attrib.Name.LocalName)
42
{
43
- case "Id":
44
- id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
45
- break;
46
- case "Bitness":
47
- var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
48
- switch (bitnessValue)
49
- {
50
- case "always32":
51
- win64 = false;
43
+ case "Id":
44
+ id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
45
+ break;
46
+ case "Bitness":
47
+ var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
48
+ switch (bitnessValue)
49
+ {
50
+ case "always32":
51
+ win64 = false;
52
+ break;
53
+ case "always64":
54
+ win64 = true;
55
+ break;
56
+ case "default":
57
+ case "":
58
+ break;
59
+ default:
60
+ this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
61
+ break;
62
+ }
63
break;
53
- case "always64":
54
- win64 = true;
64
+ case "Key":
65
+ key = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
66
break;
56
- case "default":
57
- case "":
67
+ case "Value":
68
+ valueName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
69
break;
70
default:
60
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
71
+ this.Core.UnexpectedAttribute(node, attrib);
72
break;
62
- }
63
- break;
64
- case "Key":
65
- key = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
66
- break;
67
- case "Value":
68
- valueName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
69
- break;
70
- default:
71
- this.Core.UnexpectedAttribute(node, attrib);
72
- break;
73
}
74
}
75
else
@@ -133,7 +133,7 @@ namespace WixToolset.Core
133
string parentName = null;
134
135
string fileSystemSafeBundleName = null;
136
- string logVariablePrefixAndExtension = null;
136
+ string logVariablePrefixAndExtension;
137
string iconSourceFile = null;
138
string splashScreenSourceFile = null;
139
@@ -144,98 +144,98 @@ namespace WixToolset.Core
144
{
145
switch (attrib.Name.LocalName)
146
{
147
- case "AboutUrl":
148
- aboutUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
149
- break;
150
- case "CommandLineVariables":
151
- var commandLineVariablesValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
152
- switch (commandLineVariablesValue)
153
- {
154
- case "upperCase":
155
- commandLineVariables = WixBundleCommandLineVariables.UpperCase;
147
+ case "AboutUrl":
148
+ aboutUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
149
break;
157
- case "caseSensitive":
158
- commandLineVariables = WixBundleCommandLineVariables.CaseSensitive;
150
+ case "CommandLineVariables":
151
+ var commandLineVariablesValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
152
+ switch (commandLineVariablesValue)
153
+ {
154
+ case "upperCase":
155
+ commandLineVariables = WixBundleCommandLineVariables.UpperCase;
156
+ break;
157
+ case "caseSensitive":
158
+ commandLineVariables = WixBundleCommandLineVariables.CaseSensitive;
159
+ break;
160
+ default:
161
+ this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, commandLineVariablesValue, "upperCase", "caseSensitive"));
162
+ break;
163
+ }
164
break;
160
- default:
161
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, commandLineVariablesValue, "upperCase", "caseSensitive"));
165
+ case "Compressed":
166
+ compressed = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
167
break;
163
- }
164
- break;
165
- case "Compressed":
166
- compressed = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
167
- break;
168
- case "Condition":
169
- condition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
170
- break;
171
- case "Copyright":
172
- copyright = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
173
- break;
174
- case "DisableModify":
175
- var value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
176
- switch (value)
177
- {
178
- case "button":
179
- attributes |= WixBundleAttributes.SingleChangeUninstallButton;
168
+ case "Condition":
169
+ condition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
170
+ break;
171
+ case "Copyright":
172
+ copyright = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
173
+ break;
174
+ case "DisableModify":
175
+ var value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
176
+ switch (value)
177
+ {
178
+ case "button":
179
+ attributes |= WixBundleAttributes.SingleChangeUninstallButton;
180
+ break;
181
+ case "yes":
182
+ attributes |= WixBundleAttributes.DisableModify;
183
+ break;
184
+ case "no":
185
+ break;
186
+ default:
187
+ this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "button", "yes", "no"));
188
+ break;
189
+ }
190
+ break;
191
+ case "DisableRemove":
192
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
193
+ {
194
+ attributes |= WixBundleAttributes.DisableRemove;
195
+ }
196
+ break;
197
+ case "HelpTelephone":
198
+ helpTelephone = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
199
+ break;
200
+ case "HelpUrl":
201
+ helpUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
202
+ break;
203
+ case "Manufacturer":
204
+ manufacturer = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
205
+ break;
206
+ case "IconSourceFile":
207
+ iconSourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
208
+ break;
209
+ case "InProgressName":
210
+ inProgressName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
211
+ break;
212
+ case "Name":
213
+ name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
214
+ break;
215
+ case "ParentName":
216
+ parentName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
217
+ break;
218
+ case "ProviderKey":
219
+ // This can't be processed until we create the section.
220
+ break;
221
+ case "SplashScreenSourceFile":
222
+ splashScreenSourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
223
+ break;
224
+ case "Tag":
225
+ tag = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
226
break;
181
- case "yes":
182
- attributes |= WixBundleAttributes.DisableModify;
227
+ case "UpdateUrl":
228
+ updateUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
229
break;
184
- case "no":
230
+ case "UpgradeCode":
231
+ upgradeCode = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
232
+ break;
233
+ case "Version":
234
+ version = this.Core.GetAttributeVersionValue(sourceLineNumbers, attrib);
235
break;
236
default:
187
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "button", "yes", "no"));
237
+ this.Core.UnexpectedAttribute(node, attrib);
238
break;
189
- }
190
- break;
191
- case "DisableRemove":
192
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
193
- {
194
- attributes |= WixBundleAttributes.DisableRemove;
195
- }
196
- break;
197
- case "HelpTelephone":
198
- helpTelephone = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
199
- break;
200
- case "HelpUrl":
201
- helpUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
202
- break;
203
- case "Manufacturer":
204
- manufacturer = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
205
- break;
206
- case "IconSourceFile":
207
- iconSourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
208
- break;
209
- case "InProgressName":
210
- inProgressName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
211
- break;
212
- case "Name":
213
- name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
214
- break;
215
- case "ParentName":
216
- parentName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
217
- break;
218
- case "ProviderKey":
219
- // This can't be processed until we create the section.
220
- break;
221
- case "SplashScreenSourceFile":
222
- splashScreenSourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
223
- break;
224
- case "Tag":
225
- tag = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
226
- break;
227
- case "UpdateUrl":
228
- updateUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
229
- break;
230
- case "UpgradeCode":
231
- upgradeCode = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
232
- break;
233
- case "Version":
234
- version = this.Core.GetAttributeVersionValue(sourceLineNumbers, attrib);
235
- break;
236
- default:
237
- this.Core.UnexpectedAttribute(node, attrib);
238
- break;
239
}
240
}
241
}
@@ -314,87 +314,87 @@ namespace WixToolset.Core
314
{
315
switch (child.Name.LocalName)
316
{
317
- case "ApprovedExeForElevation":
318
- this.ParseApprovedExeForElevation(child);
319
- break;
320
- case "BootstrapperApplication":
321
- this.ParseBootstrapperApplicationElement(child);
322
- break;
323
- case "BootstrapperApplicationRef":
324
- this.ParseBootstrapperApplicationRefElement(child);
325
- break;
326
- case "BundleCustomData":
327
- this.ParseBundleCustomDataElement(child);
328
- break;
329
- case "BundleCustomDataRef":
330
- this.ParseBundleCustomDataRefElement(child);
331
- break;
332
- case "BundleExtension":
333
- this.ParseBundleExtensionElement(child);
334
- break;
335
- case "BundleExtensionRef":
336
- this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleExtension);
337
- break;
338
- case "OptionalUpdateRegistration":
339
- this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name);
340
- break;
341
- case "Chain":
342
- if (chainSeen)
343
- {
344
- var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
345
- this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Chain"));
346
- }
347
- this.ParseChainElement(child);
348
- chainSeen = true;
349
- break;
350
- case "Container":
351
- this.ParseContainerElement(child);
352
- break;
353
- case "ContainerRef":
354
- this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleContainer);
355
- break;
356
- case "Log":
357
- if (logSeen)
358
- {
359
- var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
360
- this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Log"));
361
- }
362
- logVariablePrefixAndExtension = this.ParseLogElement(child, fileSystemSafeBundleName);
363
- logSeen = true;
364
- break;
365
- case "PayloadGroup":
366
- this.ParsePayloadGroupElement(child, ComplexReferenceParentType.Layout, Compiler.BundleLayoutOnlyPayloads);
367
- break;
368
- case "PayloadGroupRef":
369
- this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.Layout, Compiler.BundleLayoutOnlyPayloads);
370
- break;
371
- case "RelatedBundle":
372
- this.ParseRelatedBundleElement(child);
373
- break;
374
- case "Requires":
375
- this.ParseRequiresElement(child, null);
376
- break;
377
- case "SetVariable":
378
- this.ParseSetVariableElement(child);
379
- break;
380
- case "SetVariableRef":
381
- this.ParseSimpleRefElement(child, SymbolDefinitions.WixSetVariable);
382
- break;
383
- case "SoftwareTag":
384
- this.ParseBundleTagElement(child);
385
- break;
386
- case "Update":
387
- this.ParseUpdateElement(child);
388
- break;
389
- case "Variable":
390
- this.ParseVariableElement(child);
391
- break;
392
- case "WixVariable":
393
- this.ParseWixVariableElement(child);
394
- break;
395
- default:
396
- this.Core.UnexpectedElement(node, child);
397
- break;
317
+ case "ApprovedExeForElevation":
318
+ this.ParseApprovedExeForElevation(child);
319
+ break;
320
+ case "BootstrapperApplication":
321
+ this.ParseBootstrapperApplicationElement(child);
322
+ break;
323
+ case "BootstrapperApplicationRef":
324
+ this.ParseBootstrapperApplicationRefElement(child);
325
+ break;
326
+ case "BundleCustomData":
327
+ this.ParseBundleCustomDataElement(child);
328
+ break;
329
+ case "BundleCustomDataRef":
330
+ this.ParseBundleCustomDataRefElement(child);
331
+ break;
332
+ case "BundleExtension":
333
+ this.ParseBundleExtensionElement(child);
334
+ break;
335
+ case "BundleExtensionRef":
336
+ this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleExtension);
337
+ break;
338
+ case "OptionalUpdateRegistration":
339
+ this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name);
340
+ break;
341
+ case "Chain":
342
+ if (chainSeen)
343
+ {
344
+ var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
345
+ this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Chain"));
346
+ }
347
+ this.ParseChainElement(child);
348
+ chainSeen = true;
349
+ break;
350
+ case "Container":
351
+ this.ParseContainerElement(child);
352
+ break;
353
+ case "ContainerRef":
354
+ this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleContainer);
355
+ break;
356
+ case "Log":
357
+ if (logSeen)
358
+ {
359
+ var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(child);
360
+ this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, "Log"));
361
+ }
362
+ logVariablePrefixAndExtension = this.ParseLogElement(child, fileSystemSafeBundleName);
363
+ logSeen = true;
364
+ break;
365
+ case "PayloadGroup":
366
+ this.ParsePayloadGroupElement(child, ComplexReferenceParentType.Layout, Compiler.BundleLayoutOnlyPayloads);
367
+ break;
368
+ case "PayloadGroupRef":
369
+ this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.Layout, Compiler.BundleLayoutOnlyPayloads);
370
+ break;
371
+ case "RelatedBundle":
372
+ this.ParseRelatedBundleElement(child);
373
+ break;
374
+ case "Requires":
375
+ this.ParseRequiresElement(child, null);
376
+ break;
377
+ case "SetVariable":
378
+ this.ParseSetVariableElement(child);
379
+ break;
380
+ case "SetVariableRef":
381
+ this.ParseSimpleRefElement(child, SymbolDefinitions.WixSetVariable);
382
+ break;
383
+ case "SoftwareTag":
384
+ this.ParseBundleTagElement(child);
385
+ break;
386
+ case "Update":
387
+ this.ParseUpdateElement(child);
388
+ break;
389
+ case "Variable":
390
+ this.ParseVariableElement(child);
391
+ break;
392
+ case "WixVariable":
393
+ this.ParseWixVariableElement(child);
394
+ break;
395
+ default:
396
+ this.Core.UnexpectedElement(node, child);
397
+ break;
398
}
399
}
400
else
@@ -508,21 +508,21 @@ namespace WixToolset.Core
508
{
509
switch (attrib.Name.LocalName)
510
{
511
- case "Disable":
512
- disableLog = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
513
- break;
514
- case "PathVariable":
515
- variable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
516
- break;
517
- case "Prefix":
518
- logPrefix = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
519
- break;
520
- case "Extension":
521
- logExtension = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
522
- break;
523
- default:
524
- this.Core.UnexpectedAttribute(node, attrib);
525
- break;
511
+ case "Disable":
512
+ disableLog = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
513
+ break;
514
+ case "PathVariable":
515
+ variable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
516
+ break;
517
+ case "Prefix":
518
+ logPrefix = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
519
+ break;
520
+ case "Extension":
521
+ logExtension = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
522
+ break;
523
+ default:
524
+ this.Core.UnexpectedAttribute(node, attrib);
525
+ break;
526
}
527
}
528
else
@@ -559,37 +559,37 @@ namespace WixToolset.Core
559
{
560
switch (attrib.Name.LocalName)
561
{
562
- case "Id":
563
- id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
564
- if (id?.Id == BurnConstants.BurnUXContainerName || id?.Id == BurnConstants.BurnDefaultAttachedContainerName)
565
- {
566
- this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id.Id));
567
- }
568
- break;
569
- case "DownloadUrl":
570
- downloadUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
571
- break;
572
- case "Name":
573
- name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
574
- break;
575
- case "Type":
576
- var typeString = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
577
- switch (typeString)
578
- {
579
- case "attached":
580
- type = ContainerType.Attached;
581
- break;
582
- case "detached":
583
- type = ContainerType.Detached;
584
- break;
585
- default:
586
- this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Type", typeString, "attached, detached"));
587
- break;
588
- }
589
- break;
590
- default:
591
- this.Core.UnexpectedAttribute(node, attrib);
592
- break;
562
+ case "Id":
563
+ id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
564
+ if (id?.Id == BurnConstants.BurnUXContainerName || id?.Id == BurnConstants.BurnDefaultAttachedContainerName)
565
+ {
566
+ this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id.Id));
567
+ }
568
+ break;
569
+ case "DownloadUrl":
570
+ downloadUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
571
+ break;
572
+ case "Name":
573
+ name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
574
+ break;
575
+ case "Type":
576
+ var typeString = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
577
+ switch (typeString)
578
+ {
579
+ case "attached":
580
+ type = ContainerType.Attached;
581
+ break;
582
+ case "detached":
583
+ type = ContainerType.Detached;
584
+ break;
585
+ default:
586
+ this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Type", typeString, "attached, detached"));
587
+ break;
588
+ }
589
+ break;
590
+ default:
591
+ this.Core.UnexpectedAttribute(node, attrib);
592
+ break;
593
}
594
}
595
else
@@ -631,12 +631,12 @@ namespace WixToolset.Core
631
{
632
switch (child.Name.LocalName)
633
{
634
- case "PackageGroupRef":
635
- this.ParsePackageGroupRefElement(child, ComplexReferenceParentType.Container, id.Id);
636
- break;
637
- default:
638
- this.Core.UnexpectedElement(node, child);
639
- break;
634
+ case "PackageGroupRef":
635
+ this.ParsePackageGroupRefElement(child, ComplexReferenceParentType.Container, id.Id);
636
+ break;
637
+ default:
638
+ this.Core.UnexpectedElement(node, child);
639
+ break;
640
}
641
}
642
else
@@ -845,12 +845,12 @@ namespace WixToolset.Core
845
{
846
switch (attrib.Name.LocalName)
847
{
848
- case "Id":
849
- id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
850
- break;
851
- default:
852
- this.Core.UnexpectedAttribute(node, attrib);
853
- break;
848
+ case "Id":
849
+ id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
850
+ break;
851
+ default:
852
+ this.Core.UnexpectedAttribute(node, attrib);
853
+ break;
854
}
855
}
856
else
@@ -865,15 +865,15 @@ namespace WixToolset.Core
865
{
866
switch (child.Name.LocalName)
867
{
868
- case "Payload":
869
- this.ParsePayloadElement(child, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId);
870
- break;
871
- case "PayloadGroupRef":
872
- this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId);
873
- break;
874
- default:
875
- this.Core.UnexpectedElement(node, child);
876
- break;
868
+ case "Payload":
869
+ this.ParsePayloadElement(child, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId);
870
+ break;
871
+ case "PayloadGroupRef":
872
+ this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId);
873
+ break;
874
+ default:
875
+ this.Core.UnexpectedElement(node, child);
876
+ break;
877
}
878
}
879
else
@@ -1303,24 +1303,24 @@ namespace WixToolset.Core
1303
{
1304
switch (attrib.Name.LocalName)
1305
{
1306
- case "Manufacturer":
1307
- manufacturer = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1308
- break;
1309
- case "Department":
1310
- department = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1311
- break;
1312
- case "ProductFamily":
1313
- productFamily = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1314
- break;
1315
- case "Name":
1316
- name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1317
- break;
1318
- case "Classification":
1319
- classification = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1320
- break;
1321
- default:
1322
- this.Core.UnexpectedAttribute(node, attrib);
1323
- break;
1306
+ case "Manufacturer":
1307
+ manufacturer = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1308
+ break;
1309
+ case "Department":
1310
+ department = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1311
+ break;
1312
+ case "ProductFamily":
1313
+ productFamily = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1314
+ break;
1315
+ case "Name":
1316
+ name = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1317
+ break;
1318
+ case "Classification":
1319
+ classification = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1320
+ break;
1321
+ default:
1322
+ this.Core.UnexpectedAttribute(node, attrib);
1323
+ break;
1324
}
1325
}
1326
else
@@ -1490,12 +1490,12 @@ namespace WixToolset.Core
1490
{
1491
switch (attrib.Name.LocalName)
1492
{
1493
- case "Id":
1494
- id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1495
- break;
1496
- default:
1497
- this.Core.UnexpectedAttribute(node, attrib);
1498
- break;
1493
+ case "Id":
1494
+ id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1495
+ break;
1496
+ default:
1497
+ this.Core.UnexpectedAttribute(node, attrib);
1498
+ break;
1499
}
1500
}
1501
else
@@ -1517,27 +1517,27 @@ namespace WixToolset.Core
1517
WixBundlePackageType? packageType = null;
1518
switch (child.Name.LocalName)
1519
{
1520
- case "ExePackagePayload":
1521
- packageType = WixBundlePackageType.Exe;
1522
- break;
1523
- case "MsiPackagePayload":
1524
- packageType = WixBundlePackageType.Msi;
1525
- break;
1526
- case "MspPackagePayload":
1527
- packageType = WixBundlePackageType.Msp;
1528
- break;
1529
- case "MsuPackagePayload":
1530
- packageType = WixBundlePackageType.Msu;
1531
- break;
1532
- case "Payload":
1533
- this.ParsePayloadElement(child, ComplexReferenceParentType.PayloadGroup, id);
1534
- break;
1535
- case "PayloadGroupRef":
1536
- this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.PayloadGroup, id);
1537
- break;
1538
- default:
1539
- this.Core.UnexpectedElement(node, child);
1540
- break;
1520
+ case "ExePackagePayload":
1521
+ packageType = WixBundlePackageType.Exe;
1522
+ break;
1523
+ case "MsiPackagePayload":
1524
+ packageType = WixBundlePackageType.Msi;
1525
+ break;
1526
+ case "MspPackagePayload":
1527
+ packageType = WixBundlePackageType.Msp;
1528
+ break;
1529
+ case "MsuPackagePayload":
1530
+ packageType = WixBundlePackageType.Msu;
1531
+ break;
1532
+ case "Payload":
1533
+ this.ParsePayloadElement(child, ComplexReferenceParentType.PayloadGroup, id);
1534
+ break;
1535
+ case "PayloadGroupRef":
1536
+ this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.PayloadGroup, id);
1537
+ break;
1538
+ default:
1539
+ this.Core.UnexpectedElement(node, child);
1540
+ break;
1541
}
1542
1543
if (packageType.HasValue)
@@ -1584,13 +1584,13 @@ namespace WixToolset.Core
1584
{
1585
switch (attrib.Name.LocalName)
1586
{
1587
- case "Id":
1588
- id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1589
- this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, id.Id);
1590
- break;
1591
- default:
1592
- this.Core.UnexpectedAttribute(node, attrib);
1593
- break;
1587
+ case "Id":
1588
+ id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1589
+ this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, id.Id);
1590
+ break;
1591
+ default:
1592
+ this.Core.UnexpectedAttribute(node, attrib);
1593
+ break;
1594
}
1595
}
1596
else
@@ -1628,34 +1628,34 @@ namespace WixToolset.Core
1628
{
1629
switch (attrib.Name.LocalName)
1630
{
1631
- case "Value":
1632
- value = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, Int32.MinValue + 2, Int32.MaxValue);
1633
- break;
1634
- case "Behavior":
1635
- var behaviorString = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1636
- switch (behaviorString)
1637
- {
1638
- case "error":
1639
- behavior = ExitCodeBehaviorType.Error;
1640
- break;
1641
- case "forceReboot":
1642
- behavior = ExitCodeBehaviorType.ForceReboot;
1643
- break;
1644
- case "scheduleReboot":
1645
- behavior = ExitCodeBehaviorType.ScheduleReboot;
1646
- break;
1647
- case "success":
1648
- behavior = ExitCodeBehaviorType.Success;
1649
- break;
1650
- default:
1651
- this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Behavior", behaviorString, "success, error, scheduleReboot, forceReboot"));
1652
- behavior = ExitCodeBehaviorType.Success; // set value to avoid ExpectedAttribute below.
1653
- break;
1654
- }
1655
- break;
1656
- default:
1657
- this.Core.UnexpectedAttribute(node, attrib);
1658
- break;
1631
+ case "Value":
1632
+ value = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, Int32.MinValue + 2, Int32.MaxValue);
1633
+ break;
1634
+ case "Behavior":
1635
+ var behaviorString = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1636
+ switch (behaviorString)
1637
+ {
1638
+ case "error":
1639
+ behavior = ExitCodeBehaviorType.Error;
1640
+ break;
1641
+ case "forceReboot":
1642
+ behavior = ExitCodeBehaviorType.ForceReboot;
1643
+ break;
1644
+ case "scheduleReboot":
1645
+ behavior = ExitCodeBehaviorType.ScheduleReboot;
1646
+ break;
1647
+ case "success":
1648
+ behavior = ExitCodeBehaviorType.Success;
1649
+ break;
1650
+ default:
1651
+ this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Behavior", behaviorString, "success, error, scheduleReboot, forceReboot"));
1652
+ behavior = ExitCodeBehaviorType.Success; // set value to avoid ExpectedAttribute below.
1653
+ break;
1654
+ }
1655
+ break;
1656
+ default:
1657
+ this.Core.UnexpectedAttribute(node, attrib);
1658
+ break;
1659
}
1660
}
1661
else
@@ -1697,27 +1697,27 @@ namespace WixToolset.Core
1697
{
1698
switch (attrib.Name.LocalName)
1699
{
1700
- case "DisableRollback":
1701
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
1702
- {
1703
- attributes |= WixChainAttributes.DisableRollback;
1704
- }
1705
- break;
1706
- case "DisableSystemRestore":
1707
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
1708
- {
1709
- attributes |= WixChainAttributes.DisableSystemRestore;
1710
- }
1711
- break;
1712
- case "ParallelCache":
1713
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
1714
- {
1715
- attributes |= WixChainAttributes.ParallelCache;
1716
- }
1717
- break;
1718
- default:
1719
- this.Core.UnexpectedAttribute(node, attrib);
1720
- break;
1700
+ case "DisableRollback":
1701
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
1702
+ {
1703
+ attributes |= WixChainAttributes.DisableRollback;
1704
+ }
1705
+ break;
1706
+ case "DisableSystemRestore":
1707
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
1708
+ {
1709
+ attributes |= WixChainAttributes.DisableSystemRestore;
1710
+ }
1711
+ break;
1712
+ case "ParallelCache":
1713
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
1714
+ {
1715
+ attributes |= WixChainAttributes.ParallelCache;
1716
+ }
1717
+ break;
1718
+ default:
1719
+ this.Core.UnexpectedAttribute(node, attrib);
1720
+ break;
1721
}
1722
}
1723
else
@@ -1735,33 +1735,33 @@ namespace WixToolset.Core
1735
{
1736
switch (child.Name.LocalName)
1737
{
1738
- case "MsiPackage":
1739
- previousId = this.ParseMsiPackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1740
- previousType = ComplexReferenceChildType.Package;
1741
- break;
1742
- case "MspPackage":
1743
- previousId = this.ParseMspPackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1744
- previousType = ComplexReferenceChildType.Package;
1745
- break;
1746
- case "MsuPackage":
1747
- previousId = this.ParseMsuPackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1748
- previousType = ComplexReferenceChildType.Package;
1749
- break;
1750
- case "ExePackage":
1751
- previousId = this.ParseExePackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1752
- previousType = ComplexReferenceChildType.Package;
1753
- break;
1754
- case "RollbackBoundary":
1755
- previousId = this.ParseRollbackBoundaryElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1756
- previousType = ComplexReferenceChildType.Package;
1757
- break;
1758
- case "PackageGroupRef":
1759
- previousId = this.ParsePackageGroupRefElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1760
- previousType = ComplexReferenceChildType.PackageGroup;
1761
- break;
1762
- default:
1763
- this.Core.UnexpectedElement(node, child);
1764
- break;
1738
+ case "MsiPackage":
1739
+ previousId = this.ParseMsiPackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1740
+ previousType = ComplexReferenceChildType.Package;
1741
+ break;
1742
+ case "MspPackage":
1743
+ previousId = this.ParseMspPackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1744
+ previousType = ComplexReferenceChildType.Package;
1745
+ break;
1746
+ case "MsuPackage":
1747
+ previousId = this.ParseMsuPackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1748
+ previousType = ComplexReferenceChildType.Package;
1749
+ break;
1750
+ case "ExePackage":
1751
+ previousId = this.ParseExePackageElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1752
+ previousType = ComplexReferenceChildType.Package;
1753
+ break;
1754
+ case "RollbackBoundary":
1755
+ previousId = this.ParseRollbackBoundaryElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1756
+ previousType = ComplexReferenceChildType.Package;
1757
+ break;
1758
+ case "PackageGroupRef":
1759
+ previousId = this.ParsePackageGroupRefElement(child, ComplexReferenceParentType.PackageGroup, BurnConstants.BundleChainPackageGroupId, previousType, previousId);
1760
+ previousType = ComplexReferenceChildType.PackageGroup;
1761
+ break;
1762
+ default:
1763
+ this.Core.UnexpectedElement(node, child);
1764
+ break;
1765
}
1766
}
1767
else
@@ -1872,25 +1872,25 @@ namespace WixToolset.Core
1872
var allowed = true;
1873
switch (attrib.Name.LocalName)
1874
{
1875
- case "Id":
1876
- id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1877
- if (id?.Id == BurnConstants.BundleDefaultBoundaryId)
1878
- {
1879
- this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id.Id));
1880
- }
1881
- break;
1882
- case "Vital":
1883
- vital = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
1884
- break;
1885
- case "Transaction":
1886
- transaction = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
1887
- break;
1888
- case "LogPathVariable":
1889
- logPathVariable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
1890
- break;
1891
- default:
1892
- allowed = false;
1893
- break;
1875
+ case "Id":
1876
+ id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1877
+ if (id?.Id == BurnConstants.BundleDefaultBoundaryId)
1878
+ {
1879
+ this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id.Id));
1880
+ }
1881
+ break;
1882
+ case "Vital":
1883
+ vital = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
1884
+ break;
1885
+ case "Transaction":
1886
+ transaction = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
1887
+ break;
1888
+ case "LogPathVariable":
1889
+ logPathVariable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
1890
+ break;
1891
+ default:
1892
+ allowed = false;
1893
+ break;
1894
}
1895
1896
if (!allowed)
@@ -2016,126 +2016,126 @@ namespace WixToolset.Core
2016
var allowed = true;
2017
switch (attrib.Name.LocalName)
2018
{
2019
- case "Id":
2020
- compilerPayload.ParseId(attrib);
2021
- break;
2022
- case "Name":
2023
- compilerPayload.ParseName(attrib);
2024
- hasPayloadInfo = true;
2025
- break;
2026
- case "SourceFile":
2027
- compilerPayload.ParseSourceFile(attrib);
2028
- hasPayloadInfo = true;
2029
- break;
2030
- case "DownloadUrl":
2031
- compilerPayload.ParseDownloadUrl(attrib);
2032
- hasPayloadInfo = true;
2033
- break;
2034
- case "After":
2035
- after = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2036
- break;
2037
- case "InstallCondition":
2038
- installCondition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2039
- break;
2040
- case "Cache":
2041
- var value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2042
- switch (value)
2043
- {
2044
- case "force":
2045
- cache = BundleCacheType.Force;
2019
+ case "Id":
2020
+ compilerPayload.ParseId(attrib);
2021
+ break;
2022
+ case "Name":
2023
+ compilerPayload.ParseName(attrib);
2024
+ hasPayloadInfo = true;
2025
+ break;
2026
+ case "SourceFile":
2027
+ compilerPayload.ParseSourceFile(attrib);
2028
+ hasPayloadInfo = true;
2029
+ break;
2030
+ case "DownloadUrl":
2031
+ compilerPayload.ParseDownloadUrl(attrib);
2032
+ hasPayloadInfo = true;
2033
+ break;
2034
+ case "After":
2035
+ after = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2036
+ break;
2037
+ case "InstallCondition":
2038
+ installCondition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2039
+ break;
2040
+ case "Cache":
2041
+ var value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2042
+ switch (value)
2043
+ {
2044
+ case "force":
2045
+ cache = BundleCacheType.Force;
2046
+ break;
2047
+ case "keep":
2048
+ cache = BundleCacheType.Keep;
2049
+ break;
2050
+ case "remove":
2051
+ cache = BundleCacheType.Remove;
2052
+ break;
2053
+ case "":
2054
+ break;
2055
+ default:
2056
+ this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "force", "keep", "remove"));
2057
+ break;
2058
+ }
2059
+ break;
2060
+ case "CacheId":
2061
+ cacheId = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2062
+ break;
2063
+ case "Description":
2064
+ description = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2065
+ break;
2066
+ case "DisplayName":
2067
+ displayName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2068
+ break;
2069
+ case "EnableFeatureSelection":
2070
+ enableFeatureSelection = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2071
+ allowed = (packageType == WixBundlePackageType.Msi);
2072
+ break;
2073
+ case "ForcePerMachine":
2074
+ forcePerMachine = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2075
+ allowed = (packageType == WixBundlePackageType.Msi);
2076
+ break;
2077
+ case "LogPathVariable":
2078
+ logPathVariable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2079
+ break;
2080
+ case "RollbackLogPathVariable":
2081
+ rollbackPathVariable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2082
+ break;
2083
+ case "Permanent":
2084
+ permanent = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2085
+ break;
2086
+ case "Visible":
2087
+ visible = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2088
+ allowed = (packageType == WixBundlePackageType.Msi);
2089
+ break;
2090
+ case "Vital":
2091
+ vital = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2092
+ break;
2093
+ case "Bundle":
2094
+ bundle = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2095
+ allowed = (packageType == WixBundlePackageType.Exe);
2096
break;
2047
- case "keep":
2048
- cache = BundleCacheType.Keep;
2097
+ case "InstallArguments":
2098
+ installArguments = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2099
+ allowed = (packageType == WixBundlePackageType.Exe);
2100
break;
2050
- case "remove":
2051
- cache = BundleCacheType.Remove;
2101
+ case "RepairArguments":
2102
+ repairArguments = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2103
+ allowed = (packageType == WixBundlePackageType.Exe);
2104
break;
2053
- case "":
2105
+ case "UninstallArguments":
2106
+ uninstallArguments = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2107
+ allowed = (packageType == WixBundlePackageType.Exe);
2108
+ break;
2109
+ case "PerMachine":
2110
+ perMachine = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
2111
+ allowed = (packageType == WixBundlePackageType.Exe || packageType == WixBundlePackageType.Msp);
2112
+ break;
2113
+ case "DetectCondition":
2114
+ detectCondition = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2115
+ allowed = (packageType == WixBundlePackageType.Exe || packageType == WixBundlePackageType.Msu);
2116
+ break;
2117
+ case "Protocol":
2118
+ protocol = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2119
+ allowed = (packageType == WixBundlePackageType.Exe);
2120
+ break;
2121
+ case "InstallSize":
2122
+ installSize = this.Core.GetAttributeLongValue(sourceLineNumbers, attrib, 0, Int64.MaxValue);
2123
+ break;
2124
+ case "KB":
2125
+ msuKB = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2126
+ allowed = (packageType == WixBundlePackageType.Msu);
2127
+ break;
2128
+ case "Compressed":
2129
+ compilerPayload.ParseCompressed(attrib);
2130
+ hasPayloadInfo = true;
2131
+ break;
2132
+ case "Slipstream":
2133
+ slipstream = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2134
+ allowed = (packageType == WixBundlePackageType.Msp);
2135
break;
2136
default:
2056
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "force", "keep", "remove"));
2137
+ allowed = false;
2138
break;
2058
- }
2059
- break;
2060
- case "CacheId":
2061
- cacheId = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2062
- break;
2063
- case "Description":
2064
- description = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2065
- break;
2066
- case "DisplayName":
2067
- displayName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2068
- break;
2069
- case "EnableFeatureSelection":
2070
- enableFeatureSelection = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2071
- allowed = (packageType == WixBundlePackageType.Msi);
2072
- break;
2073
- case "ForcePerMachine":
2074
- forcePerMachine = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2075
- allowed = (packageType == WixBundlePackageType.Msi);
2076
- break;
2077
- case "LogPathVariable":
2078
- logPathVariable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2079
- break;
2080
- case "RollbackLogPathVariable":
2081
- rollbackPathVariable = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2082
- break;
2083
- case "Permanent":
2084
- permanent = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2085
- break;
2086
- case "Visible":
2087
- visible = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2088
- allowed = (packageType == WixBundlePackageType.Msi);
2089
- break;
2090
- case "Vital":
2091
- vital = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2092
- break;
2093
- case "Bundle":
2094
- bundle = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2095
- allowed = (packageType == WixBundlePackageType.Exe);
2096
- break;
2097
- case "InstallArguments":
2098
- installArguments = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2099
- allowed = (packageType == WixBundlePackageType.Exe);
2100
- break;
2101
- case "RepairArguments":
2102
- repairArguments = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2103
- allowed = (packageType == WixBundlePackageType.Exe);
2104
- break;
2105
- case "UninstallArguments":
2106
- uninstallArguments = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2107
- allowed = (packageType == WixBundlePackageType.Exe);
2108
- break;
2109
- case "PerMachine":
2110
- perMachine = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
2111
- allowed = (packageType == WixBundlePackageType.Exe || packageType == WixBundlePackageType.Msp);
2112
- break;
2113
- case "DetectCondition":
2114
- detectCondition = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
2115
- allowed = (packageType == WixBundlePackageType.Exe || packageType == WixBundlePackageType.Msu);
2116
- break;
2117
- case "Protocol":
2118
- protocol = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2119
- allowed = (packageType == WixBundlePackageType.Exe);
2120
- break;
2121
- case "InstallSize":
2122
- installSize = this.Core.GetAttributeLongValue(sourceLineNumbers, attrib, 0, Int64.MaxValue);
2123
- break;
2124
- case "KB":
2125
- msuKB = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2126
- allowed = (packageType == WixBundlePackageType.Msu);
2127
- break;
2128
- case "Compressed":
2129
- compilerPayload.ParseCompressed(attrib);
2130
- hasPayloadInfo = true;
2131
- break;
2132
- case "Slipstream":
2133
- slipstream = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2134
- allowed = (packageType == WixBundlePackageType.Msp);
2135
- break;
2136
- default:
2137
- allowed = false;
2138
- break;
2139
}
2140
2141
if (!allowed)
@@ -2315,53 +2315,53 @@ namespace WixToolset.Core
2315
var allowed = true;
2316
switch (child.Name.LocalName)
2317
{
2318
- case "SlipstreamMsp":
2319
- allowed = (packageType == WixBundlePackageType.Msi);
2320
- if (allowed)
2321
- {
2322
- this.ParseSlipstreamMspElement(child, id.Id);
2323
- }
2324
- break;
2325
- case "MsiProperty":
2326
- allowed = (packageType == WixBundlePackageType.Msi || packageType == WixBundlePackageType.Msp);
2327
- if (allowed)
2328
- {
2329
- this.ParseMsiPropertyElement(child, id.Id);
2330
- }
2331
- break;
2332
- case "Payload":
2333
- this.ParsePayloadElement(child, ComplexReferenceParentType.Package, id);
2334
- break;
2335
- case "PayloadGroupRef":
2336
- this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.Package, id);
2337
- break;
2338
- case "Provides":
2339
- this.ParseProvidesElement(child, packageType, id.Id, out _);
2340
- break;
2341
- case "ExitCode":
2342
- allowed = (packageType == WixBundlePackageType.Exe);
2343
- if (allowed)
2344
- {
2345
- this.ParseExitCodeElement(child, id.Id);
2346
- }
2347
- break;
2348
- case "CommandLine":
2349
- allowed = (packageType == WixBundlePackageType.Exe);
2350
- if (allowed)
2351
- {
2352
- this.ParseCommandLineElement(child, id.Id);
2353
- }
2354
- break;
2355
- case "ExePackagePayload":
2356
- case "MsiPackagePayload":
2357
- case "MspPackagePayload":
2358
- case "MsuPackagePayload":
2359
- allowed = packagePayloadElementName == child.Name.LocalName;
2360
- // Handled previously
2361
- break;
2362
- default:
2363
- allowed = false;
2364
- break;
2318
+ case "SlipstreamMsp":
2319
+ allowed = (packageType == WixBundlePackageType.Msi);
2320
+ if (allowed)
2321
+ {
2322
+ this.ParseSlipstreamMspElement(child, id.Id);
2323
+ }
2324
+ break;
2325
+ case "MsiProperty":
2326
+ allowed = (packageType == WixBundlePackageType.Msi || packageType == WixBundlePackageType.Msp);
2327
+ if (allowed)
2328
+ {
2329
+ this.ParseMsiPropertyElement(child, id.Id);
2330
+ }
2331
+ break;
2332
+ case "Payload":
2333
+ this.ParsePayloadElement(child, ComplexReferenceParentType.Package, id);
2334
+ break;
2335
+ case "PayloadGroupRef":
2336
+ this.ParsePayloadGroupRefElement(child, ComplexReferenceParentType.Package, id);
2337
+ break;
2338
+ case "Provides":
2339
+ this.ParseProvidesElement(child, packageType, id.Id, out _);
2340
+ break;
2341
+ case "ExitCode":
2342
+ allowed = (packageType == WixBundlePackageType.Exe);
2343
+ if (allowed)
2344
+ {
2345
+ this.ParseExitCodeElement(child, id.Id);
2346
+ }
2347
+ break;
2348
+ case "CommandLine":
2349
+ allowed = (packageType == WixBundlePackageType.Exe);
2350
+ if (allowed)
2351
+ {
2352
+ this.ParseCommandLineElement(child, id.Id);
2353
+ }
2354
+ break;
2355
+ case "ExePackagePayload":
2356
+ case "MsiPackagePayload":
2357
+ case "MspPackagePayload":
2358
+ case "MsuPackagePayload":
2359
+ allowed = packagePayloadElementName == child.Name.LocalName;
2360
+ // Handled previously
2361
+ break;
2362
+ default:
2363
+ allowed = false;
2364
+ break;
2365
}
2366
2367
if (!allowed)
@@ -2422,49 +2422,49 @@ namespace WixToolset.Core
2422
2423
switch (packageType)
2424
{
2425
- case WixBundlePackageType.Exe:
2426
- WixBundleExePackageAttributes exeAttributes = 0;
2427
- exeAttributes |= (YesNoType.Yes == bundle) ? WixBundleExePackageAttributes.Bundle : 0;
2425
+ case WixBundlePackageType.Exe:
2426
+ WixBundleExePackageAttributes exeAttributes = 0;
2427
+ exeAttributes |= (YesNoType.Yes == bundle) ? WixBundleExePackageAttributes.Bundle : 0;
2428
2429
- this.Core.AddSymbol(new WixBundleExePackageSymbol(sourceLineNumbers, id)
2430
- {
2431
- Attributes = exeAttributes,
2432
- DetectCondition = detectCondition,
2433
- InstallCommand = installArguments,
2434
- RepairCommand = repairArguments,
2435
- UninstallCommand = uninstallArguments,
2436
- ExeProtocol = protocol
2437
- });
2438
- break;
2429
+ this.Core.AddSymbol(new WixBundleExePackageSymbol(sourceLineNumbers, id)
2430
+ {
2431
+ Attributes = exeAttributes,
2432
+ DetectCondition = detectCondition,
2433
+ InstallCommand = installArguments,
2434
+ RepairCommand = repairArguments,
2435
+ UninstallCommand = uninstallArguments,
2436
+ ExeProtocol = protocol
2437
+ });
2438
+ break;
2439
2440
- case WixBundlePackageType.Msi:
2441
- WixBundleMsiPackageAttributes msiAttributes = 0;
2442
- msiAttributes |= (YesNoType.Yes == enableFeatureSelection) ? WixBundleMsiPackageAttributes.EnableFeatureSelection : 0;
2443
- msiAttributes |= (YesNoType.Yes == forcePerMachine) ? WixBundleMsiPackageAttributes.ForcePerMachine : 0;
2440
+ case WixBundlePackageType.Msi:
2441
+ WixBundleMsiPackageAttributes msiAttributes = 0;
2442
+ msiAttributes |= (YesNoType.Yes == enableFeatureSelection) ? WixBundleMsiPackageAttributes.EnableFeatureSelection : 0;
2443
+ msiAttributes |= (YesNoType.Yes == forcePerMachine) ? WixBundleMsiPackageAttributes.ForcePerMachine : 0;
2444
2445
- this.Core.AddSymbol(new WixBundleMsiPackageSymbol(sourceLineNumbers, id)
2446
- {
2447
- Attributes = msiAttributes
2448
- });
2449
- break;
2445
+ this.Core.AddSymbol(new WixBundleMsiPackageSymbol(sourceLineNumbers, id)
2446
+ {
2447
+ Attributes = msiAttributes
2448
+ });
2449
+ break;
2450
2451
- case WixBundlePackageType.Msp:
2452
- WixBundleMspPackageAttributes mspAttributes = 0;
2453
- mspAttributes |= (YesNoType.Yes == slipstream) ? WixBundleMspPackageAttributes.Slipstream : 0;
2451
+ case WixBundlePackageType.Msp:
2452
+ WixBundleMspPackageAttributes mspAttributes = 0;
2453
+ mspAttributes |= (YesNoType.Yes == slipstream) ? WixBundleMspPackageAttributes.Slipstream : 0;
2454
2455
- this.Core.AddSymbol(new WixBundleMspPackageSymbol(sourceLineNumbers, id)
2456
- {
2457
- Attributes = mspAttributes
2458
- });
2459
- break;
2455
+ this.Core.AddSymbol(new WixBundleMspPackageSymbol(sourceLineNumbers, id)
2456
+ {
2457
+ Attributes = mspAttributes
2458
+ });
2459
+ break;
2460
2461
- case WixBundlePackageType.Msu:
2462
- this.Core.AddSymbol(new WixBundleMsuPackageSymbol(sourceLineNumbers, id)
2463
- {
2464
- DetectCondition = detectCondition,
2465
- MsuKB = msuKB
2466
- });
2467
- break;
2461
+ case WixBundlePackageType.Msu:
2462
+ this.Core.AddSymbol(new WixBundleMsuPackageSymbol(sourceLineNumbers, id)
2463
+ {
2464
+ DetectCondition = detectCondition,
2465
+ MsuKB = msuKB
2466
+ });
2467
+ break;
2468
}
2469
2470
this.CreateChainPackageMetaRows(sourceLineNumbers, parentType, parentId, ComplexReferenceChildType.Package, id.Id, previousType, previousId, after);
@@ -2635,21 +2635,21 @@ namespace WixToolset.Core
2635
{
2636
switch (attrib.Name.LocalName)
2637
{
2638
- case "InstallArgument":
2639
- installArgument = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2640
- break;
2641
- case "UninstallArgument":
2642
- uninstallArgument = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2643
- break;
2644
- case "RepairArgument":
2645
- repairArgument = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2646
- break;
2647
- case "Condition":
2648
- condition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2649
- break;
2650
- default:
2651
- this.Core.UnexpectedAttribute(node, attrib);
2652
- break;
2638
+ case "InstallArgument":
2639
+ installArgument = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2640
+ break;
2641
+ case "UninstallArgument":
2642
+ uninstallArgument = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2643
+ break;
2644
+ case "RepairArgument":
2645
+ repairArgument = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2646
+ break;
2647
+ case "Condition":
2648
+ condition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2649
+ break;
2650
+ default:
2651
+ this.Core.UnexpectedAttribute(node, attrib);
2652
+ break;
2653
}
2654
}
2655
else
@@ -2693,16 +2693,16 @@ namespace WixToolset.Core
2693
{
2694
switch (attrib.Name.LocalName)
2695
{
2696
- case "Id":
2697
- id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
2698
- if (id?.Id == BurnConstants.BundleChainPackageGroupId)
2699
- {
2700
- this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id.Id));
2701
- }
2702
- break;
2703
- default:
2704
- this.Core.UnexpectedAttribute(node, attrib);
2705
- break;
2696
+ case "Id":
2697
+ id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
2698
+ if (id?.Id == BurnConstants.BundleChainPackageGroupId)
2699
+ {
2700
+ this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id.Id));
2701
+ }
2702
+ break;
2703
+ default:
2704
+ this.Core.UnexpectedAttribute(node, attrib);
2705
+ break;
2706
}
2707
}
2708
else
@@ -2725,33 +2725,33 @@ namespace WixToolset.Core
2725
{
2726
switch (child.Name.LocalName)
2727
{
2728
- case "MsiPackage":
2729
- previousId = this.ParseMsiPackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2730
- previousType = ComplexReferenceChildType.Package;
2731
- break;
2732
- case "MspPackage":
2733
- previousId = this.ParseMspPackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2734
- previousType = ComplexReferenceChildType.Package;
2735
- break;
2736
- case "MsuPackage":
2737
- previousId = this.ParseMsuPackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2738
- previousType = ComplexReferenceChildType.Package;
2739
- break;
2740
- case "ExePackage":
2741
- previousId = this.ParseExePackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2742
- previousType = ComplexReferenceChildType.Package;
2743
- break;
2744
- case "RollbackBoundary":
2745
- previousId = this.ParseRollbackBoundaryElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2746
- previousType = ComplexReferenceChildType.Package;
2747
- break;
2748
- case "PackageGroupRef":
2749
- previousId = this.ParsePackageGroupRefElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2750
- previousType = ComplexReferenceChildType.PackageGroup;
2751
- break;
2752
- default:
2753
- this.Core.UnexpectedElement(node, child);
2754
- break;
2728
+ case "MsiPackage":
2729
+ previousId = this.ParseMsiPackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2730
+ previousType = ComplexReferenceChildType.Package;
2731
+ break;
2732
+ case "MspPackage":
2733
+ previousId = this.ParseMspPackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2734
+ previousType = ComplexReferenceChildType.Package;
2735
+ break;
2736
+ case "MsuPackage":
2737
+ previousId = this.ParseMsuPackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2738
+ previousType = ComplexReferenceChildType.Package;
2739
+ break;
2740
+ case "ExePackage":
2741
+ previousId = this.ParseExePackageElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2742
+ previousType = ComplexReferenceChildType.Package;
2743
+ break;
2744
+ case "RollbackBoundary":
2745
+ previousId = this.ParseRollbackBoundaryElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2746
+ previousType = ComplexReferenceChildType.Package;
2747
+ break;
2748
+ case "PackageGroupRef":
2749
+ previousId = this.ParsePackageGroupRefElement(child, ComplexReferenceParentType.PackageGroup, id.Id, previousType, previousId);
2750
+ previousType = ComplexReferenceChildType.PackageGroup;
2751
+ break;
2752
+ default:
2753
+ this.Core.UnexpectedElement(node, child);
2754
+ break;
2755
}
2756
}
2757
else
@@ -2803,23 +2803,23 @@ namespace WixToolset.Core
2803
{
2804
switch (attrib.Name.LocalName)
2805
{
2806
- case "Id":
2807
- id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2808
- if (id == BurnConstants.BundleChainPackageGroupId)
2809
- {
2810
- this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id));
2811
- }
2812
- else
2813
- {
2814
- this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePackageGroup, id);
2815
- }
2816
- break;
2817
- case "After":
2818
- after = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2819
- break;
2820
- default:
2821
- this.Core.UnexpectedAttribute(node, attrib);
2822
- break;
2806
+ case "Id":
2807
+ id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2808
+ if (id == BurnConstants.BundleChainPackageGroupId)
2809
+ {
2810
+ this.Messaging.Write(CompilerErrors.ReservedValue(sourceLineNumbers, node.Name.LocalName, "Id", id));
2811
+ }
2812
+ else
2813
+ {
2814
+ this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePackageGroup, id);
2815
+ }
2816
+ break;
2817
+ case "After":
2818
+ after = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2819
+ break;
2820
+ default:
2821
+ this.Core.UnexpectedAttribute(node, attrib);
2822
+ break;
2823
}
2824
}
2825
else
@@ -2933,18 +2933,18 @@ namespace WixToolset.Core
2933
{
2934
switch (attrib.Name.LocalName)
2935
{
2936
- case "Name":
2937
- name = this.Core.GetAttributeMsiPropertyNameValue(sourceLineNumbers, attrib);
2938
- break;
2939
- case "Value":
2940
- value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2941
- break;
2942
- case "Condition":
2943
- condition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2944
- break;
2945
- default:
2946
- this.Core.UnexpectedAttribute(node, attrib);
2947
- break;
2936
+ case "Name":
2937
+ name = this.Core.GetAttributeMsiPropertyNameValue(sourceLineNumbers, attrib);
2938
+ break;
2939
+ case "Value":
2940
+ value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2941
+ break;
2942
+ case "Condition":
2943
+ condition = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2944
+ break;
2945
+ default:
2946
+ this.Core.UnexpectedAttribute(node, attrib);
2947
+ break;
2948
}
2949
}
2950
else
@@ -2997,13 +2997,13 @@ namespace WixToolset.Core
2997
{
2998
switch (attrib.Name.LocalName)
2999
{
3000
- case "Id":
3001
- id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
3002
- this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePackage, id);
3003
- break;
3004
- default:
3005
- this.Core.UnexpectedAttribute(node, attrib);
3006
- break;
3000
+ case "Id":
3001
+ id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
3002
+ this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePackage, id);
3003
+ break;
3004
+ default:
3005
+ this.Core.UnexpectedAttribute(node, attrib);
3006
+ break;
3007
}
3008
}
3009
else
@@ -3045,39 +3045,39 @@ namespace WixToolset.Core
3045
{
3046
switch (attrib.Name.LocalName)
3047
{
3048
- case "Id":
3049
- id = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
3050
- break;
3051
- case "Action":
3052
- var action = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3053
- switch (action)
3054
- {
3055
- case "Detect":
3056
- case "detect":
3057
- actionType = RelatedBundleActionType.Detect;
3058
- break;
3059
- case "Upgrade":
3060
- case "upgrade":
3061
- actionType = RelatedBundleActionType.Upgrade;
3062
- break;
3063
- case "Addon":
3064
- case "addon":
3065
- actionType = RelatedBundleActionType.Addon;
3066
- break;
3067
- case "Patch":
3068
- case "patch":
3069
- actionType = RelatedBundleActionType.Patch;
3048
+ case "Id":
3049
+ id = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
3050
break;
3071
- case "":
3051
+ case "Action":
3052
+ var action = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3053
+ switch (action)
3054
+ {
3055
+ case "Detect":
3056
+ case "detect":
3057
+ actionType = RelatedBundleActionType.Detect;
3058
+ break;
3059
+ case "Upgrade":
3060
+ case "upgrade":
3061
+ actionType = RelatedBundleActionType.Upgrade;
3062
+ break;
3063
+ case "Addon":
3064
+ case "addon":
3065
+ actionType = RelatedBundleActionType.Addon;
3066
+ break;
3067
+ case "Patch":
3068
+ case "patch":
3069
+ actionType = RelatedBundleActionType.Patch;
3070
+ break;
3071
+ case "":
3072
+ break;
3073
+ default:
3074
+ this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Action", action, "Detect", "Upgrade", "Addon", "Patch"));
3075
+ break;
3076
+ }
3077
break;
3078
default:
3074
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Action", action, "Detect", "Upgrade", "Addon", "Patch"));
3079
+ this.Core.UnexpectedAttribute(node, attrib);
3080
break;
3076
- }
3077
- break;
3078
- default:
3079
- this.Core.UnexpectedAttribute(node, attrib);
3080
- break;
3081
}
3082
}
3083
else
@@ -3118,12 +3118,12 @@ namespace WixToolset.Core
3118
{
3119
switch (attrib.Name.LocalName)
3120
{
3121
- case "Location":
3122
- location = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3123
- break;
3124
- default:
3125
- this.Core.UnexpectedAttribute(node, attrib);
3126
- break;
3121
+ case "Location":
3122
+ location = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3123
+ break;
3124
+ default:
3125
+ this.Core.UnexpectedAttribute(node, attrib);
3126
+ break;
3127
}
3128
}
3129
else
@@ -3238,30 +3238,30 @@ namespace WixToolset.Core
3238
{
3239
switch (attrib.Name.LocalName)
3240
{
3241
- case "Hidden":
3242
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
3243
- {
3244
- hidden = true;
3245
- }
3246
- break;
3247
- case "Name":
3248
- name = this.Core.GetAttributeBundleVariableValue(sourceLineNumbers, attrib);
3249
- break;
3250
- case "Persisted":
3251
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
3252
- {
3253
- persisted = true;
3254
- }
3255
- break;
3256
- case "Value":
3257
- value = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
3258
- break;
3259
- case "Type":
3260
- typeValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3261
- break;
3262
- default:
3263
- this.Core.UnexpectedAttribute(node, attrib);
3264
- break;
3241
+ case "Hidden":
3242
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
3243
+ {
3244
+ hidden = true;
3245
+ }
3246
+ break;
3247
+ case "Name":
3248
+ name = this.Core.GetAttributeBundleVariableValue(sourceLineNumbers, attrib);
3249
+ break;
3250
+ case "Persisted":
3251
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
3252
+ {
3253
+ persisted = true;
3254
+ }
3255
+ break;
3256
+ case "Value":
3257
+ value = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
3258
+ break;
3259
+ case "Type":
3260
+ typeValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3261
+ break;
3262
+ default:
3263
+ this.Core.UnexpectedAttribute(node, attrib);
3264
+ break;
3265
}
3266
}
3267
else
src/wix/WixToolset.Core/Link/FlattenAndProcessBundleTablesCommand.cs
-1
@@ -188,7 +188,6 @@ namespace WixToolset.Core.Link
188
}
189
}
190
}
191
-
191
}
192
}
193
}