MSI(Microsoft Software Installer) 소프트웨어 리패키저
상태바
MSI(Microsoft Software Installer) 소프트웨어 리패키저
  • James Drews
  • 승인 2004.08.19 00:00
  • 댓글 0
이 기사를 공유합니다

‘와이즈 패키지 스튜디오’ 최고 점수 … 데스크톱 관리용은 ‘온디맨드’
깔끔하고 확실한 애플리케이션 설치,‘한 번에 뚝딱’
전용 소프트웨어 설치 방안들로 피곤해 하던 시스템 관리자라면 누구든 최근에 나온 마이크로소프트 소프트웨어 인스톨러(MSI: Microsoft Software Installer)를 눈여겨 봤을 것이다. 마이크로소프트는 MSI로 애플리케이션 설치에 일관성을 가져다 주려는 시도를 하고 있으며, 이것은 관리자들에게는 매우 반가운 소식이 아닐 수 없다.

MSI 포맷을 액티브 디렉토리로 퍼블리싱해 보내기는 쉬우며, 알티리스 클라이언트 매니지먼트 스위트(Altiris Client Management Suite), 마이크로소프트 시스템즈 매니지먼트 서버(Microsoft Systems Management Server) 및 노벨 젠웍스(Novell Zenworks) 등의 많은 인기 있는 데스크톱 관리 패키지들이 소프트웨어 배포용으로 MSI를 지원하고 있다.
분명 MSI가 새로운 소프트웨어에게는 좋은 것은 확실한데, 그렇다면 기존의 애플리케이션들의 경우는 어떨까? MSI파일을 소프트웨어 개발업체에서 받는 게 최선이긴 하지만, 레거시 소프트웨어 설치를 MSI 포맷으로 전환할 수 있게 해주는 몇 가지 신제품들이 나와 있다.
이들을 테스트하기 위해 본지에서는 g인스톨(gInstall), 인스톨실드 소프트웨어(InstallShield Software), 온디맨드 소프트웨어(OnDemand Software), 와이즈 솔루션즈(Wise Solutions) 및 제로 G 소프트웨어(Zero G Software) 등의 업체들에게 소프트웨어 리패키징 제품을 본지 리얼월드 랩으로 보내줄 것을 요청했다. 그리고 불행히도 제로 G와 g인스톨의 제품은 스탠드얼론 애플리케이션 설치를 수행하기 위해 만들어진 것이라 MSI를 만들 수 없다는 사실이 밝혀졌다.

MSI의 내부
MSI 파일의 내부는 애플리케이션을 설명하는 데이터베이스 테이블들로 구성돼 있다. 많은 경우 MSI 파일에는 또한 소프트웨어 파일도 포함돼 있다. 이 때문에 예를 들어 한 장의 CD에 담기지 않는 큰 애플리케이션들에서 얼마간의 유연성이 확보된다. MSI는 세 가지 주요 요소들로 구성돼 있는데, 그것은 각각 제품(product), 사양(feature), 그리고 컴포넌트(component)다.
제품이란 설치되는 소프트웨어 프로그램을 구성하는 사양들의 집합이며, 엔드유저는 설치하고자 하는 애플리케이션 사양을 선택할 수 있다. 컴포넌트의 예로는 레지스트리 설정과 COM(Component Object Model) 객체를 들 수 있다. 공유되는 컴포넌트가 있는 애플리케이션들은 자신들의 MSI 파일에서 같은 컴포넌트를 갖게 된다.
MSI가 있기 전에는 레지스트리 설정에 있는 레퍼런스 카운터가 공유 컴포넌트를 계속 추적했으며, 이 수치는 공유 컴포넌트가 추가되거나 삭제되면 바뀌었다. MSI가 있으면 공유 컴포넌트를 이용하는 각 제품에 고유의 제품 ID나 GUID(Global Unique Identifier)가 있어 컴포넌트에 대한 레퍼런스 카운터에 추가된다. 이 덕분에 관리자들은 어떤 애플리케이션이 공유 컴포넌트를 사용하고 있는지를 정확하게 알 수 있다.
MSI의 가장 큰 이점은 표준화가 돼 있다는 점이다. MSI는 전용 설치 포맷 히스토리를 만들 수 있을 것이다. 그리고 MSI에는 이 외에도 다음과 같은 몇 가지 이점들이 있다:

>> WIS(Windows Installer Service)는 애플리케이션 설치를 트랜잭션별로 수행하는데, 이는 즉 추가, 교체, 혹은 삭제되는 파일과 레지스트리 설정을 지속적으로 추적해준다는 얘기다. 만약 복구 불가능한 에러가 설치 기간 중 발생한다면, MSI는 전체 프로세스를 다시 돌아갈 수 있게 해주기 때문에 절반만 설치된 컴포넌트로 인해 시스템이 작동하지 않는 상황을 경험하지 않아도 된다.

>> 액티브 디렉토리와 함께 사용될 때 MSI는 그룹 정책과 연계가 가능하기 때문에 엔드유저가 파일 시스템이나 레지스트리 변경 권한이 없을 때에도 자신들의 시스템에 애플리케이션을 설치할 수 있게 된다. 요청은 WIS로 전달되어 실질적인 설치가 이뤄진다. 패키지는 예를 들어 AD 그룹 정책과의 연계성을 이용해 관리자에 의해 승인되기 때문에 설치는 계속 진행될 것이다.

>> MSI 포맷은 변형(transform)을 만들어냄으로써 소프트웨어를 쉽게 변경하거나 맞춤화시킬 수 있게 해준다. MSI 변형은 WIS가 MSI 패키지를 어떻게 설치해야 하는지를 설명하는 하나의 파일(mst)이다. 이러한 변형은 어떤 패키지 사양이 설치돼야 하는지를 지시하거나, 맞춤 설치 위치를 제공하거나, 혹은 보통 소프트웨어 설치기에 의해 제시되는 사용자 정보 화면에 보낼 응답을 지시한다. 원래의 MSI 패키지를 바꾸려는 시도보다는 MSI 변형을 만듦으로써 서로 다른 변형들이 만들어지고, 이 모두가 같은 기반 MSI를 사용하도록 하는 편이 더 낫다.

>> MSI 포맷을 선택하는 소프트웨어 개발자들은 자가치료(self-healing)나 첫 액세스시 사양 설치 지정(specifying on-first-access feature intalls) 등과 같은 고급 MSI 기능을 이용할 수 있다. 하지만 이런 능력을 이용하려면 MSI 프로그래밍 인터페이스를 사용해야 하기 때문에, MSI로 리패키징된 레거시 애플리케이션에서 이런 수준의 기능성을 기대하기는 힘들다.

데이터베이스 필요
테스트한 이 세 가지 제품들은 모두 일종의 데이터베이스를 필요로 한다. 모두가 마이크로소프트 SQL 서버나 그 런타임 컴포넌트인 MSDE를 사용할 수 있겠지만, 오라클은 온디맨드(OnDemand)의 윈인스톨(WinInstall)만이 사용할 수 있을 것이다. 하지만 윈인스톨은 또한 마이크로소프트 액세스 데이터페이스 파일을 사용할 수 없는 유일한 제품이기도 했으며, MSDE 설치와 구성을 그 셋업 프로세스의 일부로 수행하는 유일한 곳이기도 했다.
데이트베이스는 각 제품이 충돌 해결을 위해 여러 MSI 애플리케이션을 추적할 수 있게 해준다. 덕분에 우리는 예를 들어 가능한 DLL 충돌에 대해 워크스테이션에 설치된 컴포넌트들에 대한 정보나 일련의 애플리케이션들을 비교해볼 수 있었다. 일을 간단하게 만들기 위해 우리는 와이즈 패키지 스튜디오(Wise Package Studio)와 인스톨실드 어드민스튜디오(InstallShield AdminStudio) 두 가지용으로는 액세스(Access) 파일을 사용하고, 윈인스톨용으로는 MSDE 데이터베이스를 사용했다.
세 제품은 모두 레거시 모질라 파이어폭스(Mozilla Firefox) 애플리케이션을 MSI로 잘 전환시켰으며, 모두가 같은 파일 및 레지스트리 설정을 탐지해냈다. 하지만 결과물로 나온 MSI 파일이 제품들의 확인 단계를 거칠 때 와이즈 패키지 스튜디오와 인스톨실드 어드민스튜디오는 모두 약간의 에러가 발생한 데 반해 윈인스톨은 이런 일이 전혀 없었다. 하지만 에러라고 해서 다 같이 중요한 것은 아니다. 많은 애플리케이션들에는 수백 개의 에러와 경고가 따라온다. 이들 중 상당수는 무시될 수 있으며, MSI는 여전히 작동할 것이다.
어드민스튜디오와 와이즈 패키지 스튜디오의 사용자 인터페이스는 윈인스톨보다 잘 다듬어져 있었다. 하지만 윈인스톨은 빌트인 애플리케이션 배포 능력이 있는 하나의 완벽한 패키지인데 비해, 다른 두 제품에서는 마이크로소프트 SMS나 액티브 디렉토리, 혹은 알티리스 클라이언트 매니지먼트가 있어야 MSI 패키지를 배포할 수 있다.
우리는 각 업체가 포함시킨 애플리케이션 데이터베이스 샘플에 대조시켜 테스트 애플리케이션을 돌렸다. 테스트 애플리케이션에는 어떠한 DLL 충돌도 포함되지 않았지만, 와이즈 패키지 스튜디오와 어드민스튜디오는 의도적으로 DLL 충돌을 만들어냈으며, 이들을 해결하는 방법에 대한 안내문을 제공했다. 윈인스톨의 경우는 우리가 만든 두 개의 파이어폭스 MSI 카피에 대조시켜 충돌 평가를 수행했으며, 그 결과 같은 위치에 설치된 각각의 동일한 파일에 대한 긴 충돌 목록이 만들어졌지만, 이로 인해 이 제품의 충돌 평가 부분을 파악할 수 있었다.
MSI 시스템을 채택하는 업체들이 늘어남에 따라 관리자들은 자신들의 시스템에 맞게 소프트웨어 설치를 맞춤화하기를 원하게 될 것이며, MSI 변형을 만들어내는 방법을 선호할 것이다. 이번에 살펴본 각 제품은 변형을 만들어낼 수 있었으며, 단 윈인스톨이 경쟁 제품들보다 좀더 힘이 들었다. 와이즈 패키지 스튜디오와 어드민스튜디오는 MSI 셋업과 기록된 우리의 선택 및 응답을 시뮬레이팅했지만, 제품을 설치하지는 않았다. 와이즈 패키지 스튜디오는 변형에서 돌아가는 마법사 창을 숨길 수 있게 해주었다. 세 제품은 모두 대화창을 숨길 수 있었지만, 어드민스튜디오와 윈인스톨에서는 이 과정을 위해 별도의 단계가 필요했다.
결국 에디터즈 쵸이스는 와이즈 패키지 스튜디오에게 돌아갔다. 그 작업 기반 프로젝트 인터페이스가 특히 마음에 들었으며, 보통의 시스템 관리자라면 이 제품을 쉽게 사용할 수 있을 것이다. 나아가 수많은 써드파티 배포 시스템이 통합돼 있어 무리들 가운데 두드러졌다.

와이즈 솔루션즈
와이즈 패키지 스튜디오 프로페셔널 에디션

와이즈 패키지 스튜디오는 애플리케이션 리패키징, MSI 검증, DLL 충돌 해결 및 스탠드얼론 애플리케이션 설치 생성용으로 좋은 툴이다.
이 프로그램의 인터페이스인 워크벤치(Workbench)는 시작과 함께 셋업을 완료하는 데 필요한 일련의 작업들을 준다. 이 임무에는 파일 탐색 작업과 리패키징 캡처용으로 레지스트리 축출 작업을 도와줄 마법사 설치와 충돌 점검을 위한 표준 운영시스템 캡처, 그리고 다양한 템플릿 구성 등이 포함된다.
패키지 스튜디오는 테스트한 제품들 가운데 표준 파일 탐색과 레지스트리 축출을 위한 마법사를 제공한 유일한 업체다. 이 마법사는 각 소프트웨어 설치 스냅샷용의 적절한 캡처 설정을 결정할 수 있게 해준다. 뿐만 아니라 이것은 축출 목록을 만들고, 캡처에서 삭제된 파일을 찾으며, 주시해야 할 디렉토리를 결정할 때도 도움을 준다.
축출 목록을 만드는 일에는 패키지 스튜디오가 시스템의 스냅샷을 수행하고, 우리로 하여금 인터넷 익스플로러나 레지디트(Regedit), 혹은 노트패드와 같이 우리가 보통 소프트웨어 설치 동안 열어놓는 애플리케이션들을 돌리도록 하는 과정이 포함되었다. 그런 다음 이것은 파일 및 레지스트리 변경을 잡아내고, 이들을 추후의 소프트웨어 설치 캡처에서 배제시키도록 시스템을 재부팅시켰다. 이러한 부분은 좋아 보였으며, 다른 두 제품도 이와 유사한 기능을 제공하기를 바라게 만들었다.
MSI나 변형은 워크벤치에서 프로젝트로 생성됐다. 각각의 프로젝트용으로 우리는 프로세스를 선택하거나, 혹은 프로젝트에서 수행될 작업을 설정했다. 여기서 가장 눈길을 끌었던 것은 ‘변형을 이용한 MIS 맞춤화(Customize MIS Using Transform)’와 ‘윈도 인스톨러용 리패키지(Repac kage for Windows Installer)’였다.
프로세스 선택하기(choosing a process)는 MSI나 변형을 만들기 위해 수행해야 할 일련의 작업들을 프로젝트로 전달했다. 각각의 작업에는 이것이 완료되었는지 여부를 가리키는 체크박스과, 적합한 애플리케이션을 띄우게 될 ‘실행(run)’ 링크가 있었다. 예를 들어 ‘변형 생성(Create Tranform)’ 작업의 실행 링크는 인스톨테일러(InstallTailor) 프로그램을 띄웠으며, 이것은 우리가 처음 변형을 만들어낼 수 있도록 안내해 주었다.
패키지 스튜디오는 애플리케이션 스냅샷을 만드는 수많은 방법들 가운데 선택을 할 수 있게 해준다. 여기에는 전통적인 스냅샷 프로세스가 있는데, 이것은 애플리케이션 설치 전후의 시스템 상태를 스캐닝 및 기록하고, 모든 변화를 가려내 준다. 그리고 로우(low) API 레벨에서 설치가 어떤 일을 했는지를 추적해주는 스마트모니터(SmartMonitor)도 포함돼 있다. 아니면 깨끗한 시스템의 ‘가상 OS’ 스냅샷을 택한 다음 설치를 시뮬레이팅할 수도 있었다.
처음에는 스마트모니터가 추가된 표준 스냅샷 방안을 시도해 봤으며, 그 결과로 나온 MSI 패키지는 실행 오류가 발생했다. 문제는 파이어폭스에 대한 setup.exe에 다중 플랫폼 요소들이 있어서였는데, 이것은 bin/component 디렉토리(슬래시를 주목하라)를 만들려고 시도를 했다. 오류가 나긴 했지만, 스마트모니터는 디렉토리 생성 시도를 잡아내고 이것이 포함돼야 한다는 사실을 파악했다. 이 작업은 제대로 수행되지 않았기 때문에 우리는 스냅샷을 다시 시도했으며, 두 번째에는 스마트모니터를 사용하지 않았다. 그리고 그 결과 돌아가는 MSI를 얻을 수 있었다.

컨플릭트 매니저 편리
MSI를 검토하면서 우리는 다른 어떤 추가 레지스트리 엔트리도 발견하지 못했다. 또한 다른 리패키징 프로그램들이 집어낸 것에 비교해 놓친 항목들도 없었다. 하지만 MSI에는 가장 많은 에러와 경고가 있었는데, 패키지 밸리데이션(Package Validation) 프로그램을 사용할 때 총 8개의 에러와 하나의 경고가 있었다. 대부분의 에러는 기계당 및 사용자당 설정을 만들어내는 데서 발생했다. 즉 전체 사용자용으로 기계에 놓인 파일 컴포넌트와 설치를 실행하는 사용자용으로 생성되는 지름길(shortcut)들이 있었다.
간단히 고칠 수 있는 에러들의 경우 검증 프로그램에서 ‘수정(correct)’ 버튼을 제공한다. 불행히도 우리가 접한 어떤 결함도 이 범주에 속하는 것은 없었으며 이런 문제를 해결하기 위해서는 여기에 달라붙어 MSI 자체를 편집해야 했다.
와이즈의 인스톨테일러 애플리케이션을 이용할 때는 액티브스테이트 펄(ActiveState Perl) MSI용으로 아무런 문제 없이 변형을 만들 수 있었으며, 이 MSI는 맞춤화를 더 할 수도 있었다. 한 가지 독특한 것은 시뮬레이팅된 설치의 각 페이지에 있는 작은 체크박스에서 변형과 함께 설치를 수행할 때 사용자에게 제시되지 말아야 할 페이지를 지시해준다는 것이다. 다른 업체의 패키지도 또한 페이지를 숨겨진 것으로 마킹할 수 있게 해주지만, 이것을 별도의 단계로 처리해야 했다.
패키지 스튜디오의 또 다른 편리한 컴포넌트는 컨플릭트 매니저(Conflict Manager)다. 이것은 관리자들이 워크스테이션 스냅샷이나 애플리케이션 설치를 비교해서 애플리케이션이 엔드유저에게 배치되기 이전에 DLL 충돌을 점검할 수 있게 해준다. 우리는 컨플릭트 매니저를 실행시켜 포함된 샘플 데이터베이스를 이용해 파이어폭스 설치를 비교해 보았으며, 아무런 충돌도 발견되지 않았음을 확인했다.
맞춤 애트로포스(Atropos) 애플리케이션용으로 패키지를 함께 둘 때는 윈도 인스톨 에디터(Windows Install Editor)를 이용해 MSI를 만들었다. 애플리케이션이 비주얼 베이직, C#, 혹은 J#로 만들어지도록 하면, 인스톨 에디터가 비주얼 스튜디오 프로젝트로부터 설정을 임포팅해서 MSI 생성을 바로 시작시킨다. 하지만 우리 애플리케이션들은 C++로 만들어졌기 때문에 표준 템플릿을 선택해서 패키지를 직접 만들어야 했다. 다행히도 생성 절차는 인스톨레이션 엑스퍼트(Installation Expert)의 하이레벨 편집 화면을 이용해 쉽게 진행됐는데, 이 화면은 우리가 필요했던 모든 파일과 레지스트리, 그리고 지름길을 쉽게 집어넣고, 대화창의 표준 세트를 선택 및 맞춤화할 수 있도록 도와주었으며, 설치 과정 동안 사용자에게 보여질 것이다. 각각의 화면을 맞춤화하는 작업도 간단했다.
와이즈 패키지 스튜디오에는 배치 마법사가 포함돼 있어 새로 생성된 MSI를 취해서 이것을 랜데스크(LANDesk), 마이크로소프트 SMS 및 노벨 젠웍스 등과 같이 인기 있는 몇몇 배포 시스템들 중 하나에 둘 수 있도록 도와준다. 이 마법사는 우리 시스템에 젠웍스가 설치돼 있음을 알아차리고 그 배치 옵션이 가동되도록 했다. 선택됐을 때 이것은 NDS 트리, 컨텍스트 및 애플리케이션 객체 이름을 만들 것을 권했다. 그런 다음 이것은 MSI 애플리케이션을 배치하는 데 필요한 설정을 이용해 우리 NDS 트리에 젠웍스 애플리케이션 객체를 만들었다.
전체적으로 볼 때, 와이즈 패키지 스튜디오는 강력한 애플리케이션 리패키저라 할 수 있다. 이 제품에는 MSI 패키지를 자동으로 만들고 변경하기 위한 수준 높은 패키지 생성/편집 툴이 들어 있긴 하지만, 이것은 또한 MSI의 내외부를 잘 아는 노련한 소프트웨어 개발자들이 직접 만질 수 있도록 해주기도 한다. 그리고 이 제품은 스탠드얼론 애플리케이션 설치기(.exe)를 만드는 데도 사용될 수 있다. 한 가지 유일하게 아쉬움으로 남는 부분은 검증 테스트에 대조해 실행시켰을 때 생성된 MSI에서 에러가 발견됐다는 점이었다.
와이즈 패키지 스튜디오 프로페셔널 에디션 5.1,
가격: 단일 사용자 라이선스 4천599달러;
1년 지원 및 업그레이드 포함
www.wise.com

인스톨실드 소프트웨어
어드민스튜디오

경쟁 제품들과 마찬가지로 어드민스튜디오는 데이터베이스 이용을 필요로 하며, 이번 테스트에는 마이크로소프트 액세스를 이용하기로 했다. 변형, 애플리케이션 리패키징, 충돌 확인 및 패키지 평가에 대한 프로젝트를 만들기 위해, 어드민스튜디오는 일련의 작업들이 필요했다. 비교를 해보자면, 와이즈 패키지 스튜디오는 살펴볼 작업 4개를 준 데 비해 어드민스튜디오는 28개나 주었다.
어드민스튜디오의 목록이 물론 더 상세해서 애플리케이션이 워크스테이션에 설치되지 않았음에 대한 확인 등과 같이 관리자가 점검해야 할 항목들을 포함하고 있었다. 이런 모든 작업들이 과도해 보이기는 하지만 이렇듯 상기시켜주는 것들이 있을 때가 좋은 경우가 많다.
액티브스테이트 펄 MSI(ActiveState Perl MSI)에 대한 MSI 변형을 만들 때 어드민스튜디오는 패키지 스튜디오와 마찬가지로 설치를 시뮬레이팅하고 각각의 단계에 입력된 응답을 기록했다. 하지만 시뮬레이팅된 설치를 얻기 위해서는 인스톨실드 튜너(InstallShield Tuner) 애플리케이션에 있는 리스판스 트랜스폼(Response Transform) 체크박스를 잊지 않고 선택해야 했다.
와이즈에게는 없고 튜너 애플리케이션에는 있는 한 가지는 사전, 및 사후 검증(pre/post validation) 유틸리티다. 사전검증 확인을 통해서는 우리가 변형을 만들어내고자 하는 MSI에 고쳐야 할 문제가 있는지 여부를 알 수 있다. 펄 MSI는 세 개의 경고와 하나의 에러를 발생시켰는데, 이 에러는 패키지의 버전 점검에 대한 것이었다. 변형을 만드는 데서는 어떠한 문제도 발생하지 않았으며, 사후 검증 단계에서 마찬가지로 세 개의 경고와 하나의 에러가 발생했다.

두 가지 옵션 제공
우리의 파이어폭스 설치를 캡처하기 위해서 리패키저(Repackager) 툴을 사용했다. 리패키저는 두 가지 옵션을 제공했는데, 하나는 전통적인 스냅샷 방안이고 다른 하나는 인스톨레이션 모니터링(Installation Monitoring) 방안이다. 우리는 인스톨레이션 모니터링 쪽을 선택했으며, 이 쪽이 더 편리하다는 사실을 알 수 있었다. 모니터링 프로그램은 모든 파일과 숏컷, 그리고 하나를 제외한 레지스트리 엔트리를 로케이팅시켰다. 하나의 빠진 엔트리는 디폴트 축출 목록에서 발견되었는데, 그 이유는 이것이 애플리케이션 언인스톨러를 가리키는 포인터였기 때문이다.
MSI 편집과 검증은 포함된 데브스튜디오(DevStudio) 애플리케이션을 이용해 이루어졌다. 검증 툴을 통해 새로 생성된 MSI 파일을 실행시켰을 때 하나의 에러와 하나의 경고가 발생했다. 하지만 MSI는 깨끗한 워크스테이션에 설치됐을 때 예상대로 작동했다.
우리는 데브스튜디오를 이용해 맞춤 애플리케이션용 MSI를 만들었다. 와이즈 패키지 스튜디오와 마찬가지로 데브스튜디오에는 비주얼 베이직이나 C# 프로젝트의 설정 임포팅 등과 같이 새 MSI를 시작할 수 있는 수많은 템플릿이 있었다. 우리는 기본 템플릿을 이용했으며, 데브스튜디오의 프로젝트 어시스턴트(Project Assistant)를 통해 MSI 생성 과정을 안내받았다. 우리는 회사명과 애플리케이션 이름, 타깃으로 하고 있는 플랫폼, 그리고 만들고자 하는 파일, 레지스트리 및 지름길 등과 같이 기본적인 애플리케이션 정보를 제공했으며, 이것은 전혀 어렵지 않았다.
어드민스튜디오에는 컨플릭트솔버(ConflictSolver) 애플리케이션이 있어 MSI 패키지들을 취해서 잠재적인 충돌을 점검하고 이들을 해결할 수 있게 도와준다. 우리는 포함된 샘플 애플리케이션 세트에 대조해 파이어폭스 설치를 실행시켰으며, 이 과정에서는 어떠한 문제도 발견되지 않았다. 디스트리뷰션 위저드(Distribution Wizard)도 또한 마음에 들었는데, 이것은 MSI를 배포 시스템에 배치하는 일을 도와준다. 불행히도 젠웍스는 지원되지 않았기 때문에(다음 릴리즈에서는 포함되겠지만), 이 항목은 테스트할 수가 없었다.
이 제품은 마음에 들었지만 사용의 편이면에서 와이즈 패키지 스튜디오에 뒤쳐졌다. 하지만 가격은 더 낮았다. 능력이 있는 사람이라면 어드민스튜디오를 고려해볼 만하다.
어드민스튜디오 5.5 프로페셔널
가격: 3천299달러
www.installshield.com

온디맨스 소프트웨어
윈인스톨 MSI 패키저 프로페셔널 에디션

윈인스톨은 소프트웨어 리패키징 개념 이상으로, 전체 데스크톱 관리 시스템을 포함시켰다. 이것은 우리가 애플리케이션을 워크스테이션으로 배포하고, 인벤토리를 추적하며, 보고를 실행시킬 수 있게 해주었다. 이들은 모두 다른 두 제품에는 포함되지 않은 뛰어난 기능들이지만, 이번 리뷰의 범주 밖에 있는 것들이기도 하다.
테스트한 다른 패키지들과 마찬가지로, 윈인스톨은 모든 관리 작업을 수행할 수 있는 하나의 콘솔을 제공했다. 그리고 대부분의 작업들은 콘솔에서 띄워진 별개의 프로그램들이 아니라 콘솔로부터 수행됐다. 여기서 한 가지 주목할 만한 예외는 디스커버(Discover)였는데, 그 인터페이스는 다른 패키지들에 있는 것들만큼 잘 다듬어져 있지 않았다.
예를 들어 MSI 패키지에 있는 파일을 점검할 수 있도록 이것은 각각이 설치될 모든 파일과 디렉토리를 보여주는 하나의 간단한 윈도 멀티컬럼 목록 박스를 제공했지만, 다른 패키지들의 트리 목록 창이 더 좋아 보였다. 그리고 경쟁 제품들과 달리, 윈인스톨에는 스마트 모니터링 툴이 전혀 없었다.
애플리케이션 설치는 디스커버 마법사를 이용해 MSI로 전환된다. 이 마법사는 전통적인 이전/이후(before/after) 시스템 스냅샷을 수행한다. 한 가지 멋진 기능은 ‘이전’ 스캔은 저장 및 재활용될 수 있다. 예를 들어 우리의 ‘깨끗한 기계’가 고스트(Ghost) 이미지를 이용해 만들어지면 탐색 프로세스를 한 번 실행시키고 ‘이전’ 스캔이 다시 완료되기를 기다리는 대신 나중 사용을 위해 이것을 저장해 둘 수 있을 것이다. 윈인스톨은 기계를 다시 저장된 상태로 돌릴 수는 없지만 대다수 관리자들은 기계를 단순히 리 고스트(re-Ghost)하거나 VM웨어를 복구할 것이다.
파이어폭스 애플리케이션 스냅샷을 했을 때 윈인스톨은 퀵 론치(Quick Launch) 아이콘을 캡처하는 것을 잃어버렸다. 하지만 유효 MSI 파일을 만들 때는 파이어폭스 애플리케이션 테스트에서 유일하게 에러가 전혀 없이 프로그램을 리패키징했다. 5개의 경고를 만들어내긴 했지만 사소한 것들이었다.
MSI 변형을 만들 때는 시뮬레이팅되는 설치 옵션이 제공되지 않았다. 윈인스톨은 우리의 변경을 MSI 패키지에게 통보하지 않았다. 이것은 패키지에 어떠한 변화도 만들지 않았지만, 대신 변형 파일을 만들었다. 다른 두 개의 패키지에 비해 변형을 만들어내는 데 약간 더 노력이 들긴 했지만, 결과는 마찬가지, 작동하는 변형 파일이 만들어졌다.
윈인스톨은 또한 MSI 패키지 검증 및 충돌 해결을 위한 툴을 제공한다. 다른 두 개의 패키지와 마차가지로 OS 베이스라인 스냅샷은 데이터베이스로 임포팅이 가능하며, 애플리케이션을 배치하기 전 생겨날 수 있는 문제들을 점검해볼 수 있다. 우리는 우리의 기본 OS와 파이어폭스 MSI를 임포팅했으며, 어떠한 충돌도 발견되지 않았다.
전체적으로 볼 때, 윈인스톨은 좋고 저렴한 애플리케이션 리패키징 시스템이다. 사용자 인터페이스는 수고가 필요할 수도 있지만, 데스크톱 관리 시스템이 필요하다면 윈인스톨이 완벽하게 맞을 수도 있을 것이다.
윈인스톨 MSI 패키저 프로페셔널 에디션
가격: 온디맨드 소프트웨어, 2천500달러;
윈인스톨 8 라이선스, 100 노드용 2천달러
www.ondemandsoftware.com

Executive Summary

MSI 소프트웨어 리패키저
마이크로소프트 소프트웨어 인스톨러, 즉 MSI는 시스템 관리자와 프로그래머들에게 애플리케이션을 배포할 수 있는 표준 방안, 맞춤 가능한 설치, 액티브 디렉토리 및 데스크톱 관리 패키지와의 통합, 그리고 오류난 시도에 대한 롤백 옵션 등 많은 이점을 제공한다.
새로 나오는 소프트웨어들은 대부분 MSI를 지원하지만, 레거시 애플리케이션들은 MSI 기능을 제공해줄 수 있는 깔끔한 소프트웨어 리패키저가 없다면 이것이 가능하지 않다. 우리는 g인스톨(gInstall), 인스톨실드 소프트웨어(InstallShield Software), 온디맨드 소프트웨어(OnDemand Software), 와이즈 솔루션즈(Wise Solutions) 및 제로 G 소프트웨어(Zer G Software)를 초대해 리패키징 제품을 테스트용으로 본지 리얼월드 랩으로 보내도록 했다. 제로 G와 g인스톨(gInstall)은 MSI 요구조건에 맞진 않았다.
나머지 세 패키지들을 평가해 본 결과 모두가 우리의 레거시 모질라 파이어폭스 애플리케이션을 MSI로 쉽게 전환했으며, 두려운 DLL 충돌을 피할 수 있었다. 하지만 결국 와이즈 패키지 스튜디오를 에디터즈 쵸이스로 선택했다. 그러나 데스크톱 관리를 필요로 하는 사람이라면 온디맨드의 윈인스톨 MSI 패키저를 고려해야 할 것이며, 인스톨실드의 어드민스튜디오는 노련한 관리자들이 얼마라도 비용을 줄일 수 있게 해줄 것이다.

소프트웨어 리패키저 테스트 방법
우리는 소프트웨어 패키지들을 동일한 윈도 2000 프로페셔널 VM웨어 이미지로 설치한 다음 각각의 패키지를 이용해 두 개의 MSI 설치와 세 번째 MSI 패키지용 변형을 만들었다. 스냅샷 프로세스에서는 디폴트 파일 세트와 업체측에서 제공한 레지스트리 축출을 사용했다. 그리고 사용된 소프트웨어 패키지들은 다음과 같다.

애트로포스(Atropos), 위스콘신 매디슨 대학에서 사용되는 맞춤 인하우스 애플리케이션
모질라 파이어폭스 0.8 웹 브라우저 setup.exe
액티브스테이트 펄 MSI 5.8.5.809

우리는 각각의 소프트웨어 리패키징 애플리케이션을 이것이 얼마나 쉽게 MSI와 변형을 만들어내는지에 대해 평가했다. 또한 파이어폭스 설치의 스냅샷 프로세스에서 얼마나 많은 정보가 캡처되는지를 검토하고, 각각의 MSI를 비교해 MSI 패키지에 추가된 어떠한 레지스트리 설정이나 파일이 있는지를 확인했다. 충돌 해결 부문에서는 두 개의 패키지가 데모 화면을 통해 충돌을 만들어 내는 과정을 보여줬기 때문에 어떤 식으로 충돌 발견이 이뤄지는지를 알 수 있었다.

보다 범용의 설치 옵션들
보다 범용의 애플리케이션 설치 생성기를 찾고 있는가? 이번 리뷰에는 MSI 설치를 만들어내지 않는다는 이유로 제로 G 소프트웨어와 g인스톨 제품을 포함시키지 않았지만, 이들은 흥미로운 제품이다. 두 제품이 모두 스탠드얼론 애플리케이션 설치기를 지원하기 위해 개발됐기 때문이다.

제로 G 소프트웨어 인스톨애니웨어
(Zero G Software InstallAnywhere);www.zerog.com
다중플랫폼 시스템용으로 애플리케이션 설치기를 만들 필요가 있다면(여기서 다중플랫폼이란 단순히 여러 버전의 윈도 이상이다), 인스톨애니웨어가 좋다. 이 자바 기반 패키지는 윈도, HP-UX, IBM AIX, 리눅스, 맥 OS, 노벨 네트웨어 및 썬 솔라리스 등 다양한 플랫폼들을 지원한다.

g인스톨 고스트 인스톨러(gInstall Ghost Installer);
www.ginstall.com
고스트 인스톨러는 윈도용 애플리케이션 설치기를 만들기 위해 고안됐다(회사 로드맵에는 MSI 설치를 만드는 게 올라 있다). 고스트 인스톨러에는 단순한 닷넷 프로젝트 이상의 것을 임포팅할 수 있는 마법사가 포함돼 있다(C 및 C++ 프로젝트도 또한 임포팅한다). 게다가 이것은 RSA 공중/전용 키를 이용해 애플리케이션 설치를 보호할 수 있는데, 이 기능은 테스트한 설치 생성 제품들에는 없는 것이다. 각각의 고객에게는 설치기의 암호를 해독할 수 있는 고유의 키가 주어지며, 이를 통해 필요한 경우 법적 소유주를 추적할 수 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.