powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / regsvr32 зависает при регистрации
19 сообщений из 19, страница 1 из 1
regsvr32 зависает при регистрации
    #39835961
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть windows 7
написал для него dll в виде ActiveX Library в Delphi 7, которая включает один automation object из нескольких интерфейсов.

Пытаюсь его зарегистрировать. На некоторых машинах нормально регистрирует, а на одной зависает.
Просто виснет и ничего не говорит.
Компьютер в домене. Но другие тоже в домене, а на них регистрирует нормально.

regsvr32 mylib.dll

Добавлял
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function DllRegisterServer: HResult; stdcall;
begin
  Result := ERROR_SUCCESS;
end;

function DllUnregisterServer: HResult; stdcall;
begin
  Result := ERROR_SUCCESS;
end;




но не помогло

основной код стандартен при создании Activex Library

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
library MyLib;

uses
  ComServ,
    Windows, SysUtils, Classes,
  MyLib_TLB in 'MyLib_TLB.pas',
  MainComUnit in 'MainComUnit.pas' {MyLibC: CoClass},
  HTTPClassUnit in 'classes\HTTPClassUnit.pas',
  IniClassUnit in 'classes\IniClassUnit.pas',
  InternetClassUnit in 'classes\InternetClassUnit.pas',
  CertsClassUnit in 'classes\CertsClassUnit.pas',
  CodecUnit in 'CodecUnit.pas',
  MyLibClassUnit in 'classes\MyLibClassUnit.pas',
  uLkJSON in 'uLkJSON.pas',
  LogUnit in 'LogUnit.pas';

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer;

{$R *.TLB}

{$R *.RES}

begin
end.
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836072
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29,

фоновую службу RPC проверь
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836074
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)evgen29,

фоновую службу RPC проверь

в смысле проверить работает или нет?
или как-то еще?
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836076
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29,

ну хотя бы "запущена"
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836143
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
антивирусы?
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836181
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonантивирусы?скорее всего нет, корпоративная же сетка, одинаковые должны быть - на других бы тож самое было.
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836196
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

А откуда идёт регистрация?
Если попробовать скопировать dll'ку в system32 (sysWOW64, если система x64, а dll - x86) и оттуда зарегистрировать?

Можно попробовать ProcessMonitor'ом посмотреть в какой момент зависает.
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836236
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это странно
в журнале пишет на regsvr32 Код исключения: 0xc0000005
отказано в доступе или еще что?
система 64-х разрядная
запускаю cmd От имени админа со следующим текстом %windir%\syswow64\regsvr32 c:\path_to_mylib\mylib.dll
я вначале грешил на антивирус, но там его не оказалось. Поставил 360 total security. Тот ничего страшного не нашел.
Потом полез в журнал, а там это.
Комп в домене.
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836283
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29Код исключения: 0xc0000005
отказано в доступе или еще что?AV
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836293
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29,

судя по отсутствию реакции на фейловую подмену
Код: pascal
1.
2.
3.
4.
function DllRegisterServer: HResult; stdcall;
begin
  Result := ERROR_SUCCESS;
end;



может путь path_to_mylib с пробелами?

Код: plaintext
%windir%\syswow64\regsvr32 "c:\path_to_mylib\mylib.dll"
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836480
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)evgen29,

судя по отсутствию реакции на фейловую подмену
Код: pascal
1.
2.
3.
4.
function DllRegisterServer: HResult; stdcall;
begin
  Result := ERROR_SUCCESS;
end;



может путь path_to_mylib с пробелами?

Код: plaintext
%windir%\syswow64\regsvr32 "c:\path_to_mylib\mylib.dll"


да вот в том то и дело, что путь без пробелов и даже без русских символов
тоже в бубен стучу и гадаю, в чем может быть дело...
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836482
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29, выкинуть из длл все мясо, оставить совсем пустую обертку, регается ли? потом добавлять юниты, раз так найти гробящийся не удается
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836771
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vavanevgen29, выкинуть из длл все мясо, оставить совсем пустую обертку, регается ли? потом добавлять юниты, раз так найти гробящийся не удается

мясо почистил, пустая либа с ком-объектом регистрируется нормально.
Моя же выдает полностью это. Видимо проблема действительно в одном из модулей.
Там в некоторых модулях есть секции Initialization и finalization. в них к примеру логи создаются или идет подключение к ини.
Может доступа у библиотеки нет конечно к работе с файловой системой.
Буду искать дальше:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Имя сбойного приложения: regsvr32.exe, версия: 6.3.9600.17415, метка времени: 0x5450484f
Имя сбойного модуля: mylib.dll, версия: 1.0.0.0, метка времени: 0x2a425e19
Код исключения: 0xc0000005
Смещение ошибки: 0x00003762
Идентификатор сбойного процесса: 0x15fc
Время запуска сбойного приложения: 0x01d5389033672cd9
Путь сбойного приложения: C:\Windows\SysWOW64\regsvr32.exe
Путь сбойного модуля: d:\test\libs\mylib.dll
Идентификатор отчета: 71dd5908-a483-11e9-8253-80c5f23b1dde
Полное имя сбойного пакета: 
Код приложения, связанного со сбойным пакетом: 
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836777
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29
Код: pascal
1.
2.
Код исключения: 0xc0000005
Смещение ошибки: 0x00003762




А если для библиотеки подробный map-файл создать и посмотреть, что за функция там по этому смещению?..
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836782
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29Там в некоторых модулях есть секции Initializationвот где-то там по всей видимости и порылась gpf
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39836815
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29,

значит инициализация либы
багрепортер какой нить подцепи, да LoadLibrary сделай и найдёшь
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39837195
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vavanevgen29Там в некоторых модулях есть секции Initializationвот где-то там по всей видимости и порылась gpf

В общем, действительно, я сам дурак. У меня один модуль использует CadesCom для работы с сертификатами. А для него необходимо установить Cades Plugin. Инсталяха плагин автоматом не установила, соответственно при попытке создания объекта класса в секции initialize, который использует вызов
Код: pascal
1.
FStore := CreateOLEObject('CAdESCOM.Store');

в конструкторе , происходила бага, которая пыталась вызвать неустановленный на компьютер объект. А initialize загружается всегда при обращении к библиотеке. Установил плагин, всё заработало.

Вот так вот иногда полезно пообщаться на форуме. Спасибо )))
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39837205
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29,

Вообще, такие вещи в Initialization делать ИМХО в принципе не стоит.
Ну или делать их с обработкой ошибок, записью в EventLog и возвратом правильного кода ошибки.
...
Рейтинг: 0 / 0
regsvr32 зависает при регистрации
    #39837328
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpevgen29,

Вообще, такие вещи в Initialization делать ИМХО в принципе не стоит.

+1. Особенно в DLL. Мало того что ошибки трудно диагностируются, так еще и DLLMain без проблем позволяет применять только очень малый набор функций
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / regsvr32 зависает при регистрации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]