Compartilhar via


O que acontece se as regras do componente forem desrespeitadas?

Em determinados casos, os autores podem decidir quebrar as regras para criar componentes, conforme discutido em Organizar aplicativos em componentes e Alterar o código do componente. Os autores precisam conhecer as possíveis consequências de fazer isso e, sendo assim, devem garantir que seus componentes nunca sejam instalados onde podem danificar outros aplicativos ou componentes no sistema do usuário.

A lista a seguir descreve como os autores às vezes quebram as regras de componente recomendadas e as possíveis consequências.

Autores adicionam recursos a um componente sem alterar o código do componente.

  • Os produtos instalados com o componente antigo não têm informações sobre os recursos adicionados no banco de dados de instalação.
  • Se tanto um produto novo com recursos adicionados quanto um produto antigo estiverem instalados no mesmo computador, os recursos poderão ser deixados para trás se o produto novo for desinstalado primeiro.
  • Um produto antigo sem os recursos adicionados não pode reparar a versão mais recente do componente. Reinstalar o produto antigo não restaura os recursos adicionados.

Um autor remove recursos de um componente sem alterar o código do componente.

  • Os produtos instalados com o componente novo não têm informações sobre os recursos removidos no banco de dados de instalação.
  • Se tanto um produto antigo com as informações de recursos quanto um produto novo estiverem instalados no mesmo computador, os recursos poderão ser deixados para trás se o produto antigo for desinstalado primeiro.
  • Um produto novo com os recursos removidos não pode reparar a versão mais antiga do produto. Reinstalar o produto novo não restaura os recursos removidos.

Um autor inclui um arquivo incompatível com versões anteriores sem alterar o código do componente.

Se um arquivo incompatível for incluído em um componente sem alterar o código do componente, o controle de versão de arquivo padrão fará com que o instalador substitua o arquivo original pelo arquivo incompatível mais recente. Isso pode danificar produtos antigos que precisam do arquivo original. Ele também pode impedir que o instalador repare o produto antigo porque a versão do arquivo de caminho de chave de um componente determina a versão do componente. Se uma versão mais recente do arquivo de caminho de chave já estiver instalada, o instalador não instalará uma versão mais antiga do componente. Para obter mais informações, confira Regras de controle de versão de arquivo. Nesse caso, o novo produto deve ser removido antes que o produto antigo possa ser reinstalado.

  • O controle de versão de arquivo padrão faz com que o instalador substitua o arquivo original pelo arquivo incompatível mais recente.
  • Produtos antigos que precisam do arquivo original são danificados.
  • Ele também pode impedir que o instalador repare o produto antigo porque a versão do arquivo de caminho de chave de um componente determina a versão do componente. Se uma versão mais recente do arquivo de caminho de chave já estiver instalada, o instalador não instalará a versão mais antiga do componente. Para obter mais informações, confira Regras de controle de versão de arquivo. Nesse caso, o novo produto deve ser removido antes que o produto antigo possa ser reinstalado.

Um autor inclui o mesmo recurso em dois componentes diferentes.

Se dois componentes tiverem um recurso com o mesmo nome e local e ambos se eles estiverem instalados na mesma pasta, a remoção de qualquer componente removerá o recurso comum, o que danificará o componente restante.

  • A desinstalação de qualquer componente remove o recurso e interrompe o outro componente.
  • O mecanismo de contagem de referência do componente é danificado.