aboutsummaryrefslogtreecommitdiff
path: root/src/wixext
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2019-12-11 16:22:58 +1100
committerSean Hall <r.sean.hall@gmail.com>2019-12-11 15:28:59 +1000
commita70d814e7db6a7c4956423bca3bfdd23abc433bc (patch)
tree3281f0f235028d3f355cf93301f14a7156492e5a /src/wixext
parent47a534556c70f97cdbff7e9b64c0e6e86173e22b (diff)
downloadwix-a70d814e7db6a7c4956423bca3bfdd23abc433bc.tar.gz
wix-a70d814e7db6a7c4956423bca3bfdd23abc433bc.tar.bz2
wix-a70d814e7db6a7c4956423bca3bfdd23abc433bc.zip
Bring extension up to date.
Diffstat (limited to 'src/wixext')
-rw-r--r--src/wixext/BalCompiler.cs70
-rw-r--r--src/wixext/BalWindowsInstallerBackendBinderExtension.cs16
2 files changed, 42 insertions, 44 deletions
diff --git a/src/wixext/BalCompiler.cs b/src/wixext/BalCompiler.cs
index 5b54ef58..c9b232ba 100644
--- a/src/wixext/BalCompiler.cs
+++ b/src/wixext/BalCompiler.cs
@@ -110,7 +110,7 @@ namespace WixToolset.Bal
110 110
111 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage)) 111 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage))
112 { 112 {
113 prereqInfo = (WixMbaPrereqInformationTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixMbaPrereqInformation"); 113 prereqInfo = (WixMbaPrereqInformationTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixMbaPrereqInformation");
114 prereqInfo.PackageId = packageId; 114 prereqInfo.PackageId = packageId;
115 115
116 this.prereqInfoRows.Add(packageId, prereqInfo); 116 this.prereqInfoRows.Add(packageId, prereqInfo);
@@ -141,7 +141,7 @@ namespace WixToolset.Bal
141 141
142 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage)) 142 if (null != prereqPackage && YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, prereqPackage))
143 { 143 {
144 prereqInfo = (WixMbaPrereqInformationTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixMbaPrereqInformation"); 144 prereqInfo = (WixMbaPrereqInformationTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixMbaPrereqInformation");
145 prereqInfo.PackageId = packageId; 145 prereqInfo.PackageId = packageId;
146 146
147 this.prereqInfoRows.Add(packageId, prereqInfo); 147 this.prereqInfoRows.Add(packageId, prereqInfo);
@@ -167,7 +167,7 @@ namespace WixToolset.Bal
167 { 167 {
168 if (!this.prereqInfoRows.TryGetValue(packageId, out prereqInfo)) 168 if (!this.prereqInfoRows.TryGetValue(packageId, out prereqInfo))
169 { 169 {
170 prereqInfo = (WixMbaPrereqInformationTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixMbaPrereqInformation"); 170 prereqInfo = (WixMbaPrereqInformationTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixMbaPrereqInformation");
171 prereqInfo.PackageId = packageId; 171 prereqInfo.PackageId = packageId;
172 172
173 this.prereqInfoRows.Add(packageId, prereqInfo); 173 this.prereqInfoRows.Add(packageId, prereqInfo);
@@ -193,7 +193,7 @@ namespace WixToolset.Bal
193 case "BAFunctions": 193 case "BAFunctions":
194 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute)) 194 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute))
195 { 195 {
196 var tuple = (WixBalBAFunctionsTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixBalBAFunctions"); 196 var tuple = (WixBalBAFunctionsTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixBalBAFunctions");
197 tuple.PayloadId = payloadId; 197 tuple.PayloadId = payloadId;
198 } 198 }
199 break; 199 break;
@@ -218,7 +218,7 @@ namespace WixToolset.Bal
218 case "Overridable": 218 case "Overridable":
219 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute)) 219 if (YesNoType.Yes == this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attribute))
220 { 220 {
221 var tuple = (WixStdbaOverridableVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixStdbaOverridableVariable"); 221 var tuple = (WixStdbaOverridableVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixStdbaOverridableVariable");
222 tuple.Name = variableName.Value; 222 tuple.Name = variableName.Value;
223 } 223 }
224 break; 224 break;
@@ -276,7 +276,7 @@ namespace WixToolset.Bal
276 276
277 if (!this.Messaging.EncounteredError) 277 if (!this.Messaging.EncounteredError)
278 { 278 {
279 var tuple = (WixBalConditionTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixBalCondition"); 279 var tuple = (WixBalConditionTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixBalCondition");
280 tuple.Condition = condition; 280 tuple.Condition = condition;
281 tuple.Message = message; 281 tuple.Message = message;
282 282
@@ -387,32 +387,32 @@ namespace WixToolset.Bal
387 { 387 {
388 if (!String.IsNullOrEmpty(launchTarget)) 388 if (!String.IsNullOrEmpty(launchTarget))
389 { 389 {
390 var row = (WixBundleVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixBundleVariable"); 390 var row = (WixBundleVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixBundleVariable");
391 row.Id = new Identifier("LaunchTarget", AccessModifier.Public); 391 row.Id = new Identifier(AccessModifier.Public, "LaunchTarget");
392 row.Value = launchTarget; 392 row.Value = launchTarget;
393 row.Type = "string"; 393 row.Type = "string";
394 } 394 }
395 395
396 if (!String.IsNullOrEmpty(launchTargetElevatedId)) 396 if (!String.IsNullOrEmpty(launchTargetElevatedId))
397 { 397 {
398 var row = (WixBundleVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixBundleVariable"); 398 var row = (WixBundleVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixBundleVariable");
399 row.Id = new Identifier("LaunchTargetElevatedId", AccessModifier.Public); 399 row.Id = new Identifier(AccessModifier.Public, "LaunchTargetElevatedId");
400 row.Value = launchTargetElevatedId; 400 row.Value = launchTargetElevatedId;
401 row.Type = "string"; 401 row.Type = "string";
402 } 402 }
403 403
404 if (!String.IsNullOrEmpty(launchArguments)) 404 if (!String.IsNullOrEmpty(launchArguments))
405 { 405 {
406 var row = (WixBundleVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixBundleVariable"); 406 var row = (WixBundleVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixBundleVariable");
407 row.Id = new Identifier("LaunchArguments", AccessModifier.Public); 407 row.Id = new Identifier(AccessModifier.Public, "LaunchArguments");
408 row.Value = launchArguments; 408 row.Value = launchArguments;
409 row.Type = "string"; 409 row.Type = "string";
410 } 410 }
411 411
412 if (YesNoType.Yes == launchHidden) 412 if (YesNoType.Yes == launchHidden)
413 { 413 {
414 var row = (WixBundleVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixBundleVariable"); 414 var row = (WixBundleVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixBundleVariable");
415 row.Id = new Identifier("LaunchHidden", AccessModifier.Public); 415 row.Id = new Identifier(AccessModifier.Public, "LaunchHidden");
416 row.Value = "yes"; 416 row.Value = "yes";
417 row.Type = "string"; 417 row.Type = "string";
418 } 418 }
@@ -420,57 +420,57 @@ namespace WixToolset.Bal
420 420
421 if (!String.IsNullOrEmpty(launchWorkingDir)) 421 if (!String.IsNullOrEmpty(launchWorkingDir))
422 { 422 {
423 var row = (WixBundleVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "Variable"); 423 var row = (WixBundleVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Variable");
424 row.Id = new Identifier("LaunchWorkingFolder", AccessModifier.Public); 424 row.Id = new Identifier(AccessModifier.Public, "LaunchWorkingFolder");
425 row.Value = launchWorkingDir; 425 row.Value = launchWorkingDir;
426 row.Type = "string"; 426 row.Type = "string";
427 } 427 }
428 428
429 if (!String.IsNullOrEmpty(licenseFile)) 429 if (!String.IsNullOrEmpty(licenseFile))
430 { 430 {
431 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 431 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
432 wixVariableRow.Id = new Identifier("WixStdbaLicenseRtf", AccessModifier.Public); 432 wixVariableRow.Id = new Identifier(AccessModifier.Public, "WixStdbaLicenseRtf");
433 wixVariableRow.Value = licenseFile; 433 wixVariableRow.Value = licenseFile;
434 } 434 }
435 435
436 if (null != licenseUrl) 436 if (null != licenseUrl)
437 { 437 {
438 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 438 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
439 wixVariableRow.Id = new Identifier("WixStdbaLicenseUrl", AccessModifier.Public); 439 wixVariableRow.Id = new Identifier(AccessModifier.Public, "WixStdbaLicenseUrl");
440 wixVariableRow.Value = licenseUrl; 440 wixVariableRow.Value = licenseUrl;
441 } 441 }
442 442
443 if (!String.IsNullOrEmpty(logoFile)) 443 if (!String.IsNullOrEmpty(logoFile))
444 { 444 {
445 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 445 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
446 wixVariableRow.Id = new Identifier("WixStdbaLogo", AccessModifier.Public); 446 wixVariableRow.Id = new Identifier(AccessModifier.Public, "WixStdbaLogo");
447 wixVariableRow.Value = logoFile; 447 wixVariableRow.Value = logoFile;
448 } 448 }
449 449
450 if (!String.IsNullOrEmpty(logoSideFile)) 450 if (!String.IsNullOrEmpty(logoSideFile))
451 { 451 {
452 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 452 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
453 wixVariableRow.Id = new Identifier("WixStdbaLogoSide", AccessModifier.Public); 453 wixVariableRow.Id = new Identifier(AccessModifier.Public, "WixStdbaLogoSide");
454 wixVariableRow.Value = logoSideFile; 454 wixVariableRow.Value = logoSideFile;
455 } 455 }
456 456
457 if (!String.IsNullOrEmpty(themeFile)) 457 if (!String.IsNullOrEmpty(themeFile))
458 { 458 {
459 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 459 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
460 wixVariableRow.Id = new Identifier("WixStdbaThemeXml", AccessModifier.Public); 460 wixVariableRow.Id = new Identifier(AccessModifier.Public, "WixStdbaThemeXml");
461 wixVariableRow.Value = themeFile; 461 wixVariableRow.Value = themeFile;
462 } 462 }
463 463
464 if (!String.IsNullOrEmpty(localizationFile)) 464 if (!String.IsNullOrEmpty(localizationFile))
465 { 465 {
466 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 466 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
467 wixVariableRow.Id = new Identifier("WixStdbaThemeWxl", AccessModifier.Public); 467 wixVariableRow.Id = new Identifier(AccessModifier.Public, "WixStdbaThemeWxl");
468 wixVariableRow.Value = localizationFile; 468 wixVariableRow.Value = localizationFile;
469 } 469 }
470 470
471 if (YesNoType.Yes == suppressOptionsUI || YesNoType.Yes == suppressDowngradeFailure || YesNoType.Yes == suppressRepair || YesNoType.Yes == showVersion || YesNoType.Yes == supportCacheOnly) 471 if (YesNoType.Yes == suppressOptionsUI || YesNoType.Yes == suppressDowngradeFailure || YesNoType.Yes == suppressRepair || YesNoType.Yes == showVersion || YesNoType.Yes == supportCacheOnly)
472 { 472 {
473 var tuple = (WixStdbaOptionsTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixStdbaOptions"); 473 var tuple = (WixStdbaOptionsTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixStdbaOptions");
474 if (YesNoType.Yes == suppressOptionsUI) 474 if (YesNoType.Yes == suppressOptionsUI)
475 { 475 {
476 tuple.SuppressOptionsUI = 1; 476 tuple.SuppressOptionsUI = 1;
@@ -542,22 +542,22 @@ namespace WixToolset.Bal
542 { 542 {
543 if (!String.IsNullOrEmpty(logoFile)) 543 if (!String.IsNullOrEmpty(logoFile))
544 { 544 {
545 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 545 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
546 wixVariableRow.Id = new Identifier("PreqbaLogo", AccessModifier.Public); 546 wixVariableRow.Id = new Identifier(AccessModifier.Public, "PreqbaLogo");
547 wixVariableRow.Value = logoFile; 547 wixVariableRow.Value = logoFile;
548 } 548 }
549 549
550 if (!String.IsNullOrEmpty(themeFile)) 550 if (!String.IsNullOrEmpty(themeFile))
551 { 551 {
552 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 552 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
553 wixVariableRow.Id = new Identifier("PreqbaThemeXml", AccessModifier.Public); 553 wixVariableRow.Id = new Identifier(AccessModifier.Public, "PreqbaThemeXml");
554 wixVariableRow.Value = themeFile; 554 wixVariableRow.Value = themeFile;
555 } 555 }
556 556
557 if (!String.IsNullOrEmpty(localizationFile)) 557 if (!String.IsNullOrEmpty(localizationFile))
558 { 558 {
559 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateRow(section, sourceLineNumbers, "WixVariable"); 559 var wixVariableRow = (WixVariableTuple)this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixVariable");
560 wixVariableRow.Id = new Identifier("PreqbaThemeWxl", AccessModifier.Public); 560 wixVariableRow.Id = new Identifier(AccessModifier.Public, "PreqbaThemeWxl");
561 wixVariableRow.Value = localizationFile; 561 wixVariableRow.Value = localizationFile;
562 } 562 }
563 } 563 }
diff --git a/src/wixext/BalWindowsInstallerBackendBinderExtension.cs b/src/wixext/BalWindowsInstallerBackendBinderExtension.cs
index fbda9d1b..3dc00da6 100644
--- a/src/wixext/BalWindowsInstallerBackendBinderExtension.cs
+++ b/src/wixext/BalWindowsInstallerBackendBinderExtension.cs
@@ -6,6 +6,7 @@ namespace WixToolset.Bal
6 using System.Linq; 6 using System.Linq;
7 using System.Xml; 7 using System.Xml;
8 using WixToolset.Data; 8 using WixToolset.Data;
9 using WixToolset.Data.Burn;
9 using WixToolset.Data.WindowsInstaller; 10 using WixToolset.Data.WindowsInstaller;
10 using WixToolset.Data.WindowsInstaller.Rows; 11 using WixToolset.Data.WindowsInstaller.Rows;
11 using WixToolset.Extensibility; 12 using WixToolset.Extensibility;
@@ -13,9 +14,6 @@ namespace WixToolset.Bal
13 14
14 public class BalWindowsInstallerBackendBinderExtension : BaseWindowsInstallerBackendBinderExtension 15 public class BalWindowsInstallerBackendBinderExtension : BaseWindowsInstallerBackendBinderExtension
15 { 16 {
16 // TODO: don't duplicate this from WixToolset.Core.Compiler
17 public const string BurnUXContainerId = "WixUXContainer";
18
19 private static readonly TableDefinition[] Tables = LoadTables(); 17 private static readonly TableDefinition[] Tables = LoadTables();
20 18
21 protected override TableDefinition[] TableDefinitionsForTuples => Tables; 19 protected override TableDefinition[] TableDefinitionsForTuples => Tables;
@@ -30,11 +28,11 @@ namespace WixToolset.Bal
30 } 28 }
31 } 29 }
32 30
33 public override void PostBackendBind(BindResult result, Pdb pdb) 31 public override void PostBackendBind(IBindResult result, WixOutput wixout)
34 { 32 {
35 base.PostBackendBind(result, pdb); 33 base.PostBackendBind(result, wixout);
36 34
37 var output = pdb.Output; 35 var output = WindowsInstallerData.Load(wixout.Uri.AbsoluteUri, false);
38 36
39 // Only process Bundles. 37 // Only process Bundles.
40 if (OutputType.Bundle != output.Type) 38 if (OutputType.Bundle != output.Type)
@@ -64,7 +62,7 @@ namespace WixToolset.Bal
64 } 62 }
65 } 63 }
66 64
67 private void VerifyBAFunctions(Output output) 65 private void VerifyBAFunctions(WindowsInstallerData output)
68 { 66 {
69 Row baFunctionsRow = null; 67 Row baFunctionsRow = null;
70 var baFunctionsTable = output.Tables["WixBalBAFunctions"]; 68 var baFunctionsTable = output.Tables["WixBalBAFunctions"];
@@ -98,14 +96,14 @@ namespace WixToolset.Bal
98 // TODO: May need to revisit this depending on the outcome of #5273. 96 // TODO: May need to revisit this depending on the outcome of #5273.
99 var payloadId = (string)baFunctionsRow[0]; 97 var payloadId = (string)baFunctionsRow[0];
100 var bundlePayloadRow = payloadPropertiesRows.Single(x => payloadId == x.Id); 98 var bundlePayloadRow = payloadPropertiesRows.Single(x => payloadId == x.Id);
101 if (BurnUXContainerId != bundlePayloadRow.Container) 99 if (BurnConstants.BurnUXContainerName != bundlePayloadRow.Container)
102 { 100 {
103 this.Messaging.Write(BalErrors.BAFunctionsPayloadRequiredInUXContainer(baFunctionsRow.SourceLineNumbers)); 101 this.Messaging.Write(BalErrors.BAFunctionsPayloadRequiredInUXContainer(baFunctionsRow.SourceLineNumbers));
104 } 102 }
105 } 103 }
106 } 104 }
107 105
108 private void VerifyPrereqPackages(Output output) 106 private void VerifyPrereqPackages(WindowsInstallerData output)
109 { 107 {
110 var prereqInfoTable = output.Tables["WixMbaPrereqInformation"]; 108 var prereqInfoTable = output.Tables["WixMbaPrereqInformation"];
111 if (null == prereqInfoTable || prereqInfoTable.Rows.Count == 0) 109 if (null == prereqInfoTable || prereqInfoTable.Rows.Count == 0)