WiX更改属性取决于升级

时间:2014-11-04 09:44:29

标签: wix directory preprocessor upgrade

我的产品中某些功能的安装路径取决于可能安装的其他一些产品。

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年等等......结果这些目录非常安静,并且每年都有相同的结构。 我不想重复自己这么多次,看起来真的很乱。

0 个答案:

没有答案