20111127

Mengenal File INF

elgelg

File INF ini sebenarnya adalah file untuk instalasi program Windows. Extensi yang dipakai adalah *.INF.Tapi pada kenyataannya,file jenis INF adalah suatu file teks yang dibagi menjadi beberapa bagian yang dikenal dengan istilah Section.
Suatu Section dibuat untuk suatu keperluan tertentu, seperti untuk mengopi file atau menambah string ke registry. Banyaknya Section pada suatu file bergantung kepada maksud prosedur instalasi yang akan dijalankan. Sehingga, isi suatu file INF dapat terdiri dari beberapa baris saja, namun tidak sedikit pula yang berisi puluhan baris data.


Komponen pada Section

Banyak sekali Section yang dapat di pasangkan dalam sebuah file *.INF,di bawah ini beberapa Section yang sering dipakai antara lain :
[Version]

Section Ini wajib hukumnya pada setiap file INF,karena berisi informasi tentang file INF itu sendiri,dan merupakan header dari file berformat INF,kurang lebihnya Sextion ini berfungsi untuk memvalidasi file INF

[DefaultInstall]

Berisi pointer ke Section lain,yang menyebutkan/memerintah file ini untuk di copy,delete,atau menambahkan dan manipulasi ke registry.
Jadi Section ini akan selalu di eksekusi

[OtherInstall]

Dalam Section ini berformat sama dengan Section DefaultInstall.Bagian ini digunakan untuk mendefinisikan bagaimana suatu komponen harus di-uninstall.
Sehingga harus secara khusus di aktifkan

[DestinationDirs]

Untuk Section ini merujuk ke lokasi dari hardisk, dimana file yang akan dikopi, dihapus atau di-rename.
elg
[SourceDisksNames]

Section yang berisi daftar dari disk yang bersi file.

[SourceDisksFiles]

Section yang berisi daftar disk spesifik dimana setiap file berada.

Section [Version]

INI adalah bagian penting dalam file INF,jadi harus selalu ada dalam setiap file INF.Karena Section ini memuat signature dan untuk standart signature headernya adalah $Chicago$ . Bentuk penulisannya adalah sebagai berikut :

[Version]
Signature="$Chicago$"
LayoutFile=filename.inf
Provider = civopras

String pada signature tidak case sensitive. Jadi besar kecilnya huruf tidak menjadi suatu permasalahan yang serius :D .
Pada contoh diatas terdapat masukan LayoutFile=filename.inf yang mendefinisikan informasi layout (source disk dan file) yang dibutuhkan untuk menginstal suatu komponen. Pilihan ini bersifat opsional. Jika masukan ini tidak ada, maka section [SourceDisksNames] dan [SourceDisksFiles] harus disebutkan tersendiri dalam file INF yang dibuat. Sedangkan masukan Provider=Cybersufi lebih digunakan untuk menunjukkan pembuat atau penyedia file INF tersebut. Pilihan ini juga opsional.

Section [DefaultInstall]

Section ini terdiri dari dua, [DefaultInstall] dan [OtherInstall]. Keduanya memakai tata cara format yang sama. Umumnya hanya Section [DefaultInstall] saja yang ada dalam suatu file INF. Section ini akan berisi beberapa masukan data, diantaranya adalah :
CopyFiles = section file-list. Digunakan untuk mengopi file dibutuhkan.
RenFiles = section file-list. Digunakan untuk mengganti nama file dibutuhkan.
DelFiles = section file-list. Digunakan untuk menghapus file dibutuhkan.
AddReg = Section add-registry. Digunakan untuk menambah data di registry.
DelReg = Section del-registry. Digunakan untuk menghapus data di registry.
Section ini, secara standar digunakan untuk mengidentifikasikan Section tambahan untuk instalasi komponen.

Section menambah data registry

Untuk memanipulasi registry,di butuhkan suatu masukan pada Section [default Install], yang menyebutkan suatu Section dimana perintah-perintah penambahan data registry berada. Sintaknya adalah sebagai berikut :

[Section AddReg]
String reg-root, [subkey], [value-name], [flag], [value]

[Section AddReg]
Nama Section tidak harus [Section AddReg], tetapi dapat ditulis sembarang nama. Misalnya, menjadi [Registry-ku] atau [aku-ganteng]. jadi bisa sesuai dengan selera masing².
Masukan data pada String reg-root adalah nama dari Registry root. Nilai yang dapat dimasukkan adalah :
HKCR mewakili HKEY_CLASSES_ROOT
HKCU mewakili HKEY_CURRENT_USER
HKLM mewakili HKEY_LOCAL_MACHINE
HKU mewakili HKEY_USERS
Masukan [Subkey] berisi alamat subkey. Dituliskan dengan format : key1\key2\key3 dst. Sebagai contoh : software\microsoft\windows.
Masukan [Value-name] adalah nama value yang akan ditambahkan. Masukan ini disesuaikan dengan yang dibutuhkan. Sebagai contoh: misalnya : NoRun, NoFind, dsb.
Jika masukan ini kosong, maka masukannya akan diset dengan suatu NULL string.
Masukan [Flag] berguna untuk menentukan jenis value dan menentukan apakah nilainya akan diganti ataukah tidak. Empat masukan dapat dipakai, sebagai berikut :
0 - Inilah adalah nilai Default. Valuenya adalah jenis string ANSI dan nilai akan diganti jika sudah ada.
1 - Valuenya adalah jenis hexadecimal dan nilai akan diganti jika sudah ada.
2 - Valuenya adalah jenis ANSI string dan nilai tidak akan diganti jika sudah ada.
3 - Valuenya adalah jenis hexadecimal dan nilai tidak akan diganti jika sudah ada.

Masukan [Value] adalah nilai yang akan dipasangkan. Contoh pemakaiannya adalah :

[Tambah-Registry]
HKLM,Software\Test,Ganteng,,"akuganteng dan tidak maho "

Artinya, membuat suatu Section dengan nama [Tambah-Registry]. Nama value dibentuk di lokasi HKLM\Sofware\Test. HKLM adalah masukan string reg-root. Sedangkan \Sofware\Test adalah masukan dari [Subkey]. Masukan [Value-name] adalah Ganteng. Sedangkan jenis datanya yang akan dibentuk adalah string, karena masukan [Flag] adalah kosong (tidak diisi). Masukan [Value] adalah “akugantengdantidakmaho”.

Section menghapus data registry

hampir sama dengan Section penambahan data registry hanya saja masukan yang di sebutkan adalah perintah-perintah penghapusan registry berada. Sintak penulisannya adalah sebagai berikut :

[Section DelReg]
String reg-root, subkey, [value-name]

[Section DelReg]
Nama Section tidak harus dituliskan [Section DelReg], namun dapat diisi dengan sembarang nama. Misalnya menjadi [HapusRegistry] atau [reg-Hapus]. Sesuaikan dengan selera.
String reg-root adalah Registry root name. Nilai yang dapat dimasukkan adalah sama dengan penambahan registry. (Lihat bagian penambahan data registry).
Subkey berisi alamat subkey yang dituliskan dengan format : key1\key2\key3 dst. Sebagai contoh misalnya : software\policies\control panel.
[Value name] adalah nama value yang akan dihapus. Masukan ini disesuaikan dengan yang data yang akan dihapus. Sebagai contoh: misalnya : NoControlPanel, NoClose, dll.
:u::o:

Nah kiranya cukup sekian,karena penulis juga sudah capke jarinya :ngakak
semoga bermanfaat,apabila ada kurang lebihnya penulis mohon maaf karena penulis juga manusia yang tidak luput dari kesalahan.

Tidak ada komentar:

Posting Komentar