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 動作在取代舊檔案時遇到錯誤,而使用者選擇忽略錯誤時,就會發生這種情況。 安裝程式的預設行為是先刪除舊檔案,再確保正確複製新檔案。
如需安裝程式所使用的檔案版本設定規則,請參閱 檔案版本設定規則。