views:

477

answers:

2

Hi everyone,

I am working on creating a Google Chrome extension. We have it included in an automated build system and since it is constantly being worked on we need a solution to be able to package the extension as a .crx file which according to http://code.google.com/chrome/extensions/packaging.html can easily be scripted.

My question is after packaging the extension is there a known method either through the command-line or some other programmatic way, to install the newly packaged extension in an automated manner?

If someone knows how or has any reference material that I can be pointed towards I would greatly appreciate any help that is offered. Thank you.

+1  A: 

Have a look at auto-updating. You would install the extension once, setting it to auto-update. When you get a new build of it, it should auto-update when chrome next checks. The default interval for checking for updates is several hours, but you can perform a manual update (from the extensions page), or by launching chrome using

chrome.exe --extensions-update-frequency=45

to set the update frequency to (for example) 45 seconds.

Your build should just update the extension xml file to let chrome know that a new version is available.

adrianbanks
that's an idea that i looked into but haven't tried yet. i wanted to know if there was a hidden command-line arg. if it is the simplest solution i may just go with that. i'll let you know how it goes. thanks for the suggestion.
gtaborga
+1  A: 

You may be able to use external extensions. You will need to generate the external_extensions.json file or add your extension to the registry.

http://code.google.com/chrome/extensions/dev/external_extensions.html

Adam Hughes
I didn't even see that option available earlier today. Thank you for pointing it out. I am going to choose the previous response as the preferred answer just because it would allow users to update the extension as soon as it is checked into our repository.
gtaborga
Turns out we are not going to be using autoupdating because of possible mismatch in files so you're the winner! :D
gtaborga