Google Chrome | App Deployment Options
Google Chrome: a browser and a user interface for Google’s Chromebooks netbooks provides developers and network administrators tools to manage their Chrome applications. Chrome has different deployments options, catering to the individual user to the corporate applications that need departmental and company wide deployments.
Two main types of deployments are possible
- Google Web Store
- External Extensions
The Google Web Store is by far the most standard way of deploying a Chrome app. The process is straightforward. This type of deployment is primary targeted to the individual user. Google has create an easy interface to upload, set marketing and promotional material, support pages and faqs and deploy Google apps, thus.
If you don’t already have a Google account, you will need to create one in order to login.
- An one time registration fee of $5 (USD), at the time of this writing, is required before you can publish an application to the Google Web Store, although you can upload and save your app and marketing and configuration as draft until you pay your registration fee. You can pay the fee using Google Checkout.
- Pack as a crx archive file and test the installation of your app through the Extensions page. The manifest file must be located at the root of the application or the upload process will fail. You can review development and testing procedures to ensure that your app is running properly.
- Before uploading your app, you will need to compress it into a zip file; in Windows, form Windows Explorer right click on root folder and select "Send To ->Compress (zipped) folder; on a Mac from Finder right click on the root folder and select "Compress items". the zip shouldn't contain the crx.
- To start the registration process, navigate to the Developer Dashboard at : https://chrome.google.com/webstore/developer/dashboard , click on the “Add an item” button and navigate to your zip file for your application. Select the zip file.
- Click the Upload button
- For an Hosted app, you need to prove that you own the web site. To authenticate your ownership, add your site to the Google Webmaster Tools.
- Login if need be and add our site to the Webmaster Tools Dashboard
- The Webmaster Tools will asked you to verify your site either through your account on Google Analytics. Once verified return to the upload page in the Google Web Store and click on Update file
- The next page allows you to update your zip package if need be, add a description for your app, update or change your application icon
- You can add promotional material like screenshots, promotional icons and also your Google Analyticals id if you want to have in-app advertising.
- At this point you can save your app configuration as draft or publish it to the store once the registration fee and your checkout account is set up.
External extensions are also known as autoupdating extensions. These types of deployment scenarios are targeted at specific use cases.
1-When the extension is part of a larger software application, much similar to a component and needs to be deployed in conjunction with this system;
2-When an extension is used in a corporate setting and deployment is done via installation package and/or used in conjunction with a deployment system such as the Microsoft System Management System, or IBM’s Tivoli Director.
To handle these two specific situations, the Chrome team have developed two methods. Both use the crx archive file format to package the different application assets.
Begin by packaging and testing your application before using either one of these methods. To package, open the Extension page (it is under Tools menu under the wrench icon in the toolbar). Enable the Developer mode and pack the Extension. If you have a private key (.pem file), select it in the packaging dialog box.
Once packed into a crx archive, install the application on your computer by double clicking on the file crx file. If you already had a version of the application already installed, it will be replaced. The pem file will located in the same folder as the crx and should be kept safe for future use.
JSON preference file
First locate the external_extensions.json file on the target machine:
On Mac OS X:
If the folder and file do not exist, create them in the above locations. In the external_extensions.json file add your apps id. This is located under your apps configuration heading in the Extensions page in Chrome. Additionally, if the app is to installed from a file, add the location and the version.
where "phibjbgdkaochgkaiphmkhgkdhabndef" is your app id
if by chance you are installing from an update site on your network or elsewhere, replace the external_crx field by “external_update_url. See below for an example:
Save and close the file. Open Chrome on the target computer. Navigate to chrome://extensions verify that your app has been installed correctly. The app icon should appear on the Chrome Home page.
Windows Registry (Microsoft Windows only)
After packaging and testing your Google Chrome application, open the Windows Registry on the target computer. From the Run command execute RegEdit to launch the Windows Registry.
You should make a backup of the current Registry and save it to a safe place. From File menu in the Registry, select Export, enter a filename of your choice. Save as Registration files type (reg).
Navigate, or open the following registration key:
- 32-bit Windows: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
- 64-bit Windows: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
Under the Extensions key add a new key entry and enter the id of your app for its name
Next enter two values: path and version. The path is the absolute path where your crx archive file is located on your share, the version is the version of your app as entered in your manifest.json file for the app.
Both procedures within External Extensions can be automated through a script. Chrome scans for the external_preference file and the Windows Registry each time it starts. Any changes in the metadata will cause Chrome to update the application on the target computer.
Chrome is a modern application interface providing next generation of hosted and distributed applications for online and offline use.
Google Chrome Application Packaging
Google Chrome Alternative Deployment Options