Wix XmlFile удерживает SqlDatabase от создания баз данных - PullRequest
1 голос
/ 08 апреля 2010

У меня есть проект Wix, состоящий из нескольких фрагментов. Один из этих фрагментов содержит компоненты базы данных, а другой - компонент, который манипулирует XML-файлами.

Когда я включаю элемент XmlFile для управления файлом, базы данных, определенные SqlDatabase, не создаются. Если я закомментирую XmlFile, то базы данных будут созданы.

Вот два wix-файла с используемыми фрагментами:

База данных:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension">
  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Component Id="Database1Creation" Guid="GUID_HERE">
        <sql:SqlDatabase Id="Database1"
          Server="[DATABASE_SERVER]" Database="[DATABASE_NAME]"
          CreateOnInstall="yes" ConfirmOverwrite="no"
          DropOnUninstall="yes">
        </sql:SqlDatabase>
      </Component>
    </DirectoryRef>
 </Fragment>
</Wix>

Манипуляции с XML:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Fragment>

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="MyDirectory">
          <Component Id="ServiceExecutables" Guid="GUID_HERE">
            <File Id="File1" Name="File1.xml" Source="Source/File1.xml" />
            <util:XmlFile Id="UpdateFile1" File="[INSTALLDIR]File1.xml" Action="setValue" ElementPath="//SomeContainer/SomeElement" Value="[SOME_VALUE]" />
          </Component>
        </Directory>
      </Directory>
    </Directory>

  </Fragment>
</Wix>

Существуют и другие вещи, которые также установлены, но они, похоже, не влияют на проблему (я удалил все остальное и проверил установку).

При просмотре журналов установки при использовании XmlFile, а когда нет, они являются почти точными копиями друг друга, за исключением того, что вызовы SqlDatabase будут полностью отсутствовать и вызовы XmlFile будут на их месте.

Здесь есть известная ошибка? Или я делаю то, чего не должен быть? Это не является убийцей для нашего приложения, поскольку я могу переместить вещи, которые я помещаю в файл xml, в реестр, но я бы предпочел этого не делать.

Я использую Wix 3.5.

1 Ответ

0 голосов
/ 23 апреля 2010

Хорошие новости, сборка 1616 исправляет это. Обновите Wix как можно скорее.

...