Verwijderbare patches
Of een patch kan worden verwijderd, is afhankelijk van de wijze waarop de patch is gemaakt, de versie van Windows Installer die wordt gebruikt om de patch te installeren en de wijzigingen die door de patch in de toepassing zijn aangebracht. Als een patch niet kan worden verwijderd, kunt u de patch alleen verwijderen door de hele toepassing te verwijderen en opnieuw te installeren zonder dat de patch wordt verwijderd.
U kunt het verwijderen van patches die zijn toegepast met Windows Installer versie 3.0 aanroepen met behulp van opdrachtregelopties, de msiRemovePatches-functie of de RemovePatches-methode zoals beschreven in de sectie Patches verwijderen. Windows Installer controleert of elk van de patches die worden vermeld voor verwijdering in de MSIPATCHREMOVE eigenschap kan worden verwijderd. Als de gebruiker geen bevoegdheden heeft om de patch te verwijderen, is de patch onbekend voor het product, voorkomt patchbeleid verwijdering of is de patch gemarkeerd als niet kan worden verwijderd, retourneert het installatieprogramma een fout die aangeeft dat er een mislukte installatietransactie is uitgevoerd.
Windows Installer 2.0: Niet ondersteund. Patches die zijn toegepast met een versie van Windows Installer die ouder is dan Windows Installer 3.0, kunnen niet worden verwijderd.
Patches die niet kunnen worden verwijderd
Een patch (MSP-bestand) dat is toegepast op een geïnstalleerde toepassing, kan in de volgende gevallen niet worden verwijderd. De enige methode voor het verwijderen van een patch die niet kan worden verwijderd, is door de patch te verwijderen en de toepassing vervolgens opnieuw te installeren zonder de patch opnieuw toe te passen. In dit geval moet u patches die u niet uit de toepassing wilt verwijderen, opnieuw toepassen.
Patches die worden toegepast met een versie van Windows Installer die kleiner is dan Windows Installer 3.0, kunnen niet worden verwijderd.
Patches die zijn toegepast op toepassingen die zijn geïnstalleerd op een computer waarop de DisablePatchUninstall beleid is ingesteld door een beheerder, kunnen niet worden verwijderd. Wanneer dit computerbeleidis ingesteld, kunnen er geen patches op de computer worden verwijderd, zelfs door een beheerder.
Patches die geen MsiPatchMetadata tabel in hun database hebben, kunnen niet worden verwijderd.
Patches die niet de volgende rij in hun MsiPatchMetadata tabel bevatten, kunnen niet worden verwijderd. De patch kan niet worden verwijderd voor andere waarden van Bedrijf, Eigenschap en Waarde.
Bedrijf Eigenschap Waarde {Null} AllowRemoval 1 De patch is toegepast op een toepassing die is geïnstalleerd in een context waarvoor de gebruiker onvoldoende bevoegdheden heeft om patches te verwijderen. De woorden 'Niet toegestaan' in de volgende tabel geven aan dat een beheerder of niet-beheerder geen patches kan verwijderen uit gepatchte toepassingen die in deze context zijn geïnstalleerd. Het woord 'Toegestaan' in deze tabel betekent dat bevoegdheden niet verhinderen dat een beheerder of niet-beheerder patches verwijdert, maar vanwege een van de andere redenen die in deze sectie worden besproken, is het nog steeds niet mogelijk om de patch te verwijderen.
toepassingsinstallatiecontext Beheerder verwijderen van patch Verwijderen van patch niet-beheerder Per-Machine Toegestaan Over het algemeen is de enige uitzondering niet toegestaan als de patch is toegepast met behulp van patching (LUA). Een patch die is gemarkeerd als een LUA-patch, kan worden verwijderd door beheerders of niet-beheerders. LUA-patching is alleen beschikbaar voor pakketten die zijn geïnstalleerd per computer vanaf media en vereisen speciale creatie. Per-User niet-beheerd voor huidige gebruiker Toegestaan Toegestaan Per-User niet beheerd voor verschillende gebruikers Niet toegestaan Niet toegestaan Per-User beheerd voor huidige gebruiker Toegestaan Niet toegestaan Per-User beheerd voor verschillende gebruikers Niet toegestaan Niet toegestaan Een primaire upgrade die door een patch wordt toegepast, kan niet worden verwijderd. Primaire upgrades van een toepassing moeten worden uitgevoerd door de bijgewerkte toepassing (.msi-bestand) te installeren in plaats van een patch.
Patches die zijn toegepast op een installatie met beheerdersrechten, kunnen niet worden verwijderd. Patching van beheerinstallaties wordt niet aanbevolen. De huidige set patches moet worden toegepast op de computer van de gebruiker nadat de gebruiker de toepassing heeft geïnstalleerd vanuit de beheerinstallatiekopieën. Dit kan voorkomen dat de pakketcode die op de computer van de gebruiker is opgeslagen, anders wordt dan de pakketcode in de beheerinstallatie. Als de pakketcode die op de computer van de gebruiker in de cache is opgeslagen, verschilt van die op de installatie met beheerdersrechten, installeert u de toepassing opnieuw vanaf de beheerinstallatie en patcht u vervolgens de clientcomputer.
Wanneer een patch nieuwe inhoud toevoegt aan een van de tabellen in de volgende lijst, markeert Windows Installer de patch omdat deze niet kan worden verwijderd. Een verwijderbare patch kan nieuwe bestanden, assembly's, registervermeldingen, onderdelen of onderdelen toevoegen aan een installatie door nieuwe rijen toe te voegen aan databasetabellen die niet in deze lijst zijn opgenomen.
[! Opmerking]
Als een patch nieuwe inhoud toevoegt aan de RemoveFile of RemoveRegistry tabellen, markeert Windows Installer de patch niet omdat deze niet kan worden verwijderd. De patch kan echter niet worden verwijderd, tenzij de resource voor het verwijderen van de nieuwe inhoud nog niet bestaat in het oorspronkelijke installatiepakket. Als de patch bijvoorbeeld een nieuwe rij toevoegt aan de tabel RemoveFile, kan het verwijderde bestand niet worden hersteld door de patch te verwijderen als het bestand zich buiten de tabel Bestand bevindt. Het bestand moet zijn gemaakt in de tabel Bestand van het oorspronkelijke pakket plus toegepaste patches om de patch te kunnen verwijderen.
Verwante onderwerpen