@joebigelow / wix-1 / commits / 1b61862e

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 }