Массу раз созерцал следующую картину : "Unable to load ***.dll"
Попробую описать , как решить данную проблему без переустановки винды.
По своей сути, динамически подключаемые библиотеки являют собой блок функций, с определённым интерфейсом вызова. При повреждении файла вследствие вирусной атаки, сбоя файловой системы, и.т.п... могут видоизменяться как сам код функции, так и интерфейс вызова (частая причина ошибок вида "не найдена точка входа в процедуру ...").
Ошибка "Unable to load ***.dll" означает потерю библиотечки...
Решение :
1. http://www.dll.ru скачиваем битую/потерянную библиотечку. Если там нет, ищем на
http://www.dll-files.com скачиваем битую/потерянную библиотечку
2. regsvr32.exe /u ****.dll
3. Копируем библиотечку в System32.
4. regsvr32.exe /i ****.dll
Скорее всего, работоспособность приложения (при условии отсутствия вирусов в системе) восстановится.