共用方式為


Session.FormatRecord 方法

Session物件的FormatRecord方法會從範本和記錄資料傳回格式化字串。

語法

Session.FormatRecord(
  record
)

參數

record

必要 Record 物件,其中包含要格式化的範本和資料。 範本字串必須在欄位 0 中設定,後面接著任何參考的資料參數。

傳回值

這個方法不會傳回值。

備註

FormatRecord方法會使用下列格式程式。

格式化 的參數會以方括弧 [..]。 方括弧可以逐一查看,因為替代專案是從內部解析而來。

如果字串的一部分以大括弧 { } 括住,而且不包含方括弧,則部分會保持不變,包括大括弧。

如果字串的一部分以大括弧括住,且包含一或多個屬性名稱,而且找到所有屬性,則會顯示具有已解析替代) 的文字 (,而不會顯示大括弧。 如果找不到任何屬性,則會移除大括弧和大括弧本身中的所有文字。

使用 FormatRecord 方法格式化字串

  1. 以對應的記錄欄位值取代標記,以取代數值參數,其中遺漏或 Null 值不產生任何文字。
  2. 將非記錄參數取代為對應的值,以處理結果的字串,如下列描述所述。
    • 如果遇到 「[propertyname]」 格式的子字串,則會由 屬性的值取代。
    • 如果找到 「[%environmentvariable]」 格式的子字串,則會取代環境變數的值。
    • 如果找到表單 [#filekey] 的子字串,則會以檔案的完整路徑取代,並將它取代為File 資料表中索引鍵的值檔案機碼。 [#filekey] 的值會維持空白,而且在安裝程式執行 CostInitialize 巨集指令FileCost 宏指令和 CostFinalize 巨集指令之前,不會由路徑取代。 [#filekey] 的值取決於檔案所屬元件的安裝狀態。 如果元件是從來源執行,此值就是檔案來源位置的路徑。 如果元件是在本機執行,此值就是安裝後檔案的目標位置路徑。 如果元件不存在,則路徑為空白。 如需檢查元件安裝狀態的詳細資訊,請參閱 檢查功能安裝、元件、檔案
    • 如果找到表單 [$componentkey] 的子字串,則會由元件的安裝目錄取代,並將它取代為元件資料表中索引鍵的值元件機碼。 [$componentkey] 的值會維持空白,而且在安裝程式執行 CostInitialize 巨集指令FileCost 宏指令和 CostFinalize 巨集指令之前,不會由目錄取代。 [$componentkey] 的值取決於元件的安裝狀態。 如果元件是從來源執行,此值就是檔案的來原始目錄。 如果元件是在本機執行,則值會在安裝後成為目標目錄。 如果元件不存在,此值會保留空白。 如需檢查元件安裝狀態的詳細資訊,請參閱 檢查功能安裝、元件、檔案
    • 如果找到 「[\c]」 格式的子字串,則會由字元取代,而不會進一步處理。 只保留反斜線之後的第一個字元;其他所有專案都會移除。

規格需求

需求
版本
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer
DLL
Msi.dll
IID
IID_ISession定義為 000C109E-0000-0000-C000-0000000000046

另請參閱

格式 化

資料行資料類型