Pakowanie instalatora natywnego dla komputerów

W środowisku AIR 2 lub nowszym można za pomocą narzędzia ADT tworzyć instalatory macierzyste przeznaczone do rozpowszechniania aplikacji AIR. Na przykład: można zbudować plik instalatora EXE w celu dystrybuowania aplikacji AIR w systemach Windows. Można również zbudować plik instalatora DMG w celu dystrybuowania aplikacji AIR w systemie Mac OS. W środowiskach AIR 2.5 i AIR 2.6 można utworzyć plik instalatora DEB lub RPM na potrzeby rozpowszechniania aplikacji AIR w systemach Linux.

Aplikacje zainstalowane za pomocą rodzimego instalatora są znane jako aplikacje o profilu Rozszerzony stacjonarny. Narzędzia ADT nie można użyć do spakowania rodzimego instalatora dla aplikacji AIR, jeśli plik deskryptora aplikacji nie obsługuje profilu Rozszerzony stacjonarny. Profil można ograniczyć za pomocą elementu supportedProfiles w pliku deskryptora aplikacji. Więcej informacji zawierają sekcje Profile urządzeń i supportedProfiles .

Istnieją dwa podstawowe sposoby tworzenia aplikacji AIR w wersji z rodzimym instalatorem:

  • Rodzimy instalator można utworzyć na podstawie pliku deskryptora aplikacji i innych plików źródłowych. (Do innych plików źródłowych mogą należeć pliki SWF, pliki HTML oraz inne zasoby).

  • Rodzimy instalator można utworzyć na podstawie pliku AIR lub pliku AIRI.

Narzędzie ADT musi być używane na tym samym systemie operacyjnym, na którym ma działać plik rodzimego instalatora, jaki ma zostać wygenerowany. Więc w celu utworzenia pliku EXE dla systemu Windows narzędzie ADT należy uruchomić w systemie Windows. W celu utworzenia pliku DMG dla systemu Mac OS należy uruchomić narzędzie ADT w systemie Mac OS. W celu utworzenia pliku DEB lub RPG dla systemu Linux należy uruchomić narzędzie ADT w systemie Linux z poziomu zestawu SDK środowiska AIR 2.6.

Po utworzeniu rodzimego instalatora przeznaczonego do dystrybuowania aplikacji AIR aplikacja uzyskuje następujące możliwości:

  • Może uruchamiać rodzime procesy i wchodzić w interakcje z tymi procesami, korzystając z klasy NativeProcess. Szczegółowe informacje zawierają następujące zasoby:
  • Może korzystać z rozszerzeń natywnych.

  • Może użyć metody File.openWithDefaultApplication() do otwarcia dowolnego pliku za pomocą domyślnej aplikacji systemowej, która według definicji służy do otwierania tego pliku — bez względu na typ pliku. (Istnieją pewne ograniczenia dotyczące aplikacji, które nie zostały zainstalowane za pomocą rodzimego instalatora. Szczegółowe informacje zawiera wpis dotyczący File.openWithDefaultApplication() w skorowidzu języka).

Spakowanie w postaci instalatora natywnego powoduje jednak utratę niektórych korzyści związanych z formatem pliku AIR. Pojedynczy plik nie może być już rozpowszechniany na wszystkich komputerach stacjonarnych. Nie działa wbudowana funkcja aktualizacji (a także platforma narzędzia do aktualizowania).

Gdy użytkownik kliknie dwukrotnie plik rodzimego instalatora, instalator zainstaluje aplikację AIR. Jeśli na komputerze nie została jeszcze zainstalowana wymagana wersja środowiska Adobe AIR, instalator pobierze wersję z sieci i zainstaluje ją jako pierwszą. Jeśli nie jest dostępne połączenie sieciowe, z którego można by pobrać poprawną wersję Adobe AIR (w razie potrzeby), wówczas instalacja zakończy się niepowodzeniem. Ponadto instalacja nie powiedzie się, jeśli konkretny system operacyjny nie jest obsługiwany przez Adobe AIR 2.

Uwaga: Aby plik był plikiem wykonywalnym w zainstalowanej aplikacji, należy upewnić się, że jest on plikiem wykonywalnym w systemie plików przed utworzeniem pakietu aplikacji. (W systemach Mac i Linux można w razie potrzeby użyć polecenia chmod w celu ustawienia flagi pliku wykonywalnego.)

Tworzenie rodzimego instalatora z plików źródłowych aplikacji

W celu utworzenia rodzimego instalatora z plików źródłowych dla aplikacji należy użyć polecenia -package z następującą składnią (w jednym wierszu poleceń):

adt -package AIR_SIGNING_OPTIONS 
    -target native 
    [WINDOWS_INSTALLER_SIGNING_OPTIONS] 
    installer_file 
    app_xml 
    [file_or_dir | -C dir file_or_dir | -e file dir ...] ...

Ta składnia jest podobna do składni pakowania pliku AIR (bez rodzimego instalatora). Istnieją jednak pewne różnice:

  • Do polecenia dodano opcję -target native . (Gdyby dodano -target air , wówczas narzędzie ADT wygenerowałoby plik AIR zamiast pliku instalatora rodzimego).

  • Nazwę docelowego pliku DMG lub EXE określono jako plik_instalatora .

  • Opcjonalnie w systemie Windows można dodać drugi zestaw opcji podpisu, oznaczonych jako [WINDOWS_INSTALLER_SIGNING_OPTIONS] w listingu składni. W systemie Windows oprócz podpisania pliku AIR można również podpisać plik instalatora Windows. W tym przypadku należy użyć tego samego certyfikatu i tej samej składni opcji podpisu, która zostałaby użyta do podpisania pliku AIR (informacje zawiera rozdział Opcje podpisywania kodu ADT ). W celu podpisania pliku AIR i pliku instalatora można użyć tego samego certyfikatu lub można określić inne certyfikaty. Gdy użytkownik pobierze podpisany plik instalatora Windows z sieci, system Windows zidentyfikuje źródło pliku na podstawie certyfikatu.

Szczegółowe informacje na temat opcji narzędzia ADT innych niż opcja -target można znaleźć w sekcji Narzędzie ADT .

Poniżej przedstawiono przykład tworzenia pliku DMG (plik rodzimego instalatora dla systemu Mac OS):

adt -package 
    -storetype pkcs12 
    -keystore myCert.pfx 
    -target native 
    myApp.dmg 
    application.xml 
    index.html resources

Poniżej przedstawiono przykład tworzenia pliku EXE (plik rodzimego instalatora dla systemu Windows):

adt -package 
    -storetype pkcs12 
    -keystore myCert.pfx 
    -target native 
    myApp.exe 
    application.xml 
    index.html resources

Poniżej przedstawiono przykład tworzenia i podpisania pliku EXE:

adt -package 
    -storetype pkcs12 
    -keystore myCert.pfx 
    -target native 
    -storetype pkcs12 
    -keystore myCert.pfx 
    myApp.exe 
    application.xml 
    index.html resources

Tworzenie instalatora natywnego dla aplikacji korzystającej z rozszerzeń natywnych

Instalator natywny można utworzyć z plików źródłowych aplikacji i pakietów rozszerzeń natywnych wymaganych przez aplikację. Należy użyć polecenia -package z następującą składnią (w pojedynczym wierszu polecenia):

adt -package AIR_SIGNING_OPTIONS 
    -migrate MIGRATION_SIGNING_OPTIONS 
    -target native 
    [WINDOWS_INSTALLER_SIGNING_OPTIONS] 
    installer_file 
    app_xml 
    -extdir extension-directory 
    [file_or_dir | -C dir file_or_dir | -e file dir ...] ...

Składnia jest taka sama jak w przypadku pakowania instalatora natywnego, lecz są dostępne dwie dodatkowe opcje. Opcja -extdir katalog_rozszerzeń pozwala określić katalog zawierający pliki ANE (rozszerzenia natywne) używane przez aplikację. Za pomocą opcjonalnej flagi -migrate i parametrów MIGRATION_SIGNING_OPTIONS można podpisać aktualizację aplikacji przy użyciu podpisu migracji w przypadku, gdy główny certyfikat podpisu kodu różni się od certyfikatu użytego dla poprzedniej wersji. Więcej informacji można znaleźć w rozdziale Podpisywanie zaktualizowanej wersji aplikacji AIR .

Szczegółowe informacje na temat opcji narzędzia ADT zawiera sekcja Narzędzie ADT .

W poniższym przykładzie jest tworzony plik DMG (plik instalatora natywnego dla systemu Mac OS) dla aplikacji korzystającej z rozszerzeń natywnych.

adt -package 
    -storetype pkcs12 
    -keystore myCert.pfx 
    -target native 
    myApp.dmg 
    application.xml 
    -extdir extensionsDir 
    index.html resources

Tworzenie rodzimego instalatora z pliku AIR lub pliku AIRI

Za pomocą narzędzia ADT można wygenerować plik rodzimego instalatora z pliku AIR lub pliku AIRI. W celu utworzenia rodzimego instalatora z pliku AIR należy użyć polecenia -package narzędzia ADT z następującą składnią (w jednym wierszu poleceń):

adt -package 
    -target native 
    [WINDOWS_INSTALLER_SIGNING_OPTIONS] 
    installer_file 
    air_file

Ta składnia przypomina składnię przeznaczoną do tworzenia rodzimego instalatora z plików źródłowych dla aplikacji AIR. Istnieją jednak pewne różnice:

  • Jako źródło określono plik AIR, a nie plik deskryptora aplikacji ani inne pliki źródłowe dla aplikacji AIR.

  • Nie należy określać opcji podpisu dla pliku AIR, ponieważ jest on już podpisany

W celu utworzenia rodzimego instalatora z pliku AIRI należy użyć polecenia -package narzędzia ADT z następującą składnią (w jednym wierszu poleceń):

adt AIR_SIGNING_OPTIONS 
    -package 
    -target native 
    [WINDOWS_INSTALLER_SIGNING_OPTIONS] 
    installer_file 
    airi_file

Ta składnia przypomina składnię przeznaczoną do tworzenia rodzimego instalatora opartego na pliku AIR. Istnieją jednak pewne różnice:

  • Jako źródło określono plik AIRI.

  • Określono opcje podpisu dla docelowej aplikacji AIR.

Poniżej przedstawiono przykład tworzenia pliku DMG (plik rodzimego instalatora dla systemu Mac OS) na podstawie pliku AIR:

adt -package -target native myApp.dmg myApp.air

Poniżej przedstawiono przykład tworzenia pliku EXE (plik rodzimego instalatora dla systemu Windows) na podstawie pliku AIR:

adt -package -target native myApp.exe myApp.air

Poniżej przedstawiono przykład tworzenia i podpisywania pliku EXE (na podstawie pliku AIR):

adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air

Poniżej przedstawiono przykład tworzenia pliku DMG (plik rodzimego instalatora dla systemu Mac OS) na podstawie pliku AIRI:

adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi

Poniżej przedstawiono przykład tworzenia pliku EXE (plik rodzimego instalatora dla systemu Windows) na podstawie pliku AIRI:

adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi

W poniższym przykładzie jest tworzony plik EXE (na podstawie pliku AIRI), który zostaje podpisany za pomocą zarówno podpisu AIR, jak i natywnego podpisu systemu Windows.

adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.airi