diff options
Diffstat (limited to 'src/ext/Util')
-rw-r--r-- | src/ext/Util/wixext/UtilCompiler.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ext/Util/wixext/UtilCompiler.cs b/src/ext/Util/wixext/UtilCompiler.cs index 5fefed91..f7bb0614 100644 --- a/src/ext/Util/wixext/UtilCompiler.cs +++ b/src/ext/Util/wixext/UtilCompiler.cs | |||
@@ -3123,8 +3123,14 @@ namespace WixToolset.Util | |||
3123 | // if this element is a child of ServiceInstall then ignore the service name provided. | 3123 | // if this element is a child of ServiceInstall then ignore the service name provided. |
3124 | if ("ServiceInstall" == parentTableName) | 3124 | if ("ServiceInstall" == parentTableName) |
3125 | { | 3125 | { |
3126 | // TODO: the ServiceName attribute should not be allowed in this case (the overwriting behavior may confuse users) | 3126 | if (null == serviceName || parentTableServiceName == serviceName) |
3127 | serviceName = parentTableServiceName; | 3127 | { |
3128 | serviceName = parentTableServiceName; | ||
3129 | } | ||
3130 | else | ||
3131 | { | ||
3132 | this.Messaging.Write(ErrorMessages.IllegalAttributeWhenNested(sourceLineNumbers, element.Name.LocalName, "ServiceName", parentTableName)); | ||
3133 | } | ||
3128 | newService = true; | 3134 | newService = true; |
3129 | } | 3135 | } |
3130 | else | 3136 | else |
@@ -3136,7 +3142,8 @@ namespace WixToolset.Util | |||
3136 | } | 3142 | } |
3137 | } | 3143 | } |
3138 | 3144 | ||
3139 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 3145 | var context = new Dictionary<string, string>() { { "ServiceConfigComponentId", componentId }, { "ServiceConfigServiceName", serviceName } }; |
3146 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element, context); | ||
3140 | 3147 | ||
3141 | if (!this.Messaging.EncounteredError) | 3148 | if (!this.Messaging.EncounteredError) |
3142 | { | 3149 | { |