Menggunakan Simbol untuk Mengurangi Ukuran Patch Biner

Menggunakan simbol publik untuk biner gambar target dan peningkatan Anda dapat mengurangi ukuran patch biner sekitar satu setengah. Pengurangan aktual tergantung pada simbol yang digunakan. Perhatikan bahwa menggunakan simbol dapat mengakibatkan waktu pembuatan patch yang lebih lambat karena membutuhkan waktu lebih lama untuk memproses file simbol.

Untuk mengurangi ukuran patch biner menggunakan simbol, Anda harus menyediakan simbol untuk biner gambar target dan peningkatan. Tentukan simbol di kolom SymbolPaths dari tabel TargetImages dan kolom SymbolPaths dari tabel UpgradedImages . Anda harus menggunakan Visual C++ untuk menghasilkan simbol dalam format file database program (PDB). Versi Visual C++ yang lebih baru menyediakan semua informasi yang diperlukan dalam file PDB. Versi Visual C++ yang lebih lama juga menghasilkan format file debug (DBG). Dalam hal ini, nilai SymbolsPaths harus menentukan lokasi file PDB dan DBG.

Misalnya, TargetImage untuk patch mungkin merupakan paket penginstalan yang dikirim dengan Windows 2000 dan yang menginstal versi 1.1.1029.0 MSI.DLL. UpgradedImage mungkin paket penginstalan yang diperbarui yang dikirim dengan Windows 2000 dengan Paket Layanan 1 (SP1) dan yang menginstal versi 1.11.1314.0 MSI.DLL. Dua file Properti Pembuatan Patch (PCP) kemudian harus dibuat, satu dengan kolom SymbolPaths dari tabel TargetImages dan UpgradedImages meninggalkan NULL (kosong) dan yang lainnya dengan kolom SymbolPaths dari tabel TargetImages dan UpgradedImages yang diisi dengan lokasi simbol untuk biner. Dalam hal ini, ukuran patch yang dihasilkan tanpa menggunakan simbol dapat sekitar tiga kali ukuran patch yang dihasilkan menggunakan simbol.

Utilitas Mpatch.exe dapat digunakan untuk menguji pembuatan patch biner untuk satu file dan untuk memeriksa apakah simbol valid atau tidak. Utilitas Mpatch.exe disertakan dalam Komponen Windows SDK untuk Pengembang Pemasang Windows. Output Mpatch.exe akan menunjukkan apakah simbol tidak cocok.

Misalnya, masukkan baris perintah berikut untuk memeriksa apakah simbol valid atau tidak.

mpatch.exe -NEWSYMPATH:d:\update -OLDSYMPATH:d:\target d:\target\example.dll d:\update\example.dll example.pat

Jika simbol tidak berada di lokasi yang benar, output Mpatch.exe mungkin menyertakan peringatan berikut.

WARNING: no debug symbols for d:\update\example.dll