Partilhar via


Registro VSPackage

Os VSPackages precisará informar Visual Studio que eles estão instalados e devem ser carregado. Esse processo é realizado pela gravação de informações no registro. Isso é um trabalho típico de um instalador.

Dica

É uma prática aceita durante o desenvolvimento de VSPackage para usar o auto-registro.No entanto, Programa Visual Studio Industry Partner (VSIP) parceiros não podem fornecer a seus produtos usando o auto-registro como parte da instalação.

Entradas de registro em um pacote do Windows Installer geralmente são feitas na tabela do registro. Você também pode registrar as extensões de arquivo na tabela do registro. No entanto, o Windows Installer fornece suporte interno por meio do identificador programático (ProgId), classe, extensão e tabelas de verbo. Para obter mais informações, consulte Tabelas de banco de dados.

Certifique-se de que suas entradas de registro são associadas com o componente que é apropriado para sua estratégia de lado a lado escolhida. Por exemplo, entradas do registro para um arquivo compartilhado devem ser associadas com o componente do Windows Installer desse arquivo. Da mesma forma, entradas do registro para um arquivo específico da versão devem ser associadas ao componente desse arquivo. Caso contrário, instalando ou desinstalando o seu VSPackage para uma versão do Visual Studio pode ser desfeito seu VSPackage em outras versões. Para mais informações, consulte: Suporte a várias versões do Visual Studio.

Dica

A maneira mais fácil de gerenciar o registro é usar os mesmos dados nos mesmos arquivos de registro do desenvolvedor e o registro durante a instalação.Por exemplo, algumas ferramentas de desenvolvimento do instalador podem consumir o arquivo no formato. reg no momento da compilação.Se os desenvolvedores mantêm arquivos. reg para seu próprio desenvolvimento diário e depuração, esses mesmos arquivos podem ser incluídos no instalador automaticamente.Se você não pode compartilhar automaticamente os dados de registro, você deve garantir que a cópia do instalador dos dados de registro é atual.

Registrando VSPackages não gerenciados

VSPackages não gerenciados (incluindo aqueles gerados pelo pacote de modelo Visual Studio) usar arquivos. rgs do estilo ATL para armazenar informações de registro. O formato de arquivo. rgs é específico para o ATL e geralmente não podem ser consumido como-é uma ferramenta de autoria de instalação. Informações de registro para o instalador VSPackage devem ser mantidas separadamente. Por exemplo, os desenvolvedores podem manter arquivos no formato. reg em sincronia com. rgs alterações no arquivo. Os arquivos. reg podem ser mesclados com o RegEdit para o trabalho de desenvolvimento ou consumidos por um instalador.

Registrando VSPackages gerenciados

A ferramenta de RegPkg lê os atributos de registro do VSPackage gerenciado e qualquer um pode gravar as informações diretamente para o registro ou gravar arquivos no formato. reg que podem ser consumidos por um instalador.

Dica

A ferramenta de RegPkg não é redistribuível e não pode ser usada para registrar um VSPackage no sistema do usuário.

Por que não deve auto-registrar os VSPackages no momento da instalação

Os instaladores VSPackage não devem depender de auto-registro. A princípio, manter os valores de registro do VSPackage apenas o VSPackage próprio parece uma boa idéia. Considerando que os desenvolvedores precisam os valores de registro disponíveis para seus trabalhos de rotina e testes, faz sentido para evitar a manutenção de uma cópia separada dos dados do registro do instalador. O instalador pode contar com o VSPackage para gravar valores do registro.

Ao bom em teoria, o auto-registro possui várias falhas que o tornam inadequados para a instalação de VSPackage:

  • Com suporte de instalação, desinstalação, reversão da instalação e reversão de desinstalação corretamente requer a criação de quatro ações personalizadas para cada VSPackage gerenciado que self-registers chamando RegPkg.

  • Sua abordagem ao suporte lado a lado pode exigir que você cria quatro ações personalizadas que invocam RegSvr32 ou RegPkg para cada versão suportada do Visual Studio.

  • Uma instalação com módulos de auto-registrados não pode ser revertida com segurança porque há uma maneira de dizer se as chaves de auto-registrados são usadas por outro recurso ou aplicativo.

  • Às vezes, vincular DLLs auto-registrados DLLs auxiliares que não estão presentes ou a versão errada. Em contraste, o Windows Installer pode registrar DLLs usando as tabelas de registro sem dependência no estado atual do sistema.

  • Código de auto-registro pode ser negado acesso aos recursos de rede, como bibliotecas de tipo, se um componente estiver especificado como executado a partir da origem tanto está listado na tabela SelfReg. Isso pode causar a instalação do componente falha durante uma instalação administrativa.

Consulte também

Outros recursos

O Windows Installer

Managed Package Registration