Как создать пустую пользовательскую таблицу в Wix? - PullRequest
3 голосов
/ 14 апреля 2010

Как мне заставить Wix включить CustomTable без строк в окончательном MSI? Если я просто определю таблицу следующим образом

<CustomTable Id="MyTable">
  <Column Id="Id" Type="string" Category="Identifier" PrimaryKey="yes"/>
  <Column Id="Root" Type="string"/>
  <Column Id="Key" Type="string"/>
  <Column Id="Name" Type="string"/>
</CustomTable>

Wix исключает его из окончательного вывода.

Мой DTF CustomAction ожидает, что он будет там, чтобы он мог добавлять строки во время выполнения.

Есть идеи?

1 Ответ

7 голосов
/ 15 апреля 2010

Благодаря комментарию в этом сообщении в блоге (в котором, кстати, есть очень полезный пример настраиваемого действия DTF), я нашел элемент Wix EnsureTable , убедитесь, что таблица отображается в выходных данных, даже если она пуста.

Итак, чтобы мой пример работал, мне нужно сделать следующее:

<CustomTable Id="MyTable">
  <Column Id="Id" Type="string" Category="Identifier" PrimaryKey="yes"/>
  <Column Id="Root" Type="string"/>
  <Column Id="Key" Type="string"/>
  <Column Id="Name" Type="string"/>
</CustomTable>

<EnsureTable Id="MyTable"/>
...