diff options
Diffstat (limited to 'src/WixToolset.Core/Compiler_Bundle.cs')
| -rw-r--r-- | src/WixToolset.Core/Compiler_Bundle.cs | 16 |
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 | } |
