ICE35
ICE35 會驗證封裝含儲存在 封包檔案 中之壓縮檔案的元件未設定為從來源執行。 使用 Windows Installer 2.0 或更新版本時,已移除此限制。
ICE35 會查詢 Media 資料表 的封包資料行,以判斷哪些檔案會壓縮並儲存在封包檔案中。 它會查詢 File 資料表 ,以判斷哪些元件包含這些檔案。 最後,它會檢查 Component 資料表 ,以判斷 Run-from-source 位是否設定在 [屬性] 資料行中。
結果
如果封包檔案中有儲存在屬於 msidbComponentAttributesSourceOnly 位之元件的封包檔案中,ICE35 會張貼錯誤訊息。 在元件資料表的 Attributes 資料行中設定。 使用 Windows Installer 2.0 或更新版本時,這會從錯誤變更為警告訊息。 僅支援 Windows Installer 2.0 和更新版本的套件,將 [摘要資訊資料流程] 的 PID_PAGECOUNT 屬性設定為至少 200 的值。
如果封包檔案中有儲存在屬於 msidbComponentAttributesOptional 位之元件中的壓縮檔案,則 ICE35 會張貼警告訊息。 元件資料表的 Attributes 資料行中設定。 Windows Installer 2.0 和更新版本已移除此警告訊息。
如果元件中的多個檔案位於封包檔案中,ICE35 會報告每個已從來源位集執行之檔案的錯誤。
範例
ICE35 會針對使用 Windows Installer 2.0 版之前的版本所顯示的範例報告下列錯誤和警告。
ICE35 錯誤 | 描述 |
---|---|
錯誤:元件元件 3 只能從來源執行,因為其成員檔案 'File3' 已壓縮。 | 儲存在封包檔案中的壓縮檔案,而此檔案屬於元件,而 該元件在 Component 資料表的 Attributes 資料行中設定了 SourceOnly 位。 若要修正此錯誤,請將 Component2 的 Attributes 值較低 2 位變更為 「00」,這表示僅限本機,或從 CAB 檔案中移除 File4。 |
錯誤:元件元件 3 只能從來源執行,因為其成員檔案 'File3' 已壓縮。 | 儲存在封包檔案中的壓縮檔案,而此檔案屬於元件,而 該元件在 Component 資料表的 Attributes 資料行中設定了 SourceOnly 位。 因為元件中的檔案完全不需要來自相同的媒體,ICE35 會報告封包中元件中每個檔案的錯誤。 若要修正此錯誤,請將 Component2 的 Attributes 值較低 2 位變更為 「00」,這表示僅限本機,或從 CAB 檔案中移除 File4。 |
媒體資料表 (部分)
DiskID | LastSequence | 內閣 |
---|---|---|
1 | 2 | |
2 | 4 | One.cab |
3 | 5 | #Two.cab |
檔案資料表 (部分)
檔案 | 元件_ | 順序 |
---|---|---|
File1 | Component1 | 1 |
File2 | Component2 | 2 |
File3 | Component2 | 3 |
File4 | Component3 | 4 |
File5 | Component3 | 5 |
元件資料表 (部分)
元件 | 屬性 |
---|---|
Component1 | 0 |
Component2 | 2 |
Component3 | 1 |
快速鍵資料表 (部分)
快速鍵 | 圖示_ |
---|---|
Shortcut1 | Icon2 |
請注意,也可以使用摘要資訊資料流程的Word Count Summary屬性,將檔案標示為壓縮。
相關主題