aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/Compiler_Bundle.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core/Compiler_Bundle.cs')
-rw-r--r--src/WixToolset.Core/Compiler_Bundle.cs142
1 files changed, 71 insertions, 71 deletions
diff --git a/src/WixToolset.Core/Compiler_Bundle.cs b/src/WixToolset.Core/Compiler_Bundle.cs
index d88cb7f5..578c7dcd 100644
--- a/src/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/WixToolset.Core/Compiler_Bundle.cs
@@ -11,7 +11,7 @@ namespace WixToolset.Core
11 using System.Xml.Linq; 11 using System.Xml.Linq;
12 using WixToolset.Data; 12 using WixToolset.Data;
13 using WixToolset.Data.Burn; 13 using WixToolset.Data.Burn;
14 using WixToolset.Data.Tuples; 14 using WixToolset.Data.Symbols;
15 using WixToolset.Extensibility; 15 using WixToolset.Extensibility;
16 16
17 /// <summary> 17 /// <summary>
@@ -85,7 +85,7 @@ namespace WixToolset.Core
85 85
86 if (!this.Core.EncounteredError) 86 if (!this.Core.EncounteredError)
87 { 87 {
88 this.Core.AddTuple(new WixApprovedExeForElevationTuple(sourceLineNumbers, id) 88 this.Core.AddSymbol(new WixApprovedExeForElevationSymbol(sourceLineNumbers, id)
89 { 89 {
90 Key = key, 90 Key = key,
91 ValueName = valueName, 91 ValueName = valueName,
@@ -287,7 +287,7 @@ namespace WixToolset.Core
287 this.ParseBundleExtensionElement(child); 287 this.ParseBundleExtensionElement(child);
288 break; 288 break;
289 case "BundleExtensionRef": 289 case "BundleExtensionRef":
290 this.ParseSimpleRefElement(child, TupleDefinitions.WixBundleExtension); 290 this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleExtension);
291 break; 291 break;
292 case "OptionalUpdateRegistration": 292 case "OptionalUpdateRegistration":
293 this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name); 293 this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name);
@@ -308,7 +308,7 @@ namespace WixToolset.Core
308 this.ParseContainerElement(child); 308 this.ParseContainerElement(child);
309 break; 309 break;
310 case "ContainerRef": 310 case "ContainerRef":
311 this.ParseSimpleRefElement(child, TupleDefinitions.WixBundleContainer); 311 this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleContainer);
312 break; 312 break;
313 case "Log": 313 case "Log":
314 if (logSeen) 314 if (logSeen)
@@ -332,7 +332,7 @@ namespace WixToolset.Core
332 this.ParseSetVariableElement(child); 332 this.ParseSetVariableElement(child);
333 break; 333 break;
334 case "SetVariableRef": 334 case "SetVariableRef":
335 this.ParseSimpleRefElement(child, TupleDefinitions.WixSetVariable); 335 this.ParseSimpleRefElement(child, SymbolDefinitions.WixSetVariable);
336 break; 336 break;
337 case "Update": 337 case "Update":
338 this.ParseUpdateElement(child); 338 this.ParseUpdateElement(child);
@@ -361,7 +361,7 @@ namespace WixToolset.Core
361 361
362 if (!this.Core.EncounteredError) 362 if (!this.Core.EncounteredError)
363 { 363 {
364 var tuple = this.Core.AddTuple(new WixBundleTuple(sourceLineNumbers) 364 var symbol = this.Core.AddSymbol(new WixBundleSymbol(sourceLineNumbers)
365 { 365 {
366 UpgradeCode = upgradeCode, 366 UpgradeCode = upgradeCode,
367 Version = version, 367 Version = version,
@@ -385,46 +385,46 @@ namespace WixToolset.Core
385 if (!String.IsNullOrEmpty(logVariablePrefixAndExtension)) 385 if (!String.IsNullOrEmpty(logVariablePrefixAndExtension))
386 { 386 {
387 var split = logVariablePrefixAndExtension.Split(':'); 387 var split = logVariablePrefixAndExtension.Split(':');
388 tuple.LogPathVariable = split[0]; 388 symbol.LogPathVariable = split[0];
389 tuple.LogPrefix = split[1]; 389 symbol.LogPrefix = split[1];
390 tuple.LogExtension = split[2]; 390 symbol.LogExtension = split[2];
391 } 391 }
392 392
393 if (null != upgradeCode) 393 if (null != upgradeCode)
394 { 394 {
395 this.Core.AddTuple(new WixRelatedBundleTuple(sourceLineNumbers) 395 this.Core.AddSymbol(new WixRelatedBundleSymbol(sourceLineNumbers)
396 { 396 {
397 BundleId = upgradeCode, 397 BundleId = upgradeCode,
398 Action = RelatedBundleActionType.Upgrade, 398 Action = RelatedBundleActionType.Upgrade,
399 }); 399 });
400 } 400 }
401 401
402 this.Core.AddTuple(new WixBundleContainerTuple(sourceLineNumbers, Compiler.BurnDefaultAttachedContainerId) 402 this.Core.AddSymbol(new WixBundleContainerSymbol(sourceLineNumbers, Compiler.BurnDefaultAttachedContainerId)
403 { 403 {
404 Name = "bundle-attached.cab", 404 Name = "bundle-attached.cab",
405 Type = ContainerType.Attached, 405 Type = ContainerType.Attached,
406 }); 406 });
407 407
408 // Ensure that the bundle stores the well-known persisted values. 408 // Ensure that the bundle stores the well-known persisted values.
409 this.Core.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_NAME)) 409 this.Core.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_NAME))
410 { 410 {
411 Hidden = false, 411 Hidden = false,
412 Persisted = true, 412 Persisted = true,
413 }); 413 });
414 414
415 this.Core.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_ORIGINAL_SOURCE)) 415 this.Core.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_ORIGINAL_SOURCE))
416 { 416 {
417 Hidden = false, 417 Hidden = false,
418 Persisted = true, 418 Persisted = true,
419 }); 419 });
420 420
421 this.Core.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_ORIGINAL_SOURCE_FOLDER)) 421 this.Core.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_ORIGINAL_SOURCE_FOLDER))
422 { 422 {
423 Hidden = false, 423 Hidden = false,
424 Persisted = true, 424 Persisted = true,
425 }); 425 });
426 426
427 this.Core.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_LAST_USED_SOURCE)) 427 this.Core.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, BurnConstants.BURN_BUNDLE_LAST_USED_SOURCE))
428 { 428 {
429 Hidden = false, 429 Hidden = false,
430 Persisted = true, 430 Persisted = true,
@@ -529,7 +529,7 @@ namespace WixToolset.Core
529 { 529 {
530 this.CreatePayloadRow(sourceLineNumbers, id, Path.GetFileName(sourceFile), sourceFile, null, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId, ComplexReferenceChildType.Unknown, null, YesNoDefaultType.Yes, YesNoType.Yes, null, null, null); 530 this.CreatePayloadRow(sourceLineNumbers, id, Path.GetFileName(sourceFile), sourceFile, null, ComplexReferenceParentType.Container, Compiler.BurnUXContainerId, ComplexReferenceChildType.Unknown, null, YesNoDefaultType.Yes, YesNoType.Yes, null, null, null);
531 531
532 this.Core.AddTuple(new WixBundleCatalogTuple(sourceLineNumbers, id) 532 this.Core.AddSymbol(new WixBundleCatalogSymbol(sourceLineNumbers, id)
533 { 533 {
534 PayloadRef = id.Id, 534 PayloadRef = id.Id,
535 }); 535 });
@@ -631,7 +631,7 @@ namespace WixToolset.Core
631 631
632 if (!this.Core.EncounteredError) 632 if (!this.Core.EncounteredError)
633 { 633 {
634 this.Core.AddTuple(new WixBundleContainerTuple(sourceLineNumbers, id) 634 this.Core.AddSymbol(new WixBundleContainerSymbol(sourceLineNumbers, id)
635 { 635 {
636 Name = name, 636 Name = name,
637 Type = type, 637 Type = type,
@@ -694,7 +694,7 @@ namespace WixToolset.Core
694 // Add the application as an attached container and if an Id was provided add that too. 694 // Add the application as an attached container and if an Id was provided add that too.
695 if (!this.Core.EncounteredError) 695 if (!this.Core.EncounteredError)
696 { 696 {
697 this.Core.AddTuple(new WixBundleContainerTuple(sourceLineNumbers, Compiler.BurnUXContainerId) 697 this.Core.AddSymbol(new WixBundleContainerSymbol(sourceLineNumbers, Compiler.BurnUXContainerId)
698 { 698 {
699 Name = "bundle-ux.cab", 699 Name = "bundle-ux.cab",
700 Type = ContainerType.Attached 700 Type = ContainerType.Attached
@@ -702,7 +702,7 @@ namespace WixToolset.Core
702 702
703 if (null != id) 703 if (null != id)
704 { 704 {
705 this.Core.AddTuple(new WixBootstrapperApplicationTuple(sourceLineNumbers, id)); 705 this.Core.AddSymbol(new WixBootstrapperApplicationSymbol(sourceLineNumbers, id));
706 } 706 }
707 } 707 }
708 } 708 }
@@ -770,7 +770,7 @@ namespace WixToolset.Core
770 } 770 }
771 else 771 else
772 { 772 {
773 this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.WixBootstrapperApplication, id); 773 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBootstrapperApplication, id);
774 } 774 }
775 } 775 }
776 776
@@ -786,7 +786,7 @@ namespace WixToolset.Core
786 string customDataId = null; 786 string customDataId = null;
787 WixBundleCustomDataType? customDataType = null; 787 WixBundleCustomDataType? customDataType = null;
788 string extensionId = null; 788 string extensionId = null;
789 var attributeDefinitions = new List<WixBundleCustomDataAttributeTuple>(); 789 var attributeDefinitions = new List<WixBundleCustomDataAttributeSymbol>();
790 var foundAttributeDefinitions = false; 790 var foundAttributeDefinitions = false;
791 791
792 foreach (var attrib in node.Attributes()) 792 foreach (var attrib in node.Attributes())
@@ -816,7 +816,7 @@ namespace WixToolset.Core
816 break; 816 break;
817 case "ExtensionId": 817 case "ExtensionId":
818 extensionId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 818 extensionId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
819 this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.WixBundleExtension, extensionId); 819 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundleExtension, extensionId);
820 break; 820 break;
821 default: 821 default:
822 this.Core.UnexpectedAttribute(node, attrib); 822 this.Core.UnexpectedAttribute(node, attrib);
@@ -890,9 +890,9 @@ namespace WixToolset.Core
890 { 890 {
891 if (!this.Core.EncounteredError) 891 if (!this.Core.EncounteredError)
892 { 892 {
893 var attributeNames = String.Join(new string(WixBundleCustomDataTuple.AttributeNamesSeparator, 1), attributeDefinitions.Select(c => c.Name)); 893 var attributeNames = String.Join(new string(WixBundleCustomDataSymbol.AttributeNamesSeparator, 1), attributeDefinitions.Select(c => c.Name));
894 894
895 this.Core.AddTuple(new WixBundleCustomDataTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, customDataId)) 895 this.Core.AddSymbol(new WixBundleCustomDataSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, customDataId))
896 { 896 {
897 AttributeNames = attributeNames, 897 AttributeNames = attributeNames,
898 Type = customDataType.Value, 898 Type = customDataType.Value,
@@ -975,7 +975,7 @@ namespace WixToolset.Core
975 /// <param name="node">Element to parse.</param> 975 /// <param name="node">Element to parse.</param>
976 /// <param name="sourceLineNumbers">Element's SourceLineNumbers.</param> 976 /// <param name="sourceLineNumbers">Element's SourceLineNumbers.</param>
977 /// <param name="customDataId">BundleCustomData Id.</param> 977 /// <param name="customDataId">BundleCustomData Id.</param>
978 private WixBundleCustomDataAttributeTuple ParseBundleAttributeDefinitionElement(XElement node, SourceLineNumber sourceLineNumbers, string customDataId) 978 private WixBundleCustomDataAttributeSymbol ParseBundleAttributeDefinitionElement(XElement node, SourceLineNumber sourceLineNumbers, string customDataId)
979 { 979 {
980 string attributeName = null; 980 string attributeName = null;
981 981
@@ -1004,7 +1004,7 @@ namespace WixToolset.Core
1004 return null; 1004 return null;
1005 } 1005 }
1006 1006
1007 var customDataAttribute = this.Core.AddTuple(new WixBundleCustomDataAttributeTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, customDataId, attributeName)) 1007 var customDataAttribute = this.Core.AddSymbol(new WixBundleCustomDataAttributeSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, customDataId, attributeName))
1008 { 1008 {
1009 CustomDataRef = customDataId, 1009 CustomDataRef = customDataId,
1010 Name = attributeName, 1010 Name = attributeName,
@@ -1058,7 +1058,7 @@ namespace WixToolset.Core
1058 1058
1059 if (!this.Core.EncounteredError) 1059 if (!this.Core.EncounteredError)
1060 { 1060 {
1061 this.Core.AddTuple(new WixBundleCustomDataCellTuple(childSourceLineNumbers, new Identifier(AccessModifier.Private, customDataId, elementId, attributeName)) 1061 this.Core.AddSymbol(new WixBundleCustomDataCellSymbol(childSourceLineNumbers, new Identifier(AccessModifier.Private, customDataId, elementId, attributeName))
1062 { 1062 {
1063 ElementId = elementId, 1063 ElementId = elementId,
1064 AttributeRef = attributeName, 1064 AttributeRef = attributeName,
@@ -1075,7 +1075,7 @@ namespace WixToolset.Core
1075 1075
1076 if (!this.Core.EncounteredError) 1076 if (!this.Core.EncounteredError)
1077 { 1077 {
1078 this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.WixBundleCustomData, customDataId); 1078 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundleCustomData, customDataId);
1079 } 1079 }
1080 } 1080 }
1081 1081
@@ -1138,7 +1138,7 @@ namespace WixToolset.Core
1138 // Add the BundleExtension. 1138 // Add the BundleExtension.
1139 if (!this.Core.EncounteredError) 1139 if (!this.Core.EncounteredError)
1140 { 1140 {
1141 this.Core.AddTuple(new WixBundleExtensionTuple(sourceLineNumbers, id) 1141 this.Core.AddSymbol(new WixBundleExtensionSymbol(sourceLineNumbers, id)
1142 { 1142 {
1143 PayloadRef = id.Id, 1143 PayloadRef = id.Id,
1144 }); 1144 });
@@ -1236,7 +1236,7 @@ namespace WixToolset.Core
1236 1236
1237 if (!this.Core.EncounteredError) 1237 if (!this.Core.EncounteredError)
1238 { 1238 {
1239 this.Core.AddTuple(new WixUpdateRegistrationTuple(sourceLineNumbers) 1239 this.Core.AddSymbol(new WixUpdateRegistrationSymbol(sourceLineNumbers)
1240 { 1240 {
1241 Manufacturer = manufacturer, 1241 Manufacturer = manufacturer,
1242 Department = department, 1242 Department = department,
@@ -1493,15 +1493,15 @@ namespace WixToolset.Core
1493 /// <param name="node">Element to parse</param> 1493 /// <param name="node">Element to parse</param>
1494 /// <param name="parentType">ComplexReferenceParentType of parent element</param> 1494 /// <param name="parentType">ComplexReferenceParentType of parent element</param>
1495 /// <param name="parentId">Identifier of parent element.</param> 1495 /// <param name="parentId">Identifier of parent element.</param>
1496 private WixBundlePayloadTuple CreatePayloadRow(SourceLineNumber sourceLineNumbers, Identifier id, string name, string sourceFile, string downloadUrl, ComplexReferenceParentType parentType, 1496 private WixBundlePayloadSymbol CreatePayloadRow(SourceLineNumber sourceLineNumbers, Identifier id, string name, string sourceFile, string downloadUrl, ComplexReferenceParentType parentType,
1497 Identifier parentId, ComplexReferenceChildType previousType, Identifier previousId, YesNoDefaultType compressed, YesNoType enableSignatureVerification, string displayName, string description, 1497 Identifier parentId, ComplexReferenceChildType previousType, Identifier previousId, YesNoDefaultType compressed, YesNoType enableSignatureVerification, string displayName, string description,
1498 RemotePayload remotePayload) 1498 RemotePayload remotePayload)
1499 { 1499 {
1500 WixBundlePayloadTuple tuple = null; 1500 WixBundlePayloadSymbol symbol = null;
1501 1501
1502 if (!this.Core.EncounteredError) 1502 if (!this.Core.EncounteredError)
1503 { 1503 {
1504 tuple = this.Core.AddTuple(new WixBundlePayloadTuple(sourceLineNumbers, id) 1504 symbol = this.Core.AddSymbol(new WixBundlePayloadSymbol(sourceLineNumbers, id)
1505 { 1505 {
1506 Name = String.IsNullOrEmpty(name) ? Path.GetFileName(sourceFile) : name, 1506 Name = String.IsNullOrEmpty(name) ? Path.GetFileName(sourceFile) : name,
1507 SourceFile = new IntermediateFieldPathValue { Path = sourceFile }, 1507 SourceFile = new IntermediateFieldPathValue { Path = sourceFile },
@@ -1515,19 +1515,19 @@ namespace WixToolset.Core
1515 1515
1516 if (null != remotePayload) 1516 if (null != remotePayload)
1517 { 1517 {
1518 tuple.Description = remotePayload.Description; 1518 symbol.Description = remotePayload.Description;
1519 tuple.DisplayName = remotePayload.ProductName; 1519 symbol.DisplayName = remotePayload.ProductName;
1520 tuple.Hash = remotePayload.Hash; 1520 symbol.Hash = remotePayload.Hash;
1521 tuple.PublicKey = remotePayload.CertificatePublicKey; 1521 symbol.PublicKey = remotePayload.CertificatePublicKey;
1522 tuple.Thumbprint = remotePayload.CertificateThumbprint; 1522 symbol.Thumbprint = remotePayload.CertificateThumbprint;
1523 tuple.FileSize = remotePayload.Size; 1523 symbol.FileSize = remotePayload.Size;
1524 tuple.Version = remotePayload.Version; 1524 symbol.Version = remotePayload.Version;
1525 } 1525 }
1526 1526
1527 this.CreateGroupAndOrderingRows(sourceLineNumbers, parentType, parentId.Id, ComplexReferenceChildType.Payload, id.Id, previousType, previousId?.Id); 1527 this.CreateGroupAndOrderingRows(sourceLineNumbers, parentType, parentId.Id, ComplexReferenceChildType.Payload, id.Id, previousType, previousId?.Id);
1528 } 1528 }
1529 1529
1530 return tuple; 1530 return symbol;
1531 } 1531 }
1532 1532
1533 /// <summary> 1533 /// <summary>
@@ -1599,7 +1599,7 @@ namespace WixToolset.Core
1599 1599
1600 if (!this.Core.EncounteredError) 1600 if (!this.Core.EncounteredError)
1601 { 1601 {
1602 this.Core.AddTuple(new WixBundlePayloadGroupTuple(sourceLineNumbers, id)); 1602 this.Core.AddSymbol(new WixBundlePayloadGroupSymbol(sourceLineNumbers, id));
1603 1603
1604 this.CreateGroupAndOrderingRows(sourceLineNumbers, parentType, parentId?.Id, ComplexReferenceChildType.PayloadGroup, id.Id, ComplexReferenceChildType.Unknown, null); 1604 this.CreateGroupAndOrderingRows(sourceLineNumbers, parentType, parentId?.Id, ComplexReferenceChildType.PayloadGroup, id.Id, ComplexReferenceChildType.Unknown, null);
1605 } 1605 }
@@ -1627,7 +1627,7 @@ namespace WixToolset.Core
1627 { 1627 {
1628 case "Id": 1628 case "Id":
1629 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); 1629 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1630 this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.WixBundlePayloadGroup, id.Id); 1630 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, id.Id);
1631 break; 1631 break;
1632 default: 1632 default:
1633 this.Core.UnexpectedAttribute(node, attrib); 1633 this.Core.UnexpectedAttribute(node, attrib);
@@ -1682,7 +1682,7 @@ namespace WixToolset.Core
1682 // TODO: Should we define our own enum for this, just to ensure there's no "cross-contamination"? 1682 // TODO: Should we define our own enum for this, just to ensure there's no "cross-contamination"?
1683 // TODO: Also, we could potentially include an 'Attributes' field to track things like 1683 // TODO: Also, we could potentially include an 'Attributes' field to track things like
1684 // 'before' vs. 'after', and explicit vs. inferred dependencies. 1684 // 'before' vs. 'after', and explicit vs. inferred dependencies.
1685 this.Core.AddTuple(new WixOrderingTuple(sourceLineNumbers) 1685 this.Core.AddSymbol(new WixOrderingSymbol(sourceLineNumbers)
1686 { 1686 {
1687 ItemType = type, 1687 ItemType = type,
1688 ItemIdRef = id, 1688 ItemIdRef = id,
@@ -1739,7 +1739,7 @@ namespace WixToolset.Core
1739 1739
1740 if (!this.Core.EncounteredError) 1740 if (!this.Core.EncounteredError)
1741 { 1741 {
1742 this.Core.AddTuple(new WixBundlePackageExitCodeTuple(sourceLineNumbers) 1742 this.Core.AddSymbol(new WixBundlePackageExitCodeSymbol(sourceLineNumbers)
1743 { 1743 {
1744 ChainPackageId = packageId, 1744 ChainPackageId = packageId,
1745 Code = value, 1745 Code = value,
@@ -1847,7 +1847,7 @@ namespace WixToolset.Core
1847 1847
1848 if (!this.Core.EncounteredError) 1848 if (!this.Core.EncounteredError)
1849 { 1849 {
1850 this.Core.AddTuple(new WixChainTuple(sourceLineNumbers) 1850 this.Core.AddSymbol(new WixChainSymbol(sourceLineNumbers)
1851 { 1851 {
1852 Attributes = attributes 1852 Attributes = attributes
1853 }); 1853 });
@@ -2393,13 +2393,13 @@ namespace WixToolset.Core
2393 this.CreatePayloadRow(sourceLineNumbers, id, name, sourceFile, downloadUrl, ComplexReferenceParentType.Package, id, 2393 this.CreatePayloadRow(sourceLineNumbers, id, name, sourceFile, downloadUrl, ComplexReferenceParentType.Package, id,
2394 ComplexReferenceChildType.Unknown, null, compressed, enableSignatureVerification, displayName, description, remotePayload); 2394 ComplexReferenceChildType.Unknown, null, compressed, enableSignatureVerification, displayName, description, remotePayload);
2395 2395
2396 this.Core.AddTuple(new WixChainItemTuple(sourceLineNumbers, id)); 2396 this.Core.AddSymbol(new WixChainItemSymbol(sourceLineNumbers, id));
2397 2397
2398 WixBundlePackageAttributes attributes = 0; 2398 WixBundlePackageAttributes attributes = 0;
2399 attributes |= (YesNoType.Yes == permanent) ? WixBundlePackageAttributes.Permanent : 0; 2399 attributes |= (YesNoType.Yes == permanent) ? WixBundlePackageAttributes.Permanent : 0;
2400 attributes |= (YesNoType.Yes == visible) ? WixBundlePackageAttributes.Visible : 0; 2400 attributes |= (YesNoType.Yes == visible) ? WixBundlePackageAttributes.Visible : 0;
2401 2401
2402 var chainPackageTuple = this.Core.AddTuple(new WixBundlePackageTuple(sourceLineNumbers, id) 2402 var chainPackageSymbol = this.Core.AddSymbol(new WixBundlePackageSymbol(sourceLineNumbers, id)
2403 { 2403 {
2404 Type = packageType, 2404 Type = packageType,
2405 PayloadRef = id.Id, 2405 PayloadRef = id.Id,
@@ -2412,28 +2412,28 @@ namespace WixToolset.Core
2412 2412
2413 if (YesNoAlwaysType.NotSet != cache) 2413 if (YesNoAlwaysType.NotSet != cache)
2414 { 2414 {
2415 chainPackageTuple.Cache = cache; 2415 chainPackageSymbol.Cache = cache;
2416 } 2416 }
2417 2417
2418 if (YesNoType.NotSet != vital) 2418 if (YesNoType.NotSet != vital)
2419 { 2419 {
2420 chainPackageTuple.Vital = (vital == YesNoType.Yes); 2420 chainPackageSymbol.Vital = (vital == YesNoType.Yes);
2421 } 2421 }
2422 2422
2423 if (YesNoDefaultType.NotSet != perMachine) 2423 if (YesNoDefaultType.NotSet != perMachine)
2424 { 2424 {
2425 chainPackageTuple.PerMachine = perMachine; 2425 chainPackageSymbol.PerMachine = perMachine;
2426 } 2426 }
2427 2427
2428 if (CompilerConstants.IntegerNotSet != installSize) 2428 if (CompilerConstants.IntegerNotSet != installSize)
2429 { 2429 {
2430 chainPackageTuple.InstallSize = installSize; 2430 chainPackageSymbol.InstallSize = installSize;
2431 } 2431 }
2432 2432
2433 switch (packageType) 2433 switch (packageType)
2434 { 2434 {
2435 case WixBundlePackageType.Exe: 2435 case WixBundlePackageType.Exe:
2436 this.Core.AddTuple(new WixBundleExePackageTuple(sourceLineNumbers, id) 2436 this.Core.AddSymbol(new WixBundleExePackageSymbol(sourceLineNumbers, id)
2437 { 2437 {
2438 Attributes = WixBundleExePackageAttributes.None, 2438 Attributes = WixBundleExePackageAttributes.None,
2439 DetectCondition = detectCondition, 2439 DetectCondition = detectCondition,
@@ -2449,7 +2449,7 @@ namespace WixToolset.Core
2449 msiAttributes |= (YesNoType.Yes == enableFeatureSelection) ? WixBundleMsiPackageAttributes.EnableFeatureSelection : 0; 2449 msiAttributes |= (YesNoType.Yes == enableFeatureSelection) ? WixBundleMsiPackageAttributes.EnableFeatureSelection : 0;
2450 msiAttributes |= (YesNoType.Yes == forcePerMachine) ? WixBundleMsiPackageAttributes.ForcePerMachine : 0; 2450 msiAttributes |= (YesNoType.Yes == forcePerMachine) ? WixBundleMsiPackageAttributes.ForcePerMachine : 0;
2451 2451
2452 this.Core.AddTuple(new WixBundleMsiPackageTuple(sourceLineNumbers, id) 2452 this.Core.AddSymbol(new WixBundleMsiPackageSymbol(sourceLineNumbers, id)
2453 { 2453 {
2454 Attributes = msiAttributes 2454 Attributes = msiAttributes
2455 }); 2455 });
@@ -2459,14 +2459,14 @@ namespace WixToolset.Core
2459 WixBundleMspPackageAttributes mspAttributes = 0; 2459 WixBundleMspPackageAttributes mspAttributes = 0;
2460 mspAttributes |= (YesNoType.Yes == slipstream) ? WixBundleMspPackageAttributes.Slipstream : 0; 2460 mspAttributes |= (YesNoType.Yes == slipstream) ? WixBundleMspPackageAttributes.Slipstream : 0;
2461 2461
2462 this.Core.AddTuple(new WixBundleMspPackageTuple(sourceLineNumbers, id) 2462 this.Core.AddSymbol(new WixBundleMspPackageSymbol(sourceLineNumbers, id)
2463 { 2463 {
2464 Attributes = mspAttributes 2464 Attributes = mspAttributes
2465 }); 2465 });
2466 break; 2466 break;
2467 2467
2468 case WixBundlePackageType.Msu: 2468 case WixBundlePackageType.Msu:
2469 this.Core.AddTuple(new WixBundleMsuPackageTuple(sourceLineNumbers, id) 2469 this.Core.AddSymbol(new WixBundleMsuPackageSymbol(sourceLineNumbers, id)
2470 { 2470 {
2471 DetectCondition = detectCondition, 2471 DetectCondition = detectCondition,
2472 MsuKB = msuKB 2472 MsuKB = msuKB
@@ -2530,7 +2530,7 @@ namespace WixToolset.Core
2530 2530
2531 if (!this.Core.EncounteredError) 2531 if (!this.Core.EncounteredError)
2532 { 2532 {
2533 this.Core.AddTuple(new WixBundlePackageCommandLineTuple(sourceLineNumbers) 2533 this.Core.AddSymbol(new WixBundlePackageCommandLineSymbol(sourceLineNumbers)
2534 { 2534 {
2535 WixBundlePackageRef = packageId, 2535 WixBundlePackageRef = packageId,
2536 InstallArgument = installArgument, 2536 InstallArgument = installArgument,
@@ -2622,7 +2622,7 @@ namespace WixToolset.Core
2622 2622
2623 if (!this.Core.EncounteredError) 2623 if (!this.Core.EncounteredError)
2624 { 2624 {
2625 this.Core.AddTuple(new WixBundlePackageGroupTuple(sourceLineNumbers, id)); 2625 this.Core.AddSymbol(new WixBundlePackageGroupSymbol(sourceLineNumbers, id));
2626 } 2626 }
2627 } 2627 }
2628 2628
@@ -2664,7 +2664,7 @@ namespace WixToolset.Core
2664 { 2664 {
2665 case "Id": 2665 case "Id":
2666 id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 2666 id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2667 this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.WixBundlePackageGroup, id); 2667 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePackageGroup, id);
2668 break; 2668 break;
2669 case "After": 2669 case "After":
2670 after = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 2670 after = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
@@ -2717,9 +2717,9 @@ namespace WixToolset.Core
2717 /// <param name="previousId">Identifier of previous item, if any.</param> 2717 /// <param name="previousId">Identifier of previous item, if any.</param>
2718 private void CreateRollbackBoundary(SourceLineNumber sourceLineNumbers, Identifier id, YesNoType vital, YesNoType transaction, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType previousType, string previousId) 2718 private void CreateRollbackBoundary(SourceLineNumber sourceLineNumbers, Identifier id, YesNoType vital, YesNoType transaction, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType previousType, string previousId)
2719 { 2719 {
2720 this.Core.AddTuple(new WixChainItemTuple(sourceLineNumbers, id)); 2720 this.Core.AddSymbol(new WixChainItemSymbol(sourceLineNumbers, id));
2721 2721
2722 var rollbackBoundary = this.Core.AddTuple(new WixBundleRollbackBoundaryTuple(sourceLineNumbers, id)); 2722 var rollbackBoundary = this.Core.AddSymbol(new WixBundleRollbackBoundarySymbol(sourceLineNumbers, id));
2723 2723
2724 if (YesNoType.NotSet != vital) 2724 if (YesNoType.NotSet != vital)
2725 { 2725 {
@@ -2812,7 +2812,7 @@ namespace WixToolset.Core
2812 2812
2813 if (!this.Core.EncounteredError) 2813 if (!this.Core.EncounteredError)
2814 { 2814 {
2815 var tuple = this.Core.AddTuple(new WixBundleMsiPropertyTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, packageId, name)) 2815 var symbol = this.Core.AddSymbol(new WixBundleMsiPropertySymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, packageId, name))
2816 { 2816 {
2817 PackageRef = packageId, 2817 PackageRef = packageId,
2818 Name = name, 2818 Name = name,
@@ -2821,7 +2821,7 @@ namespace WixToolset.Core
2821 2821
2822 if (!String.IsNullOrEmpty(condition)) 2822 if (!String.IsNullOrEmpty(condition))
2823 { 2823 {
2824 tuple.Condition = condition; 2824 symbol.Condition = condition;
2825 } 2825 }
2826 } 2826 }
2827 } 2827 }
@@ -2844,7 +2844,7 @@ namespace WixToolset.Core
2844 { 2844 {
2845 case "Id": 2845 case "Id":
2846 id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 2846 id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
2847 this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.WixBundlePackage, id); 2847 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundlePackage, id);
2848 break; 2848 break;
2849 default: 2849 default:
2850 this.Core.UnexpectedAttribute(node, attrib); 2850 this.Core.UnexpectedAttribute(node, attrib);
@@ -2866,7 +2866,7 @@ namespace WixToolset.Core
2866 2866
2867 if (!this.Core.EncounteredError) 2867 if (!this.Core.EncounteredError)
2868 { 2868 {
2869 this.Core.AddTuple(new WixBundleSlipstreamMspTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, packageId, id)) 2869 this.Core.AddSymbol(new WixBundleSlipstreamMspSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, packageId, id))
2870 { 2870 {
2871 TargetPackageRef = packageId, 2871 TargetPackageRef = packageId,
2872 MspPackageRef = id 2872 MspPackageRef = id
@@ -2940,7 +2940,7 @@ namespace WixToolset.Core
2940 2940
2941 if (!this.Core.EncounteredError) 2941 if (!this.Core.EncounteredError)
2942 { 2942 {
2943 this.Core.AddTuple(new WixRelatedBundleTuple(sourceLineNumbers) 2943 this.Core.AddSymbol(new WixRelatedBundleSymbol(sourceLineNumbers)
2944 { 2944 {
2945 BundleId = id, 2945 BundleId = id,
2946 Action = actionType, 2946 Action = actionType,
@@ -2986,7 +2986,7 @@ namespace WixToolset.Core
2986 2986
2987 if (!this.Core.EncounteredError) 2987 if (!this.Core.EncounteredError)
2988 { 2988 {
2989 this.Core.AddTuple(new WixBundleUpdateTuple(sourceLineNumbers) 2989 this.Core.AddSymbol(new WixBundleUpdateSymbol(sourceLineNumbers)
2990 { 2990 {
2991 Location = location 2991 Location = location
2992 }); 2992 });
@@ -3052,11 +3052,11 @@ namespace WixToolset.Core
3052 id = this.Core.CreateIdentifier("sbv", variable, condition, after, value, type); 3052 id = this.Core.CreateIdentifier("sbv", variable, condition, after, value, type);
3053 } 3053 }
3054 3054
3055 this.Core.CreateWixSearchTuple(sourceLineNumbers, node.Name.LocalName, id, variable, condition, after); 3055 this.Core.CreateWixSearchSymbol(sourceLineNumbers, node.Name.LocalName, id, variable, condition, after);
3056 3056
3057 if (!this.Messaging.EncounteredError) 3057 if (!this.Messaging.EncounteredError)
3058 { 3058 {
3059 this.Core.AddTuple(new WixSetVariableTuple(sourceLineNumbers, id) 3059 this.Core.AddSymbol(new WixSetVariableSymbol(sourceLineNumbers, id)
3060 { 3060 {
3061 Value = value, 3061 Value = value,
3062 Type = type, 3062 Type = type,
@@ -3130,7 +3130,7 @@ namespace WixToolset.Core
3130 3130
3131 if (!this.Core.EncounteredError) 3131 if (!this.Core.EncounteredError)
3132 { 3132 {
3133 this.Core.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, name)) 3133 this.Core.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Private, name))
3134 { 3134 {
3135 Value = value, 3135 Value = value,
3136 Type = type, 3136 Type = type,
@@ -3145,7 +3145,7 @@ namespace WixToolset.Core
3145 var newType = type; 3145 var newType = type;
3146 if (newType == null && value != null) 3146 if (newType == null && value != null)
3147 { 3147 {
3148 // Infer the type from the current value... 3148 // Infer the type from the current value...
3149 if (value.StartsWith("v", StringComparison.OrdinalIgnoreCase)) 3149 if (value.StartsWith("v", StringComparison.OrdinalIgnoreCase))
3150 { 3150 {
3151 // Version constructor does not support simple "v#" syntax so check to see if the value is 3151 // Version constructor does not support simple "v#" syntax so check to see if the value is