错误0x8007007a:未能复制XmlConfig记录Id



我正在使用Wix XmlConfig来更改XML文件,尤其是。

以下代码将抛出异常:

ScheduleXmlConfig:错误0x8007007a:未能复制XmlConfig记录IdScheduleXmlConfig:错误0x8007007a:未能读取XmlConfig表错误25540。配置XML文件时出错。

<util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_id"
                File="$(var.ApplicationHostConfigPath)"
                ElementId="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC"
                Name="id"
                Value="Date-UTC"/>
<!--<util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_logHeaderName"
                File="$(var.ApplicationHostConfigPath)"
                ElementId="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC"
                Name="logHeaderName"
                Value="date"/>-->
<util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_required"
                File="$(var.ApplicationHostConfigPath)"
                ElementId="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC"
                Name="required"
                Value="false"/>
<util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValue"   
                File="$(var.ApplicationHostConfigPath)"
                ElementId="AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC"
                Name="defaultValue"
                Value="false"/>

如果没有AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValue项,上述代码可以正常工作。

但当包含AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValue时,它将失败。

有人能提供一些线索吗?

经过一些搜索。在这里,文章指出问题是由XmlConfig"Id"的长度引起的。解决方案是缩短id的长度。细化代码如下。

    <!--<logField id="Date-UTC" logHeaderName="date" required="false" defaultValue="" />-->

  <util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_Date_UTC"
          File="$(var.ApplicationHostConfigPath)"
          Action="create"
          Node="element"
          ElementPath="/configuration/location[[]@path='InterACT'[]]/system.webServer/advancedLogging/server/logDefinitions/logDefinition[[]@baseFileName='InterACT'[]]/selectedFields"
          Name="logField"
          On="install"
          Sequence="1006">
    <util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_Date_UTC_id"
                    File="$(var.ApplicationHostConfigPath)"
                    ElementId="AdvancedLogging_InterACT_LogDefinition_Date_UTC"
                    Name="id"
                    Value="Date-UTC"/>
    <util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_Date_UTC_logHeaderName"
                    File="$(var.ApplicationHostConfigPath)"
                    ElementId="AdvancedLogging_InterACT_LogDefinition_Date_UTC"
                    Name="logHeaderName"
                    Value="date"/>
    <util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_Date_UTC_required"
                    File="$(var.ApplicationHostConfigPath)"
                    ElementId="AdvancedLogging_InterACT_LogDefinition_Date_UTC"
                    Name="required"
                    Value="false"/>
    <util:XmlConfig Id="AdvancedLogging_InterACT_LogDefinition_Date_UTC_defaultValue"
                    File="$(var.ApplicationHostConfigPath)"
                    ElementId="AdvancedLogging_InterACT_LogDefinition_Date_UTC"
                    Name="defaultValue"
                    Value="false"/>
  </util:XmlConfig>

相关内容

  • 没有找到相关文章

最新更新