Usar métodos de instalação alternativos

Normalmente, os usuários do Chrome instalam as extensões ao visitar a página de detalhes de uma extensão na Chrome Web Store e fazer a instalação diretamente na página. Em alguns casos, outros fluxos de instalação podem ser mais apropriados. Exemplo:

  • Uma extensão está associada a algum outro software e precisará ser instalada sempre que o usuário instalar esse outro software.
  • Um administrador de rede quer instalar as mesmas extensões em toda a organização.

Para os casos anteriores, o Google Chrome suporta os seguintes métodos de instalação de extensões:

Ambas as formas oferecem suporte à instalação de uma extensão hospedada em um update_URL. No Windows e no macOS, o update_URL precisa apontar para a Chrome Web Store. Quando uma extensão for instalada usando esses métodos, os usuários do Windows e do macOS precisarão ativá-la usando a seguinte caixa de diálogo de confirmação:

Aviso de extensão externa

No Linux, o arquivo de preferências pode apontar para uma extensão da Chrome Web Store, uma extensão hospedada externamente ou um arquivo de extensão CRX no computador do usuário. Os usuários do Linux não serão solicitados a ativar a extensão. Ela é instalada automaticamente.

Antes de começar

Instalar pela Chrome Web Store

Se você estiver distribuindo uma extensão hospedada na Chrome Web Store, primeiro publique a extensão. Depois, anote o seguinte:

  • O URL de atualização: https://clients2.google.com/service/update2/crx. Este URL aponta para a Chrome Web Store.
  • O ID da extensão: pode ser encontrado no URL da Chrome Web Store da extensão.

ID do item da Chrome Web Store

Instalar a partir do arquivo CRX local

Se você estiver distribuindo para usuários do Linux a partir de um arquivo local, será necessário empacotar um arquivo CRX e observar as seguintes informações:

  • O ID da extensão: pode ser encontrado na página de gerenciamento de extensões chrome://extensions.

  • A versão da extensão: aparece na página de gerenciamento de extensões chrome://extensions ou no arquivo JSON do manifesto.

Como encontrar o ID e a versão da extensão

  • O local do arquivo CRX: pode ser um diretório local ou um compartilhamento de rede. Verifique se o arquivo está disponível na máquina em que você quer instalar a extensão.

Instalar usando um servidor pessoal

Se você estiver distribuindo uma extensão hospedada em um servidor pessoal para usuários do Linux, siga as instruções em Como instalar extensões no Linux e observe as seguintes informações:

  • O ID da extensão: pode ser encontrado na página de gerenciamento de extensões chrome://extensions.

  • O caminho do arquivo XML update_url: precisa corresponder ao caminho do campo update_url declarado no arquivo JSON de manifesto.

Os exemplos a seguir presumem que a versão é 1.0 e o ID da extensão é aaabbb transformadddeeefff.

Usar um arquivo de preferências

macOS

  1. Crie um arquivo JSON com o nome do ID da extensão. Exemplo: aaabbbcccdddeeefff.json
  2. Coloque-o em uma das seguintes pastas:

    Para um usuário específico
    ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/
    Para todos os usuários
    /Library/Application Support/Google/Chrome/External Extensions/
  3. Especifique o URL de atualização com o nome do campo "external_update_url". Por exemplo: json { "external_update_url": "https://clients2.google.com/service/update2/crx" }

  4. Salve o arquivo JSON.

  5. Inicie o Google Chrome e acesse chrome://extensions. Você verá a extensão listada.

Solução de problemas de permissões do Mac OS

No macOS, os arquivos de extensões externas de todos os usuários só serão lidos se as permissões do sistema de arquivos impedem que usuários sem privilégios façam alterações neles. Se você não vir extensões externas instaladas quando o Chrome for iniciado, pode haver um problema de permissão com os arquivos de preferências de extensões externas. Para ver se esse é o problema, siga estas etapas:

  1. Inicie o programa do Console. Ele pode ser encontrado em /Aplicativos/Utilitários/Console.
  2. Se o ícone mais à esquerda no console for "Show Log List", clique nele. Uma segunda coluna aparece à esquerda.
  3. Clique em "Mensagens do console" no painel esquerdo.
  4. Pesquise a string Não é possível ler extensões externas. Se houver um problema na leitura dos arquivos de extensões externas, uma mensagem de erro será exibida. Procure outra mensagem de erro antes dela, que deve explicar o problema. Por exemplo, se você receber o seguinte erro: "Path /Library/Application Support/Google/Chrome isowned by the errors group", você precisará usar chgrp ou a caixa de diálogo "Obter informações" do Finder para alterar o proprietário do grupo do diretório para o grupo Administrador.
  5. Depois de corrigir o problema, reinicie o Chrome. Teste se a extensão externa está instalada. É possível que um erro de permissão impeça o Chrome de detectar um segundo erro. Se a extensão externa não foi instalada, repita essas etapas até que um erro não seja exibido no aplicativo do Console.

Linux

  1. Crie um arquivo JSON com o nome do ID da extensão. Por exemplo, aaabbbcccdddeeefff.json.
  2. Coloque-o em uma das seguintes pastas:

    • /opt/google/chrome/extensions/
    • /usr/share/google-chrome/extensions/
  3. A lista a seguir descreve a instalação de extensões da Chrome Web Store, um arquivo CRX ou um servidor pessoal:

    • Para instalar uma extensão da Chrome Web Store, especifique o URL de atualização com o nome de campo "external_update_url". Por exemplo: json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • Para instalar a extensão usando um arquivo CRX, especifique o local em "external_crx" e a versão em "external_version". Por exemplo: json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • Para instalar a extensão hospedada em um servidor pessoal, o campo "external_update_url" precisa apontar para o arquivo XML, como no exemplo a seguir: json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
  4. Salve o arquivo JSON.

  5. Inicie o Google Chrome e acesse chrome://extensions. Você verá a extensão listada.

Localidades compatíveis

Se você quiser instalar uma extensão apenas para algumas localidades do navegador, liste as localidades compatíveis no nome do campo "supported_locales". A localidade pode especificar a localidade mãe, como "en". Nesse caso, a extensão vai ser instalada para todas as localidades em inglês, como "en-US", "en-GB" etc. Se outra localidade do navegador for selecionada e não tiver suporte para a extensão, as extensões externas serão desinstaladas. Se a lista "supported_locales" estiver ausente, a extensão será instalada para qualquer localidade. Exemplo:

{
  "external_update_url": "https://clients2.google.com/service/update2/crx",
  "supported_locales": [ "en", "fr", "de" ]
}

Usar o Registro do Windows

  1. Encontre ou crie a seguinte chave no Registro:

    Windows de 32 bits
    HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    Windows de 64 bits
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Crie uma nova chave (pasta) na chave Extensions com o mesmo nome do ID da extensão. Por exemplo, aaabbbcccdddeeefff.

  3. Na sua chave de extensão, crie uma propriedade "update_url" e defina-a com o seguinte valor: json { "update_url": "https://clients2.google.com/service/update2/crx" }

  4. Inicie o Chrome.

  5. Acesse chrome://extensions. Você verá a extensão na lista.

Como atualizar e desinstalar

O Google Chrome verifica as entradas de metadados nas preferências e no registro toda vez que o navegador é iniciado e faz as alterações necessárias nas extensões externas instaladas na Chrome Web Store.

Para atualizar uma extensão de arquivo CRX local para uma nova versão, atualize o arquivo e, em seguida, atualize a versão no arquivo json de preferências.

Para desinstalar a extensão (por exemplo, se o software for desinstalado), remova o arquivo de preferências (por exemplo, aaabbbcccdddeeefff.json) ou os metadados do registro.

Perguntas frequentes

Esta seção responde a perguntas comuns sobre extensões externas.

O Google Chrome ainda oferece suporte à "pré-instalação"?

Sim, mas apenas como uma instalação de um update_url da Chrome Web Store, não de um caminho CRX local. Para mais informações, consulte Políticas de apps e extensões.

Quais são alguns erros comuns ao instalar com o arquivo de preferências?

  • Não especificar o mesmo ID ou versão listada no arquivo CRX.
  • O arquivo JSON (por exemplo, aaabbbcccdddeeefff.json) está no local errado ou o ID especificado não corresponde ao ID da extensão.
  • Erro de sintaxe no arquivo JSON (esquecimento de separar entradas por vírgula ou deixar uma vírgula à direita em algum lugar).
  • A entrada do arquivo JSON aponta para o caminho errado para o arquivo CRX (ou caminho especificado, mas sem nome de arquivo)
  • Barras invertidas no caminho UNC não são escapadas. Por exemplo, "\\server\share\file" está errado. Deveria ser "\\\\server\\share\\extension".
  • Problemas de permissão em um compartilhamento de rede.

Quais são alguns erros comuns ao instalar com o Registro?

  • Não especificar o mesmo código listado na Chrome Web Store.
  • Chave criada no local incorreto do registro.
  • A entrada do registro aponta para o caminho errado para o arquivo CRX na Chrome Web Store.
  • Problemas de permissão em um compartilhamento de rede.
  • Nem todas as instâncias do Chrome são fechadas. Tente reiniciar o computador depois de configurar o Registro.

E se o usuário desinstalar a extensão?

Se o usuário desinstalar a extensão por meio da interface, ela não será mais instalada ou atualizada em cada inicialização. Em outras palavras, a extensão externa está na lista de bloqueio.

Como faço para sair da lista de bloqueio?

Se o usuário desinstalar sua extensão, você deve respeitar essa decisão. No entanto, se você (o desenvolvedor) desinstalou acidentalmente sua extensão pela interface, é possível remover a tag da lista de bloqueio instalando a extensão normalmente pela interface e, em seguida, desinstalando-a.