Introduction

지난 3월 진행한 TechDays 2010 Spring의 웹플랫폼 트랙의 "PHP on Windows - WPI를 이용한 웹어플리케이션 설치와 패키징" 세션을 통해 WPI에 Web Application을 등록하기 위한 기반작업인 Application Packaging 에 대해 소개해 드린바 있습니다. 이메일로 이와 관련된 문의가 많아 다시한번 정리하는 차원에서 Application Packaging과 관련된 간략한 소개와 팁을 제공합니다.

WPI(Web Platform Installer)

일단 WPI 즉 Web Platform Installer는 사용자가 웹 플랫폼 환경을 구축하는데 보다 쉽게 구성할 수 있도록 돕는 도구로서 Microsoft Web Application Gallery에 등록된 다양한 형태의 Application들을 GUI기반에서 설치 할 수 있습니다. WPI에서는 Web Application이 갖는 기타 다른 Application간의 종속성이나 시스템 요구사항등을 자동으로 판단하여 함께 자동으로 설치해주기 때문에 전문가가 아니더라도 쉽게 웹 환경을 구축 할 수 있습니다.

Web Application Packaging

만약 WPI를 통해 자신이 만든 Application을 배포 하고자 한다면 Web Application Gallery에 등록 하기 위한 패키징 과정이 필요합니다. 패키징과정은 개발자가 개발한 프로그램을 WPI가 자동으로 인식하여 설치를 수행할 수 있도록 설치 혹은 설정과 관련된 정보를 미리 명시해 주는 과정으로 기본적으로 3가지 요소가 필요합니다.

1. Manifest.xml : Application과 관련된 기본적인 정보가 포함되며 Application이름이나 설치 위치등이 지정됩니다.
2. Parameters.xml : Application을 설치 할때 필요한 정보를 입력받기 위한 내용등을 명시하기 위한 파일입니다.
3. ApplicationDirectory : 실제 Application의 소스코드가 포함되는 폴더입니다. Manifest.xml에서 지정

간단한 Application의 경우 위 3가지 요소만 포함하더라도 패키징을 진행 할 수 있습니다. 각 요소에 대한 자세한 설명이나 패키징 과정에 대한 자세한 정보는은 IIS 홈페이지에서 확인하실 수 있습니다.
http://learn.iis.net/page.aspx/578/package-an-application-for-the-windows-web-application-gallery/

Parameters.xml Create Tip

Application을 패키징하기 위해 Parameters.xml를 만들어야 한다는건 알지만, Parameters.xml에 대한 정보를 다루는 사이트가 많지 않기 때문에 제작하는데 많은 어려움을 느끼게 됩니다. 이런 상황을 위해 기존에 다른 개발자(혹은 업체)에서 등록한 Application의 패키징 파일을 다운로드 받아 확인 해 볼 수 있는 방법에 대해 소개합니다.
 
WPI를 설치하고 처음 프로그램을 동작시키면 WPI는 아래 경로에 Application Feed 목록을 저장합니다.
C:\Users\[User Name]\AppData\Local\Microsoft\Web Platform Installer
해당 폴더로 이동하게 되면 아래 그림과 같이 logs폴더와 XML 파일들을 확인 할 수 있습니다.

logs폴더에는 WPI에서 진행한 설치과정등에 대한 로그 기록이 저장되어 있고 XML파일에는 WPI가 가지고 있는 Application Feed에 대한 정보가 저장되어 있습니다. 이제 XML파일을 메모장으로 열고, 참고하고자 하는 Application의 이름을 이용해 검색하면 해당 Application의 Entry를 찾을수 있습니다. (아래는 예제는 XpressEngine를 이용했습니다.)

Entry의 내용을 쭉 살펴보면, 아래와 같은 Installer가 명시된 부분을 확인 할 수 있습니다. 이제 Installer의 InstallerURL에 지정된 경로를 이용해 XpressEngine의 패키징 파일을 다운로드 하실 수 있습니다.


위와 같은 방법으로 XpressEngine이외의 Application들의 패키지 파일도 다운로드 받아 살펴볼 수 있기 때문에 Applicatino 패키징에 많은 도움이 되실거라 생각됩니다. 추가로 궁금하신 내용이나 문의는 댓글이나 이메일로 남겨주시면 답변드리도록 하겠습니다.
 
※ Web Application 탭에 제공되는 Application 목록은 http://www.microsoft.com/web/webpi/2.0/WebApplicationList.xml 에서도 확인 하실 수 있습니다.
 

신고
김대욱 매니저가 2010년 상반기 Tech.days 세션 발표를 하였습니다. 내용은 PHP on Windows - WPI  (WPI를 이용해 배포가능한 패키지를 제작하는 방법) 입니다.

http://www.techdays.co.kr/2010spring/view.asp?b_no=79

신고