2019년 8월 21일 수요일

블루오션 배포프로그램 시찬스인스톨마법사

블루오션?
프로그램 개발자들에겐 블루오션일듯 한데요~
실제로 배포용프로그램은 넘쳐나고 넘쳐나서, 사실 포화상태일듯 합니다.
일전에 인스톨팩토리라는 아주 간단하고 매력적인 배포프로그램을 쓴적이 있는데요.
아주 간단한 프로그램을 패키징해주는 프로그램이라 매우 만족했더랬습니다.
하지만,  간단한 프로그램이다 보니 이프로그램은 Windows가 아닌 프로그램을
패키징하기엔 간단하니 좋았지만..
종속파일(Dependency file)을 포함해주는 기능이 없다보니 실제로 Windows Installer 를
사용하는게 더 효율적이긴 했습니다.

무료용 배포프로그램으로서는 간단한무료프로그램인 인스톨팩토리를 대체하고,
Windows Installer 가 오로지 Visual Studio 를 위한 패키징 프로그램이라는 두가지 프로그램
기본 장점들을 합친것이 시찬스인스톨마법사(SichansInstallWizard)입니다.

물론,  시찬스인스톨마법사가 인스톨쉴드와같은 유료패키징 프로그램과는 비교하기는
힘들지만,  그래도 나름 꽤 매력적인 기능이 숨어 있으므로,  사용법과 함께 중요리뷰를
함께 해보겠습니다.

프로그램 다운로드는 아래에서 다운로드 할 수 있으므로,  관심있으신분들은 먼저, 다운로드
하시기 바랍니다.

시찬스인스톨마법사 다운로드

이프로그램은 아이콘이나 기타 버그면에서는 완성도 있는 프로그램은 아닌듯 합니다만,
실제로 배포용으로 만드는것도 좋지만..  자신의 프로그램(exe, dll)이 어떤 종속파일을 가지는지 확인해보는 용도로 사용해도 괜찮지 않을까 하는 생각도 듭니다.

[시찬스인스톨마법사 첫 실행화면]
프로그램설치가 끝났다면 상기의 첫화면이 나타나는데요.
각 항목별로 사용법을 알아보겠습니다.


1단계 패키징할 파일선택

*프로젝트명 (설치파일명)
  인스톨마법사를 실행할명을 입력하는란입니다.
  여기에 입력한이름이  실제로 배포할 Setup 프로그램의 명이됩니다.

*프로젝트저장폴더 
  프로젝트를 저장할 폴더를 선택하는 란입니다.
  인스톨마법사를 실행하기위해서 꽤 많은 파일들이 자동으로 생성되고,
  앞으로 패키징징할 파일들을 가져와서 복사할 폴더입니다.
  "프로젝트 폴더만들기" 체크박스가 체크되어 있으면  입력한 프로젝트명으로 폴더를
  선택한 폴더내에 자동으로 폴더를 만들어줍니다.

*폴더로 파일추가 
  패키징할 파일이 너무 많아 일일이 파일추가가 힘들다면 폴더별로 파일을 추가해주는
  버튼입니다.  원하는 폴더를 선택하면 해당폴더내에 있는 모든 폴더를 가져와서 리스트에
  추가해줍니다.

*파일추가 
  패키징할 파일이 한개이거나 각 폴더에 흩어져있다면 해당 "파일추가"를 선택하여 파일을
  리스트에 추가 할 수 있습니다.

[패키징할 파일들을 선택한 1단계화면]

임의로 제가 패키징하고픈 파일들을 선택하여 관련한 모든 파일을 추가해봤는데요.
파일을 선택한후 빼고 싶은 파일이 있으면 "파일추가" 와 "파일삭제"를  통해
처리할 수있습니다.


2단계 설치프로그램 종속성파일 추가 / 삭제

[2단계 설치프로그램 종속성 마법사]

다음단계 버튼을 클릭하면 내가 추가한 패키징파일들의 전체 리스트를 확인하여
각 파일들의 종속된 파일들을 모두 불러옵니다.
이때 만일, 중복된 파일이 있다면 덮어쓰겠냐고 물어보는데,  덮어쓰고 싶지 않다면
"아니요" 를 선택하고, "취소" 버튼을 누르면 모든 파일을 덮어쓰지 않습니다.
자동으로 추가된 파일이라고 해도 패키징에 제외하고 싶은 파일이 있다면 "파일제거"
버튼을 눌러 해당파일을 제거할 수도 있고,  "파일추가" 버튼으로 새로이 추가할 수도 있습니다.  "종속파일 새로가져오기"를 선택하면 "종속파일 가져오기 마법사를 새로 시작합니다."

3단계 대상컴퓨터파일시스템 만들기

[3단계 대상컴퓨터파일시스템 만들기]

여기서부터는 Windows Installer 와 아주 흡사한 인터페이스를 제공하는데요.
한번이라도 Windows Installer를 써보신분이라면 아주손쉽게 이용하실 수 있을것입니다.
Application 폴더는 실제 프로그램이 설치될 폴더이며, 그외 System Folder 는 System32 혹은 System 폴더로 각 대상시스템에 따라 저장될 시스템폴더입니다.
User's Desktop 은 Windows 의 배경화면을 말하는것이며, User's Program Menu 는
Windows 의 시작메뉴를 뜻합니다.  저는 User's Program Menu에 "SichansMultiServer" 라는
폴더를 추가하고, 그안에 "SichansMultiServer.exe" 파일의 단축아이콘을 만들어 폴더안에
삽입하였습니다.
Windows Installer를 사용하면서 불편한것이 단축아이콘문제인데...
전 항상 이보다 향상된 인터페이스가 없을까 고민해왔는데.. 아무리 고민해봐도
마땅한 인터페이스가 생각나지 않는건 사실이네요.  혹, 좋은의견이 있으신분이 있다면
댓글로 남겨주심 감사하겠습니다.

4단계 대상컴퓨터 레지스트리편집

[4단계 레지스트리편집]

Windows Installer 인터페이스를 보고 베낀건 부정할 수 없네요.
레지스트리 편집기도 아주 꼭 같은 인터페이스를 제공하니까요.
하지만, 인터페이스만 같을뿐  사실 Windows Installer 보다 취약합니다. 레지스트리를
편집하기위해선 윈도우즈를 실행할때 관리자 권한이 필요합니다. ACL 권한을 획득해야
하는데, 아쉽게도 시찬스인스톨마법사는 해당기능을 제공하지 않습니다.
따라서 시찬스인스톨마법사를 실행하고, 패키징된 설치프로그램은 항상 "관리자권한"으로
실행시켜야 합니다. 특히나, LOCAL MACHINE 클래스에 레지스트리를 삽입해야 한다면
더욱 그럴것입니다.

5단계 설치프로그램 UI 디자인


[5단계 설치프로그램 UI 디자인]


이제 마지막단계인 대화상자편집화면입니다.
이화면도 Windows Installer 와 비슷한듯 하지만,   Windows Installer 에서는
컨트롤을 추가하거나,  기본 대화상자이외의 대화상자를 추가하려면,
Install Class를 추가하여 일일이 코딩을 통해 수없는 컴파일과 설치테스트를
통해 결과를 확인해야 하지만,  시찬스인스톨 마법사는 가장 기본적인 대화상자와
기본 라벨, 텍스트박스, 라디오버튼, 체크박스등은 손쉽게 미리보기(WYSIWYG) 기능으로
디자인할 수있는 장점이 있습니다.   사실 이 기능만으로도 다른 배포프로그램보다
이 프로그램을 써야 하는 이유를 설명해주기도 합니다.

[5단계 설치프로그램UI디자인 - 사용자저정의 대화상자 추가]

이렇게 원하는 디자인까지 마무리했다면 [빌드] 버튼을 눌러 빌듷드하면 [설치]
버튼이 활성화되고,  우리가 설치한 파일들이 자동으로 1단계에서 설정한 프로젝트명으로
설치파일로 만들어줍니다. 만들어진 파일은 1단계엣에서 지정한 [프로젝트폴더]내의
"SETUP" 이라는 폴더에 생성된것을 확인 할 수 있으므로, 해당 파일을 배포하면 되겠습니다.

마무리하며..
시찬스인스톨 마법사의 사용법을 살짝리뷰해보았습니다.
시찬스인스톨 마법사는 실제로 배포시 발생하는 각종 오류들에 대응하기위한 툴로
개발되었습니다.  그러다보니 배포기능까지 갖추게된 다소 급조된듯한 프로그램의 성향이
있지만,  실제로 스스로 개발한 프로그램 배포가 아닌 기존의 프로그램을 배포하는데 있어서
도 매우 유용하게 사용할 수 있습니다.   물론, 개발자 입장에서는 단순히 오류가 나는 파일들의  종속성을 확인하는는것만으로도 큰 도움이 될것입니다.
물론, Dependency 를 확인해주는 프로그램이 있지만  관련dll 의 모든 dependency 파일을 확인하기보단  내가 배포한 파일중에 빠진 파일이 무엇인지만 확인하고 싶다면 시찬스인스톨마법사로 확인하는것이 딱일것입니다.





댓글 없음:

댓글 쓰기