Delen via


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:

  1. 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.
  2. Kopieer de nieuwe DLL naar de map met de naam van het DLL-bestand. Alle toepassingen gebruiken nu de nieuwe DLL.
  3. 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.