Как зарегистрировать DLL в Windows
На самом деле, регистрация библиотеки в системе не такая уж и сложная задача (покажу целых три вариации одного способа) — по сути, необходим лишь один шаг. Единственное обязательное требование — наличие у вас прав администратора Windows.
Однако есть некоторые нюансы — например, даже успешная регистрация DLL не обязательно избавляет вас от ошибки «библиотека отсутствует на компьютере», а появление ошибки RegSvr32 с сообщением о том, что модуль не совместим с версией Windows на этом компьютере или точка входа DLLRegisterServer не найдена, не говорит о том, что вы что-то делаете не так (о чем это говорит разъясню в конце статьи).
Метод решения № 1: перемещение и регистрация библиотеки
Итак, что мы имеем? У нас при работе с программой 1С появляется ошибка «Компонента v7plus не найдена». Значит, необходимо сделать так, чтобы программа ее находила. Сейчас мы расскажем, что для этого нужно.
Сначала предположим, что данная библиотека на компьютере у нас все-таки есть, просто она находится не в той директории. Как говорилось ранее, это может случиться из-за манипуляций с программой. В этом случае нам необходимо отыскать ее. Для этого используйте обыкновенный поиск в проводнике. Кто не знает, находится он в верхнем правом углу окна. Поиск рекомендуется начинать с системного диска.
После того как система обнаружит нужную библиотеку, ее необходимо переместить в правильную директорию. По умолчанию это папка bin, которая находится в каталоге директории 1Cv77, что располагается в Program Files на системном диске. Но на всякий случай, чтобы получить стопроцентную гарантию успеха, скопируйте этот файл еще и в папку System32, находящуюся в папке Windows на том же системном диске
Обратите внимание, если у вас 64-разрядная система, то название папки будет SysWOW64
После этого попробуйте поработать с программой 1С, если ошибка «Компонента v7plus.dll не найден» все еще есть, то, скорее всего, библиотека, которую мы перемещали, попросту не зарегистрирована в системе. Благо делается это довольно просто.
- Вызовите окно «Выполнить», нажатием клавиш Win+R.
- Впишите в поле для ввода команду regsvr32 С:Program Files1Cv77binv7Plus.dll.
- Нажмите кнопку OK для выполнения регистрации.
Вот на этом точно все. Программа должна теперь работать исправно.
Если появляется проблема 0х80020009
Сама регистрация можно сказать, после вышеописанного действия, произошла, однако загрузка необходимого модуля все равно невозможна. Проблема возникает в недостаточных полномочиях, возможно, вы не владеете административными возможностями.
- Перейдите по такому направлению: меню «Пуск», далее «Все программы». В конце списка найдите «Стандартные». Черный ярлык и надпись «Командная строка» это то, что нужно.
- Запускаете ее от имени администратора, через мышку, на ней кликаете по правой клавише.
- Снова укажите путь к вашим компонентам. Если они в bin, то вносите привычные уже regsvr32 С:Program Files1Cv77binv7Plus.dll.
Регистрация через командную строку - Регистрация происходит один раз за все время пользования.
Надеюсь вы разберетесь с ошибкой загрузки компоненты v7plus.dll (отсутствует clsid) и сможете самостоятельно зарегистрировать её.
Как исправить ошибки компоненты v7plus.dll
Отсутствующую компоненту необходимо скачать. После зарегистрировать, желательно, так, чтобы она работала раз и навсегда, и её не приходилось перерегистрировать для каждой новой базы.
Безопасно скачать эту компоненту можно с официального сайта 1С:Битрикс: https://www.bx77.ru/download/V7Plus.rar. Кроме компоненты, там лежит справочный файл V7Plus.als. Компоненту необходимо скопировать в каталог \bin, находящийся внутри папки, где у вас установлен «1С:Предприятие». По умолчанию программа ищет её сначала в каталоге \bin, потом обыскивает рабочий каталог базы данных, после — каталог пользователя базы данных.
Ошибки вида «Не удалось загрузить внешнюю компоненту v7plus.dll» должны исчезнуть. Если же по-прежнему присутствует ошибка v7plus.dll, жалующаяся на то, что «отсутствует CLSID», компоненту нужно зарегистрировать в системном реестре.
CLSID — идентификатор класса для программного обеспечения, своего рода «паспорт» приложения, облегчающий обращение к нему и прописанный в системном реестре. Именно такой «паспорт» и просит нас сделать программа.
Ошибка при создании объекта из компоненты v7plus.dll (отсутствует CLSID)
Эта ошибка стала появляться довольно часто именно в последнее время при использовании Windows версии 7 и старше. Означает это только одно, что внешняя компонента v7plus.dll не зарегистрирована в системе. Данная компонента обычно присутствует в любой директории с базой данных, либо в директории BIN движка самой 1С. Она достаточно давно последний раз модифицировалась, но все равно лучше использовать последнюю версию, ее точный размер 237650 байт.
Если у Вас другая версия, то лучше поищите последнюю, ее можно найти на любом последнем диске ИТС или обращайтесь ко мне в личку, помогу.
Далее, чтобы ошибка пропала навсегда необходимо зарегистрировать в системе данную компоненту. По опыту лучше положите ее в директорию BIN вместе с движком самой 1С, так Вы случайно не перенесете и не удалите ее.
Запускаем «командную строку» с правами администратор, для этого если есть кнопка «Пуск», то «Пуск->Все программы->Стандартные» находим «Командная строка», правой кнопкой мыши на ней «Запуск от имени Администратора». Если Windows 8, то в режиме плитки, правой кнопкой мыши и выбираем внизу справа «Все приложения», находим «Командная строка» правой кнопкой мыши по ней и снизу в появившемся меню «Запуск от имени Администратора». Все это нужно для того, что бы потом не получить следующую ошибку, как на картинке ниже.
Ошибка связана с ограничением прав пользователя. Она тоже нашим способом вылечится.
Далее в появившемся командном окне вбиваем строку: regsvr32 «диск:путь к файлуv7plus.dll» и нажимем «Ок«.
Получить должны такой результат.
Есть еще один вариант регистрации данной компоненты с таким же результатом:
1. На компьютере находим нужный файл V7Plus.dll. Для найденного файла создаем ярлык и выносим его на рабочий стол.
2. На рабочем столе правой кнопкой мыши вызываем свойства этого ярлыка.
3. В свойствах на закладке «Ярлык» в окне «Объект» перед путем к файлу вставляем команду regsvr32 (помним, что путь должен быть в двойных кавычках).
4. На этой же закладке свойств ярлыка жмем на кнопку «Дополнительно». В открывшемся диалоге устанавливаем флажок «Запуск от имени администратора» и сохраняем внесенные изменения.
5. Запускаем ярлык для регистрации компоненты V7Plus.dll (обычно запуск регистрации через ярлык достаточно произвести один раз).
6. После регистрации компоненты ярлык можно удалить.
Любой из вариантов решит Вашу проблему, аналогично можно зарегистрировать в системе и другие компоненты.
Почему не удается зарегистрировать DLL
Итак, у вас отсутствует какой-то файл DLL, из-за чего при запуске игры или программы вы видите ошибку, вы скачали этот файл из Интернета и пробуете зарегистрировать, но либо точка входа DllRegisterServer, либо модуль не совместим с текущей версией Windows, а может и что-то еще, то есть регистрация DLL невозможно.
Почему это происходит (далее будет и про то, как это исправить):
- Не все файлы DLL предназначены для того, чтобы их регистрировали. Для того, чтобы его можно было зарегистрировать данным способом, он должен иметь поддержку той самой функции DllRegisterServer. Иногда ошибка бывает также вызвана тем, что библиотека уже зарегистрирована.
- Некоторые сайты, предлагающие скачать DLL, содержат по факту, файлы-пустышки с искомым вами именем и их невозможно зарегистрировать, так как на самом деле это не библиотека.
А теперь о том, как это исправить:
- Если вы программист и регистрируете свою DLL, попробуйте regasm.exe
- Если вы пользователь и у вас что-то не запускается с сообщением о том, что DLL отсутствует на компьютере — поищите в Интернете, что это за файл, а не где его скачать. Обычно, зная это, вы можете скачать официальный установщик, который установит оригинальные библиотеки и зарегистрирует их в системе — например, для всех файлов с именем, начинающегося с d3d достаточно поставить DirectX с официального сайта Microsoft, для msvc — одну из версий Visual Studio Redistributable. (А если не запускается какая-то игра с торрента, то загляните-ка в отчеты антивируса, он мог удалить нужные DLL, это часто бывает с некоторыми модифицированными библиотеками).
- Обычно, вместо регистрации DLL срабатывает размещение файла в одной папке с исполняемым файлом exe, который требует эту библиотеку.
На этом завершаю, надеюсь, что-то стало более ясно, чем было.
А вдруг и это будет интересно:
Почему бы не подписаться?
Здравствуйте. Скачал из Стима игру, и столкнулся с ошибкой, связана она с файлом msvcrt. dll. Попробовал все указанные вами способами, а после попробовал установить Microsoft C++, но это все равно не помогло. Что мне делать?
А установили и X86 и X64 версии (нужны обе). Нужного года?
Источник