Compartilhar via


Componentes isolados

Os autores de pacotes de instalação podem especificar que o instalador copie os arquivos compartilhados (DLLs comumente compartilhadas) de um aplicativo na pasta desse aplicativo em vez de um local compartilhado. Esse conjunto privado de arquivos (DLLs) é usado apenas pelo aplicativo. Isolar o aplicativo junto com seus componentes compartilhados dessa maneira tem as seguintes vantagens:

  • O aplicativo sempre usa as versões dos arquivos compartilhados com os quais foi implantado.
  • A instalação do aplicativo não substitui outras versões dos arquivos compartilhados por outros aplicativos.
  • As instalações subsequentes de outros aplicativos usando versões diferentes dos arquivos compartilhados não podem substituir os arquivos usados por este aplicativo.

Como a implementação atual do COM mantém um único caminho completo no registro para cada par CLSID/Contexto, ele força todos os aplicativos a usar a mesma versão de uma DLL compartilhada. Para habilitar um aplicativo a manter uma cópia privada de um servidor COM, o carregador do sistema no Windows 2000 verifica a presença de um . Arquivo LOCAL na pasta do aplicativo. Se o carregador do sistema detectar um . Arquivo LOCAL, ele altera sua lógica de pesquisa para preferir DLLs localizadas na mesma pasta que o aplicativo.

Quando o Windows Installer executa a ação IsolateComponents eles copiam os arquivos do componente (geralmente uma DLL compartilhada) especificada na coluna Component_Shared da tabela IsolatedComponent na mesma pasta que o componente (geralmente um arquivo .exe) especificado na coluna Component_Application. O instalador cria um arquivo neste diretório, com zero bytes de comprimento, tendo o nome curto do arquivo de chave para Component_Application (normalmente o nome é o mesmo que o .exedo aplicativo) acrescentado com . LOCAL. O instalador usa o registro do componente em seu local compartilhado e não grava nenhuma informação de registro para a cópia do componente no local privado.

Para obter mais informações, consulte: