2009-12-19 8 views
28

Tôi vẫn không biết cách thêm installdir vào PATH của Biến Hệ thống Windows sau khi tôi đã đi qua hướng dẫn WIX.Bất cứ ai có thể cho tôi một ví dụ về sửa đổi các biến hệ thống môi trường cửa sổ trong WIX?

Tôi cố gắng để sử dụng

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

Nhưng không có sự thay đổi trong con đường sau khi tôi cài đặt chương trình. Tôi khó có thể tìm thấy mã mẫu của WIX ở bất cứ đâu. Xin hãy giúp tôi, cảm ơn rất nhiều!

Trả lời

40

Bạn sẽ có thể sử dụng:

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

này nên thêm một mục mới vào con đường môi trường, thiết lập để [INSTALLDIR].

+0

Nó hoạt động, cảm ơn bạn rất nhiều! – Ray

+0

Vui vì nó đã làm việc cho bạn. –

+20

Cài đặt 'Vĩnh viễn =" không "' sẽ xóa phần được nối thêm (nhưng không phải toàn bộ giá trị) khi gỡ cài đặt. –

18

Một điều cần lưu ý là, Environment cần phải được đặt bên trong một thành phần với thư mục, ví dụ

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

tin chi tiết của Wix phần tử được mô tả tại Environment Element

+1

thực sự chỉ cần nằm trong một đoạn rồi thành phần, không cần thư mục –

+1

Tôi đang cố gắng đặt biến env bằng câu trả lời này nhưng không thành công: Tôi không thể tìm đúng vị trí cho 'DirectoryRef'. Tôi cũng đã cố gắng đặt 'Component' mà không có' DirectoryRef' cha mẹ. Ai đó có thể đề nghị nơi tôi nên đặt thẻ 'Môi trường' trong tệp wx của tôi: https://gist.github.com/pyeremenko/891eceb779197e4be240 –

0

Đã vấn đề chính xác cùng, điều này đã làm việc cho tôi:

 <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

Tôi biết đã muộn, nhưng có thể ai đó sẽ sử dụng nó. –