Deploying chrome extensions that are not in chrome webstore - google-chrome

I found that the chrome webbrowser recently disabled the ability to deploy extensions that are not from the chrome webstore. I tried opening my extension.crx directly intro chrome and it wont work anymore, it just download the file.
I know I could use the "load unpacked extension", but I need to do it in about 50 computers, so it's not a very practical way.
Does anyone knows any other ways to deploy an extension that is not in the webstore?
Maybe "loading an unpacked extension" programmatically from an .exe or something like that.

Have you tried dragging it over to Chrome, either from the download bar or the file browser on your operating system? I seem to remember this has been an issue earlier...

There is more information about how to complete this on the Chrome Dev site:
https://developer.chrome.com/extensions/crx
It looks as if you need to create a zip file, then add additional headers to the beginning of that file, then change the file extension from ".zip" to ".crx"
If serving this file from a web-server, you should use the header "application/x-chrome-extension" to make the Chrome browser understand this is an installable theme/app/extension.

Related

Chrome : Install extension(crx) manually doesn't work anymore

We built a chrome extension to be used only inside our company by selective people. We do not want to publish this on chrome web store. We could do this before by just drag & drop the crx file in the extensions page.
But in the latest version of chrome(i use 35.x), we are not able to do this anymore. Whenever we try to install the crx file, chrome automatically disables it and shows a message
"This extension is not listed in the Chrome Web Store and may have been added without your knowledge"
with a link to https://support.google.com/chrome/answer/2811969 where it says
"You're seeing this notification because one or more of your Chrome extensions has been turned off to make Chrome safer. The extensions didn't come from the Chrome Web Store or were installed without your permission."
So, Does this mean we can never install crx file from now on? No workaround?
I know we can install using Group Policy method, but is that the only way we can do this?
Thanks in advance.
Yes, this has been disabled as a protection against malware.
The only workarounds I'm aware of are:
turn on Developer Mode and have users install as an unpacked extension after unzipping the CRX
publish unlisted or to a Google Group: https://support.google.com/chrome/a/answer/2663860?hl=en

Apps, Extensions and scripts cannot be added from this website

I'm trying to add the Rapid Interface Builder extension to chrome using the rib.crx file I downloaded from https://01.org/rapid-interface-builder/downloads/2012/rib-preview-1-chrome-extension
Unfortunately, every time I open the crx file with chrome I get the following error:
Apps, Extensions and scripts cannot be added from this website.
Any ideas on how to fix this?
Instead of opening the file, you have to: extract it (crx are zip files), then visit chrome://extensions, enable developer mode, and load unpacked extension.
The reason for this is: lots of people try to abuse chrome apps/extensions to install nasty applications to your browser. So Chrome tries to make it impossible to automatically side-load these apps without you making sure that is really what you want to do.
So.. typical caveats of installing software apply when using this approach.
You can now also just drag-and-drop the .crx file onto the chrome://extensions page and it will install, too.
Edit 2019-01-10: Make sure to enable Developer mode for extensions. If this was not enabled, refresh the chrome://extensions page after enabling it.
Edit 2018-08-24: This works on Windows, too.
Edit:
This doesn't work on Windows. Verified on OSX and ChromeOS. From what I've read, this will work on Linux, too.~
(I initially experienced the same problem you described.*)
This solution worked for me in Windows 10 (build th1511) x64:
Open Chrome as you normally would.
Go to the "Extensions" page (chrome://extensions; or click Menu button at top right corner → From 'More tools' drop down menu select 'Extensions').
Drag and drop the .crx file onto the extensions page in Chrome -onto the list of extensions.
You should see a dialog stating "Drop here to install". This must be present. (If you do NOT see this, reposition your mouse - it may be too far to the side of the page.)
It should load successfully and you should see the extension in the list immediately afterward.
*I received the same error you described when attempting to load the .crx file (packed extension) by right-clicking/double-clicking it and selecting "Open With" "Chrome", and by dragging/dropping the file onto a regular webpage in Chrome.
In the Extensions page, just enable Developer mode. From there you can drag and drop any .crx file there and installation prompt will follow suit.
Open Chrome with this parameter --enable-easy-off-store-extension-install, then go to extensions and enable Developer mode. Now you can install .crx files without any problem.
go on extension, and your first step is on developer mode, 2 step update extensions, and last drop IDM extension file on google chrome.

Is there an easy way to unpack a Chrome extension in the Chrome Web store?

Is there an easy way to view the source code of a chrome extension without having to install it?
There is no crx file, just the usual webstore url with the long string of random characters at the end.
Install Chrome extension source viewer to get a button at the Chrome Web store. This button allows you to download the extension in a zip file.
It also offers a built-in source viewer, so you don't have to extract the files yourself.
Screenshot:
Disclaimer: I wrote the extension.
If you want a bookmarklet which generates a wget command, see this answer.

Re-enabling extension installs

I found the new change that you can't install Chrome extensions/userscripts without saving them and dragging them into Chrome quite annoying. As such I have set forth to revert this to the old way it was.
I read the documentation here: http://www.chromium.org/administrators/policy-list-3#ExtensionInstallSources that says to add a registry key and so I have done, as shown below. However when attempting to install an extension I still get an error that they can only be installed from the Chrome webstore. Did I add the registry entries wrong or something?
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallSources]
"1"="http://*"
"2"="https://*"
This answer is obsolete as of Chrome 36
Instead of editing the registry, you can also make Chrome to behave in the old way via the --enable-easy-off-store-extension-install flag.
Under Windows, create a shortcut to your Chrome executable. Then edit the shortcut, and append --enable-easy-off-store-extension-install to "Target". See the screenshot below:
Some observations:
I've added the --enable-easy-off-store-extension-install flag after chrome.exe.
After starting Chrome, I visited a website that links to a .crx file that is not hosted in the Chrome web store.
Because of the flag, Chrome 20 doesn't show the "Extensions, apps, and user scripts can only be added from the Chrome Web Store" message any more. Instead (see bottom), Chrome asks me whether it's OK to install the extension - exactely as before.
This command line switch also works for Chromium/Chrome, under Linux and OSX.
If you ever find yourself in the situation where the --enable-easy-off-store-extension-install flag doesn't work (e.g. future version?) or you don't want to use it, then there is an alternative method.
You can install extensions with a plain vanilla install of Chrome by dragging .CRX extension files onto the Extensions panel in Settings.

How to link to chrome extension like Chrome Web Store?

I'd like to self host a chrome extension on my own site but would like the install experience to be the same as on the chrome web store. Specifically, I'd like to have a "add to chrome" button which asks the user to install the extension with one more click. Currently on self hosted extensions you have to confirm the download and then confirm the install.
Here's an example of the web store: https://chrome.google.com/webstore/detail/olnconaknblgbkfgknkfmmfhhbebkekd
The only reason I'd like to self host is so that they can stay on my site while installing the extension.
I'd be perfectly fine hosting on the chrome webstore as well if that helped with the experience (i.e. a special link from my site to the chrome webstore that would start the download immediately).
Any ideas?
Chrome webstore has special treatment, you can't reproduce it.
To save you trouble of self hosting, you can provide a direct link to crx file hosted on webstore which has the following format:
http://clients2.google.com/service/update2/crx?response=redirect&x=id%3D<EXTENSION_ID_HERE>%26uc%26lang%3Den-US&prod=chrome
Users would still need to confirm 2 times, but at least you don't have to host it and users won't leave your site.
UPDATE
Chrome 15, that was just released into stable branch, has Inline Installation, which seems like exactly what you are looking for.
Chrome now has inline install that enables a one-click install on your site but downloading from the store.
See here for more details.
Add something like this to your meta-data
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/you-chrome-id">
Add this any where:
onclick="javascript:chrome.webstore.install()"
Chrome no longer supports in-line installation of extensions.
https://developer.chrome.com/extensions/inline_faq
When your site calls chrome.webstore.install(), Chrome will no longer trigger a dialog immediately but will instead open a new foreground tab to the details page of the Chrome WebStore