Как зарегистрировать DLL, написанный на C#?
6. Теперь мне надо запустить этот же файл Access с этим же кодом на другом компьютере. Но на другом компьютере нет моей DLL (TestCodeForAccess001.dll), а если даже её скопировать вместе с файлом Access, то она не будет зарегистрирована. Как мне сделать так, чтобы этот код в VBA в MS Access можно было запускать и на другом компе? Единственный способ, который у меня работает — установить на другом компе Visual Studio, скомпилировать на нём исходный код. Тогда Visual Studio сам всё зарегистрирует. Но этот путь явно ущербный. Требует кучи времени и моего присутствия.
Регистрация 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.
Заключается в вызове регистратора regsvr.exe комбинацией этих клавиш. Откроется строка «Выполнить», куда нужно вписать такую команду: regsvr32.exe путь_к_файлу_dll. Желательно указывать и путь к regsvr32, чтобы не вызывать путаницу.
После нажатия ОК система отобразит сообщение о результате обработки запроса.
Командная строка
Запускать ее нужно в режиме Администратора. В открывшемся окошке уже будет отсылка к папке System32, поэтому без лишних прелюдий нужно указать путь к нужному регистратору через пробел и отступив следующий пробел, прописать полный путь к нужной библиотеке. Завершив ввод необходимо нажать Enter. Командная строка может закрыться, сменившись окном о статусе результата.
Ручная регистрация
Для этого нужно выделить только что установленный или замененный файл dll правой кнопкой мышки и выберите опцию открытия с помощью. В предложенном меню нужно вручную или из предложенного списка выбрать нужный regsvr32.
Регистрация внешней библиотеки вручную для работы с интеграционным модулем в конфигурации на платформе 1С:Предприятие 7.7
Для регистрации библиотеки скопируйте файл RegAsm.exe из каталога «C:\Windows\Microsoft.NET\Framework\v4.0.XXXXX» (где «XXXXX» — версия .NET Framework) в каталог поставки RELEASE (Рис. 1, 2).
Рис. 1. Копирование файла RegAsm.exe
Рис. 2. Каталог поставки RELEASE
Далее введите в поиск программ и файлов «cmd», затем запустите «Командную строку» от имени администратора (Рис. 3).
Рис. 3. Запуск «Командной строки» от имени администратора
В открывшемся окне введите команду «%ПутьКRegAsm%\RegAsm.exe EsTools1C.dll /codebase», где «%ПутьКRegAsm%» — это расположение каталога поставки RELEASE на диске, затем нажмите клавишу «Enter» (Рис. 4).
Рис. 4. Ввод команды
Regasm exe как зарегистрировать библиотеку
Средство регистрации сборки считывает метаданные сборки и добавляет в реестр необходимые записи, что позволяет COM-клиентам прозрачно создавать классы .NET Framework. После регистрации класса любой COM-клиент может использовать таким образом, словно это класс COM. Класс регистрируется только один раз, при установке сборки. Экземпляры классов внутри сборки не могут создаваться на основе COM-классов до их фактической регистрации.
файл_сборки
Сборка, которая должна быть зарегистрирована в COM.
Создает в реестре запись Codebase. Запись Codebase указывает путь к файлу сборки, которая не установлена в глобальном кэше сборок. Не следует указывать этот параметр, если впоследствии будет установлена сборка, регистрируемая в глобальном кэше сборок. Аргумент файл_сборки, который задается с использованием параметра /codebase, должен представлять собой строго именованную сборку.
Указывает, что это средство будет ссылаться только на библиотеки типов, которые уже были зарегистрированы.
/asmpath:directory
Задает каталог, содержащий ссылки на сборки. Должен использоваться с использованием параметра /regfile.
Отключает отображение эмблемы Майкрософт при запуске.
/regfile [:регистрационный_файл]
Создает REG-файл для сборки, содержащий необходимые записи реестра. Указание этого параметра в командной строке не приводит к внесению изменений в реестр. Этот параметр нельзя использовать с параметрами /u или /tlb.
/silent или /s
Запрещает отображение сообщений об успешно выполненных операциях.
/tlb [:файл_библиотеки_типа]
Создает библиотеку типов для указанной сборки, содержащую описания доступных типов, описанных в сборке.
/unregister или /u
Отменяет регистрацию создаваемых классов, содержащихся в файле_сборки. При отсутствии этого параметра средство Regasm.exe регистрирует создаваемые классы сборки.
Включает вывод сообщений. При использовании вместе с параметром /tlb на экран выводится список сборок, на которые ссылается указанная сборка и для которых требуется создать библиотеку типов.