Chrome Extension Alternate Installation Methods: Enterprise and Linux Guide (2026)

AppBooster Team · · 3 min read
Enterprise software deployment on multiple computers

Installing Extensions Outside the Chrome Web Store

While most users install extensions from the Chrome Web Store, enterprises and software bundlers often need to deploy extensions silently — without user interaction. Chrome supports several alternate installation methods for these scenarios.


Platform Support Matrix

MethodWindowsmacOSLinux
Preferences JSON fileNoYesYes
Windows RegistryYesNoNo
Local CRX fileNoNoYes
External update URLYes*Yes*Yes

*Windows and macOS require the extension to be hosted on the Chrome Web Store (since Chrome 33/44).


Method 1: Preferences JSON File (macOS and Linux)

Create a JSON file named after the extension ID (all lowercase, no extension):

File Paths

macOS (single user):

~/Library/Application Support/Google/Chrome/External Extensions/

macOS (all users):

/Library/Application Support/Google/Chrome/External Extensions/

Linux:

/opt/google/chrome/extensions/
/usr/share/google-chrome/extensions/

Chrome Web Store Installation

Create abcdefghijklmnopabcdefghijklmnop.json:

{
  "external_update_url": "https://clients2.google.com/service/update2/crx"
}

This tells Chrome to install the extension with that ID from the Chrome Web Store and keep it updated.

Local CRX File (Linux Only)

{
  "external_crx": "/opt/company/extensions/internal-tool.crx",
  "external_version": "1.0.0"
}

Self-Hosted Server (Linux Only)

{
  "external_update_url": "https://internal.company.com/chrome/updates.xml"
}

Locale-Specific Installation

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

Method 2: Windows Registry

Registry Paths

32-bit Chrome:

HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions

64-bit Chrome:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions

Registry Values

Create a key named after the extension ID with these values:

ValueTypeData
update_urlREG_SZhttps://clients2.google.com/service/update2/crx
pathREG_SZPath to local CRX (Linux only alternative)
versionREG_SZVersion string for local CRX

PowerShell Deployment Script

$extensionId = "abcdefghijklmnopabcdefghijklmnop"
$regPath = "HKLM:\Software\Google\Chrome\Extensions\$extensionId"

New-Item -Path $regPath -Force
Set-ItemProperty -Path $regPath -Name "update_url" -Value "https://clients2.google.com/service/update2/crx"

Deployment Best Practices

  1. Test the extension ID — Double-check the ID matches exactly. A single wrong character prevents installation.
  2. Validate JSON syntax — Malformed JSON fails silently. Use a JSON linter.
  3. Escape Windows paths — Use double backslashes in JSON: "C:\\Program Files\\ext.crx"
  4. Set correct file permissions — JSON files must be readable by the Chrome process.
  5. Version tracking — For local CRX installs, the external_version must match the manifest version exactly.

User Experience

PlatformUser Prompt
WindowsConfirmation dialog on next Chrome launch
macOSConfirmation dialog on next Chrome launch
LinuxAutomatic installation (no prompt)

On Windows and macOS, users see a notification that an extension was externally installed and can choose to enable or remove it.


Common Troubleshooting

IssueCauseFix
Extension doesn’t appearWrong file path or extension IDVerify paths and ID
JSON not recognizedSyntax error in JSONValidate with python -m json.tool
”Not from CWS” errorWindows/macOS blocking non-CWSUse Chrome Web Store URL
Version mismatchexternal_version doesn’t match CRXSync version strings

What’s Next

Alternate installation methods are essential for enterprise deployments and software bundles. Choose the right method for your platform, validate your configuration, and test on a clean Chrome profile.

For Chrome Web Store distribution and optimization, explore ExtensionBooster’s developer tools.

Share this article

Build better extensions with free tools

Icon generator, MV3 converter, review exporter, and more — no signup needed.

Related Articles