Wix相关问题:这是来自product.wxs的snipets
<?define SourceSolutionItems="D:\Dev\Net\Projects\Ge_Portal\Ter.Portal\Ter.Portal\Tm.Ter.Web"?>
<Property Id="CONFIGURATION_PROPERTY">CIT</Property>
我想合并这个,因为属性 CONFIGURATION_PROPERTY 的值是在单独的UI对话框中设置的。
目前我有这个:
<Component Id="ConfigFiles_CIT" Guid="{D67B38EE-5658-4A32-8C56-7120B835FFC1}">
<File Id="WebConfig_CIT" Source="$(var.SourceSolutionItems)\ConfigurationFiles\CIT\web.config" Name="web.Config" />
<Condition>CONFIGURATION_PROPERTY="CIT"</Condition>
</Component>
此部分用于可能的每个无线电选择。因此配置文件将从特定的子文件夹安装。到目前为止它工作得很好,我的问题是我在编译时会收到很多警告: http://imgur.com/FVreCCE 我试过想:
<Component Id="ConfigFiles_CIT" Guid="{D67B38EE-5658-4A32-8C56-7120B835FFC1}">
<File Id="WebConfig_CIT" Source="$(var.SourceSolutionItems)\ConfigurationFiles\[**CONFIGURATION_PROPERTY**]\web.config" Name="web.Config" />
</Component>
我也厌倦了改变?define SourceSolutionItems="
部分来组合它,但没有任何成功。
答案 0 :(得分:0)
预编译器处理说明(<?if
,<?define
...)和变量($(var.varname)
)在 WiX XML文件的实际蜡烛处理之前处理
因此,甚至可能有像
这样的东西<?define varname=Path[PropertyName]MorePath ?>
蜡烛/灯光过程只会看到
<File Source="Path[PropertyName]MorePath" />
而不是
<File Source="$(var.varname)" />
有关详细信息,请参阅documentation。