0

安装程序是 Wix 3.10.2 和 Visual Studio 2015。使用 Wix 安装项目和自定义操作项目。

我想为我的项目创建一个包含 javados 的片段。我在这里阅读过设置预处理器变量(或系统变量)。我选择在项目中包含变量定义。我尝试了预处理器 var

<DefineConstants>JavaDocBase=c:\javadocs</DefineConstants>

并且只是设置一个普通变量:

<WixVariables>JavaDocBase=c:\javadocs</WixVariables>

两者都没有工作。

预建事件:

<PropertyGroup>
<PreBuildEvent>"$(WIX)bin\heat.exe" dir "$(var.JavaDocBase)" -cg JavaDocs_JSP -gg -scom -sreg -sfrag -srd -dr INSTALLDIR -var var.JavaDocBase -out "$(ProjectDir)\JavaDocs_JSP_Fragment.wxs"</PreBuildEvent>
</PropertyGroup>  

我似乎总是收到错误:

Unhandled Exception:The expression """.JavaDocBase" cannot be evaluated. Method 'System.String.JavaDocBase' not found.

我已经尝试过 var.JavaDocBase、wix.JavaDocBase、env.JavaDocBase 和 Just JavaDocBase ......虽然最后一个允许命令运行,但它没有放在正确的路径中,所以我没有进一步的进展。

是否可以复制之前链接的教程中的内容,如果可以,我做错了什么?

4

1 回答 1

0

将其用作属性,而不是 $(var.JavaDocBase) 尝试 $(JavaDocBase)。

还要在 wixproj 文件中设置属性。

<PropertyGroup>
  <JavaDocBase>c:\javadocs</JavaDocBase>
  <DefineConstants>$(DefineConstants);JavaDocBase=$(JavaDocBase)</DefineConstants>
</PropertyGroup>
于 2016-03-09T05:20:19.710 回答