1

现在,我可以在安装时使用 WiX 中的 Environment 标签添加一个环境变量。这是一个例子:

<Environment Id="LibPath" 
             Action="set" 
             Name="PATH" 
             Part="last"
             Separator=";" 
             System="yes" 
             Value="[INSTALLDIR]" />

但是,有时,环境变量已经安装在客户端上。在这种情况下,该环境变量必须在卸载时保留。但是,如果他们还没有,我们确实想删除它。在查看了Environment 的 wix 文档后,我不确定这是否可行。看起来我有两个选择:

  1. 每次卸载时,让环境变量污染名称空间。
  2. 卸载变量,无论如何,即使我没有安装它。

是这样吗,还是我错过了什么?我一直在寻找,但似乎您要么选择污染,要么总是删除。两者似乎都不是正确的解决方案。

4

1 回答 1

2

我还没有尝试过,但我认为它应该可以工作:

  1. 创建一个属性(ENVEXISTS)并将其设置为 0
  2. 检测环境变量是否存在并将您的属性设置为 1
  3. 使用属性值作为条件执行两次设置环境变量 - 如果它不存在,则在卸载时删除一次,如果存在,则在卸载时离开
于 2009-10-09T18:24:17.137 回答