Opciones de distribución de extensiones alternativas

Todas las extensiones de Chrome se deben distribuir directamente desde Chrome Web Store o a través del que se describen a continuación. El incumplimiento de uno de estos métodos de distribución constituye incumplimiento de la política de extensiones de Chrome y podría ocasionar la instalación de la extensión o el software distribuirlo para que se marque como software no deseado.

Por lo general, los usuarios instalan extensiones desde Chrome Web Store, pero a veces es posible que desees una de extensión que se instale por otros medios. Estos son dos casos típicos:

  • Las extensiones están asociadas a otro software, por lo que deberían instalarse. siempre que el usuario instale ese otro software.
  • Un administrador de red quiere instalar las mismas extensiones en toda la organización.

Las extensiones que no se instalan desde Chrome Web Store se conocen como extensiones externas. Para desarrolladores que desean distribuir una extensión como parte del proceso de instalación de otras o para administradores de red que quieran distribuir una extensión en toda su organización. Google Chrome admite los siguientes métodos de instalación de extensiones:

  • Usar un archivo JSON de preferencias (solo en Mac OS X y Linux)
  • Cómo usar el registro de Windows (solo para Windows)

Ambas formas admiten la instalación de una extensión alojada en un update_URL. En Windows y Mac, el ícono update_URL debe apuntar a Chrome Web Store donde se debe alojar la extensión.

El archivo de preferencias en Linux puede apuntar a tu propio servidor en el que se aloja la extensión. El archivo JSON de preferencias también admite la instalación de una extensión a partir de un archivo de extensión .crx en la la computadora Linux de un usuario.

Antes de comenzar

Primero, publica la extensión en Chrome Web Store o empaqueta un archivo .crx y crea de que se instale correctamente.

Si instalas la extensión desde una URL de actualización, asegúrate de que esté alojada correctamente.

Antes de editar el archivo de preferencias o el registro, toma nota de lo siguiente:

  • La ubicación prevista del archivo .crx de la extensión o la URL de actualización de la que proviene publicado
  • La versión de la extensión (desde el archivo de manifiesto o la página chrome://extensions)
  • El ID de la extensión (de la página chrome://extensions cuando se cargó la extensión empaquetada extensión)

En los siguientes ejemplos, se supone que la versión es 1.0 y que el ID es aaaaaaaaaabbbbbbbbbbcccccccccc.

Cómo usar un archivo de preferencias

  1. Si instalas desde un archivo en Linux, haz que el archivo de extensión .crx esté disponible para el en la que quieras instalar la extensión. (Cópialo en un directorio local o en una red por ejemplo, \\server\share\extension.crx o /home/share/extension.crx).
  2. Crea un archivo con el siguiente nombre en una de las siguientes carpetas: aaaaaaaaaabbbbbbbbbbcccccccccc.json donde el nombre del archivo (sin la extensión) corresponde a el ID de tu extensión. La ubicación depende del sistema operativo.

    Mac OS X:

    Para un usuario específico: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ Para todos los usuarios: /Library/Application Support/Google/Chrome/External Extensions/

    El archivo de extensión externa para todos los usuarios es de solo lectura si todos los directorios en la ruta son propiedad de todos los usuarios. por el usuario root, tiene el grupo admin o wheel y no admite escritura pública. La ruta de acceso debe también deben estar libres de eslabones simbólicos. Estas restricciones impiden que un usuario sin privilegios cause que se instalen para todos los usuarios. Consulta la sección de solución de problemas para obtener más detalles.

    Linux:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    Nota: Si es necesario, usa chmod para asegurarte de que el elemento aaaaaaaaaabbbbbbbbbbcccccccccc.json archivos sean legibles para todo el mundo.

  3. Solo para Linux: Si realizas la instalación desde un archivo, especifica la ubicación y la versión de la extensión con campos llamados "external_crx" y "external_version" en el archivo creado anteriormente.

    • Ejemplo:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • Nota: Debes escapar cada \` character in the location. For example,\server\share\extension.crxwould be"\\server\share\extension.crx"`.
    • Si instalas la extensión desde una URL de actualización, especifica la URL de actualización de la extensión con el nombre del campo. “external_update_url”.
    • Ejemplo de instalación desde un archivo .crx local (solo Linux):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • Ejemplo de instalación desde Chrome Web Store (Mac y Linux):
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • Si solo deseas instalar la extensión para algunas configuraciones regionales del navegador, puedes indicar las opciones configuraciones regionales en el nombre de campo "supported_locale". La configuración regional puede especificar una configuración regional principal, como "en", en este en caso de que la extensión se instale para todas las configuraciones regionales en inglés, como "en-US", "en-GB", etc. Si se selecciona otra configuración regional del navegador que no es compatible con la extensión, la extensión las extensiones y las extensiones. Si es "supported_locales" si falta la lista, se quitará la extensión para cualquier configuración regional.
    • Ejemplo:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. Guarda el archivo JSON.

  5. Inicia Google Chrome y ve a chrome://extensions. deberías ver la extensión en la lista.

Solución de problemas de permisos de Mac OS

En Mac OS, los archivos de extensiones externas de todos los usuarios solo se leen si tienen permisos del sistema de archivos. evitar que los usuarios sin privilegios la modifiquen. Si no ves extensiones externas instaladas cuando Se inició Chrome, es posible que haya un problema de permisos con las preferencias de extensiones externas archivos. Para ver si el problema se debe a esto, sigue estos pasos:

  1. Inicia el programa de la consola. Puedes encontrarla en /Applications/Utilities/Console.
  2. Si el ícono que está en el extremo izquierdo de la consola dice "Mostrar lista de registros", haz clic en él. Una segunda columna aparece a la izquierda.
  3. Haz clic en “Mensajes de la consola”. en el panel izquierdo.
  4. Busca la cadena No se pueden leer extensiones externas. Si hay un problema con la lectura del externas, verás un mensaje de error. Busca otro mensaje de error directamente arriba, lo que debería explicar el problema. Por ejemplo, supongamos que ves el siguiente error: "Path /Library/Application Support/Google/Chrome es propiedad del grupo equivocado", debes usar chgrp o el cuadro de diálogo Get Info de Finder para cambiar el propietario del grupo del directorio a la Administrador del grupo.
  5. Después de solucionar el problema, reinicia Chrome. Prueba que la extensión externa ahora esté instalada. Integra es posible que un error de permisos impida que Chrome detecte un segundo error. Si el botón la extensión externa no se instaló, repite estos pasos hasta que no veas un error en el de la consola de Cloud.

Cómo usar el registro de Windows

  1. Busca o crea la siguiente clave en el 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. Crea una clave nueva (carpeta) en la clave Extensiones con el mismo nombre que el ID de tu (por ejemplo, aaaaaaaaaabbbbbbbbbbcccccccccc).
  3. En tu clave de extensión, crea una propiedad, "update_url", y configúrala con el siguiente valor: "https://clients2.google.com/service/update2/crx" (esto apunta al crx de tu extensión en la Chrome Web Store):

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. Inicia el navegador y ve a chrome://extensions. deberías ver la extensión en la lista.

Actualizando y desinstalando

Google Chrome analiza las entradas de metadatos en las preferencias y el registro cada vez que el navegador se inicie y realice los cambios necesarios en las extensiones externas instaladas.

Para actualizar tu extensión a una nueva versión, actualiza el archivo y, luego, actualiza la versión en la preferencias o registro.

Para desinstalar tu extensión (por ejemplo, si se desinstala el software), quita tu preferencia (aaaaaaaaabbbbbbbbcccccccc.json) o los metadatos del registro.

Preguntas frecuentes

En esta sección, se responden preguntas frecuentes sobre las extensiones externas.

¿La metodología para permitir una instalación de "preinstalación seguirán siendo compatibles con Google Chrome desde M33. en adelante?

Sí, pero solo como una instalación desde Chrome Web Store update_URL, no desde una ruta de archivo local.

¿Puedo especificar una URL como ruta de acceso a la extensión externa?

Sí, usa el archivo de preferencias JSON en Mac OS X y Linux. el registro para Windows. El debe alojarse como se explica en hosting. En el archivo de preferencias, utiliza el "external_update_url" para que apunte a un manifiesto de actualización que tenga la URL de tu . En el registro de Windows, usa "update_url" propiedad.

¿Cuáles son algunos errores comunes durante la instalación con el archivo de preferencias?

  • No se especifica el mismo ID o versión que el que aparece en el archivo .crx.
  • El archivo .json (aaaaaaaaaabbbbbbbbbbcccccccccc.json) está en una ubicación incorrecta o con el ID especificada no coincide con el ID de la extensión.
  • Error de sintaxis en el archivo JSON (olvidaste separar las entradas con coma o dejar una coma final algún lugar)
  • La entrada del archivo JSON apunta a la ruta de acceso incorrecta a .crx (o a la ruta especificada, pero no el nombre del archivo).
  • Las barras inversas en la ruta UNC no tienen escape (por ejemplo, "\\server\share\file" es incorrecto; debería ser "\\\\server\\share\\extension")
  • Problemas con los permisos en un recurso compartido de red

¿Cuáles son algunos errores comunes cuando se instala con el registro?

  • No se especifica el mismo ID o versión que el que aparece en Chrome Web Store
  • Clave creada en la ubicación incorrecta en el registro
  • La entrada del registro apunta a una ruta de acceso incorrecta al archivo .crx en Chrome Web Store
  • Problemas con los permisos en un recurso compartido de red

¿Cómo actualizo mis objetos binarios nativos y mi extensión en el paso?

Antes, cuando se admitían las extensiones fuera de la tienda, era posible tener los objetos binarios nativos y la extensión se actualizará en el paso de bloqueo. Sin embargo, las extensiones alojadas en Chrome Web Store se a través del mecanismo de actualización de Chrome que los desarrolladores no controlan. Los desarrolladores de extensiones deben ten cuidado con la actualización de extensiones que dependan del objeto binario nativo (por ejemplo, extensiones heredadas con NPAPI).

¿Qué sucede si el usuario desinstala la extensión?

Si el usuario desinstala la extensión a través de la IU, ya no se instalará ni actualizará en en cada startup. En otras palabras, la extensión externa está en la lista de entidades bloqueadas.

¿Cómo puedo salir de la lista de entidades bloqueadas?

Si el usuario desinstala tu extensión, debes respetar esa decisión. Sin embargo, si tú (el desarrollador) desinstalaste accidentalmente tu extensión a través de la IU, puedes quitar la etiqueta de la lista de entidades bloqueadas instalando la extensión normalmente a través de la IU y, luego, desinstálala.