首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将heat.exe中定义的变量heat.exe设置为wxs文件?

如何将heat.exe中定义的变量heat.exe设置为wxs文件?
EN

Stack Overflow用户
提问于 2015-12-04 12:33:37
回答 1查看 3.2K关注 0票数 2

我正在运行以下命令:

代码语言:javascript
复制
heat.exe dir bin\Release -sfrag -sreg -var var.sourcebin -dr myappfolder -cg myapp_comp_group

这会生成一个很好的wxs文件,它看起来有点像这样:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Fragment>
    <ComponentGroup Id="myapp_comp_group">
      <ComponentRef Id="cmpE519314043C2FFE1104E067D33CBC652" />
      <ComponentRef Id="cmp0431CFEC47E793CE59C185A8BDD9D865" />
    </ComponentGroup>
  </Fragment>
  <Fragment>
    <DirectoryRef Id="myappfolder">
      <Directory Id="dir4ADCEBD4F8C9DC384017088D96B7A1C3" Name="somebinfolder">
        <Component Id="cmpE519314043C2FFE1104E067D33CBC652" Guid="EB84C1A8-7BF5-4967-878D-8DAD9DFFA0A6">
          <File Id="filD8C8D39058B0FF5C9608B1F99B0CD5BA" KeyPath="yes" Source="$(var.sourcebin)\app.config" />
        </Component>
      </Directory>
    </DirectoryRef>
  </Fragment>
</Wix>

我在我的项目中使用热生成的wxs文件,但是我得到了一个错误,因为$(var.sourcebin)还没有被设置。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <?define sourcebin="C:\svn\myapp\bin\Release"?>

  <!-- leaving some stuff out of course -->
  <Module>
    <ComponentGroupRef Id="myapp_comp_group"/>
  </Module>
</Wix>

错误CNDL0150:未定义的预处理器变量'$(var.sourcebin)‘。

我如何定义这个变量,以便它被热产生的文件拾取?我不想手动更改生成的热文件,因为它每次都是重新生成的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-04 15:58:47

打开项目属性,选择Build选项卡,并根据需要添加预处理器变量。

代码语言:javascript
复制
sourcebin="C:\svn\myapp\bin\Release";

在“定义”一节中使用:

代码语言:javascript
复制
<?define sourcebin = $(var.sourcebin)?> 

热命令,你可以离开它。

当您需要将变量从msbuild (Wixproj文件)传递到项目中的其他文件(wxs,wxi.)时,情况也是一样的。使用TFS时常用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34088531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档