dev*_*tal 8 .net installation wix visual-studio-2010 wix3.5
我在VS 2010中使用WiX 3.5,并且我在Setup项目(.wixproj)中添加了所有项目程序集作为引用,并将Harvest属性设置为True,以便包含二进制文件,内容和卫星. .msi文件.
但是,我如何将任何第三方程序集(.dll)添加到.msi输出?我是否需要将每个显式添加到Product.wxs文件中,还是有更好的方法?理想情况下,我想在安装项目中将它们添加为文件引用,但这似乎不是一个选项?
小智 7
是的,您需要手动将它们添加到某个wxs文件中,或者您可以使用预构建步骤使用热量为您收集这些文件(假设所有这些文件都位于单独的目录中).
Heat是Wix的一部分,可以使用dir开关收集整个目录.根据命令行参数,它将生成一个包含单个ComponentGroup的单独wxs文件.只需从product.wxs引用此ComponentGroup即可.
有关我当前如何使用heat来获取我的发布目录的示例:
heat dir"../../bin/release"-gg -cg CG.ApplicationBinaries -dr INSTALLDIR -scom -sfrag -sreg -srd -var var.BuildOutputDir -o ApplicationBinaries.wxs
这将生成ApplicationBinaries.wxs文件:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="cmp53F90D1335DD67504EC2B9E1E8620DD3" Guid="{CA2DF1B5-7B20-4596-84A4-925B4F9BA6EC}">
<File Id="filC65F9CB88694FCA79FCB3CADB9481921" KeyPath="yes" Source="$(var.BuildOutputDir)\AsyncTCPsocket.dll" />
</Component>
....
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="CG.ApplicationBinaries">
<ComponentRef Id="cmp53F90D1335DD67504EC2B9E1E8620DD3" />
...
</ComponentGroup>
</Fragment>
</Wix>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5654 次 |
| 最近记录: |