2009-12-19 9 views
28

Todavía no sé cómo agregar el installdir en la RUTA de las variables del sistema de Windows después de pasar por el tutorial de WIX.¿Alguien me puede dar un ejemplo de la modificación de las variables del sistema de entorno de Windows en WIX?

He intentado utilizar

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

Pero no hubo ningún cambio en la trayectoria después de haber instalado el programa. Apenas puedo encontrar el código de muestra de WIX en cualquier lugar. ¡Por favor, ayúdenme, muchas gracias!

Respuesta

40

Usted debe ser capaz de usar:

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

Esto debería añadir una nueva entrada a la ruta del entorno, se establece en [INSTALLDIR].

+0

Funciona, muchas gracias! – Ray

+0

Me alegro de que funcionó para usted. –

+20

Al establecer 'Permanent =" no "' se eliminará la parte añadida (pero no el valor completo) al desinstalar. –

18

Otra cosa a tener en cuenta es, Environment necesidad de ser colocado dentro de un componente con directorio, por ejemplo

<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> 

detalles de Wix elemento descrito en Environment Element

+1

en realidad solo necesita estar en un fragmento y luego en un componente, sin necesidad de un directorioref –

+1

Estoy tratando de establecer la variable env usando esta respuesta, pero sin éxito: no puedo encontrar el lugar correcto para 'DirectoryRef'. También traté de colocar 'Component' sin el padre' DirectoryRef'. ¿Podría alguien sugerir dónde debería colocar la etiqueta 'Environment' en mi archivo wxs: https://gist.github.com/pyeremenko/891eceb779197e4be240 –

0

Tenía el mismo problema exacto, esto han trabajado para mí:

 <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

Sé que es tarde, pero tal vez alguien lo use de todos modos. –

Cuestiones relacionadas