데스크톱 기본 설치 프로그램 패키지화

AIR 2에서는 ADT를 사용하여 AIR 응용 프로그램 배포에 대한 기본 응용 프로그램 설치 프로그램을 만들 수 있습니다. 예를 들어, Windows에서 AIR 응용 프로그램을 배포하기 위한 EXE 설치 프로그램 파일을 만들 수 있습니다. Mac OS에서는 AIR 응용 프로그램의 배포를 위한 DMG 설치 프로그램 파일을 만들 수 있습니다. AIR 2.5 및 AIR 2.6의 경우 Linux에서는 AIR 응용 프로그램의 배포를 위한 DEB 또는 RPM 설치 프로그램 파일을 만들 수 있습니다.

기본 응용 프로그램 설치 프로그램으로 설치된 응용 프로그램은 확장 데스크톱 프로파일 응용 프로그램이라고 합니다. 응용 프로그램 설명자 파일이 데스크톱 확장 프로파일을 지원하지 않을 경우 ADT를 사용하여 AIR 응용 프로그램에 대한 기본 설치 프로그램을 패키지화할 수 없습니다. 응용 프로그램 설명자 파일에서 supportedProfiles 요소를 사용하여 프로파일을 제한할 수 있습니다. 장치 프로파일 supportedProfiles 를 참조하십시오.

AIR 응용 프로그램의 기본 설치 프로그램 버전은 다음 두 가지 방식으로 만들 수 있습니다.

  • 응용 프로그램 설명자 파일 및 기타 소스 파일을 기반으로 기본 설치 프로그램을 만들 수 있습니다. 기타 소스 파일에는 SWF 파일, HTML 파일 및 기타 에셋이 포함될 수 있습니다.

  • AIR 파일 기반 또는 AIRI 파일 기반으로 기본 설치 프로그램을 만들 수 있습니다.

생성하려는 기본 설치 프로그램 파일과 동일한 운영 체제에서 ADT를 사용해야 합니다. 따라서 Windows용 EXE 파일을 만들려면 Windows에서 ADT를 실행하십시오. Mac OS용 DMG 파일을 만들려면 Mac OS에서 ADT를 실행하십시오. Linux용 DEB 또는 RPG 파일을 만들려면 Linux의 AIR 2.6 SDK에서 ADT를 실행하십시오.

AIR 응용 프로그램을 배포하기 위해 기본 설치 프로그램을 만들 경우 이러한 응용 프로그램에는 다음과 같은 기능이 포함됩니다.

  • NativeProcess 클래스를 이용하여 기본 프로세스를 실행하고 상호 작용할 수 있습니다. 자세한 내용은 다음 중 하나를 참조하십시오.
  • 기본 확장을 사용할 수 있습니다.

  • 이 클래스는 파일 유형에 관계없이 File.openWithDefaultApplication() 메서드를 사용하여 모든 파일을 열 수 있습니다. 파일은 해당 파일을 열도록 정의된 기본 시스템 응용 프로그램에서 열립니다. 기본 설치 프로그램으로 설치되지 않은 응용 프로그램에서는 사용할 수 없습니다. 자세한 내용은 언어 참조 설명서에서 File.openWithDefaultApplication() 항목에 대한 항목을 참조하십시오.

하지만 기본 설치 프로그램으로 패키지화된 응용 프로그램은 AIR 파일 포맷의 몇 가지 이점을 잃게 됩니다. 더 이상 모든 데스크톱 컴퓨터에 단일 파일을 배포할 수 없습니다. 내장 업데이트 기능(그리고 업데이터 프레임워크)이 작동하지 않습니다.

사용자가 기본 설치 프로그램 파일을 두 번 클릭하면 AIR 응용 프로그램이 설치됩니다. 필요한 Adobe AIR 버전이 시스템에 아직 설치되지 않은 경우 설치 프로그램이 네트워크에서 Adobe AIR 버전을 다운로드하여 먼저 설치합니다. 올바른 Adobe AIR 버전(필요한 경우)을 가져올 수 있는 네트워크 연결이 없는 경우 설치가 실패합니다. 또한 운영 체제가 Adobe AIR 2에서 지원되지 않으면 설치가 실패합니다.

참고: 설치된 응용 프로그램에서 파일이 실행 가능하도록 하려면 해당 응용 프로그램을 패키지화할 때 파일 시스템에서 해당 파일을 실행할 수 있어야 합니다. Mac 및 Linux에서는 필요한 경우 chmod를 사용하여 실행 가능 플래그를 설정할 수 있습니다.

응용 프로그램 소스 파일에서 기본 설치 프로그램 만들기

응용 프로그램에 대한 소스 파일에서 기본 설치 프로그램을 만들려면 단일 명령줄에서 다음 구문으로 -package 명령을 사용하십시오.

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 ...] ...

이 구문은 AIR 파일을 패키지화하는 구문과 비슷합니다(기본 설치 프로그램 사용 안 함) 하지만 다음과 같은 몇 가지 차이점이 있습니다.

  • -target native 옵션을 명령에 추가합니다. -target air 를 지정한 경우 ADT는 기본 설치 프로그램 파일 대신 AIR 파일을 생성합니다.

  • 대상 DMG 또는 EXE 파일을 installer_file 로 지정합니다.

  • 선택적으로 Windows에서는 구문 목록에 [WINDOWS_INSTALLER_SIGNING_OPTIONS] 로 표시되는 두 번째 서명 옵션 집합을 추가할 수 있습니다. Windows에서는 AIR 파일 서명 외에도 Windows 설치 프로그램 파일을 서명할 수 있습니다. AIR 파일 서명에서와 동일한 인증서 유형 및 서명 옵션 구문을 사용합니다( ADT 코드 서명 옵션 참조). AIR 파일 및 설치 프로그램 파일을 서명하는 데 동일한 인증서를 사용하거나 다른 인증서를 지정할 수 있습니다. 사용자가 웹에서 서명된 Windows 설치 프로그램 파일을 다운로드한 경우 Windows는 인증서를 기반으로 파일 소스를 식별합니다.

-target 옵션 이외의 ADT 옵션에 대한 자세한 내용은 ADT(AIR Developer Tool) 를 참조하십시오.

다음 예에서는 DMG 파일(Mac OS의 기본 설치 프로그램 파일)을 만듭니다.

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

다음 예에서는 EXE 파일(Windows의 기본 설치 프로그램 파일)을 만듭니다.

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

다음 예에서는 EXE 파일을 만들고 서명합니다.

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

기본 확장을 사용하는 응용 프로그램용 기본 설치 프로그램 만들기

응용 프로그램의 소스 파일과 응용 프로그램에 필요한 기본 확장 패키지에서 기본 설치 프로그램을 작성할 수 있습니다. -package 명령을 다음과 같은 구문으로 사용합니다(단일 명령줄에서).

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 ...] ...

이 구문은 추가된 두 옵션을 제외하고 기본 설치 프로그램을 패키지화하는 데 사용된 구문과 동일합니다. -extdir extension-directory 옵션을 사용하여 응용 프로그램에 사용되는 ANE 파일(기본 확장)이 포함된 디렉토리를 지정합니다. 옵션 -migrate 플래그 및 MIGRATION_SIGNING_OPTIONS 매개 변수는 기본 코드 서명 인증서가 이전 버전에서 사용하는 인증서와 다를 경우 마이그레이션 서명으로 응용 프로그램의 업데이트에 서명할 때 사용합니다. 자세한 내용은 업데이트된 버전의 AIR 응용 프로그램에 서명 을 참조하십시오.

ADT 옵션에 대한 자세한 내용은 ADT(AIR Developer Tool) 를 참조하십시오.

다음 예제에서는 기본 확장을 사용하는 응용 프로그램에 대한 DMG 파일(Mac OS X용 기본 설치 프로그램 파일)을 만듭니다.

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

AIR 파일 또는 AIRI 파일에서 기본 설치 프로그램 만들기

ADT를 사용하여 AIR 파일 또는 AIRI 파일을 기반으로 기본 설치 프로그램 파일을 생성할 수 있습니다. AIR 파일을 기반으로 기본 설치 프로그램을 만들려면 단일 명령줄에 다음 구문으로 ADT -package 명령을 사용하십시오.

adt -package 
    -target native 
    [WINDOWS_INSTALLER_SIGNING_OPTIONS] 
    installer_file 
    air_file

이 구문은 AIR 응용 프로그램에 대한 소스 파일을 기반으로 기본 설치 프로그램을 만들 때의 구문과 비슷합니다. 그러나 다음과 같은 몇 가지 차이점이 있습니다.

  • 응용 프로그램 설명자 파일 및 AIR 응용 프로그램에 대한 기타 소스 파일 대신 AIR 파일을 소스로 지정합니다.

  • AIR 파일은 이미 서명되어 있으므로 AIR 파일에 대해 서명 옵션을 지정하지 않습니다.

AIRI 파일을 기반으로 기본 설치 프로그램을 만들려면 단일 명령줄에 다음 구문으로 ADT -package 명령을 사용하십시오.

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

이 구문은 AIR 파일을 기반으로 기본 설치 프로그램을 만들 때의 구문과 비슷합니다. 하지만 다음과 같은 몇 가지 차이점이 있습니다.

  • AIRI 파일을 소스로 지정합니다.

  • 대상 AIR 응용 프로그램에 대한 서명 옵션을 지정합니다.

다음 예에서는 AIR 파일을 기반으로 DMG 파일(Mac OS의 기본 설치 프로그램 파일)을 만듭니다.

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

다음 예에서는 AIR 파일을 기반으로 EXE 파일(Windows의 기본 설치 프로그램 파일)을 만듭니다.

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

다음 예에서는 EXE 파일(AIR 파일 기반)을 만들고 서명합니다.

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

다음 예에서는 AIRI 파일을 기반으로 DMG 파일(Mac OS의 기본 설치 프로그램 파일)을 만듭니다.

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

다음 예에서는 AIRI 파일을 기반으로 EXE 파일(Windows의 기본 설치 프로그램 파일)을 만듭니다.

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

다음 예제에서는 AIRI 파일을 바탕으로 EXE 파일을 만들고 AIR 및 기본 Windows 서명을 모두 사용하여 서명합니다.

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