次の方法で共有


CustomActionData プロパティ

インストール中にカスタム動作によって評価できる追加データを指定します。 カスタム動作は、インストールの最後に実行されるので、インストールについての情報にはアクセスできません。各カスタム動作の CustomActionData プロパティを使うと、インストールについての情報を格納し、該当するカスタム動作から読み取ることができます。

たとえば、Property プロパティに FILESEARCH1 が設定されたファイル検索が配置プロジェクトに含まれる場合は、CustomActionData プロパティに /MyFile=[FILESEARCH1] を設定することで、ファイル検索から返される値を渡すことができます。 カスタム動作では、MyFile プロパティを照会することで、値を取得できます。

解説

CustomActionData プロパティの形式は、カスタム動作のタイプによって異なります。

  • インストール コンポーネント (ProjectInstaller クラス) であるカスタム動作の場合、CustomActionData プロパティの形式は /name=value となります。 name には重複しない名前を指定し、それぞれ値を 1 つだけ指定します。 複数指定する場合は、1 つの空白で区切る必要があります (/name1=value1 /name2=value2)。 値に空白が含まれる場合は、引用符で囲む必要があります (/name="a value")。

    Windows インストーラーのプロパティは、角かっこの構文を使って渡すことができます (/name=[PROPERTYNAME])。 [TARGETDIR] のようにディレクトリを返す Windows インストーラーのプロパティの場合は、角かっこに加えて、全体を引用符で囲み、最後の角かっこの後にバックスラッシュを付ける必要があります (/name="[TARGETDIR]\")。

    注意

    カスタム動作をインストール コンポーネントとして扱うためには、InstallerClass プロパティを true に設定する必要があります。 詳細については、「RunInstallerAttribute」を参照してください。

  • その他のすべてのカスタム動作 (.exe、.dll、またはスクリプト) の場合は、形式に関する要件はありません。 プロパティの値はカスタム動作の中で独自に解析する必要があるため、CustomActionData プロパティではどのような文字列でも渡すことができます。

トラブルシューティング

カスタム動作がユーザーの入力するインストール フォルダーのパスに依存していると、ArgumentException エラー メッセージが表示されることがあります。 これは、無効なディレクトリまたは URL に関連している可能性があります。

このエラー メッセージを回避するには、バックスラッシュをスペースに置き換えます (/name="[TARGETDIR] ")。 次に、値を解析し、Combine メソッドを使用して完全修飾パスを作成します。

参照

処理手順

チュートリアル : カスタム動作を使用した、インストール時のメッセージの表示

参照

カスタム動作エディターのプロパティ

InstallerClass プロパティ