我的产品中某些功能的安装路径取决于可能安装的其他一些产品。
E.g。如果安装了产品“X 2014”,则应采用“Y 2014”路径。 例如。如果安装了产品“H 2015”,则应采用“K 2015”路径。
我尝试使用属性,默认情况下我将值设置为“2014”,如果条件为真则为“2015”。
<Property Id="YEAR" Value="2014" />
<SetProperty Id="YEAR" Value="2015" After="AppSearch">2015_EXISTS</SetProperty>
我在这里使用了这个属性:
<Directory Id="Company"
Name="Company">
<Directory Id="Something"
Name="Hello [YEAR]">
</Directory>
</Directory>
不要使用此变量中的值,只需使用“[YEAR]”,这不是我想要的。
我还发现我可以使用预处理器变量,但我显然不知道如何在条件下使用它们。 条件是:
!-- Product 2015 -->
<Upgrade Id="GUID">
<UpgradeVersion OnlyDetect="yes"
Property="2015_EXISTS"
IncludeMinimum="no"
Maximum="999.999.999.999"/>
</Upgrade>
可以请有人解释我如何解决我的问题? 工作代码将是完美的!!
编辑: 我现在的解决方法是:
<Directory Id="Company"
Name="Company">
<Directory Id="Something13"
Name="Hello 2013">
</Directory>
<Directory Id="Something14"
Name="Hello 2014">
</Directory>
但是这真的很难看,我认为我必须延长2015年,2016年等等......结果这些目录非常安静,并且每年都有相同的结构。 我不想重复自己这么多次,看起来真的很乱。