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.cs26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/wixext/BalBurnBackendExtension.cs b/src/wixext/BalBurnBackendExtension.cs
index 71cd2d92..c81955be 100644
--- a/src/wixext/BalBurnBackendExtension.cs
+++ b/src/wixext/BalBurnBackendExtension.cs
@@ -28,15 +28,17 @@ namespace WixToolset.Bal
28 28
29 var isStdBA = baId.StartsWith("WixStandardBootstrapperApplication"); 29 var isStdBA = baId.StartsWith("WixStandardBootstrapperApplication");
30 var isMBA = baId.StartsWith("ManagedBootstrapperApplicationHost"); 30 var isMBA = baId.StartsWith("ManagedBootstrapperApplicationHost");
31 var isDNC = baId.StartsWith("DotNetCoreBootstrapperApplicationHost");
32 var isSCD = isDNC && this.VerifySCD(section);
31 33
32 if (isStdBA || isMBA) 34 if (isStdBA || isMBA || isDNC)
33 { 35 {
34 this.VerifyBAFunctions(section); 36 this.VerifyBAFunctions(section);
35 } 37 }
36 38
37 if (isMBA) 39 if (isMBA || (isDNC && !isSCD))
38 { 40 {
39 this.VerifyPrereqPackages(section); 41 this.VerifyPrereqPackages(section, isDNC);
40 } 42 }
41 } 43 }
42 44
@@ -78,12 +80,13 @@ namespace WixToolset.Bal
78 } 80 }
79 } 81 }
80 82
81 private void VerifyPrereqPackages(IntermediateSection section) 83 private void VerifyPrereqPackages(IntermediateSection section, bool isDNC)
82 { 84 {
83 var prereqInfoTuples = section.Tuples.OfType<WixMbaPrereqInformationTuple>().ToList(); 85 var prereqInfoTuples = section.Tuples.OfType<WixMbaPrereqInformationTuple>().ToList();
84 if (prereqInfoTuples.Count == 0) 86 if (prereqInfoTuples.Count == 0)
85 { 87 {
86 this.Messaging.Write(BalErrors.MissingPrereq()); 88 var message = isDNC ? BalErrors.MissingDNCPrereq() : BalErrors.MissingMBAPrereq();
89 this.Messaging.Write(message);
87 return; 90 return;
88 } 91 }
89 92
@@ -115,5 +118,18 @@ namespace WixToolset.Bal
115 } 118 }
116 } 119 }
117 } 120 }
121
122 private bool VerifySCD(IntermediateSection section)
123 {
124 var isSCD = false;
125
126 var dncOptions = section.Tuples.OfType<WixDncOptionsTuple>().SingleOrDefault();
127 if (dncOptions != null)
128 {
129 isSCD = dncOptions.SelfContainedDeployment != 0;
130 }
131
132 return isSCD;
133 }
118 } 134 }
119} 135}