Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как проверить, зарегистрирована ли dll в системе?


Автор: vlsaf 30.3.2009, 10:44
Всем привет.


Как проверить, зарегистрирована ли dll в системе?

Автор: Partizan 30.3.2009, 10:55
vlsaf, могу подсказать как проверить, зарегистрирован ли тип в системе:

Код

    public static class Ole32
    {
        [DllImport("ole32.dll")]
        public static extern int CLSIDFromProgID([MarshalAs(UnmanagedType.LPWStr)] string lpszProgID, out Guid pclsid);
    }


Код

            Guid guid;
            Ole32.CLSIDFromProgID(progId, out guid);


ProgId в данном случае - имя типа...

Автор: vlsaf 30.3.2009, 11:39
Dll регистрируют в системе обычно так

Regsvr32 my.dll


Вот нужно проверить, my.dll была зарегистрирована или нет.
Проверка регистрации типа тут может чем-то помочь?


Автор: Rififi 30.3.2009, 11:52
vlsaf, 
Dll не регистрируют.
Регистрируют com-сервер
искать путь к dll в разделе CLSID\...\InprocServer32

Автор: vlsaf 30.3.2009, 20:21
Partizan, оценил. Спасибо. Держи +1

Автор: Rififi 30.3.2009, 21:16
Partizan, 
могу подсказать как проверить, зарегистрирован ли тип в системе:
p/invoke для этого не нужен, хватит возможностей обычного Type

Автор: Partizan 31.3.2009, 10:24
Rififi, жду примера  smile 

Автор: Rififi 31.3.2009, 11:41
Partizan, 
Type.GetTypeFromProgID("...");

Автор: Partizan 31.3.2009, 11:49
Rififi, согласен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)