Wix 将特定目录中的所有文件包含到msi包中
我有一个包含多个文件的目录,我想通过Wix 将特定目录中的所有文件包含到msi包中,wix,Wix,我有一个包含多个文件的目录,我想通过Wix项目将这些文件包含在我的msi包构建中 /database /database/migration11.txt /database/migration21.txt /database/migration32.txt 这些文件经常更改或添加新的文件,我不想在每个新的迁移文件中调整我的Wix文件 基本上,我想说在我的wxs文件中包含目录数据库中的所有文件,并在安装时将它们放入目录[INSTALLLOCATION]/database 有什么办法可以做到这一点
Wix
项目将这些文件包含在我的msi包构建中
/database
/database/migration11.txt
/database/migration21.txt
/database/migration32.txt
这些文件经常更改或添加新的文件,我不想在每个新的迁移文件中调整我的Wix
文件
基本上,我想说在我的wxs
文件中包含目录数据库中的所有文件,并在安装时将它们放入目录[INSTALLLOCATION]/database
有什么办法可以做到这一点
添加:
刚刚找到这个解决方法:但我很好奇是否还有另一种推荐的方法。您可以在wixproj文件中使用task:
<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>
... 您的wxs文件。。。
你的小组
目录参考
假的
假的
真的
真的
真的
真的
var.Property\u预处理器
此任务在构建期间调用Heat。希望这对你有帮助 如果有人还需要这个,这是一个带有wixproj的HarvestDirector示例。多亏了。加热是一种非常推荐的方式。它是工具集的一部分。还有一个叫做石蜡()的外部工具在社区中广泛使用。顺便说一句,你们应该注意自动化。如果您不打算广泛更改该文件夹的内容,那么最好只生成一次WiX文件,并将其包含到解决方案中,然后在文件夹内容更改时对其进行修改。更多的手工工作,但更多的控制。权衡,一如既往:)谢谢你的评论。我想不用暖气,因为它看起来很热。但我会查一查。在这种情况下,“不推荐==小心”。如果你有很多文件,你就别无选择。正如我所提到的,在某一点上,这仍然是一个折衷方案。可能与HarvestDirectory重复吗?是否有需要此功能的扩展?你到底把这个标签放在哪里?请提供一个工作示例。如何将其转换为实际的wxs文件?如果您没有使用wixproj?这应该是一个注释。