我正在使用此加热命令
first
但似乎热量忽视了“路径”的声明。变量和-var参数。所以它会生成一个像这样的文件
heat dir "$(SolutionDir)scr\A\A.WindowsService\bin\$(Configuration)" -dr ConfigurationUtilityDir -gg -g1 -cg ConfigurationUtilityComponents -sf -spdb -xo -srd -out "$(SolutionDir)scr\Installers\A\AInstallerHeat\ConfigurationUtilityHeat.wxs" -dPath="C:\..\A\A.WindowsService\bin\Release -var var.Path
显然,它无法创建最终的.msi包,因为它没有在' Source'中声明的路径中找到任何文件。属性。
我如何使用'路径'变量值为'来源'属性?
由于
编辑:我还尝试使用<Component Id="cmpBBD96B447087B68960C29FA13E08DCA2" Directory="dir5624AEB1C4C7EFEEFB6B6016AAE1AD54" Guid="B71EF27A-2812-4698-BDA9-8ABC8C44C8F7">
<File Id="fil8D456C6334925F4FE3A7B8A8A5D76ABB" KeyPath="yes" Source="SourceDir\bin\A.dll" />
</Component>
而不是定义自定义变量,但它仍然会将文件查找到&#39; SourceDir ..&#34;目录
答案 0 :(得分:1)
我将解释如何使用Visual Studio实现您的要求,这可能会帮助您找到解决方案。
-var var.Path
而不是-var wix.Path
。-dPath=..\someRelativePath
当heat.exe生成源时,指定的路径现在采用Source="!(wix.HelpSource)\filename.dll"
以下是“工具设置”窗口的截图: Frame.Navigate
注意:如其他答案所述,运行heat.exe时,指定的最后一个参数是输出文件-out sourceFile.wxs
。
答案 1 :(得分:0)
来自热量使用:
usage: heat.exe harvestType harvestSource <harvester arguments> -o[ut] sourceFile.wxs
在-o [ut]参数之后不再解析参数。在-out之后你有-dPath ...和-var。