강좌,팁

앞 강좌는 배포용 설치프로그램을 만드는 LabWindows/CVI의 일반적인 방법이었고, 이번에는 제가 주로 사용하는 방법을 설명하겠습니다. 제 입맛에 맞게 만든 프로그램인 DevUpMan(극동테크식 개발 프로그램 업로드 관리)라는 프로그램과 함께 말입니다.

---------------------------------------------------------------------------------------

[강좌:39] 입맛대로 좀더 편리하게 배포용 설치 프로그램 만들기(CVI 8.5 이용)

이용된 버전: LabWindows/CVI 8.5.0 (278)
강좌분류: 따라하기
등급: 초급

차례
서론
1. 이번 예제 프로그램의 개요
2. 작업준비
   2.1 도우미 유틸리티 프로그램 준비
   2.2 프로그램 구성 준비
3. 코딩
4. 배포용 설치 프로그램 만들기
   4.1 DevUpMan 실행
   4.2 Target Settings 설정
   4.3 uninstall 단축아이콘 대상 지정
   4.4 Edit Installer 설정
5. 설치 및 실행
마무리

 

서론
이번 강좌는 실제로 제가 사용하는 좀더 편리한 방법을 소개하도록 하겠습니다. 다른 분들도 시간을 절약하면서 빠르게 만드실 수 있을 것입니다. 요약하면 프로그램 그룹을 지정하고, 제거 아이콘을 추가하며, 알집 EXE 로 하나의 파일로 압축된 실행파일을 만드는 것입니다.

1. 이번 예제 프로그램의 개요
이번 따라하기 예제의 최종 프로그램 실행화면을 그림 1.1에 보였습니다. 이번 역시 그 목적이 배포용 설치 프로그램을 만드는 것이므로, 프로그램은 매우 간단하게 종료 버튼 하나만 넣었습니다. 앞번 강좌와 프로그램의 모양이나 기능은 똑같지만, 구분하기 위해 이번에는 TestDistribution 이라는 프로젝트 명을 사용하겠습니다.

그림 1.1 프로그램의 실행화면

2. 작업준비

2.1 도우미 유틸리티 프로그램 준비
여기서 이용하고자 하는 도우미 유틸리티 프로그램이란,  "극동테크식 개발 프로그램 업로드 관리"라는 긴 이름의 프로그램이며, 극동테크 자료실에서 다운로드 받으실 수 있습니다.

극동테크식 개발 프로그램 업로드 관리, DevUpMan v1.0.006


그림 2.1에 DevUpMan이라는 프로그램의 화면을 보였습니다.

그림 2.1 극동테크식 개발 프로그램 업로드 관리, DevUpMan 프로그램

여기서 빨간색으로 연하게 채워진 부분인 "프로그램 실행" 과 "업로드 정보"는 다운로드 카운터라는 PHP로된 웹 프로그램을 이용하기 위한 부분인데, 여기서는 사용하지 않을 것입니다.
관심있으신 분을 위해 알려드리면, downloadthingy (다운&카운터) 0.0.2 라는 것을 최영수님의 지식홈피 라는 데서 받았는데, 아래의 링크가 아직 유효하다면, 참고하십시오.

최영수님의 지식홈피 -> 개인자료실 -> 관리프로그램-파일관리 -> 지식파일보기 - > downloadthingy

 

그리고, CVI 정보나눔 자료실에서 Windows Installer의 Uninstall 단축아이콘 파일을 다운로드 받으십시오.

Windows Installer용 Uninstall 단축아이콘

 

마지막으로, 이스트소프트의 알집이 설치되어 있어야합니다.

알집 다운로드

정리하자면, 극동테크의 DevUpMan 프로그램, Windows Installer용 Uninstall 단축아이콘, 그리고 알집이 필요합니다.

2.2 프로그램 구성 준비
작업 준비 과정은 "[강좌:21] CVI 프로그래밍 시작단계 정의(2)" 강좌 글의
"2. LabWindows/CVI의 프로그래밍 작업 시작단계" 부분에 따라 아래와 같이 간단히 정리합니다.
즉, 프로젝트 파일 저장, 화면구성, 속성설정, 기본 소스코드 생성의 과정을 요약합니다.

프로젝트 파일명: TestDistribution.prj

화면구성은 그림 2.2에 보였습니다. 명령버튼만이 자리를 지키고 있습니다. 콜백함수는 Panel 콜백과 Exit 명령버튼의 콜백함수만 이용됩니다.

그림 2.2 TestDistribution 프로젝트의 화면구성

uir 파일 내의 각 컨트롤의 속성은 표 2.1과 같이 설정하였습니다.

표 2.1 컨트롤의 속성값

컨트롤 종류 Constant Name Callback Function Label Default
Value
비고
Command Button

cmdExit

cmdExit

Exit

 

 

 

Panel의 속성은 표2.2와 같이 설정합니다.

표 2.2 Panel의 속성설정

Panel 속성설정

Constant Name

PANEL

Callback Function

PanelCB

Panel Title

배포판 만들기 테스트

Other Attributes

 

그리고, 기본 소스를 생성합니다. Generate All Code 창에서 Program Termination 난의 Select QuitUserInterface Callbacks에는 PanelCB와 cmdExit 두 함수를 체크하도록 합니다. 프로그램 종료시에 두가지 방법(창의 닫기 버튼, Exit 명령버튼)으로 종료되도록 할 것이니까 말입니다.
기본으로 생성된 함수는 main() 함수와 PanelCB(), cmdExit() 콜백함수들입니다. 그림 2.3에 프로젝트 창을 보였습니다.

그림 2.3 TestDistribution의 프로젝트 창

3. 코딩
이번에도 역시 코딩을 할 게 없습니다. 이번 프로그램이 하는 일이란 종료하는 것밖에 없으니 말입니다. 그림 3.1에 TestDistribution.c 파일을 보였습니다.

그림 3.1 자동생성된 TestDistribution.c 파일
(소스코드 이미지를 클릭하면 소스 텍스트 창이 나타난다는 거 아시죠?)

프로젝트 창의 Build 메뉴에서 실행파일을 만들어 봅니다. Configuration에서 Release로 하여 실행파일을 만들었다면, 이제는 배포용 설치 프로그램을 만드는 일만 남았습니다.

4. 배포용 설치 프로그램 만들기

4.1 DevUpMan 실행
먼저 DevUpMan 프로그램을 실행하여 아래와 같이 기본 입력 내용을 입력합니다. 기본 입력 내용을 입력하면, 아래의 압축 EXE 정보도 덩달아서 자동생성되게 되어 있습니다.

그림 4.1 DevUpMan의 기본 입력 내용 추가 화면

위의 기본 입력 내용은 다음에 설명하는 Target Settings 설정에서도 이용하게 됩니다. 위의 정보는 저장을 해두는 것도 좋습니다. 기본적으로 TestDistribution_v1.0.001.kddum 이라는 파일명이 지정되어 저장되게 됩니다.

4.2 Target Settings 설정
그림 4.2에서는 프로젝트 창의 Build 메뉴의 Target Settings... 서브 메뉴를 선택하여 표시한 화면입니다.

그림 4.2 Target Settings 화면

Application title에는 한글로 "배포판 만들기 테스트"라고 입력합니다. 보통 한글이 들어간 이름으로 Application Title을 부여하는 것이 필요하죠! 그림 4.1에서 "Application Title"은 한글명으로 입력했는데, 배포용 파일을 만들 때에 프로그램 그룹명으로 이용되고, "프로그램명"에는 붙여쓴 영어명이 입력되어 있는데, 주로 실행파일명으로 이용됩니다.

그림 4.2에서 "Version Info..." 라는 버튼을 클릭하여 프로그램의 버전정보를 입력합니다. 이때 DevUpMan의 기본 입력내용을 복사해서 이용하면 편리합니다. 그림 4.3에 이렇게 입력된 Version Info 화면을 보였습니다.

그림 4.3 Version Info 화면

그림 4.3처럼 버전 정보를 적절히 입력한 다음, OK를 누르고, 그림 4.2화면에서도 OK를 눌러 Target Settings를 마칩니다. 이제 Release 모드의 실행파일을 생성합니다. 이렇게 생성된 실행파일에 위와 같은 정보가 입력된 것을 그림 4.4와 같이 알 수 있습니다.

그림 4.4 실행파일에 기입된 파일 버전정보

4.3 Uninstall 단축아이콘 대상 지정
이제는 Uninstall 단축아이콘을 손질하겠습니다. 그림 4.4의 "DEFPROG 제거"라는 이름의 파일을 그림 4.5와 같이 "배포판 만들기 테스트 제거"라고 바꾸고, 파일의 속성 창을 엽니다.

그림 4.4 Uninstall 단축아이콘 이름 변경 및 속성 설정

속성을 클릭하면, 그림 4.5와 같은 화면이 나타나는데, 여기서 대상 항목을 그림 4.1에도 표시된 DevUpMan 프로그램의 "압축을 푼 후 실행할 명령" 난의 문자열을 그대로 복사하여 붙여넣습니다.

그림 4.5 Uninstall 단축아이콘 등록정보

4.4 Edit Installer 설정
이제는 프로젝트 창의 Build 메뉴의 Distributions - Manage Distributions 서브 메뉴를 선택합니다.
이때 나타난 "Manage Distributions" 창에서 "New..." 버튼을 누르면, 그림 4.6과 같은 화면이 나타납니다. 여기서 Name 난에는 기본적으로 아까 Target Settings에서 지정한 Application Title이 오게 됩니다.

그림 4.6 New Distribution 창

그리고, 그림 4.7과 같이 언어를 한글로 설정하고, Files 탭으로 이동합니다.

그림 4.7 Installer 설정의 General 세팅

그림 4.8에서는 프로그램 작업을 하는 드라이브의 해당 폴더로 가서 Uninstall 단축아이콘으로 사용할 파일을 찾아서 프로그램 설치 폴더와 프로그램 그룹에 추가하도록 합니다.
Program Files에는 "CVIShare"라는 영문명의 새 서브디렉토리를 만들어서 "TestDistribution"으로 이름변경한 폴더를 옮겨 넣고, Start>>Programs에는 "CVI정보나눔"이라는 한글명의 서브 디렉토리를 만들어서 "배포판 만들기 테스트"라는 폴더를 이동시킵니다. 그리고, ①과 ②로 표시된 폴더에 "배포판 만들기 테스트 제거.lnk"라는 파일을 각각 추가하도록 합니다.

 

그림 4.8 Installer 설정의 구성 파일 세팅

이렇게 한 다음, Shortcuts 탭으로 이동합니다. 그림 4.9에 Shortcuts 화면을 표시했는데, 아직 안바꼈네요.

그림 4.9 Installer 설정의 Shortcuts 세팅

OK 한다음, 프로젝트 창에서 Build 메뉴의 Distributions - Edit 배포판 만들기 테스트 서브메뉴로 들어와서, Files 탭에서 다시 제대로 디렉토리 명을 지정합니다. 그리고, Shortcuts 탭으로 온 것이, 그림 4.10입니다.

그림 4.10 Installer 설정의 Shortcuts 세팅 제대로 됨

이제 Drivers & Components 탭으로 이동한 다음, 그림 4.11과 같이 세팅한 다음 OK를 눌러 Distributions 세팅의 편집을 마칩니다.

그림 4.11 Installer 설정의 Drivers & Components 세팅

이제 그림 4.12와 같이 메뉴를 선택하여 배포용 설치 파일을 생성합니다.

그림 4.12 배포판 만들기

이렇게 해서 생성된 설치 파일들을 그림 4.13과 같이 알집 EXE로 압축을 시작합니다.

그림 4.13 설치 파일을 알집 EXE로 만들기

그림 4.14와 같이 DevUpMan 프로그램의 해당 버튼을 클릭하여 복사한 다음, 알집 EXE 화면에 적절히 붙여넣습니다. (압축해제 폴더는 Program Files 폴더의 CVIShare 아래의 Setup으로 하는 것이 적절한데, 그만 KDTechnology 폴더 아래의 Setup이 되어 버렸군요. 나중에 여러분들께서는 적절히 지정하시도록 하십시오. 여기서는 그대로 나가겠습니다.)

그림 4.14 DevUpMan 프로그램 이용하여 알집 EXE 만들기

그리고, 마지막으로 그림 4.15와 같이 dp.exe 파일을 "TestDistribution_v1.0.001.exe"라는 이름으로 변경합니다. 이 파일 하나만 배포하면 됩니다.
업그레이드 될 때마다 만들어지는 하나의 압축 EXE 파일을 계속 보관하려면, "cvidistkit.배포판 만들기 테스트" 라는 폴더로 복사해 두십시오. Volume 이하 폴더는 배포용 설치 파일을 새로 Build 하게 되면, 다 지워지게 됩니다.

 

5. 설치 및 실행
이제 테스트해봅시다. TestDistribution_v1.0.001.exe 파일을 더블클릭하여 실행하면, 압축이 해제되는 과정을 거쳐서 그림 5.1과 같은 화면으로 넘어갑니다.

그림 5.1 배포판 만들기 테스트 프로그램의 설치 시작

이후의 설치 과정을 보이는 것은 생략하고, 설치가 완료되면 그림 5.2와 같이 "CVI정보나눔" 이라는 프로그램 그룹 내에 "배포판 만들기 테스트" 프로그램 그룹이 생기고 그 안에 실행 아이콘이 있는 것을 볼 수 있습니다.

그림 5.2 배포판 만들기 테스트 프로그램의 실행

 

그림 5.3 TestDistribution 실행화면

마무리
이렇게 해서 LabWindows/CVI 8.5에서  입맛대로 좀더 편리하게 배포용 설치 프로그램 파일을 만들어 보았습니다. 이번에 사용한 "극동테크식 개발 프로그램 업로드 관리" 프로그램인 DevUpMan 프로그램은 제가 LabWindows/CVI로 프로그램을 개발해오면서 보다 개발속도를 빠르게 하기 위해 만들어서 사용하는 프로그램입니다.

개발 업무의 효율성을 높이기 위해 또다른 프로그램을 만들수 있다는 것이 얼마나 다행인지 모르겠습니다. 여러분들도 각자 자주하게 되는 번거로운 작업을 쉽게 해주는 프로그램을 하나씩 만들어두면, 두고두고 생산성을 높이는데 도움이 될 것입니다.

"누구든지 제 목숨을 구원하고자 하면 잃을 것이요, 누구든지 나를 위하여 제 목숨을 잃으면 찾으리라"
(마태복음 16장 25절)

오늘도 여러분이 하시는 일에 하나님이 큰 복을 주시기를 원합니다.
감사합니다.

예제 프로그램 구상, 테스트: 1시간 4분 26초
강좌 문서 작성: 1시간 58분 7초
(총 3시간 2분)

2008.3.14 금

극동테크(www.kdtechno.com) 허창원 드림


엮인글 '1'

http://www.cvi.kr/xe/cvi_lecture/3822/bf5/trackback

2019.03.19 08:37

sex cam - sex cam

"[...]??????,??? - [??????:39] ???????????? ?????? ???????????? ????????? ?????? ???????????? ?????????(CVI 8.5 ??????)[...]"


송성희

2012.01.17 12:20:36
*.135.194.120

"극동테크식 개발 프로그램 업로드 관리" 프로그램을 찾을 수가 없습니다.

링크도 깨지는것 같습니다. 확인 부탁드립니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
116 [팁] 컨트롤의 tooltips 지정하기 file 허창원 2020-05-08 389
115 멀티쓰레드 사용 시, 메모리 관련 참고사항입니다. [1] 요돌이 2017-10-24 1092
114 [팁]타이머 사용시 주의할점. file 이현화 2014-02-13 2535
113 Lable 세로쓰기 [1] 초보 2013-12-21 2668
112 [강좌:45] ini 파일 이용하기(CISManip.dll 활용) [2] 허창원 2013-05-29 3876
111 [강좌:44] ini 파일 이용하기(기본 활용) [1] 허창원 2013-05-29 5159
110 [강좌:43] Panel 크기 변경시에 컨트롤의 위치나 크기 조절하기(CISManip.dll 활용) 허창원 2013-03-12 6456
109 [강좌:42] Panel 크기 변경시에 컨트롤의 위치나 크기 조절하기(기본 활용) 허창원 2013-03-12 7072
108 [팁21] 그래프를 지우고 그릴때의 plotHandle을 구하는 방법 [1] 야리싸내 2012-05-25 7457
107 [강좌:41] Prototype 프로그램 CISDEFPROG 소개 [1] [1] 허창원 2012-01-03 8670
106 [강좌:40] CIS Project를 시작하며... [4] 허창원 2011-12-29 8429
105 ------------- 이제 새로운 지평이 열립니다 ------------- 허창원 2011-12-29 8835
104 [팁]그룹명령(고수님들은 패스~ ^^;) file [2] 이현화 2009-06-15 23113
103 [KD스타일규칙] Panel, Control, Function 에 대한 이름부여규칙 file 허창원 2008-10-15 20960
102 [팁]Elaped Time [1] 이현화 2008-10-15 26401
101 [팁:19] 시리얼 포트 모니터링(Serial Port Monitoring) 유틸리티 소개 [9] [1] 허창원 2008-05-12 95060
100 [팁:18] CVI에서 ActiveX 컨트롤 사용하는 절차 file [2] 허창원 2008-04-07 30959
» [강좌:39] 입맛대로 좀더 편리하게 배포용 설치 프로그램 만들기(CVI 8.5 이용) [1] [1] 허창원 2008-03-14 22994
98 [강좌:38] 배포용 설치 프로그램 만들기(CVI 8.5 이용) 허창원 2008-03-14 22899
97 [팁]간단한 최소화 기능개선입니다. 김민수 2007-10-05 24105