壓縮和未壓縮的來源

套件作者可以壓縮原始程式檔,並將它們包含在 封包檔案中,以減少其安裝套件的大小。 原始程式檔映射可以壓縮、未壓縮或混合這兩種類型。

壓縮的來源

包含完全壓縮檔案的來源,應該在Word Count Summary屬性中包含壓縮旗標位。 壓縮的來源檔案必須儲存在位於.msi檔案內的資料流程中,或儲存在位於來源樹狀結構根目錄的個別封包檔案中。 來源中的所有封包都必須列在 Media 資料表中。

未壓縮的來源

包含完全未壓縮原始程式檔的來源應該省略Word Count Summary屬性中的壓縮旗標位。 來源中所有未壓縮的檔案都必須存在於 Directory 資料表所指定的來源樹狀結構中。

混合來源

若要在相同套件中混合壓縮和未壓縮的來源檔案,請在特定檔案上設定 msidbFileAttributesCompressed 或 msidbFileAttributesNoncompressed 位旗標,覆寫預設的 Word Count Summary屬性。 如果檔案的壓縮狀態不符合Word Count Summary屬性所指定的預設值,這些位旗標會在File 資料表的 Attributes 資料行中設定。

例如,如果Word Count Summary屬性已設定壓縮旗標位,則所有檔案都會被視為壓縮成封包。 來源中的任何未壓縮檔案都必須在 File 資料表的 Attributes 資料行中包含 msidbFileAttributesNoncompressed。 未壓縮的檔案必須位於來源樹狀結構的根目錄。

如果Word Count Summary屬性已設定未壓縮的旗標,則預設會將檔案視為未壓縮,而且任何壓縮的檔案都必須在 File 資料表的 Attributes 資料行中包含 msidbFileAttributesCompressed。 所有壓縮檔都必須儲存在位於.msi檔案內之資料流程的封包檔案中,或儲存在位於來源樹狀目錄根目錄的個別封包檔案中。

如需詳細資訊,請參閱 使用封包和壓縮來源