Ошибка «Не действительный внешний ключ» с элементом xmlfile

StackOverflow https://stackoverflow.com/questions/4391677

  •  10-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать элемент XMLFILE в установщике WIX (v3.5), чтобы обновить строку подключения в веб -сайте. Конфиг, который устанавливается. Но я получаю следующую ошибку в свете.

Не является действительным иностранным ключом; Таблица: XMLFILE, столбец: файл, ключ (S): UpdateConnectionString

Компонент Web.Config и элементы файлов расположены в .WXS, который собирается с использованием тепла. Вот как это выглядит в "site.components.wxs":

        <Component Id="Web.config" Guid="{E66D901B-8140-4162-96F3-8A29253659FE}">
            <File Id="Web.config" KeyPath="yes" Source="$(var.WEBSOURCEFOLDER)\Web.config" />
        </Component>

Вот компонент, который я использовал совсем недавно в "site.feature.wxs"

<Directory Id="SiteRoot" Name="SiteRoot">
    ...
    <Component Id="WebConfigChanges" Guid="{A242616E-5515-4E77-8CB3-361A449118A4}" >
      <RegistryValue Id="WebConfigChanged" Root="HKLM" Key="SOFTWARE\CompanyName\ProductName" Name="WebConfigChanged" Value="1" Action="write" Type="string" KeyPath="yes" />
      <util:XmlFile Id="UpdateConnectionString"
          File="[#Web.Config]"
          Action="setValue"
          ElementPath="//configuration/connectionStrings/add[\[]@name=’Default’[\]]/@connectionString"
          Value="[CONNNECTIONSTRING]"/>
    </Component>
  </Directory>

Вот какая -то справочная страница, которую я использовал до сих пор:

http://ranjithk.com/2009/11/06/wix-update-application-configuration-files-ding-installation/

http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg03256.html

Это было полезно?

Решение

Идентификаторы в MSI и WIX чувствительны к случаям. Ваш XMLFILE использует web.config, но идентификатор файла - web.config.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top