Compartir a través de


Novedades biblioteca de Dynamic-Link

A veces es necesario reemplazar un archivo DLL por una versión más reciente. Antes de reemplazar un archivo DLL, realice una comprobación de versión para asegurarse de que va a reemplazar una versión anterior por una versión más reciente. Es posible reemplazar un archivo DLL que está en uso. El método que se usa para reemplazar los archivos DLL que están en uso depende del sistema operativo que esté usando. En Windows XP y versiones posteriores, las aplicaciones deben usar aplicaciones aisladas y ensamblados en paralelo.

No es necesario reiniciar el equipo si realiza los pasos siguientes:

  1. Use la función MoveFileEx para cambiar el nombre del archivo DLL que se va a reemplazar. No especifique MOVEFILE_COPY_ALLOWED y asegúrese de que el archivo cuyo nombre ha cambiado esté en el mismo volumen que contiene el archivo original. También puede cambiar el nombre del archivo en el mismo directorio al darle una extensión diferente.
  2. Copie el nuevo archivo DLL en el directorio que contiene el archivo DLL cuyo nombre ha cambiado. Todas las aplicaciones ahora usarán el nuevo archivo DLL.
  3. Use MoveFileEx con MOVEFILE_DELAY_UNTIL_REBOOT para eliminar el archivo DLL cuyo nombre ha cambiado.

Antes de realizar este reemplazo, las aplicaciones usarán el archivo DLL original hasta que se descargue. Después de realizar el reemplazo, las aplicaciones usarán el nuevo archivo DLL. Al escribir un archivo DLL, debe tener cuidado de asegurarse de que está preparado para esta situación, especialmente si el archivo DLL mantiene información de estado global o se comunica con otros servicios. Si el archivo DLL no está preparado para un cambio en los protocolos de comunicación o información de estado global, la actualización del archivo DLL requerirá que reinicie el equipo para asegurarse de que todas las aplicaciones usan la misma versión del archivo DLL.