Как зарегистрировать COM-библиотеки во время выполнения?

Допустим, я разрабатываю приложение, которое устанавливает компонент COM, а установщик их регистрирует. Это прекрасно работает.

Теперь программное обеспечение требуется для запуска с карты памяти. Как я могу зарегистрировать среду выполнения моих библиотек и убедиться, что реестр очищен после запуска приложения?


person John Smith    schedule 05.11.2008    source источник


Ответы (3)


Вы всегда используете XP или новее? Не беспокойся. Используйте "регистрацию без COM".

По сути, вы создаете файл манифеста для COM-компонента, чтобы загрузчик Windows знал, что это за регистрация, не помещая его в реестр.

В этой статье на MSDN описано, что делать: Активация COM без регистрации Компоненты: пошаговое руководство

«Шаг 6» и «Шаг 7» в этой статье показывают, как создавать манифесты. Если ваша основная программа является родной, а не управляемой, вам, возможно, также придется выполнить некоторые вызовы API, что также объясняется там.

person Tim Farley    schedule 05.11.2008
comment
Я могу ошибаться, но я совершенно уверен, что это не работает с ASP.NET. По крайней мере, я еще не смог заставить его работать. - person nick; 19.11.2013

Для этого мы можем использовать команды оболочки. Вызов Regsvr32 с именем dll с помощью Shell.

person Vinay    schedule 16.11.2008

Однажды я видел статью о side- рядом с COM, который может быть тем, что вам нужно. Однако обратите внимание, что он доступен не во всех версиях Windows.

person CesarB    schedule 05.11.2008