Aggiornamenti della 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:
- Usare la funzioneMoveFileExper rinominare la DLL da sostituire. Non specificare MOVEFILE_COPY_ALLOWED e assicurarsi che il file rinominato si trova nello stesso volume che contiene il file originale. È anche possibile rinominare semplicemente il file nella stessa directory assegnando un'estensione diversa.
- Copiare la nuova DLL nella directory contenente la DLL rinominata. Tutte le applicazioni useranno ora la nuova DLL.
- Usare MoveFileEx con MOVEFILE_DELAY_UNTIL_REBOOT per eliminare la DLL rinominata.
Prima di effettuare 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 mantiene 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à il riavvio del computer per assicurarsi che tutte le applicazioni usino la stessa versione della DLL.