aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Util
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Util')
-rw-r--r--src/ext/Util/wixext/UtilCompiler.cs13
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 {