본문 바로가기

Delphi/C++Builder

[컴포넌트 소개] TWebUpdate - 업데이트 프로그램 제작 컴포넌트/지원 툴(TMS Software)

자동 업데이트 프로그램은 주요 기능은 아니지만 빠져서는 안되는 프로그램 중 하나입니다. 이번 글에서는 자동 업데이트 프로그램 제작 시 도움이 되는 TWebUpdate 컴포넌트를 소개합니다.


자동 업데이트 프로세스는 시스템 환경에 맞게 각자 정해야 하지만 자동 업데이트에 필요한 기술은 TWebUpdate 컴포넌트를 활용해 빠르게 개발해 여러분의 시간을 절약할 수 있습니다.


자동 업데이트 프로세스에 대해 익숙하지 않은 분들을 위해 HTTP를 이용한 자동 업데이트 프로세스 예를 한가지 들어 보겠습니다.

  1. 업데이트할 파일을 웹 서버에 업로드 하고, 업데이트 정보를 담고 있는 업데이트 정보파일도 웹서버에 업로드 합니다.
  2. 프로그램이 실행 시 메인 프로그램 전에 업데이트 프로그램을 실행하도록 구성하고, 업데이트 프로그램은 HTTP를 이용해 업데이트 정보를 받아와 업데이트 여부를 확인합니다. 
  3. 업데이트가 필요하면 웹서버의 업데이트할 파일을 다운로드 하고 메인 실행파일(또는 데이터)을 교체합니다.
  4. 업데이트 프로그램은 메인 프로그램을 실행하고 자신은 종료합니다.
위 프로세스에서 TWebUpdate 컴포넌트는 아래의 기능을 제공하기 때문에 여러분들이 실제 개발할 부분은 업데이트 프로세스를 정하고 제공되는 기능으로 프로세스대로 실행되도록 구현하는 부분을 진행하면 됩니다.
  • 업데이트 파일을 준비(압축 등)하고 업데이트 정보파일을 생성
  • 업데이트 정보를 받아와 업데이트 여부를 확인
  • 업데이트 파일을 다운로드 하고 실행파일(또는 데이터)을 교체

❑ TWebUpdate 컴포넌트

TWebUpdate 컴포넌트는 HTTP, HTTPS, FTP, 파일 네트워크 상의 업데이트 정보파일을 읽어 업데이트를 판단하고 업데이트를 수행하는 기능을 제공하는 컴포넌트입니다. 업데이트 판단하는 방식은 파일의 버전, 파일생성 일자, 체크섬, 파일크기, 사용자 버전을 제공합니다. 배포할 파일을 압축해 배포하고 업데이트 목록 중 일부만 업데이트하는 기능, 업데이트 과정을 쓰레드로 진행하는 기능 등의 부가적인 기능도 제공합니다.

TWebUpdate의 특징은 업데이트에 필요한 정보(배포파일 목록, 업데이트 버전, 파일크기 등)를 기록한 업데이트 정보파일을 생성할 수 있는 자동화 도구인 Update Builder를 제공합니다. 

❑ Update Builder

반복되는 업데이트 과정에서 수작업으로 업데이트 정보파일을 만드는 작업은 실수도 잦고, 번거로울 수 있는데요. Update Builder는 한번 설정한 정책을 파일로 저장하고, 다음 업데이트 시 다시 불러와 빌드 과정만 진행하면 업데이트 정보파일을 새로 생성해 주기 때문에 실수도 적어지고, 작업자의 노력과 시간을 줄여줍니다.

업데이트 파일 추가

UpdateBuilder의 기본 탭인 Files에서는 업데이트할 파일을 추가하고, 개별파일마다 배포위치(Target directory), 업데이트 판단 기준(File Update), 압축여부(File Compression) 등을 설정합니다.

업데이트 설정

프로젝트 빌드(업데이트 정보파일 생성)


업데이트 정보파일은 아래와 같은 구조를 갖습니다.