環境テーブル
Environment テーブルは、環境変数の値を設定するために使用されます。
Environment テーブルには、次の列があります。
コラム | 種類 | 鍵 | 許容 |
---|---|---|---|
環境 | 識別子の | Y | N |
名前 | テキスト | N | N |
価値 | 書式設定された | N | Y |
コンポーネント_ | 識別子の | N | N |
列
-
環境
-
これはテーブルの主キーであり、ローカライズされていないトークンです。
-
名
-
この列は、環境変数のローカライズ可能な名前です。 キー値は、次の表のどの文字の前に名前が付いているかによって書き込まれるか削除されます。 プレフィックスで使用されるシンボルの順序に影響はありません。
接頭辞 形容 = 環境変数が存在しない場合は作成し、インストール時に設定します。 環境変数が存在する場合は、インストール時に設定します。 + 環境変数が存在しない場合は作成し、インストール時に設定します。 これは、環境変数の値が既に存在する場合には影響しません。 - コンポーネントが削除されたときに環境変数を削除します。 このシンボルは、任意のプレフィックスと組み合わせることができます。 ! インストール中に環境変数を削除します。 インストーラーは、環境変数の名前と値が環境テーブルの [名前] フィールドと [値] フィールドのエントリと一致する場合にのみ、インストール中に環境変数を削除します。 環境変数を削除する場合は、その値に関係なく、'!' 構文を使用し、[値] フィールドを空のままにします。 * このプレフィックスは Windows 2000 と共に使用され、名前がシステム環境変数を参照していることを示します。 アスタリスクが存在しない場合、インストーラーは変数をユーザーの環境に書き込みます。 このシンボルは、任意のプレフィックスと組み合わせることができます。 コンピューターごとの インストール コンテキストでのインストールに使用されるパッケージ、名前列に * を含めることで、環境変数をマシンの環境に書き込む必要があります。 詳細については、「解説」を参照してください。 =- 環境変数はインストール時に設定され、アンインストール時に削除されます。 これは通常の動作です。 !- インストールまたはアンインストール中に環境変数を削除します。 =+ !+
!=これらは有効なプレフィックスではありません テーブル内の Value フィールドに [~] が含まれている場合、プレフィックス文字は文字列の指定した部分にのみ適用されます。 [~] の使用方法については、以下の「値列」セクションで説明します。
テーブルの Value フィールドが空白の場合、環境変数は削除されます。 したがって、[値] フィールドに空白を指定すると、インストール時に環境変数が削除され、アンインストール時に - プレフィックスによって現在の値が削除されます。
-
値
-
この列には、書式設定された文字列として設定されるローカライズ可能な値が含まれています。 「書式設定された」を参照してください。 このフィールドを空白のままにすると、変数は削除されます。 フィールドが空白で、[名前] フィールドの文字列の前に - 記号が付いている場合、変数はコンポーネントが削除されたときにのみ削除されます。
既存の変数の末尾に値を追加するには、このフィールドの文字列の前に Null 文字 [~] と区切り文字を付けます。 たとえば、セミコロンが選択された区切り記号の場合: [~];値の。
既存の変数の先頭に値のプレフィックスを付けるために、区切り文字と Null 文字 [~] でこのフィールドの文字列を追加します。 たとえば、セミコロンが選択された区切り記号の場合:値;[~] .
フィールドに [~] が存在しない場合、文字列は設定または削除される値全体を表します。
各行に含めることができる値は 1 つだけです。 たとえば、値 エントリです。値;[~] は複数の値であり、予期しない結果を引き起こすので使用しないでください。 値 エントリ。[~] は 1 つの値にすぎません。
Name に +が付いている場合は、[~] を Value 列で使用しないでください。 これは、"+" と "[~]" の意味が明確に排他的であるためです。
-
Component_
-
コンポーネント テーブルの最初の列の外部キー。 この列は、環境値のインストールを制御するコンポーネントを参照します。
備考
インストーラーで環境変数を設定するには、WriteEnvironmentStrings アクションが され、RemoveEnvironmentStrings アクション 、InstallExecuteSequence Tableに一覧表示されている必要があります。
WriteEnvironmentStrings アクション または RemoveEnvironmentStrings アクション が実行されている 場合、インストール中の環境変数は変更されないことに注意してください。 Windows 2000 では、この情報はレジストリに格納され、インストールの完了時にシステムに変更を通知するメッセージが表示されます。 新しいプロセス、またはこれらのメッセージをチェックする別のプロセスでは、新しい環境変数が使用されます。
Environment テーブルを使用してパス環境変数を変更するときは、[値] フィールドに新しいパス全体を明示的に入力しないでください。 代わりに、値と区切り記号の前に付けるか追加して、既存のパスを拡張します ([~] に;)。 [~] が [値] フィールドに存在しない場合、既存のパス情報が失われ、.msi ファイルをインストールすると、コンピューターの起動が妨げる可能性があります。 パス変数は、ほとんどの場合、構文 [~] を使用して設定されます。価値。
ターミナル サーバーからコンピューターごとのインストールを実行すると、インストーラーはユーザーごとの環境変数を HKU\ 書き込みます。Default\Environment。 ターミナル サービスはレジストリのこのセクションをレプリケートしないため、インストールではユーザーごとの環境変数は設定されません。 コンピューターごとのインストールに使用されるパッケージは、[名前] 列に * を含めることで、環境変数をコンピューターの環境に書き込む必要があります。 パッケージをユーザーごとまたはマシンごとにインストールできる場合は、2 つのコンポーネントを作成します。(1) ユーザー設定用に作成された Environment テーブル エントリを持つユーザーごとのコンポーネントと、(2) コンピューター設定用に作成された Environment テーブルを含むマシンごとのコンポーネントです。 Privileged プロパティを使用して、このコンポーネントのインストールを条件とします。