我们使用heat来生成wix代码,以便在与项目相同的层次结构中提供文件。我们最近决定更改一些教程和文档文件的交付位置,但是我遇到了wix只是拒绝提供文件的问题。我将构建操作从“内容”更改为无,以便热量忽略这些文件并手动编辑product.wxs文件以将这些文件传递到指定位置,因为我们不希望在源代码管理中移动它们并且可能会丢失版本历史等。
我的目录结构(CustomerDirectory和ProgramDirectory是保密性的占位符名称):
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="CustomerDirectory" Name="Customer">
<Directory Id="INSTALLFOLDER" Name="ProgramName">
<Directory Id="ResourcesFolder" Name="Resources">
<Directory Id="DocumentationFolder" Name="Documentation"/>
<Directory Id="TutorialsFolder" Name="Tutorials"/>
</Directory>
</Directory>
</Directory>
</Directory>
以及下面的片段位于product.wxs
的底部<Fragment>
<ComponentGroup Id="DocumentationComponents" Directory="DocumentationFolder">
<Component Id="Installation_Guide.pdf">
<File Id="Installation_Guide.pdf" Source="$(var.GUI.ProjectDir)\Documentation\Installation Guide.pdf" KeyPath="yes"/>
</Component>
</ComponentGroup>
</Fragment>
我玩过KeyPath,GUID以及许多其他可能没有运气的可能性。我刚刚将log4net程序集添加到此文件中,并且使用基本相同的代码在此处发送它们没有问题。
答案 0 :(得分:1)
提供&#34;内容&#34;提交到不同的地方,除了热量想要把它变得非常困难。随着周围的挖掘,我可能已经在Wix中找到了解决方案。不幸的是,Wix根本不是直观的,虽然从概念上看并不是很好,但我在中国制造的文件柜上看到了更好的文档。不幸的是,我们中的许多人仍然需要使用这个被遗忘的产品,所以如果你遇到类似的问题,那就是 我的建议是什么: