2009-10-02 52 views
1

現在,我可以使用WiX中的Environment標籤添加環境變量。下面是一個示例:如何添加環境變量,但如果它已經與WiX一起存在,則不會將其刪除?

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

但是,有時環境變量已經安裝在客戶端。在這種情況下,該環境變量在卸載時必須保持。但是,如果他們確實已經沒有,我們想要刪除它。看過wix documentation for Environment後,我不確定這是可能的。看起來我有兩種選擇:

  1. 讓環境變量每次都在卸載時污染名稱空間。
  2. 卸載變量,不管是什麼,即使我沒有安裝它。

這是這種情況,還是我錯過了什麼?我一直在尋找,但似乎你可能會選擇污染,或永遠刪除。這兩者似乎都不是正確的解決方案。

回答

2

我還沒有試過,但我認爲它應該工作:

  1. 創建一個屬性(ENVEXISTS)並將其設置爲0
  2. 檢測,如果環境變量存在,你propetry設置爲1
  3. 做一套環境變量兩次使用爲條件的財產的價值 - 曾經作爲卸載刪除,如果它不存在,一旦作爲卸載休假如果它存在
+0

對不起,我威克斯是稍有些渾濁;我將如何做一個條件? – 2009-10-09 21:43:54

+0

<![CDATA [Contition]]>應該可以正常工作 – Gabriel 2009-10-12 16:15:46

+0

這不就是在.msi編譯時做的條件嗎? – 2009-10-12 23:25:18

相關問題