Dynamic-Link biblioteksuppdateringar
Ibland är det nödvändigt att ersätta en DLL med en nyare version. Innan du ersätter en DLL utför du en versionskontroll för att se till att du ersätter en äldre version med en nyare version. Det är möjligt att ersätta en DLL som används. Vilken metod du använder för att ersätta DLL:er som används beror på vilket operativsystem du använder. I Windows XP och senare bör program använda isolerade program och sammansättningar sida vid sida.
Du behöver inte starta om datorn om du utför följande steg:
- Använd funktionen MoveFileEx för att byta namn på DLL:n som ersätts. Ange inte MOVEFILE_COPY_ALLOWED och kontrollera att den omdöpta filen finns på samma volym som den ursprungliga filen. Du kan också byta namn på filen i samma katalog genom att ge den ett annat tillägg.
- Kopiera den nya DLL:n till katalogen som innehåller den omdöpta DLL:n. Alla program kommer nu att använda den nya DLL-filen.
- Använd MoveFileEx- med MOVEFILE_DELAY_UNTIL_REBOOT för att ta bort den omdöpta DLL:n.
Innan du gör den här ersättningen använder programmen den ursprungliga DLL-filen tills den tas bort. När du har gjort ersättningen använder program den nya DLL:n. När du skriver en DLL måste du vara noga med att se till att den är förberedd för den här situationen, särskilt om DLL:en behåller global tillståndsinformation eller kommunicerar med andra tjänster. Om DLL:en inte är förberedd för en ändring i informations- eller kommunikationsprotokoll för globalt tillstånd kräver uppdatering av DLL:en att du startar om datorn för att säkerställa att alla program använder samma version av DLL:en.