11

次の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 For Feature3 のログにはガベージ値がありますが、インストールは成功しています。これであなたの助けを求めてください......どうもありがとう....

4

2 に答える 2

15

INSTALLDIRを使用するつもりのINSTALLLOCATIONを使用していると思います。新しいアプリのインストール ディレクトリで PATH 環境変数を更新する実際の例を次に示します。

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

INSTALLLOCATION を使用するつもりで、それを別の場所で定義している場合は、残りのコードを投稿してください。ウサギの穴をさらに掘り下げます。

于 2012-07-11T13:18:04.733 に答える