OLD | NEW |
---|---|
1 <div id="pageData-name" class="pageData">Packaging</div> | 1 <div id="pageData-name" class="pageData">Packaging</div> |
2 <div id="pageData-showTOC" class="pageData">true</div> | 2 <div id="pageData-showTOC" class="pageData">true</div> |
3 | 3 |
4 <p class="note"> | |
5 <b>For Advanced Developers Only:</b> | |
6 Do not follow the instructions on this page | |
7 unless you understand the security implications | |
8 of packaging and hosting files on your own server. | |
9 If you host on the Chrome Web Store, | |
10 you do not need to worry | |
11 about packaging or self-hosting. | |
12 </p> | |
13 | |
4 <p> | 14 <p> |
5 This page describes how to package your extension. | 15 This page describes how to package your extension. |
6 As the <a href="overview.html">Overview</a> explains, | 16 As the <a href="overview.html">Overview</a> explains, |
7 extensions are packaged as signed ZIP files | 17 extensions are packaged as signed ZIP files |
8 with the file extension "crx"—for example, | 18 with the file extension "crx"—for example, |
9 <code>myextension.crx</code>. | 19 <code>myextension.crx</code>. |
10 </p> | 20 </p> |
11 | 21 |
12 <p> | 22 <p> |
13 <b>Note:</b> | 23 You do not need to package your own extension. |
14 You might not need to package your extension. | |
15 If you publish your extension using the | 24 If you publish your extension using the |
16 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope r Dashboard</a>, | 25 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope r Dashboard</a>, |
17 then the only reason to create your own <code>.crx</code> file | 26 then the only reason to create your own <code>.crx</code> file |
18 would be to distribute a non-public version—for example, | 27 would be to distribute a non-public version—for example, |
19 to alpha testers. | 28 to alpha testers. |
20 You can find information on publishing extensions and apps in the | 29 You can find information on publishing extensions and apps in the |
21 Chrome Web Store getting started tutorial, starting at | 30 Chrome Web Store getting started tutorial, starting at |
22 <a href="http://code.google.com/chrome/webstore/docs/get_started_simple.html#ste p5">Step 5: Zip up your app</a>. | 31 <a href="http://code.google.com/chrome/webstore/docs/get_started_simple.html#ste p5">Step 5: Zip up your app</a>. |
23 </p> | 32 </p> |
24 | 33 |
25 <p> | 34 <p> |
26 When you package an extension, | 35 When you package an extension, |
27 the extension is assigned a unique key pair. | 36 the extension is assigned a unique key pair. |
28 The extension's ID is based on a hash of the public key. | 37 The extension's ID is based on a hash of the public key. |
29 The private key is kept private | 38 The private key is used to sign each version of the extension |
30 and used to sign each version of the extension. | 39 and must be secured from public access. |
40 Do not store the private key in your packaged files. | |
31 </p> | 41 </p> |
32 | 42 |
33 | 43 |
34 <h2>Creating a package</h2> | 44 <h2>Creating a package</h2> |
35 | 45 |
36 <p>To package an extension:</p> | 46 <p>To package an extension:</p> |
37 <ol> | 47 <ol> |
38 <li> | 48 <li> |
39 Bring up the Extensions management page | 49 Bring up the Extensions management page |
40 by going to this URL: | 50 by going to this URL: |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
133 | 143 |
134 <img src="images/update-success.gif" | 144 <img src="images/update-success.gif" |
135 width="298" height="160" /> | 145 width="298" height="160" /> |
136 | 146 |
137 | 147 |
138 <h2 id="upload"> Uploading a previously packaged extension to the Chrome Web Sto re</h2> | 148 <h2 id="upload"> Uploading a previously packaged extension to the Chrome Web Sto re</h2> |
139 | 149 |
140 <p> | 150 <p> |
141 You can use the Chrome Developer Dashboard | 151 You can use the Chrome Developer Dashboard |
142 to upload an extension that you've previously packaged yourself. | 152 to upload an extension that you've previously packaged yourself. |
143 However, unless you take special steps, | 153 However, a new extension ID will be created |
Aaron Boodman
2012/06/06 18:27:26
I don't think this section needs to change. The pr
| |
144 the extension's ID in the Chrome Web Store | 154 in the Chrome Web Store. |
145 will be different from its ID in the package you created. | 155 You must ensure that only one extension ID is used. |
146 This different ID might be a problem if you've | 156 If you've already distributed your extension package, |
147 distributed your extension package, | 157 replace the newly created extension ID |
148 because it allows users to install multiple versions of your extension, | 158 with your existing extension ID. |
149 each with its own local data. | 159 Otherwise, users can install multiple versions |
160 of your extension, each with its own local data. | |
161 If you haven't distributed your extension package, | |
162 you can use the new extension ID, | |
163 taking care to remove any references to the old one. | |
150 </p> | 164 </p> |
151 | 165 |
152 <p> | 166 <p> |
153 If you want to keep the extension ID the same, | 167 To replace the newly created extension ID |
154 follow these steps: | 168 with your existing extension ID: |
155 </p> | 169 </p> |
156 | 170 |
157 <ol> | 171 <ol> |
158 <li> Rename the private key that was generated | 172 <li> Rename the private key that was generated |
159 when you created the <code>.crx</code> file to <code>key.pem</code>. </li> | 173 when you created the <code>.crx</code> file to <code>key.pem</code>. </li> |
160 <li> Put <code>key.pem</code> in the top directory | 174 <li> Put <code>key.pem</code> in the top directory |
161 of your extension. </li> | 175 of your extension. </li> |
162 <li> Compress that directory into a ZIP file. </li> | 176 <li> Compress that directory into a ZIP file. </li> |
163 <li> Upload the ZIP file using the | 177 <li> Upload the ZIP file using the |
164 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Deve loper Dashboard</a>. </li> | 178 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Deve loper Dashboard</a>. </li> |
(...skipping 19 matching lines...) Expand all Loading... | |
184 <p> | 198 <p> |
185 To suppress the dialog, | 199 To suppress the dialog, |
186 add <code>--no-message-box</code> to the command. | 200 add <code>--no-message-box</code> to the command. |
187 </p> | 201 </p> |
188 | 202 |
189 <h2>Package format and scripts</h2> | 203 <h2>Package format and scripts</h2> |
190 <p> | 204 <p> |
191 For more information on the format, as well as pointers to scripts you can use | 205 For more information on the format, as well as pointers to scripts you can use |
192 to create <code>.crx</code> files, see <a href="crx.html">CRX Package Format</a> . | 206 to create <code>.crx</code> files, see <a href="crx.html">CRX Package Format</a> . |
193 </p> | 207 </p> |
OLD | NEW |