Включить все файлы в определенный каталог в пакет msi.
У меня есть каталог, содержащий несколько файлов, которые я хочу включить в сборку моего msi с помощью проекта Wix
.
/database
/database/migration11.txt
/database/migration21.txt
/database/migration32.txt
Эти файлы часто меняются или добавляются новые, и я не хочу адаптировать мой файл Wix
к каждому новому файлу миграции.
В основном я хочу сказать в моем файле wxs
, чтобы он включал все файлы в базу данных каталога и после установки поместил их в каталог [INSTALLLOCATION]/database
.
Любой способ достичь этого?
ДОБАВЛЕН:
Только что нашел это обходное решение: использовать HEAT, но мне любопытно, есть ли другой рекомендованный способ.
Ответы
Ответ 1
Вы можете использовать задачу в файле wixproj:
<ItemGroup>
... Your wxs files ...
<HarvestDirectory Include="$(variable)\YourDirectory\">
<ComponentGroupName>CG_YOUR_GROUP</ComponentGroupName>
<DirectoryRefId>DIR_REFERENCE</DirectoryRefId>
<AutogenerateGuids>false</AutogenerateGuids>
<GenerateGuidsNow>false</GenerateGuidsNow>
<SuppressUniqueIds>true</SuppressUniqueIds>
<SuppressCom>true</SuppressCom>
<SuppressRegistry>true</SuppressRegistry>
<SuppressRootDirectory>true</SuppressRootDirectory>
<PreprocessorVariable>var.Property_Preprocessor</PreprocessorVariable>
</HarvestDirectory>
</ItemGroup>
Эта задача вызывает Heat во время сборки. Надеюсь, это вам поможет.
Ответ 2
Если кому-то все еще нужно это, здесь является образцом HarvestDirector с wixproj. Благодаря DavidEGrayson.