共用方式為


InstallFiles 動作

InstallFiles 巨集指令會將 File 資料表中指定的檔案從來源目錄複製到目的地目錄。

時序限制

InstallFiles 巨集指令必須在 InstallValidate 動作之後,以及任何檔案相依的動作之前執行。

ActionData 訊息

動作數據的描述
[1] 已安裝檔案的識別碼。
[6] 已安裝的檔案大小,以位元組為單位。
[9] 包含已安裝檔案之目錄的識別碼。

 

言論

InstallFiles 巨集指令會在 File 資料表中指定的檔案上運作,。 每個檔案都是根據 Component 數據表中檔案相關聯元件的安裝狀態安裝。 只有那些元件解析為 msiInstallStatelocal 狀態的檔案才有資格進行複製。

InstallFiles 巨集指令會實作 File 資料表的下列數據行。

  • FileName 資料行會指定目標檔名。
  • [版本] 資料行會指定檔案版本。
  • [屬性] 資料行會指定檔案和安裝屬性旗標位。
  • [檔案] 資料行會指定唯一的檔案令牌。
  • FileSize 資料行會以位元組為單位指定未壓縮的檔案大小。
  • [語言] 資料行會指定檔案語言標識符。
  • [序列] 資料行會指定媒體上的序號。

InstallFiles 巨集指令會實作 Component 數據表的下列數據行。

  • Directory_數據行會指定 Directory 資料表 項目的參考。
  • [元件] 資料行會指定元件專案的唯一名稱。

只有在下列其中一個為 true 時,才會複製指定的檔案:

  • 檔案目前未安裝在本機計算機上。
  • 檔案位於本機電腦上,但版本號碼低於 File 資料表中的檔案,
  • 檔案位於本機計算機上,但沒有相關聯的版本號碼。

要複製之每個檔案的來源目錄是由sourceMode所決定,而來源Mode則依媒體數據表的[封包] 資料行中的值而定。 如需來源模式的完整討論,請參閱 媒體資料表

如果要複製之檔案的來源目錄位於磁碟片或 CD-ROM 等抽取式媒體上,InstallFiles 動作會先確認已插入適當的來源媒體,然後再嘗試複製檔案。 InstallFiles 會搜尋相同卸除式類型的媒體,其具有 磁碟區 卷標,其符合 Media 數據表之 VolumeLabel 數據行中指定的值。 如果找到相符的掛接磁碟區,檔案複製程式會繼續進行。 如果找不到相符專案,對話方塊會要求使用者插入適當的媒體。 在此情況下,對話框會使用 Media 數據表的 DiskPrompt 資料行中找到的媒體名稱,做為提示的一部分。

必須練習注意,因為 InstallFiles 巨集指令可以刪除源檔,而不是取代它。 當 InstallFiles 動作在取代舊檔案時遇到錯誤,而使用者選擇忽略錯誤時,就會發生這種情況。 安裝程式的預設行為是先刪除舊檔案,再確保正確複製新檔案。

如需安裝程式所使用的檔案版本設定規則,請參閱 檔案版本設定規則