Sdílet prostřednictvím


Odinstalace vlastních akcí opravy

Možnost odinstalace vlastní opravy akcí můžete použít k určení, že instalační program spustí vlastní akci pouze při odinstalaci opravy.

Instalační služba systému Windows 4.5 a novější: Můžete použít možnost odinstalace vlastní opravy akcí určit, že instalační program spustí vlastní akci pouze při odinstalaci opravy.

** Instalační služba systému Windows 4.0 a starší: **

Možnost odinstalace vlastní opravy akcí není k dispozici. Neexistuje žádná metoda pro označení vlastní akce v balíčku oprav, který se má spustit při odinstalaci opravy, protože instalační program neinstaluje odinstalované balíčky oprav.

Pokud chcete mít vlastní akci spustit při odinstalaci konkrétní opravy, musí být vlastní akce buď v původní aplikaci, nebo musí být v opravě produktu, který je vždy použit.

Vývojáři mohou použít vlastnost MsiPatchRemovalList k vytvoření balíčku nebo opravy Instalační služby systému Windows, který provádí vlastní akce při odebrání opravy. Vlastní akci lze vytvořit do původního instalačního balíčku, opravy, která již byla použita pro balíček, nebo opravu, která není odinstalovatelné opravy. Vlastní akci lze podmíněně na MsiPatchRemovalList vlastnost v sekvenčních tabulkách. Další informaceochch ch

Vlastní akce může získat identifikátory GUID oprav odebraných z hodnoty vlastnosti MsiPatchRemovalList. Vlastní akce může určit, zda je stav instalace opravy použit, zastaralý nebo nahrazen voláním MsiGetPatchInfoEx nebo PatchProperty vlastnost Patch Objekt.

Pokud vlastní akce vyžaduje speciální metadata z opravy, měla by oprava obsahovat vlastní akci, která při použití opravy zapíše metadata do registru nebo umístění souboru. Vlastní akce v původní aplikaci nebo opravě, která se vždy použije, může získat informace potřebné k odebrání změn opravy.

Opravy, které provádějí změny, které jsou obtížné vrátit zpět správně, by neměly být označeny jako odinstalovatelné opravy.

sekvencování oprav

odebrání oprav

odinstalovatelné opravy

odinstalace oprav

MSIPATCHREMOVE

MsiEnumapplicationsEx

msiGetPatchInfoEx

MsiRemovePatches