WriteEnvironmentStrings アクション

WriteEnvironmentStrings アクションは、環境変数の値を変更します。

WriteEnvironmentStrings アクションまたは RemoveEnvironmentStrings アクションを実行しても、進行中のインストールの環境変数は変更されません。 Windows 2000、Windows Server 2003、Windows XP、および Windows Vista では、この情報はレジストリに保存され、インストールの完了時にシステムに変更を通知する WM_SETTINGCHANGE メッセージが送信されます。 別のプロセスでは、これらのメッセージを処理することで変更の通知を受け取ることができます。 システムの再起動が保留中の場合、メッセージは送信されません。 パッケージでは、MsiSystemRebootPending プロパティを使用して、システムの再起動が保留中かどうかをチェックできます。

インストーラーは、コンポーネントのインストールまたは再インストール中にのみ WriteEnvironmentStrings アクションを実行し、コンポーネントの削除中にのみ RemoveEnvironmentStrings アクション を実行します。

値は、プライマリ アクションと修飾子の選択に基づいて書き込まれるか削除されます。 これらは、次の「ActionData Messages」セクションで説明します。 指定されたアクションによっては、WriteEnvironmentStrings によって変数が削除される場合があり、RemoveEnvironmentStrings は Environment テーブルの作成に基づいて変数を追加する場合があることに注意してください。

シーケンスの制限

InstallValidate アクションは、RemoveEnvironmentStrings アクションの前に実行する必要があります。 WriteEnvironmentStrings アクションと RemoveEnvironmentStrings アクションは、コンポーネントのインストールまたは削除中に両方が適用されることはないため、それらの相対的な順序は制限されません。

ActionData のメッセージ

フィールド アクション データの説明
[1] 変更する環境変数の名前。
[2] 環境変数の値。
[3] これは、実行するアクションを指定するビット フラグのフィールドです。 プライマリ アクションについては 1 ビットのみを含めます。 このフィールドには、複数の修飾子ビットが含まれている可能性があります。 次のビット フラグの説明を参照してください。

 

ビット値 プライマリ アクションの説明
0x1 [設定]: すべてのケースで環境変数の値を設定します。
このビットを Append または Prefix 修飾子ビットと組み合わせると、アクションでは変数内の既存の値にその値が追加されます。
0x2 [設定]: 変数が存在しない場合は、値を設定します。
このビットを Append または Prefix 修飾子ビットと組み合わせると、アクションでは変数内の既存の値にその値が追加されます。
0x4 削除します。 変数から値を削除します。
このビットを Append または Prefix 修飾子ビットと組み合わせると、その値が存在する場合は、既存の文字列からその値が削除されます。

 

ビット値 修飾子の説明
0x20000000 このビットが設定されている場合、アクションはマシンの環境変数に適用されます。
このビットが設定されていない場合、アクションはユーザーの環境変数に適用されます。
0x40000000 Append: このビットは省略可能です。 Append 修飾子と Prefix 修飾子の両方を設定しないでください。
0x80000000 プレフィックス。 このビットは省略可能です。 Append 修飾子と Prefix 修飾子の両方を設定しないでください。