bibliotheekupdates Dynamic-Link
Het is soms nodig om een DLL te vervangen door een nieuwere versie. Voordat u een DLL vervangt, moet u een versiecontrole uitvoeren om ervoor te zorgen dat u een oudere versie vervangt door een nieuwere versie. Het is mogelijk om een DLL te vervangen die in gebruik is. De methode die u gebruikt om DLL's te vervangen, is afhankelijk van het besturingssysteem dat u gebruikt. In Windows XP en hoger moeten toepassingen gebruikmaken van geïsoleerde toepassingen en assembly's naast elkaar.
Het is niet nodig om de computer opnieuw op te starten als u de volgende stappen uitvoert:
- Gebruik de functie MoveFileEx om de naam van het DLL-bestand te wijzigen dat wordt vervangen. Geef geen MOVEFILE_COPY_ALLOWED op en zorg ervoor dat het hernoemde bestand zich op hetzelfde volume bevindt als het oorspronkelijke bestand. U kunt het bestand ook gewoon een andere naam geven in dezelfde map door het bestand een andere extensie te geven.
- Kopieer de nieuwe DLL naar de map met de naam van het DLL-bestand. Alle toepassingen gebruiken nu de nieuwe DLL.
- Gebruik MoveFileEx- met MOVEFILE_DELAY_UNTIL_REBOOT om de naam van het DLL-bestand te verwijderen.
Voordat u deze vervanging aanbrengt, gebruiken toepassingen de oorspronkelijke DLL totdat deze wordt uitgeladen. Nadat u de vervanging hebt uitgevoerd, gebruiken toepassingen de nieuwe DLL. Wanneer u een DLL schrijft, moet u ervoor zorgen dat deze is voorbereid op deze situatie, met name als de DLL globale statusinformatie onderhoudt of communiceert met andere services. Als het DLL-bestand niet is voorbereid op een wijziging in algemene statusinformatie of communicatieprotocollen, moet u de computer opnieuw opstarten om ervoor te zorgen dat alle toepassingen dezelfde versie van het DLL-bestand gebruiken.