Zmenšení velikosti záplaty

Od Instalační služby systému Windows verze 3.0 můžou autoři oprav použít standardní hodnoty produktu uložené instalačním programem, aby snadněji obsluhovaly aplikace s menšími rozdílovými opravami. V mnoha případech může být rozdílová oprava, která do aplikace poskytuje servisní informace, výrazně menší než úplná oprava souboru nebo instalační balíček, který poskytuje stejné informace.

Instalační služba systému Windows 2.0: Nepodporuje se. Počínaje Instalační službou systému Windows 3.0 instalační program selektivně ukládá základní informace o souborech při jejich aktualizaci.

Instalační služba systému Windows poskytuje tři metody pro aktualizaci a údržbu aplikací: malých aktualizací, dílčí upgradya hlavních upgradů. Malá aktualizace se také označuje jako rychlá aktualizace QFE (Quick Fix Engineering) a dílčí upgrade se také označuje jako aktualizace Service Pack (SP). Typický hlavní upgrade odebere předchozí aplikaci a nainstaluje novou aplikaci. Instalační služba systému Windows může poskytovat informace o údržbě aplikacím jako instalační balíček (soubor.msi) nebo jako balíček oprav (soubor .msp).

Balíček oprav instalační služby systému Windows, který poskytuje servisní informace pro malou aktualizaci nebo dílčí upgrade, je obecně mnohem menší než ekvivalentní instalační balíček, který poskytuje stejné informace o údržbě. Doporučuje se používat balíčky oprav pro distribuci malých a menších upgradů. Doporučuje se použít instalační balíček pro distribuci hlavního upgradu.

Opravy pro Windows Instalační službu (soubory .msp) se dají vygenerovat buď z úplných souborů, nebo z rozdílů mezi soubory (také nazývané delta soubory). Oprava systému Windows Instalační služby vygenerovaná z delta souborů může být mnohem menší než odpovídající úplná oprava souboru. Všechny verze Instalační služby systému Windows mohou používat opravy s úplnými soubory nebo rozdílové opravy.

Počínaje Instalační službou systému Windows verze 3.0 instalační program selektivně ukládá základní informace o souborech při jejich aktualizaci. Informace o původní základní aplikaci (verze RTM) a nejnovější dílčí upgrade (aktualizace Service Pack) jsou uloženy v privátním umístění při instalaci nebo přijetí dílčího upgradu.

Instalační program provede následující kroky, aby se minimalizovala velikost základní mezipaměti:

  • Pro každou aplikaci se neuchovávají více než dva směrné plány: směrný plán souboru, který byl původně vydán (RTM) a směrný plán souboru v nejnovější dílčí aktualizaci (Service Pack).)
  • Soubor se do mezipaměti nepřidá, dokud nebude opraven. Základní mezipaměť je funkce copy-on-write.
  • Pokud se aplikace nikdy neaktualizovala, v základní mezipaměti nejsou žádné soubory.
  • Když poslední údržbou aplikace došlo k dílčímu upgradu (servisní balíček), aplikace je na základní úrovni a na počítači může být přítomna nejvýše dvě kopie souboru. Jedna kopie souboru je v cílovém adresáři instalace. Druhá kopie může být v základní mezipaměti RTM.
  • Když poslední údržbou aplikace byla malá aktualizace (QFE), aplikace není na základní úrovni a na počítači mohou být přítomny nejvýše tři kopie souboru. První kopie souboru je v cílovém adresáři instalace. Druhá kopie souboru je v základní mezipaměti RTM. Poslední kopie souboru je v nejnovější základní mezipaměti.
  • Základní mezipaměť aplikace se odebere při odinstalaci produktu.

Počínaje Instalační službou systému Windows verze 3.0 může instalační program použít základní mezipaměť při použití oprav v aplikaci. Základní informace lze použít k aplikaci rozdílové opravy nebo k vrácení souboru k předchozí verzi během odinstalace opravy. Autoři oprav mohou takto těžit z menších delta balíčků. Pokud instalační program zjistí, že delta opravu nelze použít u cílového souboru, může se pokusit použít soubor uložený v bazální mezipaměti jako výchozí bod. Instalační program se po vyzkoušení všech možností v mezipaměti pouze uchýlí k vyžádání původního zdroje instalace.

Dodržování následujících pokynů může autorům záplat pomoct s použitím záplat verze 3.0 a základní mezipaměti k vytvoření menších rozdílových záplat.

  • Autor oprav, které zahrnují tabulku MsiPatchSequence. Tato tabulka je nutná k použití základní mezipaměti a je k dispozici od Instalační služby systému Windows verze 3.0.
  • Nenastavujte zásady, které brání základnímu ukládání do mezipaměti. Hodnota zásady MaxPatchCacheSize určuje maximální procento místa na disku, které lze použít. Pokud je zásada MaxPatchCacheSize nastavená na hodnotu 0, žádné další soubory se neuloží do základní mezipaměti. Pokud zásada není nastavená, výchozí hodnota je, že je možné použít maximálně 10% místa na disku. Pokud celková velikost mezipaměti dosáhne maximálního procenta místa na disku, neuloží se žádné další soubory. Zásady nemají vliv na soubory, které už byly uloženy. I když je ukládání do mezipaměti zakázané, může instalační program používat existující mezipaměti standardních hodnot produktu.
  • Pokud první použitá oprava obsahuje tabulku MsiPatchSequence, ukládání do mezipaměti je pro aplikaci povoleno.
  • Pokud jakákoli oprava v servisní transakci neobsahuje tabulka MsiPatchSequence, ukládání do mezipaměti je povoleno pro aplikaci pouze v případě, že dílčí oprava upgradu (aktualizace Service Pack), která obsahuje tabulku MsiPatchSequence je úspěšně použita na produkt.
  • Vygenerujte balíček oprav pomocí nástrojů pro vytváření oprav, jako jsou Msimsp.exe a PATCHWIZ.DLL.
  • Vždy cílí na opravy pro verzi RTM aplikace nebo dílčí upgrade (service pack) verze aplikace. Cíle zadané v tabulce TargetImages souboru Vlastnosti vytvoření opravy (PCP) by měly být kontrolní body produktu definované prvními třemi poli vlastnosti ProductVersion.
  • Nikdy necílit opravy u malých aktualizačních imagí. Cíl pro výstavbu opravy by neměl obsahovat dřívější obrazy malých aktualizací.