CustomAction エレメント

説明
MSI CustomAction テーブルに追加されるべきカスタムアクションを指定します。 このエレメントのための属性の 様々な組み合わせが、異なるカスタム アクション タイプになります。 カスタムアクションの詳細に関しては、MSDN においてカスタムアクション タイプトピックを見てください。
Windows Installer リファレンス
CustomAction Table
Fragment, Module, Product
タグの内部テキスト (xs:string)
テキストノードは、スクリプト属性が指定されている時にだけ有効です。 その場合には、テキストノードは埋め込むためのスクリプトを含んでいます。
なし
属性
名前 タイプ 説明 必須
BinaryKey String この属性は、一致しているId 属性を持つ Binary エレメントへの参照です。 そのバイナリストリームはインストールの間に使用するためのカスタムアクションを含んでいます。 カスタムアクションはターゲットディレクトリーにインストールされません。 この属性は通常は、タイプ 1 カスタムアクションのために使用するカスタムアクション DLL を指定するための DllEntry 属性、埋め込まれた実行ファイルを動かすタイプ 17 カスタムアクションを指定する ExeCommand 属性、またはタイプ 5 や 6 カスタムアクションを指定するための VBScriptCall や JScriptCall 属性、と共に用いられます。  
Directory String この属性は、ディレクトリーパスを含んでいる一致している Id 属性を持つ Directory エレメントへの参照を指定します。 この属性は通常は、タイプ 34 カスタムアクションのためにソース実行ファイルを指定する ExeCommand 属性か、フォーマットされた文字列を タイプ 35 カスタムアクションの指定された Directory テーブルエントリーに置くように指定する Value 属性と共に用いられます。  
DllEntry String この属性は、カスタムアクション中の実行する関数の名前を指定します。 この属性は、タイプ 1 カスタムアクションを作成する BinaryKey 属性と、あるいはタイプ 17 カスタムアクションを作成する FileKey 属性と共に用いられます。  
Error String この属性は、MSI エラーテーブルのインデックスを、エラーメッセージを表示しプロダクトのインストールを中止するタイプ 19 カスタムアクションのためのエラーメッセージとして使うように指定します。  
ExeCommand String この属性は、外部で実行ファイルを動かすために供給するコマンドラインパラメータを指定します。 この属性は通常は、タイプ 2 カスタムアクションのための BinaryKey 属性、タイプ 18 カスタムアクションのための FileKey 属性、タイプ 50 カスタムアクションのための Property 属性、または動かす実行ファイルを指定するタイプ 34 カスタムアクションのための Directory 属性と共に用いられます。  
Execute Enumeration この属性はカスタムアクションのスケジューリングを示します。 この属性の値は以下の内の1つでなければなりません:
commit
(インストールの終わりに)インストールスクリプトが正常に完了した後に カスタムアクションが動くことを示します。
deferred
カスタムアクションが(たぶん昇格された権限で)スクリプト中に実行されることを示します。
firstSequence
カスタムアクションがそれを実行する最初のシーケンスだけで動くことを示します。
immediate
カスタムアクションが通常の処理時間の間にユーザー権限で動くことを示します。これがデフォルトです。
oncePerProcess
カスタムアクションが同じプロセス中でそれを実行する最初のシーケンスだけにおいて動くことを示します。
rollback
インストールの間に失敗が生じた時に、通常遅延カスタムアクションによりなされる変更をアンドゥするために、ロールバックシーケンスにおいてカスタムアクションが動くことを示します。
secondSequence
もし早い段階のシーケンスでカスタムアクションが以前に実行されていたら、カスタムアクションが 2 度動かされるべきであることを示します。
 
FileKey String この属性は、ファイルがインストールされた後にファイルのカスタムアクションコードを実行する、一致する Id 属性を持つ File エレメントへの参照を指定します。 この属性は通常は、インストールされた実行ファイルを動かすタイプ 18 カスタムアクションを指定する ExeCommand 属性、タイプ 17 カスタムアクションのために使用するインストールされたカスタムアクション DLL を指定するための DllEntry 属性、またはタイプ 21 や 22 カスタムアクションを指定するための VBScriptCall や JScriptCall 属性、と共に用いられます。  
HideTarget YesNoType インストーラーが遅延カスタムアクションのための CustomActionData を記録しない事を保証します。  
Id String カスタムアクションの識別子。  
Impersonate YesNoType この属性は、LocalSystem として実行する Windows インストーラーが、このカスタムアクションを実行している時に インストールしているユーザーのユーザー状況を体現するべきであるかどうかを指定します。 通常は、マシンに変更を適用するのにカスタムアクションが昇格された権限を必要とする時を除いて、値は 'yes' であるべきです。  
JScriptCall String この属性は、スクリプト中で実行する JScript 関数の名前を指定します。 スクリプトは、上で述べられている BinaryKey 属性により識別される Binary エレメントにおいて提供されなければなりません。 すなわち、この属性は BinaryKey 属性と連携して指定されなければなりません。  
PatchUninstall YesNoType この属性は、パッチがアンインストールされている時にだけ Windows Installer がカスタムアクションを実行すると指定します。 これらのカスタムアクションはまた、適切なダウンレベル(Windows Installer 4.5 より下の)動作を保証するために、MSIPATCHREMOVE プロパティを使用しても条件付けされるべきです。  
Property String この属性は、このカスタムアクションの実行において使用されるかアップデートされるプロパティを指定する 一致している Id 属性を持つプロパティエレメントへの参照を指定します。 この属性は通常はタイプ 51 カスタムアクションを作成するために Value 属性と共に用いられ、それは Value のテキストを構文解析し指定されたプロパティ中に置きます。 この属性はまた、実行ファイルにパスを指定するために与えられたプロパティの値を使用する タイプ 50 カスタムアクションを作成するために、ExeCommand 属性と共にも用いられます。 タイプ 51 カスタムアクションは多くの場合、遅延カスタムアクションに値を渡すのに役立ちます。 詳細については、http://msdn.microsoft.com/en-us/library/aa370543.aspxを見てください。  
Return Enumeration この属性をカスタムアクションの Return 動作に設定する。 この属性の値は以下の内の1つでなければなりません:
asyncNoWait
カスタムアクションが非同期に動き、インストーラーが終わった後に実行が続くかもしれないことを示します。
asyncWait
カスタムアクションが非同期に動くけれど、インストーラーがシーケンスの終わりにおいて戻り値を待つことを示します。
check
カスタムアクションが同期して動いて、成功したか戻り値がチェックされる事を示します。これがデフォルトです。
ignore
カスタムアクションが同期して動いて、戻り値はチェックされない事を示します。
 
Script Enumeration タイプ 37 または 38 カスタムアクションを作成します。 エレメントのテキストは、パッケージに埋め込まれるスクリプトを含んでいるはずです。 この属性の値は以下の内の1つでなければなりません:
jscript
vbscript
 
SuppressModularization YesNoType マージモジュールでこのカスタムアクション名のモジュール化を抑制するために使用する。 カスタムアクションが対話するテーブル名はモジュール化できないので、テーブルのインスタンスは 1 つだけ在り得るのだから、これはテーブルドリブンのカスタムアクションのためだけに必要であるはずです。  
TerminalServerAware YesNoType この属性は、ターミナルサーバーマシンでのマシンごとのインストールの間にカスタムアクションがインストールしているユーザーに扮するかどうかをコントロールすることを指定します。 この属性を指定しないか明示的にそれを 'no' にセットした遅延実行カスタムアクションは、マシンごとのインストールの間にターミナルサーバーマシンでのユーザー具現化なしで動きます。 この属性は、Windowsサーバー2003 ファミリーにおいてインストールすしている時にだけ適用可能です。  
Value String この属性は、カスタムアクション中で使用する文字列値を指定します。 この属性は、プロパティをタイプ 51 カスタムアクションの一部にセットする Property 属性と、またはタイプ 35 カスタムアクション中の Directory テーブルにディレクトリーパスを設定する Directory 属性と共に用いられなければなりません。 値はリテラル値であるか、またはフォーマットされたシンタックスを使って Property エレメントから得る事ができます。  
VBScriptCall String この属性は、スクリプト中で実行する VBScript サブルーチンの名前を指定します。 スクリプトは、上で述べられている BinaryKey 属性により識別される Binary エレメントにおいて提供されなければなりません。 すなわち、この属性は BinaryKey 属性と連携して指定されなければなりません。  
Win64 YesNoType スクリプトカスタムアクションが 64 ビットプラットフォームをターゲットとすることを指定します。 Script、VBScriptCall、JScriptCall 属性と共に使われる時にだけ有効です。  
Any attribute namespace='##other' processContents='lax'
See Also
Wix Schema, Custom, CustomActionRef