Patchpakketten
Een Windows Installer-patch (.msp-bestand) is een bestand dat wordt gebruikt voor het leveren van updates aan Windows Installer-toepassingen. De patch is een zelfstandig pakket dat alle informatie bevat die nodig is om de toepassing bij te werken. Een patchpakket (.msp-bestand) kan veel kleiner zijn dan het Windows Installer-pakket (.msi bestand) voor de volledige bijgewerkte toepassing. Zie Reduce Patch Sizevoor meer informatie over het leveren van kleinere updates aan toepassingen.
Een patchpakket bevat de daadwerkelijke updates voor de toepassing en beschrijft welke versies van de toepassing de patch kunnen ontvangen. Patches bevatten minimaal twee databasetransformaties. Met één transformatie wordt de informatie in de installatiedatabase van de toepassing bijgewerkt. De andere transformatie voegt informatie toe die het installatieprogramma gebruikt voor patchbestanden. Het installatieprogramma gebruikt de informatie van de transformaties om patchbestanden toe te passen die zijn opgeslagen in de cabinetbestandsstroom van het patchpakket. Een patchpakket heeft geen database zoals een installatiepakket (.msi bestand.)
Vanaf Windows Installer versie 3.0 kunnen patchpakketten informatie bevatten die de patchvolgorde voor de patch beschrijft ten opzichte van andere updates in de MsiPatchSequence tabel en aanvullende beschrijvende informatie in de tabel MsiPatchMetadata tabel.
Gebruikers kunnen toepassingen en updates installeren vanuit een netwerkbeheerinstallatiekopieën. Hoewel patchpakketten kunnen worden toegepast op beheerinstallaties, is de aanbevolen methode voor het leveren van updates door gebruikers de oorspronkelijke toepassing te laten installeren en vervolgens de patches toe te passen op het lokale exemplaar van de toepassing op hun computer. Hierdoor blijven gebruikers gesynchroniseerd met de beheerinstallatiekopieën. Als er een patch wordt toegepast op de installatie met beheerdersrechten, moeten alle clients van die beheerinstallatie de cache van de toepassing opnieuw in de cache installeren en de toepassing opnieuw installeren om de update te ontvangen. Totdat een gebruiker herstelt en opnieuw installeert, kan de gebruiker installatie op aanvraag niet installeren en herstellen vanuit de gepatchte beheerinstallatie.
Vanaf Windows Installer 3.0 kunnen niet-beheerders patches toepassen op door de gebruiker beheerde toepassingen nadat de patch is goedgekeurd als vertrouwd door een beheerder. Zie Patching Per-User Managed Applicationsvoor meer informatie over hoe u dit doet. Een andere methode is het gebruik van patching van gebruikersaccounts met minimale bevoegdheden.
Notitie
Als het beleid AllowLockdownPatch is ingesteld, kunnen niet-beheerders een patch toepassen op een bestaande toepassing tijdens het uitvoeren van een installatie met verhoogde bevoegdheden. Deze methode wordt niet aanbevolen omdat niet-vertrouwde patches kunnen worden toegepast op een toepassing die kan worden uitgevoerd met verhoogde bevoegdheden.
Patchpakketten bestaan uit de volgende onderdelen. Zie Een patchpakket makenvoor meer informatie over de bouw van patchpakketten.
Samenvattingsinformatiestroom
De samenvattingsinformatiestroom van het patchpakket bevat informatie over de identiteit en het doel van de patch.
De samenvattingsgegevensstroom bevat minimaal het volgende:
- Een GUID die de patch uniek identificeert. De GUID voor deze patch wordt toegevoegd met een lijst met GUID's voor eerdere patches die worden vervangen door deze patch.
- Een door puntkomma's gescheiden lijst met productcodes voor geldige doelen voor deze patch.
- Een door puntkomma's gescheiden lijst met namen van transformatiesubstorages in de volgorde waarin ze moeten worden verwerkt.
- Een door puntkomma's gescheiden lijst met bronnen voor deze patch.
Substorage transformeren
Een patchpakket bevat transformaties waarmee bestanden, registervermeldingen, gebruikersinterfaces en aanpassingen kunnen worden toegevoegd of verwijderd. Transformaties worden opgenomen als substorages in het pakket. Een patchpakket bevat twee transformaties voor elke doeldatabase. Eén transformatie is de daadwerkelijke updates voor de installatiedatabase en wordt gegenereerd op basis van de verschillen tussen de oorspronkelijke en bijgewerkte installatiekopieën van het installatiepakket. Met de andere transformatie worden vermeldingen toegevoegd aan de Patch, PatchPackage, Media, InstallExecuteSequenceen AdminExecuteSequence tabellen. Informatie in de substorage is gekoppeld aan een specifieke UpgradeCode, ProductCode, ProductVersionen ProductLanguage. Een patchpakket dat kan worden toegepast op meerdere doelen bevat meer dan één paar van deze transformaties.
Cabinet File Stream
De cabinetbestandsstroom in een patch kan deze typen bestanden bevatten:
- Patchbestanden met de informatie die nodig is om de oude versie van het bestand te wijzigen in de nieuwe versie. Eén patchbestand kan worden gebruikt om een of meer oude versies van een bestand bij te werken.
- Extra bestanden die worden toegevoegd aan de toepassing die niet aanwezig zijn in de oude versie.
- Een volledig vervangend bestand. In het zeldzame geval dat de nieuwe versie van een bestand kleiner is dan de patch die nodig is om de oude versie van dat bestand bij te werken, kan het nieuwe bestand volledig worden opgenomen. Dit zijn nieuwe bestanden die zijn geïnstalleerd via hun oude versies.
Verwante onderwerpen