aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/BalCompiler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/BalCompiler.cs')
-rw-r--r--src/wixext/BalCompiler.cs90
1 files changed, 45 insertions, 45 deletions
diff --git a/src/wixext/BalCompiler.cs b/src/wixext/BalCompiler.cs
index 03b74e57..294cf45c 100644
--- a/src/wixext/BalCompiler.cs
+++ b/src/wixext/BalCompiler.cs
@@ -5,9 +5,9 @@ namespace WixToolset.Bal
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.Xml.Linq; 7 using System.Xml.Linq;
8 using WixToolset.Bal.Tuples; 8 using WixToolset.Bal.Symbols;
9 using WixToolset.Data; 9 using WixToolset.Data;
10 using WixToolset.Data.Tuples; 10 using WixToolset.Data.Symbols;
11 using WixToolset.Extensibility; 11 using WixToolset.Extensibility;
12 12
13 /// <summary> 13 /// <summary>
@@ -15,14 +15,14 @@ namespace WixToolset.Bal
15 /// </summary> 15 /// </summary>
16 public sealed class BalCompiler : BaseCompilerExtension 16 public sealed class BalCompiler : BaseCompilerExtension
17 { 17 {
18 private readonly Dictionary<string, WixMbaPrereqInformationTuple> prereqInfoTuplesByPackageId; 18 private readonly Dictionary<string, WixMbaPrereqInformationSymbol> prereqInfoSymbolsByPackageId;
19 19
20 /// <summary> 20 /// <summary>
21 /// Instantiate a new BalCompiler. 21 /// Instantiate a new BalCompiler.
22 /// </summary> 22 /// </summary>
23 public BalCompiler() 23 public BalCompiler()
24 { 24 {
25 this.prereqInfoTuplesByPackageId = new Dictionary<string, WixMbaPrereqInformationTuple>(); 25 this.prereqInfoSymbolsByPackageId = new Dictionary<string, WixMbaPrereqInformationSymbol>();
26 } 26 }
27 27
28 public override XNamespace Namespace => "http://wixtoolset.org/schemas/v4/wxs/bal"; 28 public override XNamespace Namespace => "http://wixtoolset.org/schemas/v4/wxs/bal";
@@ -87,7 +87,7 @@ namespace WixToolset.Bal
87 public override void ParseAttribute(Intermediate intermediate, IntermediateSection section, XElement parentElement, XAttribute attribute, IDictionary<string, string> context) 87 public override void ParseAttribute(Intermediate intermediate, IntermediateSection section, XElement parentElement, XAttribute attribute, IDictionary<string, string> context)
88 { 88 {
89 var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(parentElement); 89 var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(parentElement);
90 WixMbaPrereqInformationTuple prereqInfo; 90 WixMbaPrereqInformationSymbol prereqInfo;
91 91
92 switch (parentElement.Name.LocalName) 92 switch (parentElement.Name.LocalName)
93 { 93 {
@@ -110,7 +110,7 @@ namespace WixToolset.Bal
110 case "MsiPackage": 110 case "MsiPackage":
111 case "MspPackage": 111 case "MspPackage":
112 var displayInternalUICondition = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attribute); 112 var displayInternalUICondition = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attribute);
113 section.AddTuple(new WixBalPackageInfoTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, packageId)) 113 section.AddSymbol(new WixBalPackageInfoSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, packageId))
114 { 114 {
115 PackageId = packageId, 115 PackageId = packageId,
116 DisplayInternalUICondition = displayInternalUICondition, 116 DisplayInternalUICondition = displayInternalUICondition,
@@ -123,7 +123,7 @@ namespace WixToolset.Bal
123 break; 123 break;
124 case "PrereqLicenseFile": 124 case "PrereqLicenseFile":
125 125
126 if (!this.prereqInfoTuplesByPackageId.TryGetValue(packageId, out prereqInfo)) 126 if (!this.prereqInfoSymbolsByPackageId.TryGetValue(packageId, out prereqInfo))
127 { 127 {
128 // at the time the extension attribute is parsed, the compiler might not yet have 128 // at the time the extension attribute is parsed, the compiler might not yet have
129 // parsed the PrereqPackage attribute, so we need to get it directly from the parent element. 129 // parsed the PrereqPackage attribute, so we need to get it directly from the parent element.
@@ -131,12 +131,12 @@ namespace WixToolset.Bal
131 131
132 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage)) 132 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage))
133 { 133 {
134 prereqInfo = section.AddTuple(new WixMbaPrereqInformationTuple(sourceLineNumbers) 134 prereqInfo = section.AddSymbol(new WixMbaPrereqInformationSymbol(sourceLineNumbers)
135 { 135 {
136 PackageId = packageId, 136 PackageId = packageId,
137 }); 137 });
138 138
139 this.prereqInfoTuplesByPackageId.Add(packageId, prereqInfo); 139 this.prereqInfoSymbolsByPackageId.Add(packageId, prereqInfo);
140 } 140 }
141 else 141 else
142 { 142 {
@@ -156,7 +156,7 @@ namespace WixToolset.Bal
156 break; 156 break;
157 case "PrereqLicenseUrl": 157 case "PrereqLicenseUrl":
158 158
159 if (!this.prereqInfoTuplesByPackageId.TryGetValue(packageId, out prereqInfo)) 159 if (!this.prereqInfoSymbolsByPackageId.TryGetValue(packageId, out prereqInfo))
160 { 160 {
161 // at the time the extension attribute is parsed, the compiler might not yet have 161 // at the time the extension attribute is parsed, the compiler might not yet have
162 // parsed the PrereqPackage attribute, so we need to get it directly from the parent element. 162 // parsed the PrereqPackage attribute, so we need to get it directly from the parent element.
@@ -164,12 +164,12 @@ namespace WixToolset.Bal
164 164
165 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage)) 165 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage))
166 { 166 {
167 prereqInfo = section.AddTuple(new WixMbaPrereqInformationTuple(sourceLineNumbers) 167 prereqInfo = section.AddSymbol(new WixMbaPrereqInformationSymbol(sourceLineNumbers)
168 { 168 {
169 PackageId = packageId, 169 PackageId = packageId,
170 }); 170 });
171 171
172 this.prereqInfoTuplesByPackageId.Add(packageId, prereqInfo); 172 this.prereqInfoSymbolsByPackageId.Add(packageId, prereqInfo);
173 } 173 }
174 else 174 else
175 { 175 {
@@ -190,14 +190,14 @@ namespace WixToolset.Bal
190 case "PrereqPackage": 190 case "PrereqPackage":
191 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute)) 191 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute))
192 { 192 {
193 if (!this.prereqInfoTuplesByPackageId.TryGetValue(packageId, out prereqInfo)) 193 if (!this.prereqInfoSymbolsByPackageId.TryGetValue(packageId, out prereqInfo))
194 { 194 {
195 prereqInfo = section.AddTuple(new WixMbaPrereqInformationTuple(sourceLineNumbers) 195 prereqInfo = section.AddSymbol(new WixMbaPrereqInformationSymbol(sourceLineNumbers)
196 { 196 {
197 PackageId = packageId, 197 PackageId = packageId,
198 }); 198 });
199 199
200 this.prereqInfoTuplesByPackageId.Add(packageId, prereqInfo); 200 this.prereqInfoSymbolsByPackageId.Add(packageId, prereqInfo);
201 } 201 }
202 } 202 }
203 break; 203 break;
@@ -222,7 +222,7 @@ namespace WixToolset.Bal
222 { 222 {
223 // There can only be one. 223 // There can only be one.
224 var id = new Identifier(AccessModifier.Public, "TheBAFactoryAssembly"); 224 var id = new Identifier(AccessModifier.Public, "TheBAFactoryAssembly");
225 section.AddTuple(new WixBalBAFactoryAssemblyTuple(sourceLineNumbers, id) 225 section.AddSymbol(new WixBalBAFactoryAssemblySymbol(sourceLineNumbers, id)
226 { 226 {
227 PayloadId = payloadId, 227 PayloadId = payloadId,
228 }); 228 });
@@ -231,7 +231,7 @@ namespace WixToolset.Bal
231 case "BAFunctions": 231 case "BAFunctions":
232 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute)) 232 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute))
233 { 233 {
234 section.AddTuple(new WixBalBAFunctionsTuple(sourceLineNumbers) 234 section.AddSymbol(new WixBalBAFunctionsSymbol(sourceLineNumbers)
235 { 235 {
236 PayloadId = payloadId, 236 PayloadId = payloadId,
237 }); 237 });
@@ -258,7 +258,7 @@ namespace WixToolset.Bal
258 case "Overridable": 258 case "Overridable":
259 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute)) 259 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute))
260 { 260 {
261 section.AddTuple(new WixStdbaOverridableVariableTuple(sourceLineNumbers) 261 section.AddSymbol(new WixStdbaOverridableVariableSymbol(sourceLineNumbers)
262 { 262 {
263 Name = variableName.Value, 263 Name = variableName.Value,
264 }); 264 });
@@ -318,7 +318,7 @@ namespace WixToolset.Bal
318 318
319 if (!this.Messaging.EncounteredError) 319 if (!this.Messaging.EncounteredError)
320 { 320 {
321 section.AddTuple(new WixBalConditionTuple(sourceLineNumbers) 321 section.AddSymbol(new WixBalConditionSymbol(sourceLineNumbers)
322 { 322 {
323 Condition = condition, 323 Condition = condition,
324 Message = message, 324 Message = message,
@@ -378,13 +378,13 @@ namespace WixToolset.Bal
378 378
379 if (!this.Messaging.EncounteredError) 379 if (!this.Messaging.EncounteredError)
380 { 380 {
381 section.AddTuple(new WixMbaPrereqInformationTuple(sourceLineNumbers) 381 section.AddSymbol(new WixMbaPrereqInformationSymbol(sourceLineNumbers)
382 { 382 {
383 PackageId = packageId, 383 PackageId = packageId,
384 LicenseFile = licenseFile, 384 LicenseFile = licenseFile,
385 LicenseUrl = licenseUrl, 385 LicenseUrl = licenseUrl,
386 }); 386 });
387 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.WixBundlePackage, packageId); 387 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePackage, packageId);
388 } 388 }
389 } 389 }
390 390
@@ -488,7 +488,7 @@ namespace WixToolset.Bal
488 { 488 {
489 if (!String.IsNullOrEmpty(launchTarget)) 489 if (!String.IsNullOrEmpty(launchTarget))
490 { 490 {
491 section.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTarget")) 491 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTarget"))
492 { 492 {
493 Value = launchTarget, 493 Value = launchTarget,
494 Type = "string", 494 Type = "string",
@@ -497,7 +497,7 @@ namespace WixToolset.Bal
497 497
498 if (!String.IsNullOrEmpty(launchTargetElevatedId)) 498 if (!String.IsNullOrEmpty(launchTargetElevatedId))
499 { 499 {
500 section.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTargetElevatedId")) 500 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTargetElevatedId"))
501 { 501 {
502 Value = launchTargetElevatedId, 502 Value = launchTargetElevatedId,
503 Type = "string", 503 Type = "string",
@@ -506,7 +506,7 @@ namespace WixToolset.Bal
506 506
507 if (!String.IsNullOrEmpty(launchArguments)) 507 if (!String.IsNullOrEmpty(launchArguments))
508 { 508 {
509 section.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchArguments")) 509 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchArguments"))
510 { 510 {
511 Value = launchArguments, 511 Value = launchArguments,
512 Type = "string", 512 Type = "string",
@@ -515,7 +515,7 @@ namespace WixToolset.Bal
515 515
516 if (YesNoType.Yes == launchHidden) 516 if (YesNoType.Yes == launchHidden)
517 { 517 {
518 section.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchHidden")) 518 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchHidden"))
519 { 519 {
520 Value = "yes", 520 Value = "yes",
521 Type = "string", 521 Type = "string",
@@ -525,7 +525,7 @@ namespace WixToolset.Bal
525 525
526 if (!String.IsNullOrEmpty(launchWorkingDir)) 526 if (!String.IsNullOrEmpty(launchWorkingDir))
527 { 527 {
528 section.AddTuple(new WixBundleVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchWorkingFolder")) 528 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchWorkingFolder"))
529 { 529 {
530 Value = launchWorkingDir, 530 Value = launchWorkingDir,
531 Type = "string", 531 Type = "string",
@@ -534,7 +534,7 @@ namespace WixToolset.Bal
534 534
535 if (!String.IsNullOrEmpty(licenseFile)) 535 if (!String.IsNullOrEmpty(licenseFile))
536 { 536 {
537 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLicenseRtf")) 537 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLicenseRtf"))
538 { 538 {
539 Value = licenseFile, 539 Value = licenseFile,
540 }); 540 });
@@ -542,7 +542,7 @@ namespace WixToolset.Bal
542 542
543 if (null != licenseUrl) 543 if (null != licenseUrl)
544 { 544 {
545 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLicenseUrl")) 545 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLicenseUrl"))
546 { 546 {
547 Value = licenseUrl, 547 Value = licenseUrl,
548 }); 548 });
@@ -550,7 +550,7 @@ namespace WixToolset.Bal
550 550
551 if (!String.IsNullOrEmpty(logoFile)) 551 if (!String.IsNullOrEmpty(logoFile))
552 { 552 {
553 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLogo")) 553 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLogo"))
554 { 554 {
555 Value = logoFile, 555 Value = logoFile,
556 }); 556 });
@@ -558,7 +558,7 @@ namespace WixToolset.Bal
558 558
559 if (!String.IsNullOrEmpty(logoSideFile)) 559 if (!String.IsNullOrEmpty(logoSideFile))
560 { 560 {
561 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLogoSide")) 561 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaLogoSide"))
562 { 562 {
563 Value = logoSideFile, 563 Value = logoSideFile,
564 }); 564 });
@@ -566,7 +566,7 @@ namespace WixToolset.Bal
566 566
567 if (!String.IsNullOrEmpty(themeFile)) 567 if (!String.IsNullOrEmpty(themeFile))
568 { 568 {
569 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaThemeXml")) 569 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaThemeXml"))
570 { 570 {
571 Value = themeFile, 571 Value = themeFile,
572 }); 572 });
@@ -574,7 +574,7 @@ namespace WixToolset.Bal
574 574
575 if (!String.IsNullOrEmpty(localizationFile)) 575 if (!String.IsNullOrEmpty(localizationFile))
576 { 576 {
577 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaThemeWxl")) 577 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "WixStdbaThemeWxl"))
578 { 578 {
579 Value = localizationFile, 579 Value = localizationFile,
580 }); 580 });
@@ -582,30 +582,30 @@ namespace WixToolset.Bal
582 582
583 if (YesNoType.Yes == suppressOptionsUI || YesNoType.Yes == suppressDowngradeFailure || YesNoType.Yes == suppressRepair || YesNoType.Yes == showVersion || YesNoType.Yes == supportCacheOnly) 583 if (YesNoType.Yes == suppressOptionsUI || YesNoType.Yes == suppressDowngradeFailure || YesNoType.Yes == suppressRepair || YesNoType.Yes == showVersion || YesNoType.Yes == supportCacheOnly)
584 { 584 {
585 var tuple = section.AddTuple(new WixStdbaOptionsTuple(sourceLineNumbers)); 585 var symbol = section.AddSymbol(new WixStdbaOptionsSymbol(sourceLineNumbers));
586 if (YesNoType.Yes == suppressOptionsUI) 586 if (YesNoType.Yes == suppressOptionsUI)
587 { 587 {
588 tuple.SuppressOptionsUI = 1; 588 symbol.SuppressOptionsUI = 1;
589 } 589 }
590 590
591 if (YesNoType.Yes == suppressDowngradeFailure) 591 if (YesNoType.Yes == suppressDowngradeFailure)
592 { 592 {
593 tuple.SuppressDowngradeFailure = 1; 593 symbol.SuppressDowngradeFailure = 1;
594 } 594 }
595 595
596 if (YesNoType.Yes == suppressRepair) 596 if (YesNoType.Yes == suppressRepair)
597 { 597 {
598 tuple.SuppressRepair = 1; 598 symbol.SuppressRepair = 1;
599 } 599 }
600 600
601 if (YesNoType.Yes == showVersion) 601 if (YesNoType.Yes == showVersion)
602 { 602 {
603 tuple.ShowVersion = 1; 603 symbol.ShowVersion = 1;
604 } 604 }
605 605
606 if (YesNoType.Yes == supportCacheOnly) 606 if (YesNoType.Yes == supportCacheOnly)
607 { 607 {
608 tuple.SupportCacheOnly = 1; 608 symbol.SupportCacheOnly = 1;
609 } 609 }
610 } 610 }
611 } 611 }
@@ -654,7 +654,7 @@ namespace WixToolset.Bal
654 { 654 {
655 if (!String.IsNullOrEmpty(logoFile)) 655 if (!String.IsNullOrEmpty(logoFile))
656 { 656 {
657 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaLogo")) 657 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaLogo"))
658 { 658 {
659 Value = logoFile, 659 Value = logoFile,
660 }); 660 });
@@ -662,7 +662,7 @@ namespace WixToolset.Bal
662 662
663 if (!String.IsNullOrEmpty(themeFile)) 663 if (!String.IsNullOrEmpty(themeFile))
664 { 664 {
665 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaThemeXml")) 665 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaThemeXml"))
666 { 666 {
667 Value = themeFile, 667 Value = themeFile,
668 }); 668 });
@@ -670,7 +670,7 @@ namespace WixToolset.Bal
670 670
671 if (!String.IsNullOrEmpty(localizationFile)) 671 if (!String.IsNullOrEmpty(localizationFile))
672 { 672 {
673 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaThemeWxl")) 673 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaThemeWxl"))
674 { 674 {
675 Value = localizationFile, 675 Value = localizationFile,
676 }); 676 });
@@ -725,7 +725,7 @@ namespace WixToolset.Bal
725 { 725 {
726 if (!String.IsNullOrEmpty(logoFile)) 726 if (!String.IsNullOrEmpty(logoFile))
727 { 727 {
728 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaLogo")) 728 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaLogo"))
729 { 729 {
730 Value = logoFile, 730 Value = logoFile,
731 }); 731 });
@@ -733,7 +733,7 @@ namespace WixToolset.Bal
733 733
734 if (!String.IsNullOrEmpty(themeFile)) 734 if (!String.IsNullOrEmpty(themeFile))
735 { 735 {
736 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaThemeXml")) 736 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaThemeXml"))
737 { 737 {
738 Value = themeFile, 738 Value = themeFile,
739 }); 739 });
@@ -741,7 +741,7 @@ namespace WixToolset.Bal
741 741
742 if (!String.IsNullOrEmpty(localizationFile)) 742 if (!String.IsNullOrEmpty(localizationFile))
743 { 743 {
744 section.AddTuple(new WixVariableTuple(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaThemeWxl")) 744 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaThemeWxl"))
745 { 745 {
746 Value = localizationFile, 746 Value = localizationFile,
747 }); 747 });
@@ -749,7 +749,7 @@ namespace WixToolset.Bal
749 749
750 if (YesNoType.Yes == selfContainedDeployment) 750 if (YesNoType.Yes == selfContainedDeployment)
751 { 751 {
752 section.AddTuple(new WixDncOptionsTuple(sourceLineNumbers) 752 section.AddSymbol(new WixDncOptionsSymbol(sourceLineNumbers)
753 { 753 {
754 SelfContainedDeployment = 1, 754 SelfContainedDeployment = 1,
755 }); 755 });