Ray
Ray

Reputation: 1931

Can anyone give me a example of modifying windows environment system variables in WIX?

I still don't know how to add the installdir into the PATH of the Windows System Variables after I went through the WIX tutorial.

I tried to use

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

But there was no change in the Path after I installed the program. I can hardly find sample code of WIX anywhere. Please help me, thanks a lot!

Upvotes: 40

Views: 18436

Answers (4)

Majedur
Majedur

Reputation: 3242

This code is working for me:

<ComponentGroup Id="ProductComponents" >
  <Component Id="Path" Directory="INSTALLFOLDER" Guid="1014136b-a934-47db-bf69-5da949b2528b">
    <CreateFolder/>
    <Environment Id="PATH" Name="PATH" Value="[INSTALLFOLDER]" Permanent="no" Part="last" Action="set" System="no" />
  </Component>
</ComponentGroup>

Upvotes: 1

karollo
karollo

Reputation: 595

Had the same exact problem, this have worked for 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>

Upvotes: 2

Deqing
Deqing

Reputation: 14632

Another thing to note is, Environment need to be placed inside a component with directory, e.g.

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

Details of Wix Element described at Environment Element

Upvotes: 24

Reed Copsey
Reed Copsey

Reputation: 564433

You should be able to use:

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

This should add a new entry to the environment path, set to [INSTALLDIR].

Upvotes: 56

Related Questions