Compartilhar via


Interoperabilidade COM sem registro

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 no tempo de design que contêm informações sobre associação e ativação. Esses arquivos de manifesto, em vez de chaves do Registro, direcionam a ativação de um objeto.

Usar a ativação sem registro dos assemblies em vez de registrá-los durante a implantação oferece duas vantagens:

  • Você pode controlar qual versão de 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 seu computador. Em seguida, o aplicativo pode 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 componente. Esses manifestos são arquivos XML. Um manifesto de aplicativo, criado pelo desenvolvedor, contém metadados que descrevem assemblies e suas dependências. Um manifesto de componente, criado por um desenvolvedor de componentes, contém informações de outra forma localizadas no Registro do Windows.

Requisitos da interoperabilidade COM sem registro

  1. O suporte para a interoperabilidade COM sem registro varia ligeiramente dependendo do tipo de assembly de biblioteca; especificamente, se o assembly é não gerenciado (COM lado a lado) ou gerenciado (baseado 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 assembly Sistema Operacional 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 registro para assemblies baseados em .NET.

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

Configurando componentes COM para ativação sem registro

  1. Para um componente COM participar da ativação sem registro, ele deve ser implantado como um assembly lado a lado. Assemblies de lado a lado são não gerenciados. Para obter mais informações, confira Using Side-by-side Assemblies (Usando assemblies lado a lado).

    Para usar os assemblies com lado a lado COM, um desenvolvedor de aplicativos baseados em .NET em sua empresa deve fornecer um manifesto de aplicativo contendo as informações de associação e a ativação. O suporte para assemblies lado a lado não gerenciados é criado no sistema operacional Windows XP. O runtime COM, com suporte do sistema operacional, analisa o manifesto de um aplicativo em busca de informações de ativação quando o componente que está sendo ativado não está registrado.

    A ativação sem registro é opcional para componentes COM instalados no Windows XP. Para obter instruções detalhadas de como adicionar um assembly lado a lado a um aplicativo, confira Using Side-by-side Assemblies (Usando assemblies lado a lado).

    Observação

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

Consulte também