Dll & python
Содержание:
- К СВЕДЕНИЮ
- Как открыть файл dll в windows 7
- Причины и решения
- Anvisoft PC Plus
- Различия между приложениями и библиотеками DLL
- Использование пакета RuntimePack на Windows 7, 10 для 32 Bit и x64 и установка Microsoft Visual C++
- Метод 2: Исправить Emp.dll автоматически благодаря инструменту для исправления ошибок
- Преимущества использования библиотек DLL
- Как подготовиться и сдать экзамен ITIL 4 Foundation
- DLL угон
- Как зарегистрировать DLL: три способа
- Компилятор и язык соображения
- Регистрация DLL в Windows: что и как
- Три способа регистрации DLL в ОС
- Как работает dll файл?
- Регистрация библиотеки в Windows
К СВЕДЕНИЮ
Возможность же использовать dll-ки одновременно многими приложениями позволяет разработчикам программ в Windows не корпеть над каждым куском кода заново (хотя львиную долю кода для установки, удаления и т.д. приходится писать самому), а использовать готовые и прошитые с установкой в Windows библиотеки файлов, например Microsoft .Net Framework. Вы в Windows их видите каждый день, ведь dll-ки – это системные функции, классы, переменные, элементы интерфейса: меню, окна, диалоги, шрифты, курсоры, пиктограммы, строки и т.п. И самое главное для разработчиков программ для Windows преимущество использования таких файлов состоит в том, что обновляя свои dll-файлы, Windows обновляет и чужие программы, защищая от багов, ошибочных оповещений и т.п. Так что этот факт – лишняя копейка в копилку тех, кто понимает, что прежде всего системными обновлениями гнушаться не стоит.
Как открыть файл dll в windows 7
Вы можете встретить распространённый тип документа mfc42u.dll, который относится к Microsoft Foundation Class (MFC).
Открыть этот файл dll и подобные ему в windows 7 можно теми же утилитами, что используются для 8 версии, или воспользоваться небольшим редактором исполняемых элементов — Resource Tuner (Рисунок 4).
Рисунок 4. Интерфейс приложения Resource Tuner с открытым файлом формата .dll
Он позволяет изменять различные детали пользовательского интерфейса — строки меню и диалоговых окон, внешний вид курсора, иконок и так далее. В нём ресурсы библиотеки отделены от кода, который остаётся неизменным. Для его редактирования есть используемые в программировании профессиональные редакторы PE Explorer и FlexHex, (в зависимости от вносимых правок).
Resource Tuner предусматривает несколько способов открытия объекта.
Для просмотра и изменения кликните Open File на панели инструментов.
Для выполнения действия в меню — введите команду File>Open.
Или используйте комбинацию клавиш CTRL+O.
Всплывающее окно возле кнопки тулбара предоставит вам список последних открывавшихся элементов. Его можно получить командой File>Recent Files из меню программы, которая пользуется динамически подключаемой библиотекой. Настройка количества данных в списке осуществляется в окне диалога Customize.
Причины и решения
Итак, для начала следует коснуться принадлежности рассматриваемого файла к динамической библиотеке компоновки, что сразу говорит об его уязвимости к внешнему воздействию со стороны пользователя, антивирусного программного обеспечения и что самое главное — со стороны вирусного ПО. «Dll» — это крайне важный компонент и операционной системы, и игрового продукта, без которого не возможен (в настоящее время) корректный запуск программного обеспечения. Что касается интересующего нас файла «Eax.dll», то, как видно из названия, Environmental Audio Extensions (EAX) он входит в состав (уже довольно устаревшей) технологии для создания звуковых эффектов окружающей среды, что является крайне важным аспектом в любой игре с открытым миром
Принимая данную информацию во внимание, можно сделать несколько выводов о возможной причинно-следственной связи в рассматриваемой ситуации:
- Игра (это относится не только к GTA) получена известным «пиратским» путём, что всегда создаёт определённую вероятность, что при сборке репака некоторые компоненты были пропущены, в том числе и «Eax.dll»;
- Файл «Eax.dll» был распознан антивирусным программным обеспечением в качестве вредоносного объекта и в последствие был перемещён в карантин.
В подтверждение обоснованности данных выводов можно отметить, что компоненты Environmental Audio Extensions (EAX) не входят в состав операционной системы Windows и устанавливаются именно в момент инсталляции программного обеспечения, который и использует данную технологию. Поэтому и в качестве причин следует рассматривать только вышеуказанные варианты.
ВАЖНО. Теперь стоит ещё раз предостеречь пользователей, которые столкнулись с рассматриваемой проблемой в своих попытках скачать запрашиваемый компонент с интернета.. О необоснованности данных действий было уже сказано не раз и не два
Даже наличие антивируса может не спасти, если вы скачаете файл, который выдаёт себя за «dll», а тем более поместите его в системный каталог и зарегистрируете вручную, а на самом деле является «пустышкой», но содержащей в своей структуре вирусное программное обеспечение. К сожалению, подобная ситуация происходит сплошь и рядом
О необоснованности данных действий было уже сказано не раз и не два. Даже наличие антивируса может не спасти, если вы скачаете файл, который выдаёт себя за «dll», а тем более поместите его в системный каталог и зарегистрируете вручную, а на самом деле является «пустышкой», но содержащей в своей структуре вирусное программное обеспечение. К сожалению, подобная ситуация происходит сплошь и рядом.
Скачивать вручную данные компоненты следует исключительно из доверенных источников, но даже в этом случае никто гарантии не даст, да и никто кроме вас за возможные негативные последствия отвечать не будет. Да и какой в этом смысл, если ошибку можно решить иным путём, а именно:
- Переустановите игру или смените автора репака. Кроме того, на время осуществления установки следует отключить антивирусное ПО.
Нужно здраво смотреть на проблему. Не может быть, особенно со старыми играми, что есть один единственный репак
Уделите больше времени на поиск раздачи и особое внимание обратите на комментарии пользователей, которые уже успели оценить раздачу
Проверьте состояние карантина, используемого на вашем компьютере антивирусе, для этого (в качестве примера будет приведён интерфейс антивируса Касперского):Запустите программу «Kaspersky Total Security», нажав на значок в трее или на рабочем столе.
Обратите внимание на кнопку «Больше функций» и нажмите на неё для перехода в список дополнительных настроек. В центральной части открывшегося окна расположен раздел «Карантин», откройте его
Перед вами откроется список компонентов/файлов, которые были перемещены в данный раздел из-за возможной их принадлежности к вирусному ПО, в том числе здесь должен быть представлен и искомый «Eax.dll». Найдите его и выделите его кликом мышки.
Останется нажать на кнопку «Восстановить» для его возвращения в папку, куда ранее была инсталлирована игра.
Проверьте, исчезла ли рассматриваемая ошибка и корректно ли запускается игра.
Anvisoft PC Plus
Данное приложение является программой общего характера, однако проблемы с DLL-библиотеками устраняет не хуже других инструментов. В некотором смысле это приложение можно отнести к классу оптимизаторов, поскольку основной функционал направлен именно на повышение производительности системы.
Однако одним из приоритетов выполняемых действий является восстановление целостности системы, что и производится как раз за счет поиска и восстановления утраченных системных файлов, включая и DLL-компоненты. Собственно, как у любого другого оптимизатора, в этом приложении предусмотрено автоматическое сканирование, выявление и исправление найденных проблем.
Различия между приложениями и библиотеками DLL
Хотя и библиотеки DLL, и приложения являются исполняемыми модулями, они отличаются некоторыми особенностями. Наиболее очевидное различие заключается в том, что библиотеку DLL нельзя запустить. С точки зрения системы, между приложениями и библиотеками DLL имеется два существенных различия.
-
В системе может одновременно выполняться несколько экземпляров приложения. Экземпляр библиотеки DLL может быть только один.
-
Приложение может загружаться как процесс. Ему могут принадлежать такие компоненты, как стек, потоки выполнения, глобальная память, дескрипторы файлов и очередь сообщений. У библиотеки DLL таких компонентов быть не может.
Использование пакета RuntimePack на Windows 7, 10 для 32 Bit и x64 и установка Microsoft Visual C++
RuntimePack представляет собой сборку из всех DLL файлов для Windows 7 x64, которые необходимы для корректной работы всех компонентов операционной системы и запуска приложений. RuntimePack включает в себя Microsoft Visual C++, OpenAL, NET Framework, NVIDIA PhysX, Java, DirectX и множество других программных продуктов. Достаточно скачать пак из любого проверенного ресурса, например, по ссылке (https://softportal.pro/runtimepack.html) и установить.
К сведению! Microsoft Visual C++ также входит в комплект RuntimePack, но его лучше скачать с официального сайта «Майкрософт». Обычно данный инструмент взаимодействия поставляется вместе с новыми играми и приложениями, устанавливаясь на ПК вместе с ними, но иногда его приходится скачивать самостоятельно.
Таким образом, загрузить DLL-файлы можно с официального сайта «Майкрософт» или других проверенных ресурсов, но лучше пользоваться фирменными установщиками или обновиться до новой версии Виндовс.
Метод 2: Исправить Emp.dll автоматически благодаря инструменту для исправления ошибок
Очень часто ошибка появляется из-за случайного удаления файла Emp.dll, а это моментально вызывает аварийное завершение работы приложения. Программы с вирусами делают так, что Emp.dll и остальные системные файлы повреждаются.
Исправить Emp.dll автоматически можно благодаря инструмента, который исправляет все ошибки! Подобное устройство необходимо для процедуры восстановления всех поврежденных или удаленных файлов, которые находятся в папках Windows. Следует только установить инструмент, запустить его, а программа сама начнет исправлять найденные Emp.dll проблемы.
Преимущества использования библиотек DLL
Динамическая компоновка кода и ресурсов имеет некоторые преимущества над статической.
-
Динамическая компоновка экономит память и сокращает подкачку. Многие процессы могут использовать библиотеку DLL совместно, одновременно обращаясь к одной доступной только для чтения копии ее частей в памяти. В отличие от этого, каждое приложение, созданное с помощью библиотеки статической компоновки, имеет полную копию кода библиотеки, которую система Windows должна загрузить в память.
-
Динамическая компоновка экономит место на диске и пропускную способность. Несколько приложений могут совместно использовать одну копию библиотеки DLL на диске. В отличие от этого, каждое приложение, созданное с помощью библиотеки статической компоновки, имеет код библиотеки, связанный с исполняемым образом. Это увеличивает занимаемое на диске место и используемую для передачи данных пропускную способность.
-
Обслуживание, применение исправлений для системы безопасности и обновление могут быть проще. Если приложения используют общие функции в библиотеке DLL, можно реализовать исправления ошибок и развернуть обновления для нее. При обновлении библиотек DLL использующие их приложения не нужно перекомпилировать или повторно компоновать. Они могут использовать новые библиотеки DLL сразу после их развертывания. В отличие от этого, при внесении исправлений в код статически скомпонованного объекта необходимо повторно скомпоновать и развернуть каждое использующее его приложение.
-
С помощью библиотек DLL можно оказывать послепродажную поддержку. Например, библиотеку DLL драйвера дисплея можно изменить так, чтобы она поддерживала дисплей, который не был доступен на момент предоставления приложения.
-
С помощью явной компоновки можно обнаруживать и загружать библиотеки DLL во время выполнения. Например, это могут быть расширения приложения, которые добавляют новые функциональные возможности без повторной сборки и развертывания приложения.
-
Динамическая компоновка упрощает поддержку приложений, написанных на разных языках программирования. Программы, написанные на разных языках программирования, могут вызывать одну и ту же функцию в библиотеке DLL при условии соблюдения соглашения о ее вызове. Программы и функция в библиотеке DLL должны отвечать следующим требованиям к совместимости: ожидаемый функцией порядок передачи аргументов в стек; выполнение очистки стека функцией или приложением; передача аргументов в регистрах.
-
Динамическая компоновка обеспечивает механизм для расширения классов библиотеки Microsoft Foundation Classes (MFC). На основе существующих классов MFC можно создавать производные классы и помещать их в библиотеку расширения DLL, используемую приложениями MFC.
-
Динамическая компоновка упрощает создание международных версий приложения. Библиотеки DLL — это удобный способ предоставления ресурсов для конкретных языковых стандартов, благодаря чему значительно упрощается создание международных версий приложения. Вместо предоставления множества локализованных версий приложения можно поместить строки и изображения для каждого языка в отдельную библиотеку DLL ресурсов. Затем приложение может загружать ресурсы для нужного языкового стандарта во время выполнения.
Возможным недостатком использования библиотек DLL является то, что приложения не являются автономными. Они требуют наличия отдельного модуля DLL, которое должно проверяться в процессе установки.
Как подготовиться и сдать экзамен ITIL 4 Foundation
ITIL — библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в области информационных технологий.
В начале этого года AXELOS выпустили 4 обновление библиотеки ITIL. Мне, как руководителю службы поддержки, стало интересно, что же там конкретно изменилось по сравнению с версией 3 и как эти изменения можно применить на практике. Мой интерес привёл меня к тому, что я решил закрепить свои знания и навыки по управлению ИТ подтверждающим сертификатом.
Это статья о том, как успешно подготовиться к сдаче экзамена ITIL 4 Foundation. В русскоязычном интернете мало информации на эту тему, поэтому делюсь с сообществом своим личным опытом. Эта статья для тех, кто планирует получить сертификат и не знает, с чего начать.
DLL угон
Из — за уязвимости , известные как DLL угон, DLL подмена, DLL предзагрузка двоичных или посадки, многие программы будут загружать и выполнять вредоносный DLL , содержащийся в той же папке, что и файл данных открыт эти программы. Уязвимость была обнаружена Георгием Guninski в 2000 году В августе 2010 года она получила всемирную известность после того, как безопасность ACROS вновь его снова и многие сотни программ были признаны уязвимыми. Программы, которые запускаются из ненадежных местах, то есть пользовательские папки для записи , как в Загрузки или Temp каталога, почти всегда подвержены этой уязвимости.
Как зарегистрировать DLL: три способа
Порой при попытке запустить игру или приложение на компьютере выдается ошибка, что данный DLL-файл не найден. Факт в том, что этот файл может находиться у вас на компьютере, но он попросту не зарегистрирован. В этой статье мы как раз поговорим о том, как зарегистрировать DLL в windows 7. Сделаем акцент именно на седьмой версии windows, но, вполне возможно, что DLL зарегистрируется и на других версиях. Итак, приступим.
Первый способ регистрации DLL
Перед началом регистрации стоит сделать ремарку и сказать, что способов всего три, но каждый из них практически аналогичен остальным, так что советуем дочитать статью до конца, после чего сделать выбор, каким способом пользоваться. Ну а теперь перейдем непосредственно к тому, как зарегистрировать DLL.
Изначально стоит сказать, что все манипуляции с регистрацией DLL-файла стоит проводить лишь в том случае, когда этот самый файл находится там, где он должен быть. Чаще всего это папка system32. В примере именно эту папку мы и будем представлять.
Сейчас поговорим о самом распространенном способе, как можно зарегистрировать DLL, по крайней мере, он в интернете встречается чаще всего. Он довольно прост, так что у пользователя не должен вызывать проблем.
- Вам нужно попасть в окно «Выполнить». Его можно открыть несколькими путями. В меню «Пуск» пройти по пути «Все программы → Стандартные» и там уже выбрать «Выполнить». Можно также в том же меню «Пуск» совершить поиск с названием утилиты. Но самый простой способ — это нажать клавиши Win+R.
- Когда окно открыто, в поле для ввода нужно прописать команду «regsvr32.exe», после этого указать путь к файлу, который нужно зарегистрировать.
- Осталось нажать лишь кнопку «ОК».
Просим обратить внимание на то, что путь к файлу должен указываться полностью. Начиная с диска C
Например: regsvr32.exe c: windows /system32/openal32.dll.
В этом случае после нажатия кнопки «ОК» есть два варианта развития событий. Первый подразумевает успех, в этом случае вам будет показано соответствующее сообщение. Или неудача, вылетит соответствующее окно.
Это был первый способ, как зарегистрировать DLL, но напоминаем, что их всего три, поэтому двигаемся дальше.
Второй способ регистрации DLL
Второй способ практически ничем не отличается, лишь местом действий. Вам нужно попасть в утилиту «Командная строка», сделать это можно также несколькими способами: или в меню «Пуск» в папке стандартные открыть одноименную программу, или вызвав окно «Выполнить», ввести команду «cmd». Решать только вам.
Теперь перед вами открыта командная строка, в ней нужно ввести абсолютно такие же данные, которые вводились в первом способе. То есть изначально указать программу, которая будет работать с dll (regsvr32.exe), а затем путь к файлу.
Как видим, второй способ, как зарегистрировать DLL, практически ничем не отличается от первого, о чем и говорилось в начале статьи. Но вот третий имеет более заметные отличия, поэтому перейдем к нему.
Третий способ регистрации DLL
Этот способ, скорее всего, окажется более простым для рядового пользователя, поэтому начнем его рассматривать.
Вам необходимо всего-навсего открыть DLL-файл с помощью regsvr32.exe. Вот как это сделать:
- На нужном DLL-файле нажмите ПКМ.
- В меню выберите «Открыть с помощью…».
- В окошке найдите и нажмите кнопку «Обзор».
- Проложите путь к файлу regsvr32.exe, он находится в папке System32, которая находится в папке windows на диске C.
- Нажмите «Открыть».
Вот и все, теперь вы знаете аж три способа, что нужно делать, когда появляется ошибка DLL.
Компилятор и язык соображения
Delphi
В заголовке исходного файла, ключевое слово library используется вместо program. В конце файла, функции должны быть экспортированы, перечислены в exports.
Delphi не нужны LIB-файлы импортировать функции из библиотеки DLL; связать с DLL, то external используется ключевое слово в объявлении функции для сигнализации имени DLL, а затем назвать символ (если отличается) или indexдля идентификации индекса.
Microsoft Visual Basic
В Visual Basic (VB), только время выполнения связывания поддерживается; но в дополнении к использованию LoadLibraryи GetProcAddressфункциям API, декларации импортируемых функций допускаются.
При импорте функции DLL через декларации, VB будет генерировать ошибку времени выполнения , если DLLфайл не может быть найден. Разработчик может поймать ошибку и обработать его соответствующим образом .
При создании библиотеки DLL в VB, среда только позволит вам создавать DLL — библиотеки ActiveX, однако методы были созданы , чтобы позволить пользователю явно указать линкер включить файл .DEF который определяет порядковый номер и название каждой экспортированной функция. Это позволяет пользователю создавать стандартный Windows DLL с помощью Visual Basic (версия 6 или ниже) , которые можно ссылаться через «Объявлять» заявление.
C и C ++
Microsoft Visual C ++ (MSVC) предоставляет несколько расширений для стандартного C ++ , которые позволяют функциям , которые будут определены как импортированы или экспортированы непосредственно в коде C ++; они были приняты другими ОС Windows Си компиляторов и C ++, включая версии Windows , в GCC . Эти расширения используют атрибут __declspecперед объявлением функции
Обратите внимание , что , когда функция C доступна из C ++, они также должны быть объявлены как extern «C»в коде C ++, чтобы сообщить компилятору , который следует использовать С связью
Кроме указания импортируемых или экспортируемых функций , используя __declspec атрибуты, они могут быть перечислены в IMPORT или экспортирование части DEFфайла , используемого в проекте. DEFФайл обрабатывается с помощью линкера, а не компилятор, и таким образом это не является специфической для C ++.
DLL компиляция будет производить как DLLи LIBфайлы. LIBФайл используется для связывания против DLL во время компиляции; это не является необходимым для выполнения временных связей. Если ваш DLL не является Component Object Model сервер (COM), то DLLфайл должен быть помещен в один из каталогов , перечисленных в переменной PATH среды, в каталоге системы по умолчанию, или в том же каталоге, что и программа его использования. Библиотеки DLL COM — сервера регистрируются с помощью regsvr32.exe, который помещает местоположение DLL и ее глобально уникальный идентификатор ( GUID ) в реестре. Программы могут затем использовать DLL, отыскав его GUID в реестре , чтобы найти его местоположение.
Регистрация DLL в Windows: что и как
Иногда возникает необходимость переустановки библиотек dll, которые играют важную роль в функционировании отдельных приложений или системы в целом. Они вылетают вследствие неправильных действий пользователя, модификации вирусами или же удаления одной программы из комплекса использующих одну и ту же библиотеку приложений. Как же исправить эту ошибку?
Поиск библиотеки
Первый шаг после сообщения об ошибке – вызов меню поиска через кнопку Пуск в windows 7 или значок лупы в десятке и восьмерке. В первом случае строка будет находиться уже на главном меню внизу в левом блоке. Во втором случае это будет отдельное выпадающее меню.
В поисковую строку необходимо ввести имя библиотеки с расширением без указания пути. Например, если ошибка ссылается на C://Users/Nastroyvse/video.dll, то в строке нужно написать лишь video.dll.
В случае успеха в Проводнике или непосредственно в окне поиска отобразится новый путь к указанному файлу. Далее возможно два пути. Первый – скопировать этот файл в указанную ошибкой папку и перезапустить компьютер. При вызове программа должна увидеть эту библиотеку.
Если этого не произошло или данная библиотека отсутствует на компьютере, придется пройти регистрацию.
Где скачать библиотеки
Заветные DLL файлы можно получить из разных источников. Желательно поискать их на официальном сайте производителя или программы. Если за время эксплуатации обновилась версия софта, желательно его скачать и провести переустановку. Вместе с ней установятся и новейшие версии библиотек.
Если же сайт программы не работает или отсутствуют обновления, на помощь придут профильные сайты с коллекциями этих самых файлов dll. Достаточно ввести в поисковую строку сайта название библиотеки, и вы получите прямую ссылку для скачивания. Перед проведением регистрационных действий обязателен прогон актуальными антивирусными базами.
Для этого нужно навести на скачанный файл правой кнопкой мыши и выбрать опцию проверки антивирусом. Если файл чистый – смело устанавливайте. Среди популярных хранилищ:
- https://ru.dll-files.com/;
- https://www.dll.ru/;
- http://dlltop.ru/.
При скачивании файлов обращайте внимание на разрядность и версию операционной системы. Узнать их можно в меню «Мой компьютер» в Windows 7 или на вкладке Компьютер Проводника в Windows 10
Для вызова сведений нажмите правой кнопкой мыши или тачпада. В выпавшем контекстном меню нажать уже левой кнопкой пункт «О системе».
Неправильно подобранная библиотека будет функционировать с ошибками или перестанет запускаться вовсе.
Место установки изменить нельзя
После скачивания правильной версии ее необходимо установить в системную корневую папку. Ее название зависит от разрядности операционной системы.
Для 32-разрядых систем это C:/Windows/System32, а для 64-разрядных – C:/Windows/SysWOW64. На компьютере могут присутствовать обе папки. У каждой из них есть свой регистратор библиотек.
При регистрации файлов нужно открывать правильный. Всего же способ регистрации существует 3.
Win+R
Заключается в вызове регистратора regsvr.exe комбинацией этих клавиш. Откроется строка «Выполнить», куда нужно вписать такую команду: regsvr32.exe путь_к_файлу_dll. Желательно указывать и путь к regsvr32, чтобы не вызывать путаницу.
ВАЖНО. У 64-разрядных операционных систем два файла regsvr32.exe – и в System32 и в SysWOW64
Они совершенно разные, нужно это учитывать. Файл регистратора для 64 разрядов находится в папке System32!
После нажатия ОК система отобразит сообщение о результате обработки запроса.
Командная строка
Запускать ее нужно в режиме Администратора. В открывшемся окошке уже будет отсылка к папке System32, поэтому без лишних прелюдий нужно указать путь к нужному регистратору через пробел и отступив следующий пробел, прописать полный путь к нужной библиотеке. Завершив ввод необходимо нажать Enter. Командная строка может закрыться, сменившись окном о статусе результата.
Ручная регистрация
Для этого нужно выделить только что установленный или замененный файл dll правой кнопкой мышки и выберите опцию открытия с помощью. В предложенном меню нужно вручную или из предложенного списка выбрать нужный regsvr32.
Причины отказа в регистрации
- Не все файлы из Интернета требуют регистрации. Для этого у них должна быть точка входа DLL Registration Server.
- Также файл может оказаться пустышкой, а не библиотекой.
Но это можно исправить достаточно просто.
- Авторские библиотеки можно прогнать через программу regasm.exe.
- При возникновении ошибки регистрации делайте упор на поиск сведений о самом файле, а не на поиск источника. Это повышает шансы на скачку из официального сайта без лишних хлопот.
Три способа регистрации DLL в ОС
Описывая дальнейшие шаги, я исхожу из того, что вы нашли, куда нужно скопировать вашу библиотеку и DLL уже лежит в папку System32 или SysWOW64 (а возможно, где-то еще, если ей там следует находиться).
Примечание: ниже будет описано, как зарегистрировать DLL библиотеку с помощью regsvr32.exe, однако обращаю ваше внимание на то, что если у вас 64-разрядная система, то у вас есть два regsvr32.exe — один в папке C:\Windows\SysWOW64, второй — C:\Windows\System32. И это разные файлы, причем 64-бит находится в папке System32
Рекомендую в каждом из способов использовать полный путь к regsvr32.exe, а не просто имя файла, как у меня показано в примерах.
Первый способ описывается в Интернете чаще других и состоит в следующем:
После этого, если все прошло успешно вы должны будете увидеть сообщение о том, что библиотека была успешно зарегистрирована. Но, с большой вероятностью увидите другое сообщение — Модуль загружен, но точка входа DllRegisterServer не найдена и стоит проверить, что ваша DLL является правильным файлом (об этом, как я уже говорил, напишу позже).
Второй способ состоит в запуске командной строки от имени администратора и ввода все той же команды из предыдущего пункта.
Опять же, вероятно, что вам не удастся зарегистрировать DLL в системе.
И последний способ, который также может пригодиться в некоторых случаях:
Суть всех описанных способов зарегистрировать DLL в системе одна и та же, просто несколько разные способы запуска одной и той же команды — кому что удобнее. А теперь о том, почему у вас ничего не получается.
Как работает dll файл?
Так, открывая или сворачивая окна, натыкаясь на ошибки, переустанавливая оборудование в системе, наводя курсор и видя всплывающие подсказки, мы часто натыкаемся на бесчисленное (как нам кажется) множество диалоговых и просто справочных окон, которые в Windows становятся всё догадливее
И часто просто не обращаем на это внимание. Такие сообщения, например, и есть плод перекрещивающейся работы dll-файлов Windows
Любая устанавливаемая в Windows программа всегда использует либо свои немногочисленные или имеющиеся в системе dll-ки. Программа обычно загружает свою dll-ку во время автозагрузки через специальную библиотеку Win32 API LoadLibrary или по сигналу с другого dll-файла. Обычно это выглядит так:
- exe-шник запускается, Windows его загружает, проверяя таблицу параметров и величин, в которой написано, что, мол, «мне нужны вот такие функции вот этого dll файла и вон того dll файла». На «околотехническом» языке это называется импортированием функций dll файла в исполнительный exe файл программы.
- код загрузчика ищет обозначенные файлы dll, и обнаружив их, загружает в память
- начинает работать сам файл.dll. В нём есть уже свой список экспортируемых функций, который как телефонный коммутатор объединяет между собой адреса функций внутри самого файла (их в одном файле может быть немало); если это необходимо, функция файла1.dll может обратиться и к некоторым функциям файла2.dll. Exe-шник запущенной вами программы теперь работает с файлами, просто обращаясь к этим адресам напрямую.
Регистрация библиотеки в Windows
Проще всего зарегистрировать библиотеку DLL в Windows через командную строку или окно «Выполнить». Для открытия командной строки нужно: нажать Пуск -> Выполнить или комбинацию клавиш Win+R, ввести cmd.exe и нажать Enter. Можно ввести команду прямо в это поле, не открывая командной строки.
Для регистрации библиотеки нужно написать команду regsvr32 имяфайла.dll и нажать Enter. К примеру, regsvr32.exe msvcp110.dll.
Для того, чтобы изменения вступили в силу и библиотека начала работать, необходимо перезагрузить компьютер. Если Windows не хочет находить требуемый файл, можно указать полный путь: regsvr32.exe полный_путь_к_файлу.dll, например regsvr32.exe C:/Windows/System32/msvcp110.dll.