2012-07-09 10 views
6

Ho utilizzato il seguente frammento di wix per aggiornare la variabile di ambiente "PATH".Impossibile aggiornare la variabile di ambiente "PATH" utilizzando 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/> 

Inizialmente funzionava, ma ora non aggiorna la variabile di ambiente. Il registro dettagliato mostra l'esecuzione di questa azione e restituisce il valore 1. Controllato dopo il riavvio della macchina. Nel registro per l'azione FeaturePublish For Feature3 è disponibile il valore garbage ma Installation è riuscito. Richiedi il tuo aiuto in questo ...... Grazie mille ....

+0

lo hai provato senza ?. E dove stai impostando INSTALLLOCATION? –

risposta

11

Penso che stai usando INSTALLLOCATION dove intendi usare INSTALLDIR. Ecco un esempio funzionante che aggiorna l'ambiente PATH var con la directory di installazione della nuova app.

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

Se hanno intenzione di usare INSTALLLOCATION, e lo hanno definito altrove, quindi si prega di inviare il resto del codice e andremo più in basso nella tana del coniglio.

+0

Sto provando a impostare la variabile env usando questa risposta ma senza successo: non riesco a trovare il posto giusto per 'Ambiente'. Qualcuno potrebbe spiegare dove posizionare il tag 'Environment' nel mio file wxs: gist.github.com/pyeremenko/891eceb779197e4be240 –

+0

@PeterYeremenko:' 'deve essere inserito in un tag' '. – c00000fd