Condividi tramite


Aggiornamenti libreria Dynamic-Link

A volte è necessario sostituire una DLL con una versione più recente. Prima di sostituire una DLL, eseguire un controllo della versione per assicurarsi di sostituire una versione precedente con una versione più recente. È possibile sostituire una DLL in uso. Il metodo usato per sostituire le DLL in uso dipende dal sistema operativo in uso. In Windows XP e versioni successive, le applicazioni devono usare applicazioni isolate e assembly side-by-side.

Non è necessario riavviare il computer se si eseguono i passaggi seguenti:

  1. Usare la funzione MoveFileEx per rinominare la DLL da sostituire. Non specificare MOVEFILE_COPY_ALLOWED e assicurarsi che il file rinominato si trova nello stesso volume contenente il file originale. È anche possibile rinominare semplicemente il file nella stessa directory assegnando un'estensione diversa.
  2. Copiare la nuova DLL nella directory contenente la DLL rinominata. Tutte le applicazioni useranno ora la nuova DLL.
  3. Usare MoveFileEx con MOVEFILE_DELAY_UNTIL_REBOOT per eliminare la DLL rinominata.

Prima di eseguire questa sostituzione, le applicazioni useranno la DLL originale fino a quando non viene scaricata. Dopo aver eseguito la sostituzione, le applicazioni useranno la nuova DLL. Quando si scrive una DLL, è necessario prestare attenzione a assicurarsi che sia preparata per questa situazione, soprattutto se la DLL gestisce informazioni sullo stato globale o comunica con altri servizi. Se la DLL non è preparata per una modifica delle informazioni sullo stato globale o dei protocolli di comunicazione, l'aggiornamento della DLL richiederà di riavviare il computer per assicurarsi che tutte le applicazioni usino la stessa versione della DLL.