我的安装程序有一个名为"工具"
的功能此功能安装的内容取决于客户端运行的SQL Server版本。
如何使用条件说明"如果SQL 2008执行ComponentGroupRef ID = SQL2008,否则ComponentGroupRef ID = SQL2012"
我创建了2个属性来保存SQL2008和SQL2012的目录,因此这些属性是我用来做出决定的属性。
这很接近,但显示"工具"功能两次。
<Feature Id="SQL2008Tools" Title="Tools" Level="1" Description="Installs all support UI Tools for SQL 2008">
<Condition Level="1"><![CDATA[SQL2008BINDIR AND NOT SQL2012BINDIR]]></Condition>
<ComponentGroupRef Id="Tools2008Component"/>
</Feature>
<Feature Id="SQL2012Tools" Title="Tools" Level="1" Description="Installs all support UI Tools for SQL 2012">
<Condition Level="1"><![CDATA[SQL2012BINDIR]]></Condition>
<ComponentGroupRef Id="Tools2012Component"/>
</Feature>
一如既往 - 感谢您的帮助!
答案 0 :(得分:2)
正如您所发现的,功能的标题不一定是唯一的。您有两个具有相同标题的功能,因此它显示了这种方式。
尝试使用嵌套功能:
<Feature Id="SQLTools" Title="Tools" Level="1" Description="Installs support UI Tools for SQL Server">
<Feature Id="SQL2008Tools" Title="SQL 2008 Tools" Level="1" Description="Installs all support UI Tools for SQL 2008">
<Condition Level="1"><![CDATA[SQL2008BINDIR AND NOT SQL2012BINDIR]]></Condition>
<ComponentGroupRef Id="Tools2008Component"/>
</Feature>
<Feature Id="SQL2012Tools" Title="SQL 2012 Tools" Level="1" Description="Installs all support UI Tools for SQL 2012">
<Condition Level="1"><![CDATA[SQL2012BINDIR]]></Condition>
<ComponentGroupRef Id="Tools2012Component"/>
</Feature>
</Feature>