De productcode wijzigen
De productcode is een GUID die de belangrijkste identificatie is van een toepassing of product. Zie Productcodes.
Een update die voldoet aan de volgende richtlijnen, vereist doorgaans geen wijziging van de productcode en kan worden verwerkt als een kleine update, of als de versie moet worden gewijzigd, als een secundaire upgrade:
- De update kan de functie-onderdeel boom vergroten of verkleinen, maar de bestaande hiërarchie van functies en onderdelen die worden beschreven door de Feature en FeatureComponents tabellen niet opnieuw indelen. Er kan een nieuwe functionaliteit worden toegevoegd aan de bestaande componentenstructuur. Als een bovenliggende functie wordt verwijderd, moet deze ook alle onderliggende functies van de verwijderde functie verwijderen.
- De update kan een nieuw onderdeel toevoegen aan een nieuwe of bestaande functie.
- De update mag de onderdeelcode van een onderdeel niet wijzigen. Daarom moet een kleine update of secundaire upgrade nooit de naam van het sleutelbestand van een onderdeel wijzigen, omdat hiervoor de onderdeelcode moet worden gewijzigd.
- De update mag de naam van het .msi-bestand van het installatiepakket niet wijzigen. Omdat het pakket wordt gewijzigd, moet de pakketcode worden gewijzigd. Dit betekent dat de update de tabellen, aangepaste acties en dialoogvensters in het .msi bestand kan wijzigen zonder de naam van het bestand te wijzigen.
- De update kan de bestanden, registersleutels of sneltoetsen toevoegen, verwijderen of wijzigen van onderdelen die niet worden gedeeld door twee of meer functies. Als de update een versiebestand wijzigt, moet de versie van dat bestand worden verhoogd in de tabel Bestand. Als de update resources verwijdert, moet deze ook de RemoveFile en RemoveRegistry tabellen bijwerken om ongebruikte bestanden, registersleutels of sneltoetsen te verwijderen die al zijn geïnstalleerd.
- De update van een onderdeel dat wordt gedeeld door twee of meer functies, moet achterwaarts compatibel zijn met alle toepassingen en functies die gebruikmaken van het onderdeel. De update kan de resource van een gedeeld onderdeel wijzigen, zoals bestanden, registervermeldingen en snelkoppelingen, zolang de wijzigingen achterwaarts compatibel zijn. Het wordt afgeraden bestanden, registervermeldingen of snelkoppelingen van een gedeeld onderdeel toe te voegen of te verwijderen.
- Een kleine update wordt geleverd als een Windows Installer-patchpakket. (Een volledig product CD-ROM wordt meestal niet geleverd met een kleine update.)
De productcode moet worden gewijzigd als een van de volgende voorwaarden waar is voor de update:
- Gelijktijdige installaties van zowel originele als bijgewerkte producten op hetzelfde systeem moeten mogelijk zijn.
- De naam van het bestand .msi is gewijzigd.
- De onderdeelcode van een bestaand onderdeel is gewijzigd.
- Een onderdeel wordt verwijderd uit een bestaande functie.
- Een bestaande functie is onderdeel gemaakt van een bestaande functie.
- Een bestaande subfunctionaliteit is verwijderd uit de hoofdfunctionaliteit.
Houd er rekening mee dat het toevoegen van een nieuwe onderliggende functie, die volledig uit nieuwe onderdelen bestaat, niet vereist dat de productcode wordt gewijzigd.
Nieuwe subfuncties kunnen worden gemaakt door msidbFeatureAttributesFollowParent en msidbFeatureAttributesUIDisallowAbsent in het kenmerkveld van de Kenmerkentabelin te voegen. Als de secundaire upgrade alleen nieuwe onderliggende functies toevoegt, is OPNIEUW INSTALLEREN=ALLES voldoende om de installatie van de nieuwe onderliggende functies af te dwingen. Zie Controlefunctieselectiestatussenvoor meer informatie.
Een nieuwe onderliggende functie is mogelijk verborgen voor de gebruiker. Als u de installatiestatus van een nieuwe onderliggende functie wilt synchroniseren met de bovenliggende functie, stelt u de bits msidbFeatureAttributesFollowParent en msidbFeatureAttributesUIDisallowAbsent-bits in voor de onderliggende functie.
Verwante onderwerpen