2012-07-09 3 views
6

Я использовал следующий фрагмент wix для обновления переменной среды «PATH».Не удалось обновить переменную среды «PATH» с помощью WIX

<DirectoryRef Id="MyDir"> 
    <Component Id ="setEnviroment" 
          Guid=" xxxxx"> 
      <CreateFolder /> 
      <Environment Id="SET_ENV" 
             Action="set"                       
             Name="PATH" 
             Part="last"  
             Permanent="no" 
             System="yes" 
         Value="[INSTALLLOCATION]" /> 
     </Component> 
</DirectoryRef> 
<Feature Id="Feature3" Title="3Feature" 
      Level="1" 
       Absent="disallow" 
       AllowAdvertise="no"> 
      <ComponentRef Id="setEnviroment"/> 
</Feature> 
<InstallExecuteSequence> 
    <WriteEnvironmentStrings/> 
<InstallExecuteSequence/> 

Это было первоначально, но теперь оно не обновляет переменную окружения. В журнале Verbose показано выполнение этого действия и возвращаемое значение 1. Проверено после перезагрузки машины. В журнале действий FeaturePublish Для Feature3 есть значение для мусора, но установка прошла успешно. Просьба помочь в этом ...... Большое спасибо ....

+0

Вы пробовали его без ?. И где вы устанавливаете УСТАНОВКУ? –

ответ

11

Я думаю, вы используете INSTALLLOCATION, где вы хотите использовать INSTALLDIR. Вот рабочий пример, который обновляет среду PATH var с установочным каталогом нового приложения.

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

Если же намерены использовать INSTALLLOCATION, и он определен в другом месте, то оставьте остальную часть вашего кода, и мы будем идти дальше вниз по кроличьей норе.

+0

Я пытаюсь установить переменную env с помощью этого ответа, но безуспешно: я не могу найти подходящее место для «Среда». Может ли кто-нибудь объяснить, где я должен поместить тег «Environment» в мой файл wxs: gist.github.com/pyeremenko/891eceb779197e4be240 –

+0

@PeterYeremenko: '' предполагается разместить в теге ''. – c00000fd

Смежные вопросы