Как зарегистрировать dll в inno setup

Обновлено: 02.07.2024

С правилами форума ознакомился, но так как по своему вопросу ни чего не нарыл - открываю тему.

Проблема следующая:
немогу создать инсталлятор для своего проекта.
Перепробовал массу соответствующих программ, но воз и ныне там:(.

В innoSetup.5.19 не нащел - секции или параметров флагов (имеется ввиду инфа по этому вопросу) для регистации DLL и OCX файлов.
хотя прогу скачал вместе с 60-страничным хелпом, разжованным - дальше некуда.

Как не пробовал только. А все в пустую. на другой винде, пока бэйсик не поставишь - прога не идет.
------------------------------

В ninstaller.13-10 есть визуальный чек-поинт: "регистрировать как DLL/OCX", однако (хоть и рутина неимоверная загонять почти 100 файлов проекта в пятиполосный лист-бокс, и я это сделал с восьмого раза:)), прога после инсталляции все равно не пошла.
Т.е. она запустилась, три раза сматерилась, что нет какой то регистации в реестре, открыла стартовое окно первого запуска,
а после перехода на страницу сбора информации для БД выкидывает окно: run time error 91 и кирдык.

дело в том, что после первых попыток использования этой проги в список регистрируемых DLL/OCX попадали не все файлы библиотек, используемых моим проектом. В этих случаях программа после инсталляции сообщала об этом. началось все со злосчастного DBGRID32.OCX.
потом пошли comdlg32.ocx, Mscomct2.ocx. Добил меня - comdlg32.dll. И за каждым разом приходилось переделывать весь проект, т.к. ninstaller.13-10 не сохраняет в проекте список файлов (после закрытия он обнуляется).

короче как ни бьюсь - ни чего не выходит.

Сейчас на форуме попалось на глаза - innoSetup.5.19 поддерживает регистрацию DLL/OCX компонентов. КАК ЭТО РЕАЛИЗОВАТЬ?

Кто знает - как до начала создания инсталлятора определить, какие компоннеты и библиотеки ипользует проект (стандартный метод: "компоненты - добавить компоненты - расположение" - пройден - исписан лист бумаги этими самыми компонентами, все равно оказались не все)?

и последнее: что еще не зарегистрировал мой последний инсталлятор, если в принципе, моя прога, хоть с руганью, но запустилась?
точнее - какие еще камни скрыты под водой бэйсика, ведь после того, как установил ВБ-6про проблема, как вобщем и следовало ожидать, снялась?

Я уже в инсталлятор добавил и бэйсиковский регистратор OCX-ов с автозапуском, и все его рег-файлы. Заставил инсталлятор самостоятельно создавать новые ветки в реестре с данными из этих рег-файлов.

Как зарегистрировать DLL в Windows 10 и Windows 11

Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек DLL отсутствует в Windows 10, Windows 11 или других версиях системы — как зарегистрировать DLL в соответствующей версии ОС.

В этой инструкции подробно о способах регистрации библиотек DLL в Windows x64 и x86 (32-бит) с помощью regsvr32.exe (и кратко о regasm.exe), о возможных нюансах и проблемах, которые могут возникнуть в процессе.

Дальнейшие шаги описаны в предположении, что DLL, которую нужно зарегистрировать, уже находится в нужном расположении: папке C:\Windows\System32, C:\Windows\SysWOW64 или, в некоторых случаях — отдельных папках программ, к которой относится соответствующая библиотека, например, для 1С — C:\Program Files\1cv8\номер_версии\bin (или Program Files x86 в случае 32-битной версии).

Прежде чем приступить к регистрации библиотеки, учитывайте следующие моменты:

  • В x64 версиях Windows 64-битные DLL хранятся в System32, а 32-битные — в SysWOW64 (у некоторых начинающих пользователей бывает обратное предположение исходя из имён папок).
  • Файлы DLL x64 и x86 (32-бит) — это разные файлы. И если прямого указания на разрядность в месте загрузки файла нет, то чаще это 32-битный файл (что не мешает ему работать в x64 системе), но это не всегда так.
  • Для регистрации библиотеки DLL используется системный инструмент regsvr32.exe, который также доступен в двух версиях, которые лежат в папках System32 и SysWOW64 (в случае 64-битных систем). По умолчанию при описываемых далее действиях запускается x64 версия.
  • 32-битным программам и играм (по умолчанию устанавливаются в Program Files x86 в 32-битных системах) для работы нужны 32-битные DLL, не зависимо от разрядности Windows.

Сам процесс регистрации в общем случае состоит из следующих шагов:

Ошибка регистрации regsvr32 точка входа DllRegisterServer не найдена

Почему не удается зарегистрировать DLL

Ошибка при регистрации с помощью regsvr32 вида «Точка входа DllRegisterServer не найдена» говорит о том, что эта библиотека DLL не поддерживает регистрацию описанным методом. Можно попробовать использовать вариант команды:

но с большой вероятностью и это не поможет.

У большинства домашних пользователей такая проблема возникает при регистрации файлов DLL для игр и программ, часто не вполне лицензионных, которые сообщили, что нужный файл DLL не обнаружен или отсутствует. Причем сами библиотеки DLL обычно скачаны со сторонних сайтов (и чаще всего имеют имена начинающиеся с «vc», «msvc» или «d3d»). А решение, как правило, простое — выяснить, частью какого набора компонентов является эта DLL и установить эти компоненты с помощью их собственного установщика. Более подробно проблема и подходы к решению описаны в инструкции Точка входа DllRegisterServer не найдена — причины и возможные решения.

Видео

Надеюсь, цель достигнута, а количество вопросов, связанных с регистрацией DLL в Windows, уменьшилось.

Конфигурация компьютера
Процессор: Intel Core i5-4570, 3200 MHz
Материнская плата: Asus Z97-K
Память: 2 x 8Gb DDR3-1333 Corsair Vengeance LP CML16GX3M2A1600C9
HDD: Samsung SSD 850 PRO 256G (238Gb), WDC WD1001FALS (1Tb, 7200 RPM, SATA-II), WDC WD10EFRX (1Tb, SATA-III)
Видеокарта: MSI N750Ti (MS-V310)
Звук: Realtek ALC887
Блок питания: Chieftec GPS-650AB 650W
CD/DVD: HL-DT-ST DVDRAM GSA-4167B
Монитор: 24" Philips 240PW9ES
ОС: Windows 7 Ultimate x64 SP1
Индекс производительности Windows: 7.6

Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы.

Показать/скрыть: Дополнительные программы для Inno Setup:

- программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

- Программа для объединения нескольких скриптов InnoSetup в один.
Последняя версия: 3.0 [23.07.2009]



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Конфигурация компьютера
Процессор: Intel Core i5-7600K 3800MHz
Материнская плата: MSI Z170A GAMING M3
Память: Kingston HyperX Fury Black DDR4 2x8GB 2400MHz
HDD: Kingston UV500 M.2 120GB,HDD Toshiba P300 500GB, SSD ADATA Premier SP580 120GB
Видеокарта: MSI GeForce GTX 1050 Ti GAMING X 4G
Блок питания: Corsair CX-Series CX650M
ОС: Windows 10 Pro x64

Как зарегистрировать dll библиотеку в системе

Варианты решения проблемы

Имеется несколько методов, позволяющих устранить данную проблему. Рассмотрим каждый из них подробнее.

Способ 1: OCX/DLL Manager

OCX/DLL Manager – это маленькая программа которая может помочь зарегистрировать библиотеку или файл OCX.

OCX/DLL Manager также умеет отменять регистрацию библиотеки, для этого понадобится выбрать в меню пункт «Unregister OCX/DLL» и в последствии проделать все те же операции, как и в первом случае. Функция отмены может вам понадобиться для сравнения результатов при активированном файле и при отключенном, а также в процессе удаления некоторых компьютерных вирусов.

В процессе регистрации, система может выдать вам ошибку, говорящую о том, что требуются права администратора. В таком случае, нужно запустить программу нажав на неё правой кнопкой мыши, и выбрать «Запуск от имени администратора».

Запуск программы от имени администратора OCX DLL Manager

Способ 2: Меню «Выполнить»

Можно зарегистрировать DLL, используя команду «Выполнить» в стартовом меню операционной системы Windows. Для этого нужно будет произвести следующие действия:

  1. Нажать клавиатурную комбинацию «Windows + R» или выбрать пункт «Выполнить» из меню «Пуск».

Открываем меню Выполнить

Регистрируем DLL библиотеку через меню Выполнить

Этот пример подойдёт вам в том случае, если операционная система установлена на диск С. Если она находится в другом месте, то нужно будет поменять букву диска или воспользоваться командой:

Команда для регистрации dll которая сама находит папку где у вас установлена ОС

В таком варианте программа сама находит папку где у вас установлена ОС и запускает регистрацию указанного DLL файла.

В случае с 64-разрядной системой у вас будет две программы regsvr32 — одна находится в папке:

и вторая по пути:

Это разные файлы, которые используются раздельно для соответствующих ситуаций. Если у вас 64-битная ОС, а файл DLL 32-битный, тогда сам файл библиотеки должен быть помещен в папку:

и команда будет выглядеть уже так:

Команда для регистрации dll в 64-битной системе

Способ 3: Командная строка

  1. Выберите команду «Выполнить» в меню «Пуск».
  2. Впишите в открывшемся поле для ввода cmd.
  3. Нажмите «Enter».

Перед вами появится окно, в котором нужно будет вводить те же команды, что и во втором варианте.

Регистрируем DLL библиотеку через командную строку

Надо отметить, что у окна командной строки имеется функция вставки скопированного текста (для удобства). Найти это меню можно, нажав правой кнопкой на пиктограмме в левом верхнем углу.

Меню вставки в командной строке Windows

Способ 4: Открыть с помощью

  1. Откройте меню файла, который будете регистрировать, нажав по нему правой кнопкой мыши.
  2. Выберите «Открыть с помощью» в появившемся меню.

Регистрируем DLL библиотеку через меню Открыть с помощью

или в случае, если вы работаете в 64-битной системе, а файл DLL 32-разрядный:

Возможные ошибки

«Файл не совместим с установленной версией Windows» — это означает, что вы, скорее всего, пытаетесь зарегистрировать 64-разрядную DLL в 32-битной системе или наоборот. Воспользуйтесь соответствующей командой, описанной во втором способе.

В заключение нужно сказать, что суть всех предложенных вариантов одна и та же — это просто разные методы запуска команды регистрации — кому как удобнее.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Читайте также: