ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Google Chrome | App Deployment Options

Updated on October 20, 2011

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.

Deployment Options

Two main types of deployments are possible

  1. Google Web Store
  2. 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.



  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Click the Upload button
  6. 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.
  7. Login if need be and add our site to the Webmaster Tools Dashboard
  8. 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
  9. 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
  10. You can add promotional material like screenshots, promotional icons and also your Google Analyticals id if you want to have in-app advertising.
  11. 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 Windows:

installation_folder\Application\chrome_version\Extensions\

Example: c:\Users\Me\AppData\Local\Google\Chrome\Application\Chrome_version\Extensions\

On Mac OS X:

/Applications/Google Chrome.app/Contents/Extensions/

On Linux:

/opt/google/chrome/extensions/



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.

Example:

{
"phibjbgdkaochgkaiphmkhgkdhabndef": {
"external_crx": "/home/share/your_app_name.crx",
"external_version": "1.0"
}
}
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:

{
"phibjbgdkaochgkaiphmkhgkdhabndef": {
"external_update_url": "http://klanguedoc.com/extensions/updates.xml"
}
}

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.


In Summary


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.

Resources

Google Chrome Application Packaging

http://code.google.com/chrome/extensions/autoupdate.html

Google Chrome Alternative Deployment Options

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


Comments

    0 of 8192 characters used
    Post Comment

    • klanguedoc profile imageAUTHOR

      Kevin Languedoc 

      6 years ago from Canada

      Anything I can help you with? I good paradigm of any good development project, and I am not trying to sound condescending here, is the divide and conquer approach. Also does your app produce any errors in the debugger? Are you interacting with the APIs in Chrome? I am currently working on two apps, but I am using Adobe Flex for the UI and I am testing a couple of database options but I am not using any Chrome APIs. I hope and I am sure you will, figure everything out. Keep me posted. Thanks for the support.

    • Xenonlit profile image

      Xenonlit 

      6 years ago

      Thanks! I am still trying to figure out chrome extensions that won't crash my system.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)