32

Has anyone successfully downloaded Google Chrome apps (or extensions or whatever they are called) from another browser and then installed them on Chrome? Google Web Store and Google Play are blocked where I work, and I just want to install Adblock.

When I visit the web store (on a non-blocked network), it just says that I need to install Chrome first.

1

5 Answers 5

42
  1. Locate the extension folder from an existing installation. You should find it in either

    Chrome user data directory → Default → Extensions → {a 32 "a→p" character hash}

    or

    Chrome user data directory → Profile[some #] → Extensions → {a 32 "a→p" character hash}

    It should be fairly obvious which hash corresponds to which extension upon inspection, but you can often find a readme.txt, or a messages.json file in a _locales sudfolder, from which you can identify the extension. On my local system the hash for Adblock was cfhdojbkjhnklbpkdaibdccddilifddb (this is probably globally unique, but just check), and then there were versioned subfolders. Choosing the most recent version directory should be fine.

  2. Copy this folder to the new computer.

  3. Go to chrome://extensions in the target Chrome browser and enable "Developer mode" by the checkbox in the upper right.

  4. Press "Load unpacked extension..." and choose the version-number folder inside the desired extension folder.

(3 and 4 as described by Google)

The extension should now be loaded.


I tried this locally by creating a new Chrome user profile and loading the extension as described above, and it seemed to work at a first glance (it loaded OK), but I assume no liability :-) .

Also, if your company blocks the extension store to avoid its employees installing extensions, you should be aware of that circumventing such policies might not be appreciated. The better choice for your future employment might be to talk to the department responsible for the block.

9
  • Thanks, I'll try this when I get home (to get hold of the extension). Adblock itself is not forbidden, people already use it on Firefox, so that shouldn't be a problem with the company.
    – Indivara
    Aug 21, 2013 at 23:27
  • 1
    One comment: Chrome 56 refused to import an extension, because a dir called _manifest has started with _, which means, it is a system dir - Just rename it, and remove _, and will work!
    – antivirtel
    Mar 5, 2017 at 12:03
  • 2
    New versions of Chrome seem to have the Extensions folder under the Default folder now (under the User Data folder); You should update your answer, Dec 6, 2018 at 21:57
  • 1
    If you find Chrome deleting the unpacked extension folder, move the unpacked extension to a different folder such as "C:\Users\username\Dropbox\Chrome.Extensions" and the extension can be loaded. Using cloud drives like Dropbox allows managing these extensions from all platforms. Dec 20, 2018 at 19:34
  • 1
    Turns out I was selecting the parent folder (the one with the hashed name). For the technique here to work, the folder with a version number as its name must be selected (the folder that directly contains the manifest file).
    – jetset
    Mar 10, 2022 at 22:46
1

So after painstakingly packing, air dropping the zipped folder, and unpacking some test extensions to see if the process works (which it did), I went to the extension store to just download a really simple extension that decided I wanted, and when I clicked "Add to Chrome" a pop-up asked if I wanted to just "Sync" my extensions across my accounts. So I clicked yes, and a few seconds later all my extensions were populated on my new computer's Chrome browser. Boom. So I'd recommend trying this route first for anyone who is wanting a quick fix.

  1. Go here: https://chrome.google.com/webstore/category/extensions
  2. Add an extension the you already use elsewhere
  3. Accept the "Sync" my extensions
0

This is pretty simple. In your chrome account. Click on settings and then log in. After logging in you chrome extensions will automatically populate.

1
  • 5
    Are you sure this works when the app store is blocked?
    – Arjan
    May 21, 2017 at 7:40
0

This extension works pretty well, creates an html page list of all extension and even sorts them into enabled and disabled: Export links of all extensions. You then just have to click through them to install, but I didn't find a way to bulk import using the copy into directory method anyway, I think you still had to click multiple times to load unpacked. There should really be a Chrome version of this: OPIE Firefox Extension which would pack up and export/import all manor of profile parts.

2
  • How is this better than the accepted answer?
    – RalfFriedl
    Mar 15, 2019 at 6:32
  • "..you still had to click multiple times to load unpacked." But I also found an internal list that converts the hashes to names. Goto chrome://about and click on chrome://system and then expand extensions. 'Export links' is still the fastest method in bulk, but this is useful in case you want to copy just one or two, or avoiding are download.
    – alchemy
    Mar 29, 2019 at 4:09
0

The problem with the accepted answer is that it will only work on the same computer (e.g. copying extension files from one Chrome Person/profile to another). When you do this onto a different PC, it won't work.

If you're like me, where you don't want to sync anything to a Google account and you can't be bothered to install the extensions manually, I wrote this script to automate that process (especially useful if you use tons of different personas in the same Chrome browser or across different machines):

Requirements:

  • Have autohotkey v1.x installed (haven't tested this with v2)
  • Save this 'add to chrome' button image file locally in the C:\ drive (if you put it somewhere else, you need to edit the path in this line of the code: ImageSearch, FoundX, FoundY, 0,0,1900,1070, C:\956PJ.png)

Steps:

  1. Save the script as a file with a .ahk extension i.e. installExt.ahk. Make sure to add/edit the extensions you want to install (or delete the ones I have listed). You declare a variable for each extension and then include it into the extensions array. Then
  2. Double click the .ahk file
  3. Open a Chrome window
  4. Press 'f' key
  5. Don't touch anything and wait
  6. Right click > Exit the green H icon in the taskbar icons

Script:

#NoEnv 
SendMode Input 
SetKeyDelay, 2000, 10 ; [delay, pressduration] for Send

WinActivate, ahk_exe chrome.exe 

;Extensions to install
ublock_origin:= "chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm"
no_cookies:= "chrome.google.com/webstore/detail/i-dont-care-about-cookies/fihnjjcciajhdojfnbdddfaoknhalnja"
dark_reader:="chrome.google.com/webstore/detail/dark-reader/eimadpbcbfnmbkopoojfekhnkhdbieeh"
speed_control:="chrome.google.com/webstore/detail/video-speed-controller/nffaoalbilbmmfgbnbgppjihopabppdk"

extensions:=[ublock_origin,no_cookies,dark_reader, speed_control]
f::
    Install(extensions)

Install(url){   
    For k,v In url{
        Send, ^t %v% {enter}
        Sleep, 2000
        if(k=1){ ;Find it only the first time around
            coor:=FindButton()
            MouseClick, left, coor[1],coor[2]
        }
        else{ ;After the 1st time, the cursor is in the right 'add to chrome' place, so just click 
            Click
        }
        Sleep, 1000     
        Send, {Left} {enter}
        Sleep, 2000
;       MouseMove, 0,0 ;to make sure cursor over button won't make FindButton unable to find it (since it's now darkened)
    }
}
;ImageSearch version (more accurate, but you need to use a png _not_ a jpg ref)
FindButton(){
    CoordMode Pixel  ; Interprets the coordinates below as relative to the screen rather than the active window.
    ImageSearch, FoundX, FoundY, 0,0,1900,1070, C:\956PJ.png
    if (ErrorLevel = 2)
        MsgBox Could not conduct the search.
    else if (ErrorLevel = 1)
        MsgBox Icon could not be found on the screen.
    else
;       MsgBox The icon was found at %FoundX%x%FoundY%.
        return  [FoundX,FoundY]
}

;PixelSearch (less accurate since it can get caught up in another part of the page with same color, you can use this if the Google changes the Chrome extension UI)
;FindButton(){
;   CoordMode,  Pixel, Screen
;   PixelSearch, Px, Py, 0, 250, 1920, 1000, 0x1A73E8, 0, Fast RGB
;   if ErrorLevel
;       MsgBox, That color was not found in the specified region.
;   else
;;      MsgBox, results, %Px%, %Py%
;       return [Px,Py]
;}

How it works:

  1. Opens a new tab, pastes extension URL
  2. Tracks the 'Add to Chrome' button
  3. Clicks and installs it, and then back to step 1 with the next extension (button is not searched every loop, since the cursor stays in the same place on the 'add to' button the whole time, so just a click is needed -that's why it's important not to touch anything after you run the script-)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .