본문 바로가기
개발

AIR 네이티브 인스톨러 사일런트 설치

by 솜씨제이 2010. 11. 29.

air application을 프로젝트의 일부로 사용하거나 별도의 설치파일로 설치할 필요가 있을 경우 아래의 방법으로 설치할 수 있습니다.

먼저 release할 때 native installer로 export하거나 .air 파일을 .exe로 변환합니다.
adt -package -target native installer_file air_file

사일런트 모드로 설치합니다.
installer_file -silent -location "\"설치경로\"" -allowDownload

  • 실제 설치 위치는 설치경로 하위에 프로그램 디렉토리가 하나 만들어지고 그 위치에 설치됩니다.
  • 설치 시점에서 실제 설치 위치(설치경로\프로그램 디렉토리)는 존재하지 않아야 합니다.
  • 설치경로에 공백 문자가 있다면 반드시 앞 뒤에 \"을 추가해줘야 합니다.
  • -allowDownload는 설치 과정에서 AIR 런타임이 설치될 수 있도록 해줍니다.
  • -eulaAccepted를 추가하면 AIR 런타임 설치 과정에서 사용자 라이선스 동의 과정을 생략합니다.
  • 일반적인 경우는 라이선스 동의 과정이 필요하기 때문에 옵션을 추가하지 않습니다.

아래 레지스트리 키에 "ParentKeyName"을 REG_SZ로 만들고 별도 설치 프로그램의 Uninstall Key Name을 값으로 넣습니다.
(프로그램 추가/삭제에서 AIR application 기본 삭제 프로그램을 감춥니다.)
Software\Microsoft\Windows\CurrentVersion\Uninstall\[application ID]

제거 과정의 사일런트 모드는 OSID가 필요합니다.
OSID를 얻는 과정은 아래와 같습니다.

  1. AIR 프로그램을 설치합니다.
  2. application descriptor xml의 name tag값을 레지스트리의 HKEY_CLASSES_ROOT\Installer\Products에서 검색합니다.
  3. 검색 결과로 HKEY_CLASSES_ROOT\Installer\Products\[GUID]의 ProductName에 값이 있습니다.
  4. 검색된 GUID로 HKEY_CLASSES_ROOT\Installer\UpgradeCodes에서 다시 검색합니다.
  5.  검색 결과로 HKEY_CLASSES_ROOT\Installer\UpgradeCodes[New GUID]에 GUID를 이름으로 하는 값이 있습니다.
  6. New GUID값을 OSID로 변환 할 수 있습니다.
    {D0F23C3F-CA74-460F-9ADB-49CBD57F9688} 
    1. 처음 8문자를 역순으로 변환합니다.  F3C32F0D
    2. 다음 4문자를 역순으로 변환합니다.  47AC
    3. 다음 4문자를 역순으로 변환합니다.  F064
    4. 다음 2문자를 역순으로 변환합니다.  A9
    5. 다음 2문자를 역순으로 변환합니다.  BD
    6. 다음 2문자를 역순으로 변환합니다.  94
    7. 다음 2문자를 역순으로 변환합니다.  BC
    8. 다음 2문자를 역순으로 변환합니다.  5D
    9. 다음 2문자를 역순으로 변환합니다.  F7
    10. 다음 2문자를 역순으로 변환합니다.  69
    11. 다음 2문자를 역순으로 변환합니다.  88
    {D0F23C3F-CA74-460F-9ADB-49CBD57F9688}
    -> {F3C32F0D-47AC-F064-A9BD-94BC5DF76988}

MsiEnumRelatedProducts(OSID, 0, 0, [product code guid])를 호출합니다.
반환된 product code guidMsiExec /q /x [product code guid]를 호출하면 사일런트 모드로 AIR application을 제거할 수 있습니다.

[참고]
http://help.adobe.com/ko_KR/air/build/WS789ea67d3e73a8b22388411123785d839c-8000.html
http://help.adobe.com/en_US/air/redist/WS485a42d56cd19641-70d979a8124ef20a34b-8000.html
http://groups.google.com/group/air-tight/browse_thread/thread/a1555ae15c8d40d3

댓글