2015-02-24 60 views
2

我想采取一个现有的项目变量,并扩展它,但我希望它是全球性的,所以我不必将其包含在每个wxs文件中。如何在WIX中用蜡烛定义项目变量?

一个我想要扩展为:

$(var.MyProject.TargetDir) 

我想转做

var.MyProject.TargetDir.Help=$(var.MyProject.TargetDir)Help\ 

我怎样才能做到这一点globablly?

我知道我能做到这一点:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <?define var.MyProject.TargetDir.Help=$(var.MyProject.TargetDir)Help\ ?> 

但我必须做的是,在每个文件或我要创建一个WXI文件,包括每个文件。我希望在构建之前对其进行预定义。我怎样才能做到这一点?

回答

2

你可以用蜡烛定义处理器变量像这样:

candle.exe -dMyVariable=whatever. 

这不是一个很难回答找到与谷歌,但我的问题是,我试图做:

candle.exe -dMyProject.TargetDir.Help=$(var.MyProject.TargetDir)Help\ 

所以我在这里有点粗心,忘记$(var.MyProject.TargetDir)也是由蜡烛创建的,我不能在创建它之前引用它。

你将不得不手动查找文件的路径为这样:

candle.exe -dMyProject.TargetDir.Help=$(SolutionDir)MyProject\bin\$(Configuration)\Help\ 

而且只是一个快速的注意,你的变量,创建不会与'变种前缀“。

相关问题