Partilhar via


Registration-Free Interoperabilidade COM

A interoperabilidade COM sem registro ativa um componente sem usar o registro do Windows para armazenar informações de assembly. Em vez de registrar um componente em um computador durante a implantação, você cria arquivos de manifesto no estilo Win32 em tempo de design que contêm informações sobre vinculação e ativação. Esses arquivos de manifesto, em vez de chaves de registro, direcionam a ativação de um objeto.

Usar a ativação sem registo para os seus assemblies em vez de os registar durante a implementação oferece duas vantagens:

  • Você pode controlar qual versão da DLL é ativada quando mais de uma versão é instalada em um computador.

  • Os usuários finais podem usar XCOPY ou FTP para copiar seu aplicativo para um diretório apropriado em seus computadores. O aplicativo pode então ser executado a partir desse diretório.

Esta seção descreve os dois tipos de manifestos necessários para interoperabilidade COM sem registro: manifestos de aplicativo e de componentes. Esses manifestos são arquivos XML. Um manifesto de aplicação, que é criado por um desenvolvedor de aplicação, contém metadados que descrevem assemblies e dependências de assemblies. Um manifesto de componente, criado por um desenvolvedor de componente, contém informações que, de outra forma, estariam localizadas no registro do Windows.

Requisitos para a interoperabilidade COM sem registo

  1. O suporte para interoperabilidade COM sem registo varia ligeiramente dependendo do tipo de assemblagem da biblioteca; especificamente, se a assemblagem é não-gestionada (COM em paralelo) ou gerida (baseada em .NET). A tabela a seguir mostra os requisitos de versão do sistema operacional e do .NET Framework para cada tipo de assembly.

    Tipo de montagem Sistema operativo Versão do .NET Framework
    COM lado a lado Microsoft Windows XP Não é necessário.
    . Baseado em NET Windows XP com SP2 NET Framework versão 1.1 ou posterior.

    A família Windows Server 2003 também oferece suporte à interoperabilidade COM sem necessidade de registro para assemblies baseados no .NET.

    Para que uma classe baseada em .NET seja compatível com ativação sem registo pelo COM, a classe deve ter um construtor sem parâmetros e ser pública.

Configurando componentes COM para ativação sem registro

  1. Para que um componente COM participe na ativação sem registro, ele deve ser distribuído como um assembly em paralelo. Os assemblies lado a lado são assemblies não gerenciados. Para obter mais informações, consulte Usando assemblies lado a lado.

    Para usar assemblies COM lado a lado, um desenvolvedor de aplicativos baseado em .NET deve fornecer um manifesto do aplicativo, que contém as informações de vinculação e ativação. O suporte para assemblies lado a lado não gerenciados está integrado ao sistema operacional Windows XP. O tempo de execução COM, suportado pelo sistema operativo, analisa o manifesto de uma aplicação para obter informações de ativação quando o componente que está a ser ativado não está no registo.

    A ativação sem registro é opcional para componentes COM instalados no Windows XP. Para obter instruções detalhadas sobre como adicionar um assembly paralelo a uma aplicação, consulte Usando assemblies paralelas.

    Observação

    A execução lado a lado é um recurso do .NET Framework que permite que várias versões do tempo de execução e várias versões de aplicativos e componentes que usam uma versão do tempo de execução sejam executadas no mesmo computador ao mesmo tempo. A execução paralela e as montagens paralelas são mecanismos diferentes para proporcionar a funcionalidade lado a lado.

Ver também