COM-взаимодействие без регистрации

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

Активация сборок без регистрации имеет два преимущества по сравнению с регистрацией во время развертывания.

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

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

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

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

  1. Поддержка COM-взаимодействия без регистрации немного различается в зависимости от типа сборки библиотеки. В частности, она зависит от того, является ли сборка неуправляемой (параллельный COM) или управляемой (на основе .NET). В таблице ниже приведены требования к версии операционной системы и платформы .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, разработчик приложения на основе .NET должен предоставить манифест приложения, содержащий информацию о привязке и активации. Поддержка неуправляемых параллельных сборок встроена в операционную систему Windows XP. Среда выполнения COM, поддерживаемая операционной системой, просматривает манифест приложения в поисках информации об активации, если активируемый компонент не занесен в реестр.

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

    Примечание.

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

См. также