Невозможно загрузить DLL только на определенных системах

61

Нам приходится иметь дело с проблемой на нескольких компьютерах, в основном с Windows 7 pro, но в последнее время возникает и с Windows 10 home. Наше программное обеспечение пытается получить доступ к видеофайлу, который находится на компьютере, и выдает ошибку:

Невозможно загрузить DLL 'EvrPresenter32.dll': указанный модуль не найден. (Исключение из HRESULT: 0x8007007E) System.DllNotFoundException: Невозможно загрузить DLL 'EvrPresenter32.dll': указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)

Кажется, это происходит при вызове функции: Presentation.Windows.Controls.DirectShow.EvrPresenter.DllGetClassObject32 (Guid, Guid, Object &)

Тем не менее, EvrPresenter32.dll присутствует в каталоге программного обеспечения, где он должен быть, как на компьютерах, где все работает нормально. Это происходит с любым видеоформатом (.wmv,.mp4,.avi...) или путем доступа к видео.

Мы пытаемся вручную зарегистрировать .dll в C:\Windows\sysWOW64\с помощью regsrv32.exe, но это выдает ошибку:

Не удалось загрузить модуль EvrPresenter32.dll. Убедитесь, что двоичный файл хранится по указанному пути, или отладьте его, чтобы проверить наличие проблем с двоичными или зависимыми файлами .DLL. Указанный модуль не может быть найден.

Водители в курсе. Система обновлена.

Не могли бы вы дать нам несколько советов, чтобы исследовать и решить эту проблему?

спросил(а) 2021-01-19T23:47:17+03:00 2 месяца, 3 недели назад
1
Решение
107

Ганс Пассант 9 ноября в 10:47

Это оболочка для DirectShow, написанная в C++/CLI. Он имеет зависимость от vcruntime140.dll, легко пропустить.

Рядом с комментарием Вай Ха Ли, который помог нам разоблачить msvcr120.dll, мы обнаружили, что эта DLL является частью распространяемого пакета Microsoft Visual C++ 2013. После его установки в системе наше видео работает правильно!

Напомните по ссылке, чтобы загрузить его от Microsoft: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

Добавлены предварительные условия для нашего программного обеспечения...

Большое спасибо за вашу заботу и помощь!

ответил(а) 2021-01-19T23:47:17+03:00 2 месяца, 3 недели назад
44

Когда мы перемещаем DLL из одной системы в другую, системная DLL блокируется. Итак, вы получаете эту проблему.

Как разблокировать DLL:

Щелкните правой кнопкой мыши на DLL

Свойства >> Общие

Внизу вы увидите разблокировку, нажмите на нее.

enter image description here

Смотрите ссылку для подробного объяснения

ответил(а) 2021-01-19T23:47:17+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема