Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2302)

Unified Diff: chrome/common/extensions/docs/server2/templates/articles/packaging.html

Issue 10832042: Extensions Docs Server: Doc conversion script (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: everything but svn stuff Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/server2/templates/articles/packaging.html
diff --git a/chrome/common/extensions/docs/server2/templates/articles/packaging.html b/chrome/common/extensions/docs/server2/templates/articles/packaging.html
new file mode 100644
index 0000000000000000000000000000000000000000..8dbaca0cc06c703125cbd78ada4b12191735db85
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/templates/articles/packaging.html
@@ -0,0 +1,193 @@
+<h1>Packaging</h1>
+
+
+<p>
+This page describes how to package your extension.
+As the <a href="overview.html">Overview</a> explains,
+extensions are packaged as signed ZIP files
+with the file extension "crx"&mdash;for example,
+<code>myextension.crx</code>.
+</p>
+
+<p>
+<b>Note:</b>
+You might not need to package your extension.
+If you publish your extension using the
+<a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Developer Dashboard</a>,
+then the only reason to create your own <code>.crx</code> file
+would be to distribute a non-public version&mdash;for example,
+to alpha testers.
+You can find information on publishing extensions and apps in the
+Chrome Web Store getting started tutorial, starting at
+<a href="http://code.google.com/chrome/webstore/docs/get_started_simple.html#step5">Step 5: Zip up your app</a>.
+</p>
+
+<p>
+When you package an extension,
+the extension is assigned a unique key pair.
+The extension's ID is based on a hash of the public key.
+The private key is kept private
+and used to sign each version of the extension.
+</p>
+
+
+<h2>Creating a package</h2>
+
+<p>To package an extension:</p>
+<ol>
+ <li>
+ Bring up the Extensions management page
+ by going to this URL:
+ <blockquote>
+ <b>chrome://extensions</b>
+ </blockquote>
+ </li>
+
+ <li>
+ If <b>Developer mode</b> has a + by it,
+ click the +.
+ </li>
+
+ <li>
+ Click the <b>Pack extension</b> button.
+ A dialog appears.
+ </li>
+
+ <li>
+ In the <b>Extension root directory</b> field,
+ specify the path to the extension's folder&mdash;for example,
+ <code>c:\myext</code>.
+ (Ignore the other field;
+ you don't specify a private key file
+ the first time you package a particular extension.)
+ </li>
+
+ <li>
+ Click <b>OK</b>.
+ The packager creates two files:
+ a <code>.crx</code> file,
+ which is the actual extension that can be installed,
+ and a <code>.pem</code> file,
+ which contains the private key.
+ </li>
+</ol>
+
+
+<p>
+<b>Do not lose the private key!</b>
+Keep the <code>.pem</code> file secret and in a safe place.
+You'll need it later if you want to do any of the following:
+</p>
+<ul>
+<li><a href="#update">Update</a> the extension</li>
+<li><a href="#upload">Upload</a> the extension to the Chrome Web Store</li>
+</ul>
+
+<p>
+If the extension is successfully packaged, you'll see a dialog like this
+that tells you where to find
+the <code>.crx</code> and <code>.pem</code> files:</p>
+</p>
+
+<img src="{{static}}/images/package-success.gif"
+ width="554" height="208" />
+
+
+<h2 id="update">Updating a package</h2>
+
+<p>To create an updated version of your extension:</p>
+<ol>
+ <li>
+ Increase the version number in <code>manifest.json</code>.
+ </li>
+
+ <li>
+ Bring up the Extensions management page
+ by going to this URL: <b>chrome://extensions</b>
+ </li>
+
+ <li>
+ Click the <b>Pack extension</b> button.
+ A dialog appears.
+ </li>
+
+ <li>
+ In the <b>Extension root directory</b> field,
+ specify the path to the extension's folder&mdash;for example,
+ <code>c:\myext</code>.
+ </li>
+
+ <li>
+ In the <b>Private key file</b> field,
+ specify the location of the
+ already generated <code>.pem</code> file for this extension&mdash;for
+ example, <code>c:\myext.pem</code>.
+ </li>
+
+ <li>
+ Click <b>OK</b>.
+ </li>
+</ol>
+
+<p>If the updated extension is successfully packaged, you'll see a dialog like this:</p>
+
+<img src="{{static}}/images/update-success.gif"
+ width="298" height="160" />
+
+
+<h2 id="upload"> Uploading a previously packaged extension to the Chrome Web Store</h2>
+
+<p>
+You can use the Chrome Developer Dashboard
+to upload an extension that you've previously packaged yourself.
+However, unless you take special steps,
+the extension's ID in the Chrome Web Store
+will be different from its ID in the package you created.
+This different ID might be a problem if you've
+distributed your extension package,
+because it allows users to install multiple versions of your extension,
+each with its own local data.
+</p>
+
+<p>
+If you want to keep the extension ID the same,
+follow these steps:
+</p>
+
+<ol>
+ <li> Rename the private key that was generated
+ when you created the <code>.crx</code> file to <code>key.pem</code>. </li>
+ <li> Put <code>key.pem</code> in the top directory
+ of your extension. </li>
+ <li> Compress that directory into a ZIP file. </li>
+ <li> Upload the ZIP file using the
+ <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Developer Dashboard</a>. </li>
+</ol>
+
+
+<h2>Packaging at the command line</h2>
+
+<p>
+Another way to package extensions
+is by invoking <code>chrome.exe</code> at the command line.
+Use the <code>--pack-extension</code> flag
+to specify the location of the extension's folder.
+Use <code>--pack-extension-key</code>
+to specify the location of the extension's private key file.
+For example:
+</p>
+
+<pre>
+chrome.exe --pack-extension=c:\myext --pack-extension-key=c:\myext.pem
+</pre>
+
+<p>
+To suppress the dialog,
+add <code>--no-message-box</code> to the command.
+</p>
+
+<h2>Package format and scripts</h2>
+<p>
+For more information on the format, as well as pointers to scripts you can use
+to create <code>.crx</code> files, see <a href="crx.html">CRX Package Format</a>.
+</p>

Powered by Google App Engine
This is Rietveld 408576698