Atualizações da Biblioteca Dynamic-Link
Às vezes, é necessário substituir uma DLL por uma versão mais recente. Antes de substituir uma DLL, execute uma verificação de versão para garantir que você está substituindo uma versão mais antiga por uma versão mais recente. É possível substituir uma DLL que está em uso. O método que você usa para substituir DLLs que estão em uso depende do sistema operacional que você está usando. No Windows XP e versões posteriores, os aplicativos devem usar Aplicativos Isolados e Assemblies Lado a Lado.
Não é necessário reiniciar o computador se você executar as seguintes etapas:
- Use a funçãoMoveFileEx para renomear a DLL que está sendo substituída. Não especifique MOVEFILE_COPY_ALLOWED e verifique se o arquivo renomeado está no mesmo volume que contém o arquivo original. Você também pode simplesmente renomear o arquivo no mesmo diretório, dando-lhe uma extensão diferente.
- Copie a nova DLL para o diretório que contém a DLL renomeada. Todos os aplicativos agora usarão a nova DLL.
- Use MoveFileEx com MOVEFILE_DELAY_UNTIL_REBOOT para excluir a DLL renomeada.
Antes de fazer essa substituição, os aplicativos usarão a DLL original até que ela seja descarregada. Depois de fazer a substituição, os aplicativos usarão a nova DLL. Quando você escreve uma DLL, você deve ter cuidado para garantir que ela esteja preparada para essa situação, especialmente se a DLL mantém informações de estado global ou se comunica com outros serviços. Se a DLL não estiver preparada para uma alteração nos protocolos de comunicação ou informações de estado global, atualizar a DLL exigirá que você reinicie o computador para garantir que todos os aplicativos estejam usando a mesma versão da DLL.