Symbolen gebruiken om de grootte van binaire patches te verkleinen
Als u openbare symbolen gebruikt voor uw doel en binaire bestanden voor afbeeldingen bijwerken, kunt u de binaire patchgrootten met ongeveer de helft verminderen. De werkelijke vermindering is afhankelijk van de gebruikte symbolen. Houd er rekening mee dat het gebruik van symbolen kan leiden tot tragere aanmaaktijden van patches, omdat het langer duurt om de symboolbestanden te verwerken.
Als u de grootte van een binaire patch wilt verkleinen met behulp van symbolen, moet u symbolen opgeven voor zowel de doelbinaire bestanden als de upgradebinaire bestanden van de afbeeldingen. Geef de symbolen op in de kolom SymbolPaths van de TargetImages tabel en de kolom SymbolPaths van de UpgradedImages tabel. U moet Visual C++ gebruiken om symbolen te genereren in de PDB-bestandsindeling (program database). Nieuwere versies van Visual C++ bieden alle benodigde informatie in het PDB-bestand. Oudere versies van Visual C++ genereren ook de bestandsindeling voor foutopsporing (DBG). In dit geval moet de waarde SymbolsPaths de locatie van zowel de PDB- als DE DBG-bestanden opgeven.
De TargetImage voor een patch kan bijvoorbeeld het installatiepakket zijn dat wordt geleverd met Windows 2000 en waarmee de versie 1.1.1029.0 van MSI.DLL wordt geïnstalleerd. UpgradeImage kan het bijgewerkte installatiepakket zijn dat wordt geleverd met Windows 2000 met Service Pack 1 (SP1) en waarmee de versie 1.11.1314.0 van MSI.DLL wordt geïnstalleerd. Er moeten vervolgens twee PCP-bestanden (Patch Creation Properties) worden gemaakt, één met de kolom SymbolPaths van zowel de TargetImages als UpgradedImages tabellen NULL (leeg) en de andere met de kolom SymbolPaths van zowel de TargetImages- als UpgradeImages-tabellen gevuld met de locatie van de symbolen voor de binaire bestanden. In dit geval kan de grootte van de patch die wordt gegenereerd zonder symbolen te gebruiken ongeveer drie keer de grootte van de patch zijn die wordt gegenereerd met behulp van symbolen.
Het hulpprogramma Mpatch.exe kan worden gebruikt om het genereren van binaire patches voor één bestand te testen en om te controleren of de symbolen geldig zijn. Het hulpprogramma Mpatch.exe is opgenomen in de Windows SDK-onderdelen voor Windows Installer-ontwikkelaars. De uitvoer van Mpatch.exe geeft aan of de symbolen niet overeenkomen.
Voer bijvoorbeeld de volgende opdrachtregel in om te controleren of de symbolen geldig zijn.
mpatch.exe -NEWSYMPATH:d:\update -OLDSYMPATH:d:\target d:\target\example.dll d:\update\example.dll example.pat
Als de symbolen zich niet op de juiste locatie bevinden, kan de uitvoer van Mpatch.exe de volgende waarschuwing bevatten.
WARNING: no debug symbols for d:\update\example.dll