обновления библиотеки Dynamic-Link
Иногда необходимо заменить библиотеку DLL более новой версией. Перед заменой библиотеки DLL проверьте версию, чтобы убедиться, что вы заменяете более раннюю версию более новой. Можно заменить библиотеку DLL, используемую. Используемый метод замены библиотек DLL зависит от используемой операционной системы. В Windows XP и более поздних версиях приложения должны использовать изолированные приложения и параллельные сборки.
При выполнении следующих действий не обязательно перезагрузить компьютер.
- Используйте функцию MoveFileEx для переименования заменяемой библиотеки DLL. Не указывайте MOVEFILE_COPY_ALLOWED и убедитесь, что переименованный файл находится на томе, который содержит исходный файл. Вы также можете просто переименовать файл в том же каталоге, предоставив ему другое расширение.
- Скопируйте новую библиотеку DLL в каталог, содержащий переименованную библиотеку DLL. Теперь все приложения будут использовать новую библиотеку DLL.
- Используйте MoveFileEx с MOVEFILE_DELAY_UNTIL_REBOOT для удаления переименованной библиотеки DLL.
Прежде чем выполнить эту замену, приложения будут использовать исходную библиотеку DLL, пока она не будет выгружена. После замены приложения будут использовать новую библиотеку DLL. При написании библиотеки DLL необходимо быть осторожным, чтобы убедиться, что она подготовлена к этой ситуации, особенно если библиотека DLL поддерживает глобальную информацию о состоянии или взаимодействует с другими службами. Если библиотека DLL не готова к изменению глобальных сведений о состоянии или протоколов связи, обновление библиотеки DLL потребует перезагрузки компьютера, чтобы убедиться, что все приложения используют одну и ту же версию библиотеки DLL.