共用方式為


安裝期間進行 CRC 檢查

Windows Installer 提供迴圈備援檢查 (CRC) 檔案。 CRC 檢查是類似總和檢查碼的錯誤檢查機制,可讓應用程式判斷檔案中的資訊是否已修改。 Windows Installer 完成複製檔案之後,它會從來源和目的地檔案取得 CRC 值。 安裝程式會檢查檔案中已加上戳記的原始 CRC,並將這與從複本計算的 CRC 進行比較。 如果原始 CRC 值為非 Null,且與複本上計算的 CRC 不同,CRC 檢查就會失敗。 如果原始 CRC 為 Null,則不會進行檢查。

Windows Installer 會在下列情況下對檔案執行 CRC 檢查:

  • 如果 已設定 MSICHECKCRCS 屬性且 msidbFileAttributesChecksum 會包含在 [檔案] 資料表中檔案記錄的 [屬性] 欄位中。 安裝程式會在安裝、複製或移動檔案之後執行 CRC 檢查一次。
  • 如果已設定 MSICHECKCRCS 屬性且 msidbFileAttributesChecksum 包含在 File 資料表中檔案記錄的 Attributes 欄位中,安裝程式會在修補檔案之後執行 CRC 檢查。
  • 如果 msidbFileAttributesChecksum 包含在 File 資料表中檔案記錄的 Attributes 欄位中,安裝程式會在系結映射之前執行 CRC 檢查。

如果系結映射之前檢查失敗,安裝程式會在記錄檔中報告下列兩個錯誤,並繼續安裝而不系結檔案。

程式碼 訊息
2941 無法計算檔案 [2] 的 CRC。
2942 BindImage 動作尚未在 [2] 檔案上執行。

 

如果在複製、複製或修補未壓縮的檔案之後檢查失敗,安裝程式會報告下列錯誤。 如果在複製壓縮檔之後檢查失敗,也會報告此錯誤。 如果檔案具有 msidbFileAttributesVital 屬性,則會將檔案視為安裝很重要,而且使用者會取得重試或取消安裝的選項。 如果檔案在 [檔案] 資料表的 [屬性] 資料行中標示為非必要,使用者可能會忽略錯誤並繼續、重試或取消安裝。

程式碼 訊息
1331 無法正確複製 [2] 檔案:CRC 錯誤。

 

請注意,只會移動未壓縮的檔案。 如果在移動未壓縮的檔案之後檢查失敗,安裝程式會顯示下列錯誤。 如果檔案具有 msidbFileAttributesVital 屬性,則檔案對於安裝很重要,安裝會失敗。 如果檔案在 [檔案] 資料表的 [屬性] 資料行中標示為非必要,使用者就會取得取消或忽略錯誤並繼續安裝的選項。

程式碼 訊息
1332 無法正確移動 [2] 檔案:CRC 錯誤。

 

如果在修補未壓縮的檔案之後檢查失敗,安裝程式會顯示下列錯誤。 如果檔案具有 msidbFileAttributesVital 屬性,則檔案對於安裝很重要,安裝會失敗。 如果檔案在 [檔案] 資料表的 [屬性] 資料行中標示為非必要,使用者就會取得取消或忽略錯誤並繼續安裝的選項。

程式碼 訊息
1333 無法正確修補 [2] 檔案:CRC 錯誤。