aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/BalBurnBackendExtension.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/BalBurnBackendExtension.cs')
-rw-r--r--src/wixext/BalBurnBackendExtension.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/wixext/BalBurnBackendExtension.cs b/src/wixext/BalBurnBackendExtension.cs
index 5e647b1c..6e639c1b 100644
--- a/src/wixext/BalBurnBackendExtension.cs
+++ b/src/wixext/BalBurnBackendExtension.cs
@@ -43,6 +43,11 @@ namespace WixToolset.Bal
43 var isDNC = baId.StartsWith("WixDotNetCoreBootstrapperApplicationHost"); 43 var isDNC = baId.StartsWith("WixDotNetCoreBootstrapperApplicationHost");
44 var isSCD = isDNC && this.VerifySCD(section); 44 var isSCD = isDNC && this.VerifySCD(section);
45 45
46 if (isDNC)
47 {
48 this.FinalizeBAFactorySymbol(section);
49 }
50
46 if (isStdBA || isMBA || isDNC) 51 if (isStdBA || isMBA || isDNC)
47 { 52 {
48 this.VerifyBAFunctions(section); 53 this.VerifyBAFunctions(section);
@@ -54,6 +59,25 @@ namespace WixToolset.Bal
54 } 59 }
55 } 60 }
56 61
62 private void FinalizeBAFactorySymbol(IntermediateSection section)
63 {
64 var factorySymbol = section.Symbols.OfType<WixBalBAFactoryAssemblySymbol>().SingleOrDefault();
65 if (null == factorySymbol)
66 {
67 return;
68 }
69
70 var factoryPayloadSymbol = section.Symbols.OfType<WixBundlePayloadSymbol>()
71 .Where(p => p.Id.Id == factorySymbol.PayloadId)
72 .SingleOrDefault();
73 if (null == factoryPayloadSymbol)
74 {
75 return;
76 }
77
78 factorySymbol.FilePath = factoryPayloadSymbol.Name;
79 }
80
57 private void VerifyBAFunctions(IntermediateSection section) 81 private void VerifyBAFunctions(IntermediateSection section)
58 { 82 {
59 WixBalBAFunctionsSymbol baFunctionsSymbol = null; 83 WixBalBAFunctionsSymbol baFunctionsSymbol = null;