Como posso copiar / substituir uma DLL?

Eu tenho um utilitário que atualiza os aplicativos simplesmente copiando / substituindo os executáveis. Agora, eu tenho alguns arquivos DLL que precisam ser atualizados também. No entanto, às vezes o Windows não me deixa substituí-lo porque algo está usando, e às vezes há tantas coisas usando a DLL que não posso garantir que ela será desbloqueada para substituí-la.

Atualmente, meu único trabalho é renomear a DLL existente primeiro, e então posso copiar a nova em seu lugar. Mas, em seguida, a DLL antiga fica para trás com um nome de arquivo alterado.

Como posso substituir uma DLL programaticamente nessa situação?

questionAnswers(1)

yourAnswerToTheQuestion