Vad händer om komponentreglerna bryts?
I vissa fall kan författarna besluta att de behöver bryta mot reglerna för att skapa komponenter enligt beskrivningen i Organisera program i komponenter och Ändra komponentkoden. Författarna måste vara medvetna om de möjliga konsekvenserna av att göra detta och måste annars garantera att deras komponenter aldrig installeras där de kan skada andra program eller komponenter i användarens system.
I följande lista beskrivs hur författare ibland bryter mot de rekommenderade komponentreglerna och de möjliga konsekvenserna.
En författare lägger till resurser i en komponent utan att ändra komponentkoden.
- Produkter som är installerade med den gamla komponenten har ingen information om de tillagda resurserna i installationsdatabasen.
- Om både en ny produkt som har de tillagda resurserna och en gammal produkt installeras på samma dator kan resurserna lämnas kvar om den nya produkten avinstalleras först.
- En gammal produkt utan de tillagda resurserna kan inte reparera den nyare versionen av komponenten. Om du installerar om den gamla produkten återställs inte de tillagda resurserna.
En författare tar bort resurser från en komponent utan att ändra komponentkoden.
- Produkter som installeras med den nya komponenten har ingen information om de borttagna resurserna i installationsdatabasen.
- Om både en gammal produkt, med resursinformationen och en ny produkt installeras på samma dator, kan resurserna lämnas kvar om den gamla produkten avinstalleras först.
- En ny produkt med borttagna resurser kan inte reparera den äldre versionen av produkten. Om du installerar om den nya produkten återställs inte de borttagna resurserna.
En författare innehåller en fil som inte är kompatibel med tidigare versioner utan att ändra komponentkoden.
Om en inkompatibel fil ingår i en komponent utan att komponentkoden ändras standardfilversioner gör att installationsprogrammet skriver över den ursprungliga filen med den nyare inkompatibla filen. Detta kan skada gamla produkter som behöver den ursprungliga filen. Det kan också hindra installationsprogrammet från att reparera den gamla produkten eftersom versionen av en komponents nyckelsökvägsfil avgör komponentens version. Om en nyare version av nyckelsökvägsfilen redan är installerad installerar installationsprogrammet inte en äldre version av komponenten. Mer information finns i Filversionsregler. I det här fallet måste den nya produkten tas bort innan den gamla produkten kan installeras om.
- Standardfilversionshantering gör att installationsprogrammet skriver över den ursprungliga filen med den nyare inkompatibla filen.
- Gamla produkter som behöver originalfilen är skadade.
- Det kan också hindra installationsprogrammet från att reparera den gamla produkten eftersom versionen av en komponents nyckelsökvägsfil avgör komponentens version. Om en nyare version av nyckelsökvägsfilen redan är installerad installerar installationsprogrammet inte den äldre versionen av komponenten. Mer information finns i Filversionsregler. I det här fallet måste den nya produkten tas bort innan den gamla produkten kan installeras om.
En författare innehåller samma resurs i två olika komponenter.
Om två komponenter har en resurs under samma namn och plats och båda komponenterna installeras i samma mapp, tar borttagningen av någon av komponenterna bort den gemensamma resursen, vilket skadar den återstående komponenten.
- Om du avinstallerar någon av komponenterna tas resursen bort och den andra komponenten bryts.
- Komponentens referensräkningsmekanism är skadad.