【问题标题】:How do I add an environmental variable, but not remove it if it already existed with WiX?如何添加环境变量,但如果 WiX 已经存在,则不删除它?
【发布时间】:2010-12-03 04:42:07
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: installation wix windows-installer uninstallation


    【解决方案1】:

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

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

    【讨论】:

    • 抱歉,我的wix有点模糊;我将如何做一个条件?
    • 那不只是在.msi的编译时做条件吗?
    • 太棒了,我试试看!
    猜你喜欢
    • 1970-01-01
    • 2011-01-18
    • 2021-12-28
    • 2012-03-07
    • 1970-01-01
    • 2015-11-08
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多