aboutsummaryrefslogtreecommitdiff
path: root/files/de/bundles/index.html
blob: fa67b9d739c1acc308438336da94120b177763be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
title: Struktur eines installierbaren Bündels
slug: Bundles
tags:
  - Toolkit API
translation_of: Archive/Mozilla/Bundles
---
<p><a href="/de/Packen_einer_XUL_Anwendung" title="de/Packen_einer_XUL_Anwendung">XULRunner Anwendungen</a>, <a href="/de/Erweiterungen" title="de/Erweiterungen">Erweiterungen</a>, und <a href="/de/Themes" title="de/Themes">Themes</a> teilen sich eine gemeinsame Verzeichnisstruktur, und in einigen Fällen kann das gleiche Bündel als eigenständige XULRunner-Anwendung und als eine installierbare Anwendungserweiterung genutzt werden. Die Grundstruktur von Bündeln kann einige der folgenden Dateien beinhalten:</p>
<pre class="eval">/<a href="/de/Installationsmanifest" title="de/Installationsmanifest">install.rdf</a>                        <em>Erweiterung/Theme Installationsmanifest</em>
/<a href="/de/Packen_einer_XUL_Anwendung" title="de/Packen_einer_XUL_Anwendung">application.ini</a>                    <em>Anwendungsstartmanifest</em>
/components/*                       <em>Komponenten und XPT Dateien</em>    <a href="/de/Gecko#Versionen" title="de/Gecko#Versionen">(&gt;=1.7)</a>
<a href="/de/Erweiterungen_erstellen" title="de/Erweiterungen_erstellen">/defaults/preferences/*.js</a>          <em>Voreinstellungen</em>               <a href="/de/Gecko#Versionen" title="de/Gecko#Versionen">(&gt;=1.7)</a>
/plugins/*                          <em>NPAPI Plugins</em>                  <a href="/de/Gecko#Versionen" title="de/Gecko#Versionen">(&gt;=1.8)</a>
/<a href="/de/Chrome_Registrierung" title="de/Chrome.manifest">chrome.manifest</a>                    <em>Chrome-Registrierungsmanifest </em> <a href="/de/Gecko#Versionen" title="de/Gecko#Versionen">(&gt;=1.8)</a>
/<a href="/de/Fenstersymbole" title="de/Fenstersymbole">chrome/icons/default/*</a>             <em>Fenstersymbole</em>                 <a href="/de/Gecko#Versionen" title="de/Gecko#Versionen">(&gt;=1.8)</a>
</pre>
<p>Natürlich benötigt eine Erweiterung nicht all diese Verzeichnisse. Themes sind aus Sicherheitsgründen eingeschränkt, und können normalerweise nur ein <a href="/de/Chrome_Registrierung" title="de/Chrome_Registrierung">chrome.manifest</a> zur Registrierung und eine JAR-Datei mitliefern.</p>
<p> </p>
<h3 id="Plattformspezifische_Unterverzeichnisse_in_Gecko_1.9.2_und_früher">Plattformspezifische Unterverzeichnisse in Gecko 1.9.2 und früher</h3>
<div class="geckoVersionNote">
<div class="geckoVersionHeading">
Hinweis zu Gecko 2.0
<div style="font-size: 9px; line-height: 1; font-style: italic;">(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)</div>
</div>
<p>Plattformspezifische Unterverzeichnisse wurden mit Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) entfernt. Siehe <a href="/de/Bundles#Plattform-spezifische_Dateien" title="de/Bundles#Plattform-spezifische Dateien">Plattform-spezifische Dateien</a> für weitere Informationen.</p>
</div>
<p>In einigen Fällen kann eine Erweiterung oder Anwendung es erforderlich machen, eine binäre Komponente oder Plugins für verschiedene Plattformen bereitzustellen, oder Theme-Autoren können mehrere plattformspezifische JAR-Dateien bündeln. Um das zu bewerkstelligen, nutzt der Erweiterungslader besondere Unterverzeichnisse für plattformspezifische Dateien (angefangen ab Toolkit/Gecko 1.8, Firefox/Thunderbird 1.5). Die Plattform-Zeichenkette wird während des Toolkit Build Vorgangs auf einen eindeutigen Wert festgelegt - eine Kombination aus Betriebssystem, Prozessorarchitektur und Compiler. Das Format der Plattform-Zeichenkette ist:</p>
<pre class="eval"><em><a href="/de/OS_TARGET" title="de/OS_TARGET">{OS_TARGET}</a></em>_<em>{<a href="/de/XPCOM_ABI" title="de/XPCOM_ABI">TARGET_XPCOM_ABI</a>}</em>
</pre>
<p>Jede der Dateien, welche vom Erweiterungshauptverzeichnis geladen werden nun vom Unterverzeichnis geladen, wenn es existiert:</p>
<pre class="eval">/platform/<em>{Plattform Zeichenkette}</em>
</pre>
<p>Wenn zum Beispiel ein Dritt-Anbieter ein Plugin für Computer unter Linux, Macintosh und Windows bereitstellen möchte, wären folgende Dateien nötig:</p>
<pre class="eval">/platform/Linux_x86-gcc3/plugins/libMyPlugin.so
/platform/WINNT_x86-msvc/plugins/MyPlugin.dll
/platform/Darwin_ppc-gcc3/plugins/libMyPlugin.dylib
</pre>
<p>Weil XPT-Dateien nicht plattformspezifisch sind, landen zugehörige XPT-Dateien in einem generischen Komponentenverzeichnis:</p>
<pre class="eval">/components/MyPlugin.xpt
</pre>
<p>Wenn eine Erweiterung nicht-binären, plattformspezifischen Code (z.B. zur Eintragung in die Windows-Registrierung) beinhaltet, kann einfach der Betriebssystem-Bezeichner als Plattform-Unterverzeichnis dienen:</p>
<pre class="eval">/platform/WINNT/components/registerDoctype.js
</pre>
<p>Wenn plattformspezifische JAR-Dateien genutzt werden, sollte jedes Plattformverzeichnis eine eigene <code>chrome.manifest</code> Datei enthalten:</p>
<pre class="eval">chrome.manifest
chrome/mytheme-base.jar
platform/Darwin/chrome.manifest
platform/Darwin/chrome/mytheme-mac.jar
platform/WINNT/chrome.manifest
platform/WINNT/chrome/mytheme-win.jar
</pre>
<p>Der Ladevorgang verarbeitet zuerst das Basisverzeichnis, gefolgt durch die jeweiligen Plattformverzeichnisse (zuerst <em>/{OS_TARGET}/</em>, dann <em>/</em><a href="/de/OS_TARGET" title="de/OS_TARGET"><em>{OS_TARGET}</em></a><em>_{</em><a href="/de/XPCOM_ABI" title="de/XPCOM_ABI"><em>TARGET_XPCOM_ABI</em></a><em>}/</em>). Wenn Voreinstellungen in unterschiedlichen Verzeichnissen gesetzt werden, wird das zuletzt geladene das vorherige überschreiben.</p>
<h3 id="Plattform-spezifische_Dateien">Plattform-spezifische Dateien</h3>
<p>Mit Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) wurde die Unterstützung für Plattform-spezifische Unterverzeichnisse entfernt. Stattdessen müssen nun Manifest-Flags, wie zum Beispiel <a href="/de/Chrome_Registrierung#OS" title="de/Chrome Registrierung#OS"><code>OS</code></a> und <a href="/de/Chrome_Registrierung#abi" title="de/Chrome Registrierung#abi"><code>ABI</code></a> Flags, im <a href="/de/Chrome_Registrierung" title="de/Chrome Registrierung">Chrome-Manifest</a> verwendet werden, um Komponenten festzulegen, die von bestimmten Plattformen geladen werden sollen.</p>
<p>Zum Beispiel:</p>
<pre>binary-component components/windows/mycomponent.dll ABI=WINNT_x86-msvc
binary-component components/mac/mycomponent.dylib ABI=Darwin_x86-gcc3
binary-component components/mac/mycomponent64.dylib ABI=Darwin_x86-64-gcc3
binary-component components/linux/mycomponent.so ABI=Linux_x86-gcc3
</pre>
<h3 id="Anwendungsspezifische_Erweiterungsdateien">Anwendungsspezifische Erweiterungsdateien</h3>
<p>Zusätzlich zu den oben aufgeführten Erweiterungsdateien, können Anwendungen weitere Dateien aus den Erweiterungen lesen. <a href="/de/Firefox_1.5_für_Entwickler" title="de/Firefox_1.5_für_Entwickler">Firefox 1.5</a> oder höher liest zum Beispiel Sherlock Suchplugins aus.</p>
<pre class="eval">/searchplugins/*.src
</pre>
<p><a href="/de/Firefox_2_für_Entwickler" title="de/Firefox_2_für_Entwickler">Firefox 2</a> und höher werden auch <a href="/de/MozSearch_Plugins_erstellen" title="de/MozSearch_Plugins_erstellen">MozSearch und OpenSearch Plugins</a> aus</p>
<pre class="eval">/searchplugins/*.xml
</pre>
<p>und Myspell-Wörterbücher aus</p>
<pre class="eval">/dictionaries/*.{aff|dic}
</pre>
<p>lesen können.</p>
<h3 id="Offizielle_Toolkit_API_Referenzen">Offizielle <a href="/de/Toolkit_API" title="de/Toolkit_API">Toolkit API</a> Referenzen</h3>
<p>
      </p><ul>
        <li><a href="/de/Bundles" title="de/Bundles">Struktur eines installierbaren Bündels</a>: Beschreibung der gemeinsamen Struktur von installierbaren Bündeln von Erweiterungen, Themes und XULRunner Anwendungen</li>
        <li><a href="/de/Packen_von_Erweiterungen" title="de/Packen_von_Erweiterungen">Packen von Erweiterungen</a>: Informationen über das Packen von Erweiterungen</li>
        <li><a href="/de/Packen_von_Themes" title="de/Packen_von_Themes">Packen von Themes</a>: Informationen über das Packen von Themes</li>
        <li><a href="/de/Packen_von_mehreren_Erweiterungen" title="de/Packen_von_mehreren_Erweiterungen">Packen von mehreren Erweiterungen</a>: Informationen über das Packen von mehreren Erweiterungen</li>
        <li><a href="/de/Packen_einer_XUL_Anwendung" title="de/Packen_einer_XUL_Anwendung">Packen einer XUL Anwendung</a>: Informationen über das Packen von XUL Anwendungen</li>
        <li><a href="/de/Chrome_Registrierung" title="de/Chrome_Registrierung">Chrome Registrierung</a></li>
      </ul>