Tabel File
Tabel File berisi daftar lengkap file sumber dengan berbagai atributnya, yang diurutkan oleh pengidentifikasi unik yang tidak dilokalkan. File dapat disimpan di media sumber sebagai file individual atau dikompresi dalam file kabinet. Untuk informasi selengkapnya, lihat Menggunakan Kabinet dan Sumber Terkompresi.
Tabel File memiliki kolom berikut.
Kolom | Jenis | Kunci | Dapat diubah ke null |
---|---|---|---|
File | Pengidentifikasi | Y | N |
Komponen_ | Pengidentifikasi | N | N |
FileName | Filename | N | N |
FileSize | Bilangan Bulat Ganda | N | N |
Versi | Versi | N | Y |
Bahasa | Bahasa | N | Y |
Atribut | Bilangan bulat | N | Y |
Urutan | Bilangan bulat | N | N |
-
File
-
Token yang tidak dilokalkan yang secara unik mengidentifikasi file. Bidang ini tidak peka terhadap huruf besar/kecil. Jangan menetapkan pengidentifikasi ke file berbeda yang hanya berbeda dengan kasusnya.
-
Komponen_
-
Kunci eksternal ke dalam kolom pertama Tabel Komponen. Bidang ini mengidentifikasi Komponen yang mengontrol file.
-
Filename
-
Nama file yang digunakan untuk penginstalan. Nama dapat dilokalkan.
Karena beberapa server web dapat peka huruf besar/kecil, FileName harus cocok dengan kasus file sumber persis untuk memastikan dukungan unduhan Internet.
-
Filesize
-
Ukuran file dalam byte. Ini harus berupa angka non-negatif.
-
Versi
-
Bidang ini adalah string versi untuk file versi. Bidang ini kosong untuk file non-versi. Versi file yang dimasukkan ke dalam bidang ini harus identik dengan versi file yang disertakan dengan paket penginstalan.
Bidang Versi juga dapat diatur untuk berisi kunci utama rekaman lain dalam tabel File. File yang dirujuk kemudian menentukan logika penerapan versi untuk file ini. Untuk informasi selengkapnya, lihat File Pendamping. Perhatikan bahwa jika file ini adalah jalur kunci untuk komponennya, file tersebut tidak boleh ditentukan sebagai file pendamping.
-
Bahasa
-
Daftar ID bahasa desimal yang dipisahkan oleh koma.
File font tidak boleh ditulis dengan ID bahasa, karena font tidak memiliki sumber daya ID bahasa yang disematkan. Dengan demikian kolom ini harus dibiarkan null untuk file font.
-
Atribut
-
Bilangan bulat yang berisi bendera bit yang mewakili atribut file.
Tabel berikut ini memperlihatkan definisi bidang bit.
Terus-menerus Heksadesimal Desimal Deskripsi msidbFileAttributesReadOnly 0x000001 1 Baca-saja msidbFileAttributesHidden 0x000002 2 Tersembunyi msidbFileAttributesSystem 0x000004 4 Sistem msidbFileAttributesVital 0x000200 512 File ini sangat penting untuk pengoperasian komponen yang akurat tempatnya berada. Jika penginstalan file dengan atribut msidbFileAttributesVital gagal, penginstalan berhenti dan digulung balik. Dalam hal ini, Alat Penginstal menampilkan kotak dialog tanpa tombol Abaikan. Jika atribut ini tidak diatur, dan penginstalan file gagal, Alat Penginstal menampilkan kotak dialog dengan tombol Abaikan. Dalam hal ini, pengguna dapat memilih untuk mengabaikan kegagalan untuk menginstal file dan melanjutkan. msidbFileAttributesChecksum 0x000400 1024 File berisi checksum yang valid. Checksum diperlukan untuk memperbaiki file yang telah rusak. msidbFileAttributesPatchAdded 0x001000 4096 Bit ini hanya boleh ditambahkan oleh patch dan jika file sedang ditambahkan oleh patch. msidbFileAttributesNoncompressed 0x002000 8192 Tipe sumber file tidak dikompresi. Jika diatur, abaikan Properti Ringkasan Jumlah Word. Jika msidbFileAttributesNoncompressed atau msidbFileAttributesCompressed tidak diatur, status kompresi file ditentukan oleh Properti Ringkasan Jumlah Word. Jangan atur msidbFileAttributesNoncompressed dan msidbFileAttributesCompressed. msidbFileAttributesCompressed 0x004000 16384 Jenis sumber file dikompresi. Jika diatur, abaikan Properti Ringkasan Jumlah Word. Jika msidbFileAttributesNoncompressed atau msidbFileAttributesCompressed tidak diatur, status kompresi file ditentukan oleh Properti Ringkasan Jumlah Word. Jangan atur msidbFileAttributesNoncompressed dan msidbFileAttributesCompressed. Jika msidbFileAttributesVital bit dalam kolom Atribut diatur, dan jika komponen tempat file dipilih untuk penginstalan, maka alat penginstal harus dapat menginstal file ini agar penginstalan berhasil diselesaikan. Jika alat penginstal tidak dapat menginstal file karena alasan tertentu (misalnya, jika file sumber tidak dapat ditemukan di dalam gambar sumber), maka kotak dialog kesalahan akan muncul dengan opsi "Coba Lagi" atau "Batal". Untuk file yang tidak memiliki set msidbFileAttributesVital , opsi jika terjadi kesalahan penginstalan adalah "Batalkan", "Coba Lagi", dan "Abaikan" (artinya, pengguna akan memiliki opsi untuk menyelesaikan penginstalan dengan sukses tanpa menginstal file tersebut).
Bit msidbFileAttributesChecksum dalam kolom Atribut harus diatur untuk setiap file yang dapat dieksekusi dalam penginstalan yang memiliki checksum valid yang disimpan di header file Portable Executable (PE). Hanya file yang memiliki set bit ini yang akan diverifikasi untuk checksum yang valid selama penginstaian ulang. Untuk informasi selengkapnya, lihat REINSTALLMODE.
-
Urutan
-
Posisi urutan file ini pada gambar media. Urutan ini harus sesuai dengan urutan file dalam kabinet jika file dikompresi. Bilangan bulat dalam bidang ini harus sama atau lebih besar dari 1.
Nomor urut dalam kolom Urutan digunakan untuk menentukan urutan penginstalan untuk file dan media sumber tempat file berada (bersama dengan Tabel Media). Misalnya, file memiliki nomor urut 92. Untuk menentukan disk sumber tempat file ini berada, lihat di tabel Media untuk entri dengan nilai Urutan Terakhir terkecil yang lebih besar dari 92.
Meskipun file terkompresi diberi nomor urutan internal dalam kabinet, angka absolut tersebut tidak perlu cocok dengan nomor urut dalam tabel File. Namun, penting bahwa urutan file dalam tabel File identik dengan urutan file dalam lemari.
Untuk file yang tidak dikompresi, nomor urut tidak perlu unik. Misalnya, jika semua file Anda tidak dikompresi, dan semuanya berada di satu disk, Anda dapat memberikan semua file nomor urutan yang sama.
Batas maksimum adalah 32767 file. Untuk membuat paket Pemasang Windows dengan lebih banyak file, lihat Menulis Paket Besar.
Tindakan InstallFiles dan RemoveFiles dalam tabel urutan memproses informasi dalam tabel ini. Untuk informasi tentang menggunakan tabel urutan, lihat Menggunakan Tabel Urutan.
Tabel awalnya dihasilkan dari daftar file, tetapi jika kompresi kabinet digunakan, tabel diregenerasi dari output mesin kompresi. Untuk informasi selengkapnya, lihat File Kabinet.
Untuk memindahkan file yang ada di komputer pengguna selama penginstalan, gunakan Tindakan MoveFiles dan Tabel MoveFile. Untuk menginstal file ke beberapa lokasi, gunakan Tindakan DuplicateFiles dan Tabel DuplicateFile.
Tabel berikut ini meringkas kemungkinan kombinasi nilai di kolom Versi dan kolom Bahasa. Untuk informasi selengkapnya, lihat Aturan Penerapan Versi File.
Versi | Bahasa | Deskripsi |
---|---|---|
1.2.3.4 | 1033 | Versi dan bahasa. |
1.2.3.4 | (Null) | Versi tetapi tidak ada bahasa. |
1.2.3.4 | 0 | Versi dan bahasanya netral. |
Testdb | (Null) | File pendamping tanpa bahasa yang terkait dengannya. |
Testdb | 1033 | File dan bahasa pendamping. |
(Null) | 1033 | Tidak ada versi, tetapi memiliki bahasa yang terkait dengannya (yaitu, typelib, helpfile). |
Untuk informasi selengkapnya, lihat Tabel MsiLockPermissionsEx dan Tabel LockPermissions.
ICE02
ICE03
ICE04
ICE06
ICE18
ICE30
ICE32
ICE35
ICE39
ICE42
ICE45
ICE50
ICE51
ICE54
ICE55
ICE57
ICE59
ICE60
ICE67
ICE69
ICE76
ICE91