2015년 7월 24일 금요일

[Setup Factory] 패키지를 활용한 설치 방법

앞에서 설명한 조건 설치이외에 패키지 설치 방법으로도 설치를 구분할 수 있습니다.
오늘은 패키지 설치 방법으로 설치 파일을 구분할 수 있는 방법에 대해서 알아 보겠습니다.

1. 우선, 패키지를 추가하여 구성합니다.

추가된 패키지 화면
2. 대상 파일을 패키지별로 연결시킵니다.

대상 파일 또는 폴더에 패키지를 적용

3. 스크립트에 의해 설치 방법을 설정합니다.

패키지 정보로 설치용 스크립트 설정

위 3단계 방법으로 설치 방법을 구성할 수 있는데, 패키지에 관련된 함수정보는 다음과 같습니다.

  • table SetupData.GetPackageList();
  • void SetupData.GetPackageProperties(패키지명);
  • void SetupData.SetPackageProperties(패키지명, table);

여기서, table의 구조는 아래와 같습니다.

  • AdditionalDiskSpace (number) : 단위는 KB로 패키지에 묶여 있는 파일의 전체 크기를 반환합니다. 사용방법으로는 table.AdditionalDiskSpace = 590 또는 {AdditionalDiskSpace=590} 설정할 수 있다.
  • DisplayName (string) : 현재의 패키지명을 설정합니다.
  • Description (string) : 패키지명의 설명을 설정합니다.
  • Install (boolean) : 패키지를 설치여부를 설정합니다.
  • Enabled (boolean) : 설치 프로그램 화면에서 패키지 선택 여부를 설정합니다.



이와 같은 방법으로 파일을 구분하여 설치할 수 있습니다.

2015년 7월 19일 일요일

[Setup Factory] 설치 프로그램 통합 버전을 만들 때 유용한 팁


오늘은 설치프로그램을 작성하다가 기록이 필요할 듯 하여 이곳에 남겨 공유해 봅니다.

우리 회사에서 사용하는 설치 프로그램으로는 Indigo Roso社 로부터 구매한 Setup Factory 8.0 입니다.

Software Installer Builder

오늘 작업할 배포 대상은 32비트 운영환경과 64비트 운영환경을 자동으로 감지하여 설치할 수 있는 통합 설치파일을 작성해야 합니다.

지금까지 Setup Factory를 이용하여 운영체제별로 따로 따로 만들었는데 매뉴얼을 찾아보니 아주 어처구니(?) 없는 강력한 기능이 숨어있었습니다.

그것은 바로, "File or Folder 속성 > Conditions > Script Condition" 를 이용하는 것입니다.

"Script Condition" 은 참 또는 거짓으로 반응을 하는데 만약에 여러분이 해당 파일이나 폴더 자체를 설치하고 싶지 않을 경우 "Actions Menu > On Pre Install" 에서 세션변수로 조건을 사용하면 됩니다. (예를 들어, System.Is64BitOS(); 함수를 사용하여 64비트 여부를 확인한다는 것이죠)


그럼, 아래 그림 순서대로 정리해 봅니다.

1. Project Setting 부분에서 Session Variable 을 선언합니다.

%SVPInstall% 을 Session Variable 로 선언하고, 초기값을 32bits 로 정의

2. File 또는 Folder의 속성에서 Script Condition을 설정합니다.

%SVPInstall% 변수 값이 문자열 "32bits" 이면 해당 폴더를 설치해도 좋다는 의미

3. Actions 메뉴의 "On Pre Install" 탭에 아래와 같은 스크립트를 작성합니다.

운영환경에 맞춰서 %SVPInstall% 변수 값을 변경

이제는 3단계만의 작업으로 32비트, 64비트 상관없는 통합 설치프로그램을 작성할 수 있게 되었습니다.