aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-03-05 18:28:01 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-03-08 15:51:55 -0600
commit7fa2390b06b643ec775d00d7938c1624f5c0fdfe (patch)
treec946ecbc67337e3df00ce27730e7eb499ab075ef /src/WixToolset.Core
parent1f4652516a385aeeeea1558738efa0863f63c9fc (diff)
downloadwix-7fa2390b06b643ec775d00d7938c1624f5c0fdfe.tar.gz
wix-7fa2390b06b643ec775d00d7938c1624f5c0fdfe.tar.bz2
wix-7fa2390b06b643ec775d00d7938c1624f5c0fdfe.zip
Fix parsing ProviderKey for Bundle.
Diffstat (limited to 'src/WixToolset.Core')
-rw-r--r--src/WixToolset.Core/Compiler_Bundle.cs16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/WixToolset.Core/Compiler_Bundle.cs b/src/WixToolset.Core/Compiler_Bundle.cs
index 46b79484..89ca94ba 100644
--- a/src/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/WixToolset.Core/Compiler_Bundle.cs
@@ -197,7 +197,7 @@ namespace WixToolset.Core
197 parentName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 197 parentName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
198 break; 198 break;
199 case "ProviderKey": 199 case "ProviderKey":
200 this.ParseBundleProviderKeyAttribute(sourceLineNumbers, node, attrib); 200 // This can't be processed until we create the section.
201 break; 201 break;
202 case "SplashScreenSourceFile": 202 case "SplashScreenSourceFile":
203 splashScreenSourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 203 splashScreenSourceFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
@@ -261,10 +261,20 @@ namespace WixToolset.Core
261 this.activeName = String.IsNullOrEmpty(name) ? Common.GenerateGuid() : name; 261 this.activeName = String.IsNullOrEmpty(name) ? Common.GenerateGuid() : name;
262 this.Core.CreateActiveSection(this.activeName, SectionType.Bundle, 0, this.Context.CompilationId); 262 this.Core.CreateActiveSection(this.activeName, SectionType.Bundle, 0, this.Context.CompilationId);
263 263
264 // Now that the active section is initialized, process only extension attributes. 264 // Now that the active section is initialized, process only extension attributes and the special ProviderKey attribute.
265 foreach (var attrib in node.Attributes()) 265 foreach (var attrib in node.Attributes())
266 { 266 {
267 if (!String.IsNullOrEmpty(attrib.Name.NamespaceName) && CompilerCore.WixNamespace != attrib.Name.Namespace) 267 if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || CompilerCore.WixNamespace == attrib.Name.Namespace)
268 {
269 switch (attrib.Name.LocalName)
270 {
271 case "ProviderKey":
272 this.ParseBundleProviderKeyAttribute(sourceLineNumbers, node, attrib);
273 break;
274 // Unknown attributes were reported earlier.
275 }
276 }
277 else
268 { 278 {
269 this.Core.ParseExtensionAttribute(node, attrib); 279 this.Core.ParseExtensionAttribute(node, attrib);
270 } 280 }