次の方法で共有


Session.FormatRecord メソッド

セッション オブジェクトの FormatRecord メソッドは、テンプレートから書式設定された文字列を返し、データを記録します。

構文

Session.FormatRecord(
  record
)

パラメーター

record

書式設定するテンプレートとデータを含むレコード オブジェクトが必要です。 テンプレート文字列は、フィールド 0 に設定し、その後に参照データ パラメーターを設定する必要があります。

戻り値

このメソッドは値を返しません。

解説

FormatRecord メソッドは、次の形式プロセスを使用します。

書式設定するパラメーターは角かっこ [..] で囲まれます。 置換は内側から解決されるため、角かっこを反復処理できます。

文字列の一部が中かっこ { } で囲まれており、角かっこが含まれない場合、その部分は中かっこを含め、変更されません。

文字列の一部が中かっこで囲まれており、1 つ以上のプロパティ名が含まれていて、すべてのプロパティが見つかった場合は、テキスト (解決された置換を含む) が中かっこなしで表示されます。 いずれかのプロパティが見つからない場合は、中かっこ内のすべてのテキストと中かっこ自体が削除されます。

FormatRecord メソッドを使用して文字列を書式設定するには

  1. 数値パラメーターは、マーカーを対応するレコード フィールドの値に置き換えることで置き換えられ、欠損値または Null 値はテキストを生成しません。
  2. 結果の文字列は、次の説明に示すように、レコード以外のパラメーターを対応する値に置き換えることによって処理されます。
    • "[propertyname]" 形式の部分文字列が見つかった場合、プロパティの値に置き換えられます。
    • "[%environmentvariable]" 形式の部分文字列が見つかった場合、環境変数の値が置き換えられます。
    • [#filekey] 形式の部分文字列が見つかった場合、ファイルの完全なパスに置き換えられ、値 filekeyFile テーブルのキーとして使用されます。 インストーラーが CostInitialize アクションFileCost アクション、および CostFinalize アクションを実行するまで、[#filekey] の値は空白のままで、パスで置き換えられることはありません。 [#filekey] の値は、ファイルが属するコンポーネントのインストール状態によって異なります。 コンポーネントがソースから実行されている場合、値はファイルのソースの場所へのパスです。 コンポーネントがローカルで実行されている場合、値はインストール後のファイルのターゲットの場所へのパスです。 コンポーネントが存在しない場合、パスは空白になります。 コンポーネントのインストール状態の確認の詳細については、「機能、コンポーネント、ファイルのインストールの確認」を参照してください。
    • [$componentkey] 形式の部分文字列が見つかった場合、コンポーネントのインストール ディレクトリに置き換えられ、値 componentkeyComponent テーブルのキーとして使用されます。 インストーラーが CostInitialize アクションFileCost アクション、および CostFinalize アクションを実行するまで、[$componentkey] の値は空白のままであり、ディレクトリに置き換えられません。 [$componentkey] の値は、コンポーネントのインストール状態によって異なります。 コンポーネントがソースから実行されている場合、値はファイルのソース ディレクトリです。 コンポーネントがローカルで実行されている場合、値はインストール後のターゲット ディレクトリです。 コンポーネントが存在しない場合、値は空白のままにされます。 コンポーネントのインストール状態の確認の詳細については、「機能、コンポーネント、ファイルのインストールの確認」を参照してください。
    • "[\c]" 形式の部分文字列が見つかった場合、それ以上の処理を行わずに文字に置き換えられます。 円記号の後の最初の文字のみが保持されます。それ以外はすべて削除されます。

必要条件

要件
バージョン
Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー
[DLL]
Msi.dll
IID
IID_ISession が 000C109E-0000-0000-C000-000000000046 として定義されている

こちらもご覧ください

書式設定済み

列のデータ型