2009-12-19 6 views
28

Ancora non so come aggiungere il file di installazione nel PATH delle variabili di sistema di Windows dopo aver eseguito il tutorial WIX.Qualcuno può darmi un esempio di modifica delle variabili di sistema dell'ambiente Windows in WIX?

Ho cercato di usare

Environment Id='UpdatePath' Action='create' Name='PATH' System='yes' Value='[INSTALLDIR]' 

Ma non c'era alcun cambiamento nel percorso dopo aver installato il programma. Riesco a malapena a trovare codice di esempio di WIX ovunque. Per favore aiutatemi, grazie mille!

risposta

40

Si dovrebbe essere in grado di utilizzare:

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

Questo dovrebbe aggiungere una nuova voce al percorso di ambiente, impostare [INSTALLDIR].

+0

Funziona, vi ringrazio molto! – Ray

+0

Felice che abbia funzionato per te. –

+20

L'impostazione 'Permanente =" no "' rimuoverà la parte aggiunta (ma non l'intero valore) alla disinstallazione. –

18

Un'altra cosa da notare è, Environment devono essere collocati all'interno di un componente con la directory, ad es

<DirectoryRef Id="TARGETDIR"> 
    <Component Id="Path" Guid="{xxx-xxx-xxx-xxx}"> 
    <Environment Id="PATH" Name="PATH" Value="[INSTALLDIR]" Permanent="no" Part="last" Action="set" System="no" /> 
    </Component> 
</DirectoryRef> 

dettagli di Wix Element descritto Environment Element

+1

in realtà ha solo bisogno di essere in un frammento quindi componente, non c'è bisogno di un indirizzario –

+1

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

0

avuto lo stesso problema esatto, questo ha funzionato per me:

 <Directory Id="TARGETDIR" Name="SourceDir"> 
      <Directory Id="ProgramFilesFolder"> 
       <Directory Id="INSTALLFOLDER" Name="DataBaseds_Service_Installer" /> 
      </Directory> 
     </Directory> 

    <ComponentGroup Id="Components" Directory="INSTALLFOLDER"> 

     ...some components 
    </ComponentGroup> 

    <DirectoryRef Id="TARGETDIR"> 
     <Component Id="MYSQL_PASSWORD" Guid="..." 
     <Environment Id=HERE YOU CAN ADD THIS :)/> 
     </Component>  
    </DirectoryRef> 
+0

So che è tardi, ma forse qualcuno lo userà comunque. –