ICE35

ICE35 memvalidasi bahwa komponen yang berisi file terkompresi yang disimpan dalam file kabinet tidak diatur untuk dijalankan dari sumber. Dengan Pemasang Windows 2.0 atau yang lebih baru, pembatasan ini telah dihapus.

ICE35 mengkueri kolom Kabinet tabel Media untuk menentukan file mana yang dikompresi dan disimpan dalam file kabinet. Ini meminta tabel File untuk menentukan komponen mana yang berisi file-file ini. Terakhir, ini memeriksa tabel Komponen untuk menentukan apakah bit run-from-source diatur di kolom Atribut.

Hasil

ICE35 memposting pesan kesalahan jika ada file terkompresi yang disimpan dalam file kabinet milik komponen dengan bit msidbComponentAttributesSourceOnly yang diatur di kolom Atribut tabel Komponen. Dengan Windows Installer 2.0 atau yang lebih baru, ini diubah dari kesalahan menjadi pesan peringatan. Paket yang hanya mendukung Windows Installer 2.0 dan yang lebih baru memiliki properti PID_PAGECOUNT dari Summary Information Stream yang diatur ke nilai setidaknya 200.

ICE35 memposting pesan peringatan jika ada file terkompresi yang disimpan dalam file kabinet milik komponen dengan bit msidbComponentAttributesOptional yang diatur di kolom Atribut tabel Komponen. Pesan peringatan ini telah dihapus dengan Pemasang Windows 2.0 dan yang lebih baru.

Jika beberapa file dalam komponen berada dalam file kabinet, ICE35 melaporkan kesalahan untuk setiap file yang memiliki eksekusi dari set bit sumber.

Contoh

ICE35 melaporkan kesalahan dan peringatan berikut untuk contoh yang ditampilkan menggunakan versi yang lebih lama dari Penginstal Windows versi 2.0.

Kesalahan ICE35 Deskripsi
KESALAHAN: Komponen3 tidak dapat dijalankan dari sumber saja, karena file anggotanya 'File3' dikompresi. Ada file terkompresi yang disimpan dalam file kabinet dan file ini milik komponen dengan bit SourceOnly yang diatur di kolom Atribut tabel Komponen. Untuk memperbaiki kesalahan ini, ubah 2 bit yang lebih rendah dari nilai Atribut Component2 menjadi "00", yang berarti Lokal saja, atau hapus File4 dari file CAB.
KESALAHAN: Komponen3 tidak dapat dijalankan dari sumber saja, karena file anggotanya 'File3' dikompresi. Ada file terkompresi yang disimpan dalam file kabinet dan file ini milik komponen dengan bit SourceOnly yang diatur di kolom Atribut tabel Komponen. Karena file dalam komponen tidak semua harus berasal dari media yang sama, ICE35 melaporkan kesalahan untuk setiap file dalam komponen yang ada di kabinet.
Untuk memperbaiki kesalahan ini, ubah 2 bit yang lebih rendah dari nilai Atribut Component2 menjadi "00", yang berarti Lokal saja, atau hapus File4 dari file CAB.

 

Tabel Media (parsial)

DiskID LastSequence Kabinet
1 2  
2 4 One.cab
3 5 #Two.cab

 

Tabel File (parsial)

File Komponen_ Urutan
File1 Komponen1 1
File2 Komponen2 2
File3 Komponen2 3
File4 Komponen3 4
File5 Komponen3 5

 

Tabel Komponen (parsial)

Komponen Atribut
Komponen1 0
Komponen2 2
Komponen3 1

 

Tabel Pintasan (parsial)

Pintasan Ikon_
Pintasan1 Ikon2

 

Perhatikan bahwa file juga dapat ditandai sebagai dikompresi menggunakan Properti Ringkasan Jumlah Word dari aliran Informasi Ringkasan.

Referensi ICE