2012-07-09 22 views
6

"PATH"環境変数を更新するために以下のwixフラグメントを使用しました。WIXを使用して "PATH"環境変数を更新できません

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

これは最初は機能していましたが、現在は環境変数は更新されません。 Verboseログには、このアクションの実行と戻り値1が表示されます。 マシンの再起動後にチェックされます。 アクションのログFeaturePublish Feature3の場合、ガベージ値がありますが、インストールは成功しています。 あなたの助けを求める...... ありがとうございました....

+0

なしで試しましたか? INSTALLLOCATIONはどこで設定していますか? –

答えて

11

私はあなたがINSTALLDIRを使用することを意味するINSTALLLOCATIONを使用していると思います。次に、PATH環境変数を新しいアプリケーションのインストールディレクトリで更新する作業例を示します。 INSTALLLOCATIONを使用すると、それは他の場所で定義されていない場合

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

は、その後、あなたのコードの残りの部分を投稿してください、私たちはウサギの穴のさらに下に移動します。

+0

私はこの答えを使用してenv変数を設定しようとしていますが、成功することはありません。私は 'Environment'の正しい場所を見つけることができません。誰かが私のwxsファイルに 'Environment'タグを置くべき場所を説明できますか?gist.github.com/pyeremenko/891eceb779197e4be240 –

+0

@PeterYeremenko:' 'は' 'タグに置かれています。 – c00000fd

関連する問題