Есть ли способ сделать библиотеки DLL в какой-либо папке более приоритетными, чем папка приложения?


0

Определенное программное обеспечение, которое я использую, поставляется со сломанной DLL, что делает его случайным сбоем. Единственный способ исправить проблему - скачать правильную dll откуда-то вроде dll-files.com. Я уже сообщил об этом разработчику, однако проблема была закрыта со статусом «Не будет исправлено».

Я также устал от копирования правильных DLL каждый раз, когда мне нужно обновить это программное обеспечение. Поэтому я разработал другое решение: что, если бы я мог создать просто папку, которая имеет более высокий приоритет, чем папка приложения для поиска DLL (приложение поставляется с сломанной DLL рядом с EXE)? Однако я не знаю, как это сделать.

Моя версия ОС - Windows7 x64


Самое простое решение, удалить файл, Windows автоматически найдет следующую копию. Конечно, тот факт, что эта ошибка была назначена infaictes "не исправит", если не может быть реальной проблемой
Ramhound

Ответы:


1

Как утверждает @Ramhound, удалите DLL, но сначала поместите действительную DLL в известное место , либо в системную папку, уже находящуюся в PATH, либо в новую папку, в этом случае добавьте местоположение в PATH. В зависимости от DLL, вам также может понадобиться зарегистрировать ее с помощью regsvr32 .

Каждый раз, когда приложение обновляется, оно будет вставлять плохую DLL в свою собственную папку, которую необходимо будет удалить. Кроме того, некоторые установщики можно открыть с помощью 7-Zip, PeaZip или другого инструмента, так что вы можете извлечь только нужные файлы и обойти установку избыточных ярлыков и т. Д.


За исключением того, что я устал от замены / удаления / чего-либо, чтобы это исправить. Я хочу 100% решение "огонь и забудь".
Darkhog

Если вы используете установщик , то при каждом запуске он будет переустанавливать DLL и вносить изменения в реестр. Единственное решение состоит в том, чтобы вручную извлекать файлы при обновлении, и не все установщики удобны для пользователя.
DrMoishe Pippik
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.