Как развернуть COM - PullRequest
       17

Как развернуть COM

1 голос
/ 18 сентября 2009

Я только что закончил сборку моего нового COM-проекта (C #, .NET 3.5). Этот проект будет вызван приложением VFP. Он отлично работает на моей машине для разработки, но теперь мне нужно знать, как развернуть его на компьютере пользователя. Click Once недоступен для такого рода проектов, поэтому я думаю, что я застрял с ручным распространением DLL.

Итак, куда мне положить DLL и как ее зарегистрировать?

Кстати, платформа 3.5 уже установлена ​​на компьютере пользователя.

ТИА

Ответы [ 2 ]

3 голосов
/ 18 сентября 2009

Я действительно никогда не использовал RegSvr32 со сборками .Net, скорее, я использую regasm с параметром / codebase:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

Вы также можете использовать параметр / tlb, чтобы экспортировать библиотеку типов и зарегистрировать ее.

Конечно, самый простой способ, просто создать установщик с помощью vstudio, и он сделает это за вас.

1 голос
/ 18 сентября 2009

Создание описания класса COM и интерфейсов

.Net сборки не содержат информации в формате, совместимом с библиотекой типов. Поэтому программисту необходимо запустить одну из двух предоставленных .Net утилит, чтобы извлечь описание сборки класса в файл библиотеки типов.

Одной из утилит является TLBEXP.EXE, экспортер библиотек типов .Net. Эта утилита командной строки принимает в качестве входных данных имя файла DLL сборки, который необходимо преобразовать в библиотеку типов. Программист также может указать имя файла библиотеки типов, который будет создан.

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

Как только библиотека типов создана, на нее может ссылаться COM-клиент для получения информации, необходимой COM-клиенту для привязки к интерфейсам COM-класса, и активации COM-класса во время выполнения.

Регистрация класса COM и интерфейсов

Чтобы класс COM был доступен клиенту во время выполнения, инфраструктура COM должна знать, как найти код, реализующий класс COM. Следующая команда выполняет это:

regasm ComServer.dll

Ваша DLL может быть помещена куда угодно, но хорошим выбором является C: \ Program Files \ MyApplication.

http://www.csharphelp.com/archives/archive190.html

...