Usar métodos de instalação alternativos

Normalmente, os usuários do Chrome instalam extensões ao visitar a listagem de uma extensão na Chrome Web Store e instalar a extensão diretamente a partir dessa página. No entanto, em alguns casos, outros fluxos de instalação podem ser mais adequados. Exemplo:

  • Uma extensão é associada a algum outro software e precisa ser instalada sempre que o usuário instala 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 oferece suporte aos seguintes métodos de instalação de extensões:

Ambas as maneiras aceitam a 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 é instalada usando esses métodos, os usuários do Windows e do macOS precisam ativar a extensão 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 vão receber uma solicitação para ativar a extensão. Ela é instalada automaticamente.

Antes de começar

Instalar da Chrome Web Store

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

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

ID do item da Chrome Web Store

Instalar do arquivo CRX local

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

  • O ID da extensão, que 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 da extensão chrome://extensions ou no arquivo JSON do manifesto.

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

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

Instalar de um servidor pessoal

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

  • O ID da extensão, que 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 do manifesto.

Os exemplos a seguir presumem que a versão seja 1.0 e que o ID da extensão seja aaabbbcccdddeeefff.

Usar um arquivo de preferências

macOS

  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:

    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 de campo "external_update_url". Exemplo: json { "external_update_url": "https://clients2.google.com/service/update2/crx" }

  4. Salve o arquivo JSON.

  5. Abra o Google Chrome e acesse chrome://extensions. A extensão vai aparecer na lista.

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

No macOS, os arquivos de extensões externas para todos os usuários só são lidos se as permissões do sistema de arquivos impedirem que usuários sem privilégios as alterem. Se você não encontrar extensões externas instaladas quando o Chrome for iniciado, talvez haja um problema de permissão com os arquivos de preferências de extensões externas. Para verificar se esse é o problema, siga estas etapas:

  1. Inicie o programa do console. Ele está em /Applications/Utilities/Console.
  2. Se o ícone mais à esquerda no console mostrar "Mostrar lista de registros", clique nele. Uma segunda coluna aparece à esquerda.
  3. Clique em "Mensagens do console" no painel esquerdo.
  4. Procure a string Não é possível ler extensões externas. Se houver um problema ao ler os arquivos de extensões externas, uma mensagem de erro vai aparecer. Procure outra mensagem de erro imediatamente antes dela, que deve explicar o problema. Por exemplo, se o erro a seguir for exibido: "Caminho /Biblioteca/Application Support/Google/Chrome é de propriedade do grupo errado", será necessário 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 tiver sido instalada, repita essas etapas até que um erro não apareça no app 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, de um arquivo CRX ou de 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 em 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. A extensão estará listada.

Localidades aceitas

Se quiser instalar a extensão apenas para algumas localidades do navegador, liste as localidades aceitas 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 for selecionada outra localidade do navegador que não seja compatível com 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) em Extensions com o mesmo nome do ID da extensão. Por exemplo, aaabbbcccdddeeefff.

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

  4. Inicie o Chrome.

  5. Acesse chrome://extensions. A extensão vai aparecer na lista.

Como atualizar e desinstalar

O Google Chrome verifica as entradas de metadados nas preferências e no registro sempre que o navegador é iniciado e faz todas as alterações necessárias nas extensões externas instaladas hospedadas 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 a mesma versão listados 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 com vírgula ou deixar uma vírgula no final).
  • A entrada do arquivo JSON aponta para o caminho errado para o arquivo CRX (ou o caminho especificado, mas sem nome de arquivo)
  • Barras invertidas no caminho UNC não têm escape. Por exemplo, "\\server\share\file" está errado; deveria ser "\\\\server\\share\\extension".
  • Problemas de permissões em um compartilhamento de rede.

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

  • Não especificar o mesmo ID listado na Chrome Web Store.
  • A chave foi criada no local errado no registro.
  • A entrada de registro aponta para o caminho incorreto para o arquivo CRX na Chrome Web Store.
  • Problemas de permissões em um compartilhamento de rede.
  • Nem todas as instâncias do Chrome estão fechadas. Tente reiniciar o computador depois de definir o registro.

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

Se o usuário desinstalar a extensão pela 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, pode remover a tag da lista de bloqueio instalando a extensão normalmente pela interface e desinstalando-a.