diff options
Diffstat (limited to 'src/wixext/BalBurnBackendExtension.cs')
-rw-r--r-- | src/wixext/BalBurnBackendExtension.cs | 26 |
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 | } |