aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-12-20 17:04:26 -0600
committerSean Hall <r.sean.hall@gmail.com>2020-12-20 17:12:19 -0600
commit611bf9ec74426c972b6b271cb51d81e467d990cd (patch)
tree5ae8ba1420bf376814dbfdddceaf32ab73416b82 /src
parent976534ee824bf2a5cbc86764d1edf595ac30087b (diff)
downloadwix-611bf9ec74426c972b6b271cb51d81e467d990cd.tar.gz
wix-611bf9ec74426c972b6b271cb51d81e467d990cd.tar.bz2
wix-611bf9ec74426c972b6b271cb51d81e467d990cd.zip
Fix theme PayloadGroupRefs and BalBurnBackendExtension.
Diffstat (limited to 'src')
-rw-r--r--src/test/WixToolsetTest.Bal/BalExtensionFixture.cs2
-rw-r--r--src/wixext/BalBurnBackendExtension.cs6
-rw-r--r--src/wixext/BalCompiler.cs41
-rw-r--r--src/wixlib/BalExtension_platform.wxi52
4 files changed, 66 insertions, 35 deletions
diff --git a/src/test/WixToolsetTest.Bal/BalExtensionFixture.cs b/src/test/WixToolsetTest.Bal/BalExtensionFixture.cs
index 277a941a..2ff57c55 100644
--- a/src/test/WixToolsetTest.Bal/BalExtensionFixture.cs
+++ b/src/test/WixToolsetTest.Bal/BalExtensionFixture.cs
@@ -42,6 +42,8 @@ namespace WixToolsetTest.Bal
42 var balPackageInfos = extractResult.SelectBADataNodes("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo"); 42 var balPackageInfos = extractResult.SelectBADataNodes("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo");
43 var balPackageInfo = (XmlNode)Assert.Single(balPackageInfos); 43 var balPackageInfo = (XmlNode)Assert.Single(balPackageInfos);
44 Assert.Equal("<WixBalPackageInfo PackageId='test.msi' DisplayInternalUICondition='1' />", balPackageInfo.GetTestXml()); 44 Assert.Equal("<WixBalPackageInfo PackageId='test.msi' DisplayInternalUICondition='1' />", balPackageInfo.GetTestXml());
45
46 Assert.True(File.Exists(Path.Combine(baFolderPath, "thm.wxl")));
45 } 47 }
46 } 48 }
47 49
diff --git a/src/wixext/BalBurnBackendExtension.cs b/src/wixext/BalBurnBackendExtension.cs
index 7e481ee9..bf96e388 100644
--- a/src/wixext/BalBurnBackendExtension.cs
+++ b/src/wixext/BalBurnBackendExtension.cs
@@ -34,7 +34,7 @@ namespace WixToolset.Bal
34 var intermediate = this.Context.IntermediateRepresentation; 34 var intermediate = this.Context.IntermediateRepresentation;
35 var section = intermediate.Sections.Single(); 35 var section = intermediate.Sections.Single();
36 36
37 var baSymbol = section.Symbols.OfType<WixBootstrapperApplicationSymbol>().SingleOrDefault(); 37 var baSymbol = section.Symbols.OfType<WixBootstrapperApplicationDllSymbol>().SingleOrDefault();
38 var baId = baSymbol?.Id?.Id; 38 var baId = baSymbol?.Id?.Id;
39 if (null == baId) 39 if (null == baId)
40 { 40 {
@@ -77,8 +77,8 @@ namespace WixToolset.Bal
77 { 77 {
78 foreach (var payloadPropertiesSymbol in payloadPropertiesSymbols) 78 foreach (var payloadPropertiesSymbol in payloadPropertiesSymbols)
79 { 79 {
80 // TODO: Make core WiX canonicalize Name (this won't catch '.\bafunctions.dll'). 80 if (string.Equals(payloadPropertiesSymbol.Name, "bafunctions.dll", StringComparison.OrdinalIgnoreCase) &&
81 if (string.Equals(payloadPropertiesSymbol.Name, "bafunctions.dll", StringComparison.OrdinalIgnoreCase)) 81 BurnConstants.BurnUXContainerName == payloadPropertiesSymbol.ContainerRef)
82 { 82 {
83 this.Messaging.Write(BalWarnings.UnmarkedBAFunctionsDLL(payloadPropertiesSymbol.SourceLineNumbers)); 83 this.Messaging.Write(BalWarnings.UnmarkedBAFunctionsDLL(payloadPropertiesSymbol.SourceLineNumbers));
84 } 84 }
diff --git a/src/wixext/BalCompiler.cs b/src/wixext/BalCompiler.cs
index c01905cc..eab374ce 100644
--- a/src/wixext/BalCompiler.cs
+++ b/src/wixext/BalCompiler.cs
@@ -549,8 +549,6 @@ namespace WixToolset.Bal
549 549
550 if (!this.Messaging.EncounteredError) 550 if (!this.Messaging.EncounteredError)
551 { 551 {
552 this.CreateBARef(section, sourceLineNumbers, node, "WixStandardBootstrapperApplication");
553
554 if (!String.IsNullOrEmpty(launchTarget)) 552 if (!String.IsNullOrEmpty(launchTarget))
555 { 553 {
556 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTarget")) 554 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTarget"))
@@ -674,30 +672,27 @@ namespace WixToolset.Bal
674 } 672 }
675 } 673 }
676 674
677 string themePayloadGroup = null; 675 var baId = "WixStandardBootstrapperApplication";
678 switch (theme) 676 switch (theme)
679 { 677 {
680 case WixStandardBootstrapperApplicationTheme.HyperlinkLargeLicense: 678 case WixStandardBootstrapperApplicationTheme.HyperlinkLargeLicense:
681 themePayloadGroup = "WixStdbaHyperlinkLargeLicensePayloads"; 679 baId = "WixStandardBootstrapperApplication.HyperlinkLargeLicense";
682 break; 680 break;
683 case WixStandardBootstrapperApplicationTheme.HyperlinkLicense: 681 case WixStandardBootstrapperApplicationTheme.HyperlinkLicense:
684 themePayloadGroup = "WixStdbaHyperlinkLicensePayloads"; 682 baId = "WixStandardBootstrapperApplication.HyperlinkLicense";
685 break; 683 break;
686 case WixStandardBootstrapperApplicationTheme.HyperlinkSidebarLicense: 684 case WixStandardBootstrapperApplicationTheme.HyperlinkSidebarLicense:
687 themePayloadGroup = "WixStdbaHyperlinkSidebarLicensePayloads"; 685 baId = "WixStandardBootstrapperApplication.HyperlinkSidebarLicense";
688 break; 686 break;
689 case WixStandardBootstrapperApplicationTheme.RtfLargeLicense: 687 case WixStandardBootstrapperApplicationTheme.RtfLargeLicense:
690 themePayloadGroup = "WixStdbaRtfLargeLicensePayloads"; 688 baId = "WixStandardBootstrapperApplication.RtfLargeLicense";
691 break; 689 break;
692 case WixStandardBootstrapperApplicationTheme.RtfLicense: 690 case WixStandardBootstrapperApplicationTheme.RtfLicense:
693 themePayloadGroup = "WixStdbaRtfLicensePayloads"; 691 baId = "WixStandardBootstrapperApplication.RtfLicense";
694 break; 692 break;
695 } 693 }
696 694
697 if (themePayloadGroup != null) 695 this.CreateBARef(section, sourceLineNumbers, node, baId);
698 {
699 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, themePayloadGroup);
700 }
701 } 696 }
702 } 697 }
703 698
@@ -759,8 +754,6 @@ namespace WixToolset.Bal
759 754
760 if (!this.Messaging.EncounteredError) 755 if (!this.Messaging.EncounteredError)
761 { 756 {
762 this.CreateBARef(section, sourceLineNumbers, node, "WixManagedBootstrapperApplicationHost");
763
764 if (!String.IsNullOrEmpty(logoFile)) 757 if (!String.IsNullOrEmpty(logoFile))
765 { 758 {
766 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaLogo")) 759 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaLogo"))
@@ -785,18 +778,15 @@ namespace WixToolset.Bal
785 }); 778 });
786 } 779 }
787 780
788 string themePayloadGroup = null; 781 var baId = "WixManagedBootstrapperApplicationHost";
789 switch (theme) 782 switch (theme)
790 { 783 {
791 case WixManagedBootstrapperApplicationHostTheme.Standard: 784 case WixManagedBootstrapperApplicationHostTheme.Standard:
792 themePayloadGroup = "MbaPreqStandardPayloads"; 785 baId = "WixManagedBootstrapperApplicationHost.Standard";
793 break; 786 break;
794 } 787 }
795 788
796 if (themePayloadGroup != null) 789 this.CreateBARef(section, sourceLineNumbers, node, baId);
797 {
798 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, themePayloadGroup);
799 }
800 } 790 }
801 } 791 }
802 792
@@ -867,8 +857,6 @@ namespace WixToolset.Bal
867 857
868 if (!this.Messaging.EncounteredError) 858 if (!this.Messaging.EncounteredError)
869 { 859 {
870 this.CreateBARef(section, sourceLineNumbers, node, "WixDotNetCoreBootstrapperApplicationHost");
871
872 if (!String.IsNullOrEmpty(logoFile)) 860 if (!String.IsNullOrEmpty(logoFile))
873 { 861 {
874 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaLogo")) 862 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaLogo"))
@@ -901,18 +889,15 @@ namespace WixToolset.Bal
901 }); 889 });
902 } 890 }
903 891
904 string themePayloadGroup = null; 892 var baId = "WixDotNetCoreBootstrapperApplicationHost";
905 switch (theme) 893 switch (theme)
906 { 894 {
907 case WixDotNetCoreBootstrapperApplicationHostTheme.Standard: 895 case WixDotNetCoreBootstrapperApplicationHostTheme.Standard:
908 themePayloadGroup = "DncPreqStandardPayloads"; 896 baId = "WixDotNetCoreBootstrapperApplicationHost.Standard";
909 break; 897 break;
910 } 898 }
911 899
912 if (themePayloadGroup != null) 900 this.CreateBARef(section, sourceLineNumbers, node, baId);
913 {
914 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, themePayloadGroup);
915 }
916 } 901 }
917 } 902 }
918 903
diff --git a/src/wixlib/BalExtension_platform.wxi b/src/wixlib/BalExtension_platform.wxi
index fa7d1182..33122fb2 100644
--- a/src/wixlib/BalExtension_platform.wxi
+++ b/src/wixlib/BalExtension_platform.wxi
@@ -1,25 +1,69 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2 2
3 3
4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?include caDecor.wxi ?> 5 <?include caDecor.wxi ?>
6 <Fragment> 6 <Fragment>
7 <BootstrapperApplication Id="WixDotNetCoreBootstrapperApplicationHost$(var.Suffix)"> 7 <BootstrapperApplication Id="WixDotNetCoreBootstrapperApplicationHost$(var.Suffix)">
8 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\dnchost.dll" /> 8 <BootstrapperApplicationDll Id="WixDotNetCoreBootstrapperApplicationHost" SourceFile="!(bindpath.$(var.platform))\dnchost.dll" />
9 <Payload SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" Name="dncpreq.dll" /> 9 <Payload SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" Name="dncpreq.dll" />
10 <PayloadGroupRef Id="WixDotNetCoreBootstrapperApplicationHostManagedPayloads" /> 10 <PayloadGroupRef Id="WixDotNetCoreBootstrapperApplicationHostManagedPayloads" />
11 </BootstrapperApplication> 11 </BootstrapperApplication>
12 </Fragment> 12 </Fragment>
13 <Fragment> 13 <Fragment>
14 <BootstrapperApplication Id="WixDotNetCoreBootstrapperApplicationHost.Standard$(var.Suffix)">
15 <PayloadGroupRef Id="DncPreqStandardPayloads" />
16 </BootstrapperApplication>
17 <BootstrapperApplicationRef Id="WixDotNetCoreBootstrapperApplicationHost$(var.Suffix)" />
18 </Fragment>
19
20 <Fragment>
14 <BootstrapperApplication Id="WixManagedBootstrapperApplicationHost$(var.Suffix)"> 21 <BootstrapperApplication Id="WixManagedBootstrapperApplicationHost$(var.Suffix)">
15 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\mbahost.dll" /> 22 <BootstrapperApplicationDll Id="WixManagedBootstrapperApplicationHost" SourceFile="!(bindpath.$(var.platform))\mbahost.dll" />
16 <Payload SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" Name="mbapreq.dll" /> 23 <Payload SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" Name="mbapreq.dll" />
17 <PayloadGroupRef Id="WixManagedBootstrapperApplicationHostManagedPayloads" /> 24 <PayloadGroupRef Id="WixManagedBootstrapperApplicationHostManagedPayloads" />
18 </BootstrapperApplication> 25 </BootstrapperApplication>
19 </Fragment> 26 </Fragment>
20 <Fragment> 27 <Fragment>
28 <BootstrapperApplication Id="WixManagedBootstrapperApplicationHost.Standard$(var.Suffix)">
29 <PayloadGroupRef Id="MbaPreqStandardPayloads" />
30 </BootstrapperApplication>
31 <BootstrapperApplicationRef Id="WixManagedBootstrapperApplicationHost$(var.Suffix)" />
32 </Fragment>
33
34 <Fragment>
21 <BootstrapperApplication Id="WixStandardBootstrapperApplication$(var.Suffix)"> 35 <BootstrapperApplication Id="WixStandardBootstrapperApplication$(var.Suffix)">
22 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" /> 36 <BootstrapperApplicationDll Id="WixStandardBootstrapperApplication" SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
37 </BootstrapperApplication>
38 </Fragment>
39 <Fragment>
40 <BootstrapperApplication Id="WixStandardBootstrapperApplication.RtfLicense$(var.Suffix)">
41 <PayloadGroupRef Id="WixStdbaRtfLicensePayloads" />
42 </BootstrapperApplication>
43 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication$(var.Suffix)" />
44 </Fragment>
45 <Fragment>
46 <BootstrapperApplication Id="WixStandardBootstrapperApplication.RtfLargeLicense$(var.Suffix)">
47 <PayloadGroupRef Id="WixStdbaRtfLargeLicensePayloads" />
48 </BootstrapperApplication>
49 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication$(var.Suffix)" />
50 </Fragment>
51 <Fragment>
52 <BootstrapperApplication Id="WixStandardBootstrapperApplication.HyperlinkLicense$(var.Suffix)">
53 <PayloadGroupRef Id="WixStdbaHyperlinkLicensePayloads" />
54 </BootstrapperApplication>
55 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication$(var.Suffix)" />
56 </Fragment>
57 <Fragment>
58 <BootstrapperApplication Id="WixStandardBootstrapperApplication.HyperlinkLargeLicense$(var.Suffix)">
59 <PayloadGroupRef Id="WixStdbaHyperlinkLargeLicensePayloads" />
60 </BootstrapperApplication>
61 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication$(var.Suffix)" />
62 </Fragment>
63 <Fragment>
64 <BootstrapperApplication Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense$(var.Suffix)">
65 <PayloadGroupRef Id="WixStdbaHyperlinkSidebarLicensePayloads" />
23 </BootstrapperApplication> 66 </BootstrapperApplication>
67 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication$(var.Suffix)" />
24 </Fragment> 68 </Fragment>
25</Include> 69</Include>