Paketera en AIR-installationsfil för skrivbordet

Alla AIR-program måste åtminstone ha en programbeskrivningsfil och en huvud-SWF- eller HTML-fil. Eventuella andra resurser som ska installeras med programmet måste också ingå i AIR-filen.

I den här texten beskrivs hur du paketerar ett AIR-program med de kommandoradsverktyg som ingår i SDK. Information om hur du paketerar ett program med något av Adobes redigeringsverktyg finns i följande avsnitt:

Alla AIR-installationsfiler måste signeras med ett digitalt certifikat. AIR-intallationsprogrammet använder signaturen för att kontrollera att programfilen inte har installerats sedan du signerat den. Du kan använda kodsigneringscertifikat från en certifikatutfärdare eller ett självsignerat certifikat.

När du använder ett certifikat som har utfärdats av en betrodd certifikatutfärdare bevisar du din identitet för användaren. Installationsdialogrutan visar att din identitet verifierats av certifikatutfärdaren:

Bekräftande installationsdialogruta för program som signeras av ett betrott certifikat

När du använder ett självsignerat certifikat kan användarna inte identifiera dig som utfärdaren. Ett självsignerat certifikat tyder även på att det är mer osäkert om paketet har ändrats. (På grund av att den rätta installationsfilen kan ersättas med en förfalskad fil innan den når mottagaren.) Installationsdialogrutan visar att utgivarens identitet inte kan verifieras. Användaren tar en större risk när ditt program installeras:

Bekräftande installationsdialogruta för program som signeras av ett självsignerat certifikat

Du kan paketera och signera en AIR-fil i ett enda steg med ADT-kommandot -package . Du kan också skapa ett mellanliggande, osignerat paket med kommandot -prepare och signera det mellanliggande paketet med kommandot -sign i ett separat steg.

Obs! I Java-versionerna 1.5 och senare går det inte att använda hög-ASCII-tecken i lösenord för att skydda PKCS12-certifikatfiler. Använd bara vanliga ASCII-tecken i lösenordet när du skapar eller exporterar en kodsignerande certifikatfil.

När du signerar installationspaketet kontaktar ADT automatiskt en tidstämpelbehörighetsserver för att kontrollera tiden. Tidstämpelinformationen tas med i AIR-filen. En AIR-fil som innehåller en kontrollerad tidstämpel kan installeras när som helst i framtiden. Om ADT inte kan ansluta till tidstämpelservern avbryts paketeringen. Du kan åsidosätta tidstämpelalternativet, men utan tidstämpel kan ett AIR-program inte installeras efter att certifikatet som användes för att signera installationsfilen har upphört att gälla.

När du skapar ett paket för att uppdatera ett befintligt AIR-program måste paketet signeras med samma certifikat som det ursprungliga programmet. Om det ursprungliga certifikatet har förnyats eller gått ut inom de senaste 180 dagarna, eller om du vill byta till ett nytt certifikat, kan du använda en flyttningssignatur. Med en flyttningssignatur signerar du AIR-programfilen med både det nya och det gamla certifikatet. Använd kommandot -migrate för att använda flyttningssignaturen, enligt beskrivningen i ADT-kommandot migrate .

Viktigt! Det finns en strikt frist på 180 dagar när en flyttningssignatur används efter det att det ursprungliga certifikatet har gått ut. Utan en flyttningssignatur måste befintliga användare avinstallera programmet innan de installerar den nya versionen. Fristen gäller endast för program där AIR-version 1.5.3 eller senare anges i namnutrymmet för programbeskrivningen. Det finns ingen frist för tidigare versioner av AIR körtidsmodulen.

Flyttningssignaturer stöds inte i versioner före AIR 1.1. Du måste paketera ett program med en SDK som har version 1.1 eller senare om du vill använda en flyttningssignatur.

Program som används med AIR-filer kallas för skrivbordsprofilprogram. Du kan inte använda ADT för att paketera ett internt installationsprogram för ett AIR-program om programbeskrivningsfilen inte har stöd för skrivbordsprofilen. Du kan begränsa profilen med elementet supportedProfiles i programbeskrivningsfilen. Läs mer i Enhetsprofiler och supportedProfiles .

Obs! Inställningarna i programbeskrivningsfilen avgör identiteten på ett AIR-program och dess standardinstallationssökväg. Läs mer i AIR-programbeskrivningsfiler .

Utgivar-ID

Från och med AIR 1.5.3 har utgivar-ID tagits bort. Nya program (ursprungligen utgivna med AIR 1.5.3 eller senare) behöver inte och ska inte ange ett utgivar-ID.

När du uppdaterar program som givits ut med tidigare versioner av AIR, måste du ange det ursprungliga utgivar-ID:et i programbeskrivningsfilen. Annars behandlas den installerade versionen och den uppdaterade versionen av programmet som olika program. Om du använder ett annat ID eller utelämnar taggen publisherID, måste användaren avinstallera den föregående versionen innan den nya installeras.

Du hittar ursprungligt utgivar-ID i filen publisherid i undermappen META-INF/AIR där det ursprungliga programmet är installerat. Strängen i den filen är utgivar-ID:t. Programbeskrivningen måste ange runtime-versionen av AIR 1.5.3 (eller senare) i namnutrymmesdeklarationen i programbeskrivningsfilen för att ange utgivar-ID manuellt.

För program som givits ut före AIR 1.5.3 eller som givits ut med AIR 1.5.3 SDK beräknas ett utgivar-ID baserat på det signerande certifikatet när du anger en tidigare version av AIR i programbeskrivningsfilens namnutrymme. Detta ID används tillsammans med programmets ID för att avgöra programmets identitet. Eventuellt utgivar-ID används i följande syften:

  • Verifiera att en AIR-fil är en uppdatering i stället för ett nytt program som ska installeras

  • Som en del av krypteringsnyckeln för den krypterade lokala lagringsplatsen

  • Som en del av sökvägen till programlagringskatalogen

  • Som en del av anslutningssträngen för lokala anslutningar

  • Som en del av identitetssträngen som används för att anropa ett program med webbläsar-API:n för AIR

  • Som en del av OSID (används när man skapar anpassade installations-/avinstallationsprogram)

Före AIR 1.5.3 kunde utgivar-ID för ett program ändras om du signerade en programuppdatering med en flyttningssignatur i stället för att använda ett nytt eller förnyat certifikat. När ett utgivar-ID ändras, ändras även beteendet för eventuella AIR-funktioner som är beroende av ID:t. Det går till exempel inte längre att komma åt data på den befintliga krypterade lokala lagringsplatsen och eventuella Flash- eller AIR-instanser som skapar en lokal anslutning till programmet måste använda det nya ID:t i anslutningssträngen.

I AIR 1.5.3 och senare baseras inte utgivar-ID på det signerande certifikatet och det tilldelas bara om taggen publisherID inkluderas i programbeskrivningsfilen. Ett program kan inte uppdateras om det utgivar-ID som angetts för AIR-uppdateringspaketet inte motsvarar programmets utgivar-ID.

Paketera med ADT

Du kan använda kommandoradsverktyget ADT i AIR för att paketera ett AIR-program. Innan du paketerar programmet måste du kompilera all ActionScript-kod, MXML-kod och tilläggskod. Du måste också ha ett kodsigneringscertifikat.

Du hittar detaljerad referensinformation om ADT-kommandon och -alternativ i AIR Developer Tool (ADT) .

Skapa ett AIR-paket

Om du vill skapa ett AIR-paket använder du ADT-kommandot package och anger måltypen som air för officiella versioner.

adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons

Exemplet förutsätter att sökvägen till ADT-verktyget finns i kommandoradens sökvägsdefinition. (Läs Systemvariabeln path om du behöver mer hjälp.)

Du måste köra kommandot från den katalog som innehåller programfilerna. Programfilerna i exemplet är myApp-app.xml (programbeskrivningsfilen), myApp.swf och en ikonkatalog.

När du kör kommandot så som visas tillfrågas du om lösenordet för nyckelbehållaren i ADT. (De lösenordstecken du skriver visas inte alltid. Tryck på Retur när du är klar.)

Skapa ett AIR-paket från en AIRI-fil

Du kan signera en AIRI-fil för att skapa ett installationsbart AIR-paket:

adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air