我想创建一个简单的合并模块,其中包含名为“build”的目录的所有文件,并将它们安装到程序文件文件夹中。我将使用heat来生成包含所有这些文件的wxs文件,并且我希望将其与我为合并模块手动编辑的wxs文件分开。如何从我的其他合并模块wxs文件中引用热量生成文件?
我生成我的热wxs文件:
heat dir build -cg heatComponent -gg -var var.buildFolder -dr ProgramFilesFolder -srd -out heatComponent.wxs
我知道如何创建一个msi文件:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Name='product' Id='9f6edf70-539a-11e4-916c-0800200c9a66' UpgradeCode='bb651370-539a-11e4-916c-0800200c9a66'
Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='Test'>
<Package Id='*' Description="A product" InstallerVersion='301' Languages='1033' Compressed='yes' SummaryCodepage='1252' Platform='x64'/>
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='ProgramFilesFolder'/>
</Directory>
<Feature Id="Files" Title="Main Feature" Level="1">
<ComponentGroupRef Id="heatComponent"/>
</Feature>
</Product>
</Wix>
但是,当我想输出合并模块时,如何引用ComponentGroup?如果我将Product元素更改为Module元素,则会引发Feature元素。如果我删除它有效,但我的msm中没有任何文件。
答案 0 :(得分:2)
根据您发布的加热命令,尝试使模块定义(module1.wxs)看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Module Id="Mod1" Language="0" Version="1.0.0">
<Package Id="YOUR-GUID" Manufacturer="Acme" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" />
</Directory>
<ComponentGroupRef Id="heatComponent"/>
</Module>
</Wix>
然后你可以像这样打蜡烛:
candle module1.wxs heatComponent.wxs -dbuildFolder="FOLDER-CONTAINING-FILES-HERE"
跟着光一样:
light module.wixobj heatComponent.wixobj -o Module1.msm