我使用的是最新版本的Wix 3.5,我尝试使用heat.exe生成一个片段文件。命令行是:
"%WIX%\bin\heat.exe" project "MyProj.csproj" -pog Binaries -pog Content -suid -directoryid
INSTALLLOCATION -ag -template fragment -out "Files.wxs"
我遇到的问题是我的项目所依赖的程序集在生成的文件中丢失。这是预期的行为吗?我如何添加它们?
我应该使用dir
收割类型吗?!如何删除 *.pdb或 *.vshost.exe呢?
我想将其与CI服务器(TeamCity)一起使用
edit:我尝试了-pog Satellites
,但也不起作用
3条答案
按热度按时间af7jpaap1#
很遗憾,这是WiX的已知问题:
Heat doesn't harvest referenced assemblies
从bug注解来看,似乎会在WiX 4. 0中添加支持。
58wvjzkj2#
我知道这是一个老问题,但这个线程可能包含一些可能的解决方案的想法:How to add a whole directory or project output to WiX package
其中提到的一个工具Paraffin3.1具有各种命令行开关,允许您排除不相关的文件。http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/06/28/paraffin3-1-new-and-improved.aspx
hlswsv353#
在我们的CI构建中,我们使用WiX和手工制作的wxs文件。
以下是构建文件的内容:
wxs -包含程序特定的msi信息(UpgradeCode、msi版本和包信息)。
UI_culture(本例中为罗斯).wxs -包含自定义本地化WiX UI。
wxs -包含所有需要的文件。(你可以通过wxi生成和使用WiX的include来自动化它),但是我们只是简单地手动编写这个文件。