OLD | NEW |
1 <div id="pageData-name" class="pageData">Other Deployment Options</div> | 1 <div id="pageData-name" class="pageData">Other Deployment Options</div> |
2 <div id="pageData-showTOC" class="pageData">true</div> | 2 <div id="pageData-showTOC" class="pageData">true</div> |
3 | 3 |
4 <p> | 4 <p> |
5 Usually, users install their own extensions. | 5 Usually, users install their own extensions. |
6 But sometimes you might want an extension | 6 But sometimes you might want an extension |
7 to be installed automatically. | 7 to be installed automatically. |
8 Here are two typical cases: | 8 Here are two typical cases: |
9 </p> | 9 </p> |
10 | 10 |
11 <ul> | 11 <ul> |
12 <li> | 12 <li> |
13 An extension is associated with some other software, | 13 An extension is associated with some other software, |
14 and the extension should be installed | 14 and the extension should be installed |
15 whenever the user installs that other software. | 15 whenever the user installs that other software. |
16 The extension could also be uninstalled | 16 The extension could also be uninstalled |
17 when the user removes that other software. | 17 when the user removes that other software. |
18 </li> | 18 </li> |
19 <li> | 19 <li> |
20 A network admin wants to install the same extensions | 20 A network admin wants to install the same extensions |
21 throughout the company. | 21 throughout the company. |
22 </li> | 22 </li> |
23 </ul> | 23 </ul> |
24 | 24 |
25 <p> | 25 <p> |
26 An extension that's installed automatically is known as an | 26 An extension that's installed automatically is known as an |
27 <em>external extension</em>. | 27 <em>external extension</em>. |
28 Google Chrome supports two ways of | 28 Google Chrome supports three ways of |
29 installing external extensions: | 29 installing external extensions: |
30 </p> | 30 </p> |
31 | 31 |
32 <ul> | 32 <ul> |
33 <li> Using a preferences JSON file </li> | 33 <li> Using a preferences JSON file </li> |
34 <li> Using the Windows registry (Windows only) </li> | 34 <li> Using the Windows registry (Windows only) </li> |
| 35 <li> Using per-extension preference files (Linux only) </li> |
35 </ul> | 36 </ul> |
36 | 37 |
37 <p> | 38 <p> |
38 Both ways support installing an extension from a <code>.crx</code> extension | 39 Each method supports installing an extension from a <code>.crx</code> extension |
39 file on the user's computer. The preferences JSON file also supports installing | 40 file on the user's computer. The preferences JSON file also supports installing |
40 an extension hosted at an | 41 an extension hosted at an |
41 <a href="autoupdate.html#H2-1">update URL</a>. | 42 <a href="autoupdate.html#H2-1">update URL</a>. |
42 See <a href="hosting.html">hosting</a> for details on hosting an extension. | 43 See <a href="hosting.html">hosting</a> for details on hosting an extension. |
43 </p> | 44 </p> |
44 | 45 |
45 <h2 id="prereqs">Before you begin</h2> | 46 <h2 id="prereqs">Before you begin</h2> |
46 | 47 |
47 <p> | 48 <p> |
48 First, package a | 49 First, package a |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 <ul> | 214 <ul> |
214 <li>path: <code>\\server\share\extension.crx</code> </li> | 215 <li>path: <code>\\server\share\extension.crx</code> </li> |
215 <li>version: <code>1.0</code> </li> | 216 <li>version: <code>1.0</code> </li> |
216 </ul> | 217 </ul> |
217 </li> | 218 </li> |
218 <li>Launch the browser and go to | 219 <li>Launch the browser and go to |
219 <b>chrome://extensions</b>; you should | 220 <b>chrome://extensions</b>; you should |
220 see the extension listed. </li> | 221 see the extension listed. </li> |
221 </ol> | 222 </ol> |
222 | 223 |
| 224 <h2 id="per-extension-install">Using per-extension preference files (Linux only)
</h2> |
| 225 |
| 226 <ol> |
| 227 <li>Make the <code>.crx</code> extension file available |
| 228 to the machine you want to install the extension on. |
| 229 </li> |
| 230 <li>Find or create the folder: |
| 231 <ul> |
| 232 <li> For a Google Chrome build: <code>/usr/share/google-chrome/extensions</cod
e> </li> |
| 233 <li> For a Chromium build: <code>/usr/share/chromium/extensions</code> </li> |
| 234 </ul> |
| 235 </li> |
| 236 <li>Create a file under this folder with the following name: |
| 237 <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> where the file name (without t
he extension) |
| 238 corresponds to your extension's ID. |
| 239 </li> |
| 240 <li>In the file created during step 4) above, specify the extension's |
| 241 associated <code>.crx</code> complete path along with the |
| 242 version your extension: |
| 243 <p> |
| 244 Example: |
| 245 <pre> |
| 246 { |
| 247 "external_crx": "/home/share/extension.crx", |
| 248 "external_version": "1.0" |
| 249 } |
| 250 </pre> |
| 251 </p> |
| 252 </li> |
| 253 <li> |
| 254 Launch the browser and go to <b>chrome://extensions</b>; you |
| 255 should see the extension listed with the proper version number. |
| 256 </li> |
| 257 </ol> |
| 258 |
223 <h2 id="updating">Updating and uninstalling</h2> | 259 <h2 id="updating">Updating and uninstalling</h2> |
224 | 260 |
225 <p>Google Chrome scans the metadata entries | 261 <p>Google Chrome scans the metadata entries |
226 in the preferences and registry | 262 in the preferences and registry |
227 each time the browser starts, and makes | 263 each time the browser starts, and makes |
228 any necessary changes to the installed | 264 any necessary changes to the installed |
229 external extensions. </p> | 265 external extensions. </p> |
230 | 266 |
231 <p>To update your extension to a new version, | 267 <p>To update your extension to a new version, |
232 update the file, and then update the version | 268 update the file, and then update the version |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 <li>Not specifying the same id/version | 322 <li>Not specifying the same id/version |
287 as the one listed in the <code>.crx</code> </li> | 323 as the one listed in the <code>.crx</code> </li> |
288 <li>Key created in the wrong location in the registry </li> | 324 <li>Key created in the wrong location in the registry </li> |
289 <li>Registry entry points to the wrong path to the <code>.crx</code> file | 325 <li>Registry entry points to the wrong path to the <code>.crx</code> file |
290 (or path specified but no filename) </li> | 326 (or path specified but no filename) </li> |
291 <li>Permissions problems on a network share </li> | 327 <li>Permissions problems on a network share </li> |
292 </ul> | 328 </ul> |
293 | 329 |
294 <br> | 330 <br> |
295 | 331 |
| 332 <p><b>What are some common mistakes when installing with the per-extension file?
</b> </p> |
| 333 <ul> |
| 334 <li>Not specifying the same id/version |
| 335 as the one listed in the <code>.crx</code> </li> |
| 336 <li>Extension preference file created in the wrong location or with the wrong
extension ID name </li> |
| 337 <li>Extension entry points to the wrong path to the <code>.crx</code> file |
| 338 (or path specified but no filename) </li> |
| 339 <li>Permissions problems on a network share </li> |
| 340 <li> |
| 341 Syntax error in JSON file |
| 342 (forgetting to separate entries with comma or |
| 343 leaving a trailing comma somewhere) </li> |
| 344 </ul> |
| 345 |
| 346 <br> |
| 347 |
296 <p><b>What if the user uninstalls the extension?</b> </p> | 348 <p><b>What if the user uninstalls the extension?</b> </p> |
297 <p>If the user uninstalls the extension through the UI, it will no | 349 <p>If the user uninstalls the extension through the UI, it will no |
298 longer be installed or updated on each startup. In other words, the | 350 longer be installed or updated on each startup. In other words, the |
299 external extension is blacklisted. </p> | 351 external extension is blacklisted. </p> |
300 | 352 |
301 <br> | 353 <br> |
302 | 354 |
303 <p><b>How do I get off the blacklist?</b> </p> | 355 <p><b>How do I get off the blacklist?</b> </p> |
304 <p>If the user uninstalls your extension, you should respect that | 356 <p>If the user uninstalls your extension, you should respect that |
305 decision. However, if you (the developer) accidentally uninstalled | 357 decision. However, if you (the developer) accidentally uninstalled |
306 your extension through the UI, | 358 your extension through the UI, |
307 you can remove the blacklist tag | 359 you can remove the blacklist tag |
308 by installing the extension normally | 360 by installing the extension normally |
309 through the UI, and then uninstalling it. </p> | 361 through the UI, and then uninstalling it. </p> |
OLD | NEW |