본문 바로가기
내가만드는것_만든것/프로그램-판매

VB.Net/C#.Net 자동 업데이터 (많은 기능/편리) (32/64bit감지/TaskBar표시등)

by Joseph.Lee 2015. 7. 31.

2014.11.23. 18:37



이건 내가 간만에 웬지 쓸때있는걸? 만든거 같다..ㅋ

내가 필요하기도 했고 보니깐 다른거는 디자인이 별로라서.. (사실 이것도 좋진 않지만;;)

이건 뭐.. 옆에 사진을 넣을 수 있는 장점이..ㅎ 

VB.Net/C#.Net 자동 업데이터 (많은 기능/편리) (32/64bit감지/TaskBar표시등) - 다운로드

 

Visual Studio 2012 / VB.Net / .Net Framework 3.5

자동 업데이터 프로그램입니다. ( 소스 포함)

 

기능 :

- HTTP 기반 으로 HTTP서버가 필요합니다.

- TaskBar 진행률 표시 기능으로 Windows 7 이상에서 테스크바에 진행율이 표시됩니다.

- 32/64bit 에 따라 다른 작업 수행가능합니다. (filelist.txt 파일참고)

- 업데이트할 내용이 없거나 업데이터 프로그램 종료시 자동으로 인수로 입력된 파일을 실행 합니다.

예) JsAutoUpdater.exe "bin\testprogram.exe"

- 포함리소스로 image1.png 파일을 왼쪽 픽쳐박스에 출력 합니다.

- 한글 파일 지원

- 절대 경로에 파일 다운로드 지원

- 디렉토리가 없을시 자동으로 생성 (여러 서브 디렉토리도 가능)

- 파일다운로드를 별도의 Thread 에서 진행하므로 프로그램 멈춤 방지

- 다운받을 파일의 데이터를 보두 다운받은 뒤 저장하는 방식이 아니라

1024Bytes 씩 끊어서 버퍼저장 후 파일에 저장하기 때문에 메모리절약 .

         

2013-09-27 추가내용

- 현재 파일 다운로드 크기 실시간 확인

- 실시간 다운로드 속도 표시

 

2014-11-25 추가내용

 - 실행파일이름 변경시 오류처리 (소스교체요망)

 - Windows Vista 이전버전 OS지원 (필수(VB.Net버전) / 소스교체요망)

 - 환경변수 기능 (아래내용참고)

 - 버퍼크기 변경(64KB) 및 손쉽게 수정 가능

 - 서버설정으로 업데이트 후 파일 자동실행 기능 추가

 

 

업데이트할 파일이 / 있다면 알리고 / 없으면 프로그램을 종료+파일실행합니다.

(UpdaterSetting_StartupMessageBox 으로 나타낼지 설정할 수 있습니다.)

(아래참고)

 

바뀐내용이 나타납니다. (웹에서 읽어옴)

 

아래 보시면 Task Bar 에도 진행율이 표시됩니다.

 

오류 발생시.

 

modUpdaterSetting.vb 파일입니다.

* 2014-11-25추가

Public UpdaterSetting_StartupMessageBox As Boolean = False '시작시 메시지박스를 표시할것인지

Public UpdaterSetting_BufferSize As Integer = 65536 'bytes 버퍼크기

 

이 파일만 수정해서 사용하시면 됩니다.

업데이트 서버/프로그램 이름/타이틀을 지정할 수 있습니다.

 

웹서버에는 check.txt 파일과 filelist.txt 파일이 기본적으로 필요합니다.

또 files 디렉토리에서 파일들을 다운받습니다.

 

check.txt 파일내용

000100 (6글자 숫자로 v1.10.23 이라면 011023 으로 입력하시면 됩니다.) 
바뀐내용테스트 
테스트 파일 추가

 

filelist.txt 파일내용

; 가 앞에 붙으면 주석입니다.

;Flag:ServerFile:ClientFile 
;Flag 
; U : Update(파일다운로드) 
; K : Update전 프로세스 종료 
; R : Remove(파일삭제) 
; O64U : 64bit컴퓨터에서만 Update(download) 
; O32U : 32bit컴퓨터에서만 Update(download) 
; O64K : 64bit컴퓨터에서만 Update전 프로세스 종료 
; O32K : 32bit컴퓨터에서만 Update전 프로세스 종료 
; O64R : 64bit컴퓨터에서만 Remove(파일삭제) 
; O32R : 32bit컴퓨터에서만 Remove(파일삭제) 

; UCE : 업데이트 완료 후 실행할 파일
K::bin\TestProgram.exe 
U:bin/TestProgram.exe:bin\TestProgram.exe 
O64U:doc/doc-64bit.txt:doc.txt 
O32U:doc/doc-32bit.txt:doc.txt 
U:야생.wmv:야생.wmv

UCE::bin\TestProgram.exe

 

ClientFile 은 절대경로로도 지정할 수 있습니다.

 

두 txt파일은 메모장에서 UTF-8 으로 저장하셔야 합니다.

 

혹시라도 잘못된 부분이 있다면 꼭 덧글 주시기 바랍니다!ㅎㅎ

 

exe파일과 같은 위치에 exe파일이름.updateinfo.ini 이 있어야 합니다.

 

**** 2014-11-25 추가

ClientFile에 환경변수이름을 사용할 수 있습니다. (아래 Path는 OS버전별로 달라질 수 있습니다.)

<DESKTOP> 은 C:\Users\USERNAME\Desktop 으로

<PROGRAMFILES> 은 C:\Program Files 으로 

<MYDOCUMENTS> 은 C:\Users\USERNAME\Documents 으로

<PROGRAMS>은 C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 으로

치환됩니다.

 

 

예를들어 <DESKTOP>\PROGRAM.readme.txt 으로 ClientFile을 지정하면 바탕화면\PROGRAM.readme.txt 에 저장됩니다.

 

이 소스의 수정은 자유하나 소스를 재배포, 재판매, 대여 등은 허용하지 않으며

빌드된 프로그램은 자유롭게 사용하실 수 있습니다.

 

다운로드 : http://dexpert.devpia.com/TecBoxs/2858

 

 * Note

 image1.png을 수정할 시 꼭 포함리소스로 등록하셔야 합니다.

반응형

댓글