Compartilhar via


biblioteca Dynamic-Link Atualizações

Às vezes, é necessário substituir uma DLL por uma versão mais recente. Antes de substituir uma DLL, execute uma versão marcar para garantir que você esteja substituindo uma versão mais antiga por uma versão mais recente. É possível substituir uma DLL que está em uso. O método usado para substituir DLLs que estão em uso depende do sistema operacional que você está usando. No Windows XP e posterior, os aplicativos devem usar aplicativos isolados e assemblies lado a lado.

Não é necessário reiniciar o computador se você executar as seguintes etapas:

  1. Use a função MoveFileEx 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.
  2. Copie a nova DLL para o diretório que contém a DLL renomeada. Todos os aplicativos agora usarão a nova DLL.
  3. 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. Ao escrever uma DLL, você deve ter cuidado para garantir que ela esteja preparada para essa situação, especialmente se a DLL mantiver informações de estado global ou se comunicar com outros serviços. Se a DLL não estiver preparada para uma alteração nas informações de estado global ou nos protocolos de comunicação, a atualização da DLL exigirá que você reinicie o computador para garantir que todos os aplicativos estejam usando a mesma versão da DLL.