COM-взаимодействие без регистрации
COM-взаимодействие без регистрации активирует компонент, не используя реестр Windows для хранения сведений о сборке. Вместо регистрации компонента на компьютере во время развертывания необходимо в режиме разработки создать файлы манифеста в стиле Win32, содержащие информацию о привязке и активации. Именно эти файлы манифеста, а не ключи реестра, управляют активацией объекта.
Активация сборок без регистрации имеет два преимущества по сравнению с регистрацией во время развертывания.
Вы можете выбирать активируемую версию библиотеки DLL, если на компьютере установлено несколько версий.
Конечные пользователи могут с помощью XCOPY или FTP скопировать приложение в нужную папку на своем компьютере. Затем приложение можно будет запустить из этого каталога.
В этом разделе описываются два типа манифестов, которые требуются для COM-взаимодействия без регистрации: манифесты приложений и манифесты компонентов. Эти манифесты являются файлами XML. Манифест приложения, создаваемый разработчиком приложения, содержит метаданные, которые описывают сборки и зависимости сборок. Манифест компонента, создаваемый разработчиком компонента, содержит сведения, которые обычно находятся в реестре Windows.
Требования для COM-взаимодействия без регистрации
Поддержка 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-компонентов для активации без регистрации
Чтобы COM-компонент участвовал в активации без регистрации, его необходимо развернуть как параллельную сборку. Параллельные сборки являются неуправляемыми. Дополнительные сведения см. в разделах, посвященных использованию параллельных сборок.
Чтобы использовать параллельные сборки COM, разработчик приложения на основе .NET должен предоставить манифест приложения, содержащий информацию о привязке и активации. Поддержка неуправляемых параллельных сборок встроена в операционную систему Windows XP. Среда выполнения COM, поддерживаемая операционной системой, просматривает манифест приложения в поисках информации об активации, если активируемый компонент не занесен в реестр.
Активация без регистрации не является обязательной для COM-компонентов, установленных в ОС Windows XP. Подробные инструкции по добавлению параллельной сборки в приложение см. в этих разделах.
Примечание.
Параллельное выполнение — это функциональная возможность .NET Framework, которая позволяет одновременно работать на компьютере нескольким версиям среды выполнения и нескольким версиям приложений и компонентов, использующим одну из версий среды выполнения. Параллельное выполнение и параллельные сборки — это разные механизмы обеспечения параллельной работы.