Een captive-runtimebundel verpakken voor desktop-pc's

Een captive-runtimebundel is een pakket dat uw toepassingscode plus een toegewijde versie van de runtime bevat. Een toepassing die op deze manier wordt verpakt, gebruikt de gebundelde runtime in plaats van de elders op de computer van de gebruiker geïnstalleerde gedeelde runtime.

De geproduceerde bundel heeft op Windows de vorm van een zelfstandige map met toepassingsbestanden en op Mac OS de vorm van een .app-bundel. U dient de bundel voor een doelbesturingssysteem te produceren op het desbetreffende besturingssysteem. (Met een virtuele pc, zoals VMWare, kunt u meerdere besturingssystemen uitvoeren op één pc.)

De toepassing kan zonder installatie vanuit die map of bundel worden uitgevoerd.

Voordelen

  • Produceert een zelfstandige toepassing

  • Geen internettoegang vereist voor de installatie

  • De toepassing staat los van runtime-updates

  • Ondernemingen kunnen de specifieke combinatie van de toepassing en de runtime certificeren

  • Ondersteunt het traditionele model voor software-implementatie

  • Er is geen afzonderlijke herdistributie van de runtime vereist

  • Kan gebruikmaken van de NativeProcess-API

  • Kan native extensies gebruiken

  • Kan de functie File.openWithDefaultApplication() zonder enige beperking gebruiken

  • Kan zonder installatie worden uitgevoerd vanaf een USB-schijf of optische schijf

Nadelen

  • Belangrijke beveiligingscorrecties staan niet automatisch ter beschikking van gebruikers als Adobe een beveiligingspatch publiceert

  • De bestandsindeling .air kan niet worden gebruikt

  • U dient zelf, indien nodig, een installatieprogramma te maken

  • Geen ondersteuning voor update-API en -framework voor AIR

  • Geen ondersteuning voor de browser-API voor AIR voor het installeren en starten van AIR-toepassingen vanuit een webpagina

  • In Windows dient uw installatieprogramma de bestandsregistratie te verwerken

  • Toepassing neemt meer schijfruimte in beslag

Een captive-runtimebundel maken in Windows

Als u een captive-runtimebundel wilt maken voor Windows, dient u de toepassing te verpakken in Windows. Verpak de toepassing met gebruik van het ADT-doel bundle :

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

Met deze opdracht maakt u de bundel in een map met de naam myApp. De map bevat de bestanden voor uw toepassing en de runtimebestanden. U kunt het programma rechtstreeks vanuit de map uitvoeren. Als u echter een vermelding in het programmamenu wilt maken of bestandstypen of URI-schemahandlers wilt registreren, dient u een installatieprogramma te maken dat de vereiste registervermeldingen instelt. De SDK van AIR beschikt niet over de tools voor het maken van een dergelijk installatieprogramma, maar er zijn verschillende oplossingen van andere bedrijven beschikbaar, waaronder gratis of tegen betaling beschikbare open-source installatietoolkits.

U kunt het native uitvoerbare bestand in Windows ondertekenen door na de vermelding -target bundle op de opdrachtregel een tweede set met ondertekeningsopties op te geven. Deze ondertekeningsopties identificeren de persoonlijke sleutel die en het gekoppelde certificaat dat moet worden gebruikt wanneer u de native Windows-handtekening toepast. (Doorgaans kan een AIR-certificaat voor codeondertekening worden gebruikt.) Alleen het primaire uitvoerbare bestand wordt ondertekend. Eventuele extra uitvoerbare bestanden in hetzelfde pakket als uw toepassing worden niet door dit proces ondertekend.

Bestandstypekoppeling

Als u uw toepassing in Windows wilt koppelen aan openbare of aangepaste bestandstypen, dient uw installatieprogramma de desbetreffende registervermeldingen in te stellen. De bestandstypen dienen ook te worden vermeld in het element fileTypes van het descriptorbestand van de toepassing.

Zie MSDN-bibliotheek: bestandstypen en bestandskoppelingen voor meer informatie over bestandstypen in Windows.

Registratie van URI-handlers

Uw installatieprogramma dient de vereiste registervermeldingen in te stellen, anders kan uw toepassing het starten van een URL niet afhandelen met gebruik van een bepaald URI-schema.

Zie MSDN-bibliotheek: een toepassing registreren voor een URL-protocol voor meer informatie over het registreren van een toepassing voor het afhandelen van een URI-schema.

Een captive-runtimebundel maken op Mac OS X

Als u een captive-runtimebundel wilt maken voor Mac OS X, dient u de toepassing te verpakken op het Macintosh-besturingssysteem. Verpak de toepassing met gebruik van het ADT-doel bundle :

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

Met deze opdracht maakt u de toepassingsbundel myApp.app. De bundel bevat de bestanden voor uw toepassing en de runtimebestanden. U kunt de toepassing uitvoeren door te dubbelklikken op het pictogram myApp.app en de toepassing installeren door deze naar een geschikte locatie te slepen, zoals bijvoorbeeld de map Toepassingen. Teneinde bestandstypen of URI-schemahandlers te registreren, dient u het bestand met de eigenschappenlijst in het toepassingspakket te bewerken.

U kunt een schijfafbeeldingsbestand (*.dmg) maken voor distributie. De SDK van Adobe AIR beschikt niet over de tools waarmee u een .dmg-bestand voor een captive-runtimebundel kunt maken.

Bestandstypekoppeling

Als u uw toepassing op Mac OS X wilt koppelen aan openbare of aangepaste bestandstypen, dient u het bestand info.plist in de bundel te bewerken om de eigenschap CFBundleDocumentTypes in te stellen. Zie Information Property List Key Reference, CFBundleURLTypes in de bibliotheek voor Mac OS X-ontwikkelaars .

Registratie van URI-handlers

Als u wilt dat uw toepassing een URL kan starten met gebruik van een bepaald URI-schema, dient u het bestand info.plist in de bundel te bewerken om de eigenschap CFBundleURLTypes in te stellen. Zie Information Property List Key Reference, CFBundleDocumentTypes in de Mac OS X-bibliotheek voor ontwikkelaars .