我有一个包含多个文件的目录,我希望将其包含在Wix
项目构建的msi包中。
/database
/database/migration11.txt
/database/migration21.txt
/database/migration32.txt
这些文件经常更改或添加了新文件,我不想让我的Wix
文件适应每个新的迁移文件。
基本上我想在我的wxs
文件中说明包含目录数据库中的所有文件,并在安装时将它们放在目录[INSTALLLOCATION]/database
中。
有任何方法可以达到这个目的吗?
已添加:
刚刚找到了这个解决方法:use HEAT但我很好奇是否有另一种推荐方式。
答案 0 :(得分:14)
您可以在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。希望这对你有所帮助。
答案 1 :(得分:3)
如果有人仍然需要这个,here是一个带有wixproj的HarvestDirector示例。感谢DavidEGrayson。