Verpacken eines gekoppelten Laufzeit-Bundles für Desktopcomputer

Ein gekoppeltes Laufzeit-Bundle ist ein Paket, das Ihren Anwendungscode zusammen mit einer bestimmten Version der Laufzeitumgebung enthält. Eine auf diese Weise verpackte Anwendung verwendet die Laufzeitumgebung aus dem Bundle anstatt der gemeinsam genutzten Laufzeitumgebung, die an anderer Stelle auf dem Computer eines Benutzers installiert ist.

Das produzierte Bundle ist ein eigenständiger Ordner mit Anwendungsdateien unter Windows und ein .app-Bundle unter Mac OS. Sie müssen das Bundle für ein Ziel-Betriebssystem erstellen, während dieses Betriebssystem verwendet wird. (Es kann eine virtuelle Maschine, zum Beispiel VMWare, verwendet werden, um mehrere Betriebssysteme auf einem Computer auszuführen.)

Die Anwendung kann aus diesem Ordner oder Bundle ohne Installation ausgeführt werden.

Vorteile

  • Erstellt eine eigenständige Anwendung

  • Kein Internet für die Installation erforderlich

  • Die Anwendung ist von Aktualisierungen der Laufzeitumgebung isoliert

  • Unternehmen können die spezifische Kombination aus Anwendung und Laufzeitumgebung zertifizieren

  • Unterstützt das herkömmliche Modell für die Softwarebereitstellung

  • Keine separate Distribution der Laufzeitumgebung erforderlich

  • Kann die NativeProcess-API verwenden

  • Kann native Erweiterungen verwenden

  • Kann die File.openWithDefaultApplication() -Funktion ohne Einschränkung verwenden

  • Kann über USB oder von einer optischen Disc ausgeführt werden

Nachteile

  • Wichtige Sicherheits-Fixes stehen Benutzern nicht automatisch zur Verfügung, wenn Adobe einen neuen Sicherheits-Patch herausgibt

  • Das .air-Dateiformat kann nicht verwendet werden

  • Sie müssen ggf. Ihr eignes Installationsprogramm erstellen

  • AIR-Update-API und -Framework werden nicht unterstützt

  • Die AIR-in-Browser-API zum Installieren und Starten einer AIR-Anwendung von einer Webseite aus wird nicht unterstützt

  • Unter Windows muss die Dateiregistrierung von Ihrem Installationsprogramm verarbeitet werden

  • Größerer Speicherbedarf der Anwendung

Erstellen eines gekoppelten Laufzeit-Bundles unter Windows

Um ein gekoppeltes Laufzeit-Bundle für Windows zu erstellen, müssen Sie die Anwendung verpacken, während das Windows-Betriebssystem verwendet wird. Verpacken Sie die Anwendung mit dem ADT- bundle -Ziel:

adt -package 
    -keystore ..\cert.p12 -storetype pkcs12 
    -target bundle 
    myApp 
    myApp-app.xml 
    myApp.swf icons resources

Mit diesem Befehl wird das Bundle in einem Ordner mit dem Namen „myApp“ erstellt. Der Ordner enthält sowohl die Dateien für Ihre Anwendung als auch die Dateien der Laufzeitumgebung. Sie können das Programm direkt aus dem Ordner ausführen. Um einen Menüeintrag zu erstellen, Dateitypen oder URI-Schemaprozeduren zu registrieren, müssen Sie ein Installationsprogramm erstellen, das die erforderlichen Registrierungseinträge festlegt. Das AIR SDK enthält keine Werkzeuge zum Erstellen solcher Installationsprogramme. Es sind jedoch verschiedene Optionen von Drittanbietern erhältlich; neben kommerziellen Lösungen auch kostenlose Open-Source-Installer-Toolkits.

Sie können die native ausführbare Datei unter Windows signieren, indem Sie einen zweiten Satz Signaturoptionen nach dem -target bundle -Eintrag in der Befehlszeile angeben. Diese Signaturoptionen identifizieren den privaten Schlüssel und das dazugehörige Zertifikat zur Verwendung beim Anwenden der nativen Windows-Signatur. (Im Allgemeinen kann ein AIR-Codesignaturzertifikat verwendet werden.) Es wird nur die primäre ausführbare Datei signiert. Alle weiteren ausführbaren Dateien, die ggf. mit Ihrer Anwendung verpackt wurden, werden durch diesen Prozess nicht signiert.

Dateitypzuordnung

Um Ihre Anwendung unter Windows mit öffentlichen oder benutzerdefinierten Dateitypen zu verknüpfen, muss Ihr Installationsprogamm die entsprechenden Registrierungseinträge festlegen. Die Dateitypen sollten auch im fileTypes-Element der Anwendungsdeskriptordatei aufgeführt werden.

Weitere Informationen zu Windows-Dateitypen finden Sie unter MSDN Library: File Types and File Associations

URI-Prozedurregistrierung

Damit Ihre Anwendung den Aufruf einer URL mit einem gegebenen URI-Schema verarbeiten kann, muss Ihr Installationsprogramm die erforderlichen Registrierungseinträge festlegen.

Weitere Informationen zum Registrieren einer Anwendung für die Verarbeitung eines URI-Schemas finden Sie unter MSDN Library: Registering an Application to a URL Protocol

Erstellen eines gekoppelten Laufzeit-Bundles unter Mac OS X

Um ein gekoppeltes Laufzeit-Bundle für Mac OS X zu erstellen, müssen Sie die Anwendung verpacken, während das Macintosh-Betriebssystem verwendet wird. Verpacken Sie die Anwendung mit dem ADT- bundle -Ziel:

adt -package 
    -keystore ../cert.p12 -storetype pkcs12 
    -target bundle 
    myApp.app 
    myApp-app.xml 
    myApp.swf icons resources

Dieser Befehl erstellt das Anwendungs-Bundle mit dem Namen „myApp.app“. Das Bundle enthält sowohl die Dateien für Ihre Anwendung als auch die Dateien der Laufzeitumgebung. Sie können die Anwendung ausführen, indem Sie auf das Symbol „myApp.app“ doppelklicken, oder installieren, indem Sie das Symbol auf einen geeigneten Speicherort, zum Beispiel den Ordner „Anwendungen“, ziehen. Um Dateitypen oder URI-Schemaprozeduren zu registrieren, müssen Sie jedoch die Eigenschaftenlistendatei im Anwendungspaket bearbeiten.

Für die Distribution können Sie eine Disk-Image-Datei (.dmg) erstellen. Das Adobe AIR SDK stellt keine Werkzeuge zum Erstellen einer dmg-Datei für ein gekoppeltes Laufzeit-Bundle bereit.

Dateitypzuordnung

Um Ihre Anwendung unter Mac OS X mit öffentlichen oder benutzerdefinierten Dateitypen zu verknüpfen, müssen Sie die im Bundle enthaltene Datei „info.plist“ bearbeiten, um die CFBundleDocumentTypes-Eigenschaft festzulegen. Siehe Mac OS X Developer Library: Information Property List Key Reference, CFBundleURLTypes .

URI-Prozedurregistrierung

Damit Ihre Anwendung den Aufruf einer URL mit einem gegebenen URI-Schema verarbeiten kann, müssen Sie die im Bundle enthaltene Datei „info.plist“ bearbeiten, um die CFBundleURLTypes-Eigenschaft festzulegen. Siehe Mac OS X Developer Library: Information Property List Key Reference, CFBundleDocumentTypes .