Menyertakan File Kabinet dalam Penginstalan

Bagian ini menjelaskan termasuk file kabinet dalam penginstalan. Untuk informasi selengkapnya, lihat Menggunakan Kabinet dan Sumber Terkompresi.

Untuk menyertakan file kabinet dalam paket penginstalan

  1. Gunakan alat pembuatan kabinet untuk memadatkan file sumber ke dalam file kabinet. Lihat File Kabinet.
  2. File kabinet harus terletak di aliran data di dalam file .msi atau dalam file kabinet terpisah yang terletak di akar pohon sumber yang ditentukan oleh Tabel Direktori.
  3. Tentukan apakah sumber akan menjadi jenis terkompresi atau tipe campuran yang memiliki file yang tidak dikompresi dan terkompresi. Lihat Sumber Terkompresi dan Tidak Dikompresi. Bergantung pada jenis gambar sumber, atur bit bendera terkompresi atau tidak dikompresi dari Properti Ringkasan Hitungan Kata .
  4. Tambahkan rekaman ke tabel File untuk setiap file di kabinet. Masukkan kunci file di kolom File yang sama persis dengan kunci file di kabinet. Kunci file peka huruf besar/kecil. Urutan penginstalan file dalam tabel File dan kabinet juga harus sama. Urutan file ditentukan oleh nomor urut di kolom Urutan. Untuk sampai pada nomor urut untuk file pertama di kabinet, lakukan hal berikut. Temukan rekaman yang ada di tabel Media yang memiliki nilai terbesar di kolom DiskID. Bidang LastSequence dari rekaman ini memberikan nomor urutan file terakhir yang digunakan pada media. Dalam tabel File, tetapkan file pertama dari kabinet baru nomor urut yang lebih besar dari ini. Tetapkan nomor urut ke semua file yang tersisa dalam urutan yang sama seperti dalam file kabinet. Untuk deskripsi bidang rekaman yang tersisa, lihat Tabel file.
  5. Tambahkan rekaman ke tabel Media untuk kabinet. Tentukan nilai di bidang DiskID rekaman baru ini yang lebih besar dari nilai DiskID terbesar yang sudah ada dalam tabel. Masukkan nama kabinet ke bidang Kabinet. Nama ini harus dalam bentuk tipe data Kabinet . Awali nama dengan tanda angka "#" jika kabinet adalah aliran data yang disimpan dalam file .msi. Perhatikan bahwa jika kabinet adalah aliran data, nama kabinet peka huruf besar/kecil. Jika kabinet adalah file terpisah, nama file tidak peka huruf besar/kecil.
  6. Tentukan nomor urutan file terbesar di kabinet baru dengan memeriksa kolom Urutan tabel File yang diperbarui. Masukkan nilai yang lebih besar dari ini ke bidang LastSequence dari rekaman baru tabel Media. Untuk deskripsi bidang rekaman yang tersisa, lihat Tabel media.
  7. Anda dapat menyimpan file kabinet dalam paket penginstalan baik dengan menggunakan alat seperti Msidb.exe atau dengan menggunakan Fungsi Database penginstal. Empat langkah berikut menjelaskan cara menambahkan kabinet dari program dengan menggunakan fungsi database.
  8. Untuk menambahkan kabinet ke paket penginstalan dari program, buka tampilan pada tabel _Streams database menggunakan MsiDatabaseOpenView.
  9. Gunakan MsiRecordSetString untuk mengatur kolom Nama tabel _Streams ke nama yang muncul di kolom Kabinet tabel Media. Hilangkan tanda nomor: #.
  10. Gunakan MsiRecordSetStream untuk mengatur kolom Data dari tabel _Streams ke data kabinet.
  11. Gunakan MsiViewModify untuk memperbarui rekaman dalam tabel _Streams.
  12. Untuk menggunakan Msidb.exe untuk menambahkan file kabinet Mycab.cab ke paket penginstalan bernama Mydatabase.msi, gunakan baris perintah berikut: Msidb.exe -d mydatabase.msi -a mycab.cab. Dalam hal ini, kolom Kabinet tabel Media harus berisi string: #mycab.cab.