ICE35
ICE35 會驗證包含儲存在 封包檔案中的壓縮檔元件, 未設定為從來源執行。 使用 Windows Installer 2.0 或更新版本時,已移除此限制。
ICE35 會查詢 Media 數據表的封包數據行,以判斷哪些檔案會壓縮並儲存在封包檔案中。 它會查詢 File 資料表,以判斷哪些元件包含這些檔案。 最後,它會檢查 Component 數據表,以判斷 Run-from-source 位是否在 [屬性] 數據行中設定。
結果
ICE35 會在 元件數據表的 [屬性] 數據行中設定 msidbComponentAttributesSourceOnly 位的封包檔案中,張貼錯誤訊息。 使用 Windows Installer 2.0 或更新版本時,這會從錯誤變更為警告訊息。 僅支援 Windows Installer 2.0 和更新版本的套件,其摘要信息數據流的 PID_PAGECOUNT 屬性設定為至少 200 的值。
ICE35 會在 元件數據表的 [屬性] 數據行中設定 msidbComponentAttributesOptional 位的封包檔案中,張貼警告訊息。。 Windows Installer 2.0 和更新版本已移除此警告訊息。
如果元件中的多個檔案位於封包檔案中,ICE35 會針對從來源位集執行的每個檔案報告錯誤。
例
ICE35 會針對使用 Windows Installer 2.0 版之前的版本所顯示的範例報告下列錯誤和警告。
ICE35 錯誤 | 描述 |
---|---|
錯誤:元件元件 3 無法僅從來源執行,因為其成員檔案 'File3' 已壓縮。 | 封包檔案中有一個壓縮檔,而這個檔案屬於在 Component 數據表的 [屬性] 資料行中設定 SourceOnly 位的元件,。 若要修正此錯誤,請將 Component2 屬性值的下 2 位變更為 “00”,這表示僅限 Local,或從 CAB 檔案中移除 File4。 |
錯誤:元件元件 3 無法僅從來源執行,因為其成員檔案 'File3' 已壓縮。 | 封包檔案中有一個壓縮檔,而這個檔案屬於在 Component 數據表的 [屬性] 資料行中設定 SourceOnly 位的元件,。 因為元件中的檔案不必全部來自相同的媒體,ICE35 會針對位於封包中元件中的每個檔案報告錯誤。 若要修正此錯誤,請將 Component2 屬性值的下 2 位變更為 “00”,這表示僅限 Local,或從 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 |
請注意,也可以使用 摘要資訊數據流的 字數摘要 屬性,將檔案標示為壓縮。
相關主題