Поделиться через


Registration-Free COM-взаимодействие

Взаимодействие COM без регистрации активирует компонент без использования реестра Windows для хранения сведений о сборке. Вместо регистрации компонента на компьютере во время развертывания вы создаете файлы манифестов в стиле Win32 во время разработки, содержащие сведения о привязке и активации. Эти файлы манифестов, а не разделы реестра, управляют активацией объекта.

Использование активации без регистрации для сборок вместо регистрации во время развертывания предлагает два преимущества:

  • Вы можете контролировать, какая версия DLL активируется при установке нескольких версий на компьютере.

  • Конечные пользователи могут использовать XCOPY или FTP для копирования приложения в соответствующий каталог на своем компьютере. Затем приложение можно запустить из этого каталога.

В этом разделе описаны два типа манифестов, необходимых для взаимодействия COM без регистрации: манифесты приложений и компонентов. Эти манифесты являются XML-файлами. Манифест приложения, созданный разработчиком приложения, содержит метаданные, описывающие сборки и зависимости сборок. Манифест компонента, созданный разработчиком компонента, содержит сведения, которые обычно находятся в реестре Windows.

Требования к безрегистрационному COM-взаимодействию

  1. Поддержка взаимодействия COM без регистрации слегка меняется в зависимости от типа сборки библиотеки; в частности, является ли сборка неуправляемой (COM side-by-side) или управляемой (.NET-based). В следующей таблице показаны требования к версии операционной системы и .NET Framework для каждого типа сборки.

    Тип сборки Операционная система Версия платформы .NET Framework
    COM бок о бок Microsoft Windows XP Необязательно.
    На основе .NET Windows XP с пакетом обновления 2 (SP2) NET Framework версии 1.1 или более поздней.

    Семейство Windows Server 2003 также поддерживает взаимодействие COM без регистрации для сборок на основе .NET.

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

Настройка COM-компонентов для активации без регистрации

  1. Чтобы компонент COM участвовал в активации без регистрации, его необходимо развернуть в виде параллельной сборки. Параллельные сборки — это неуправляемые сборки. Дополнительные сведения см. в разделе "Использование параллельных сборок".

    Для использования сборок COM side-by-side разработчик приложений на основе .NET должен предоставить манифест приложения, содержащий сведения о привязке и активации. Поддержка неуправляемых параллельных сборок встроена в операционную систему Windows XP. Среда выполнения COM, поддерживаемая операционной системой, проверяет манифест приложения для получения сведений о активации, когда компонент, активируемый, не находится в реестре.

    Активация без регистрации необязательна для компонентов COM, установленных в Windows XP. Подробные инструкции по добавлению параллельной сборки в приложение см. в разделе "Использование параллельных сборок".

    Замечание

    Параллельное выполнение — это функция .NET Framework, которая позволяет одновременно запускать на одном компьютере несколько версий среды выполнения, а также несколько версий приложений и компонентов, использующих версию среды выполнения. Параллельное выполнение и параллельные сборки являются различными механизмами обеспечения параллельной функциональности.

См. также