3

我正在使用 Wix v3.7 和 Visual Studio 2012 为我的 Web 应用程序 (.NET) 构建安装程序。

为了收集我的 web 项目文件,我正在使用 heat,我的 .wixproj 看起来像这样:

<Target Name="BeforeBuild">
    <Exec Command=' "$(WiX)bin\heat.exe" project "..\Web \" -gg -g1 -cg PACKAGEFILES sreg -dr DEPLOYFOLDER -out "$(ProjectDir)Frags.wxs" '/>
    <ItemGroup>
      <Compile Include='Frags.wxs' />
    </ItemGroup>
  </Target>

编译时出现以下错误:

  • “-out”或“-o”参数必须指定文件路径。文件:heat.exe
  • 命令 ""C:\Program Files (x86)\WiX Toolset v3.7\bin\heat.exe" project "..\Web \" -gg -g1 -cg PACKAGEFILES sreg -dr DEPLOYFOLDER -out "C:\ Users(...)\Server\Wix\Frags.wxs" " 退出,代码为 319。文件:C:\Users(...)\Server\Wix\Wix.wixproj

出于隐私考虑,我添加了 (...)。文件路径不超过限制。

我尝试更改引号、不同的参数等,但错误仍然存​​在。

4

1 回答 1

1

正如评论中提到的,要收获一个项目,您必须指定项目的文件路径:

"$(WiX)bin\heat.exe" project "..\Web\MyProject.csproj" -gg -g1 
-cg PACKAGEFILES -sreg -dr DEPLOYFOLDER -out "$(ProjectDir)Frags.wxs"

请注意,heat 不支持在 3.7 中收集引用的程序集。根据这个bug,4.0会增加。

于 2013-08-08T14:16:25.187 回答