수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1694912
  • Today | 657
  • Yesterday | 606

Embedded2007/01/09 09:14

Windows CE용 CAB 파일 만드는 법 (1)

고수닷넷 - Mono님

CAB 파일 생성하기


이번에는 개발후에 가장 많이 사용하는 Cabwizard tool에 대해 설명하고자 합니다. 원활한 진행을 위해 아래에서 부터는 존댓말을 생략토록 하겠습니다.


Embedded Visual Tools에는 기본적으로 Cabwizard tool을 제공한다. Cabwizard tool에 포함된 파일들은 CABWIZ.DDF, CABWIZ.EXE, MAKECAB.EXE등이 있으며, 번들로 제공이 된다. 기본적으로 eVT 3.0이나 eVC 4.0을 인스톨 할 경우 아래와 같은 경로에 해당 파일들이 존재한다.


[ 경로 ]

eVT 3.0 : C:\Windows CE Tools\wce300\MS Pocket PC\support\ActiveSync\windows ce application installation\cabwiz

eVC 4.0 : C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Tools


PocketPC에 대한 경로이지만 다른 CPU의 support 디렉토리나 Tools 디렉토리에도 존재한다. 어차피 어떤 것을 사용해도 동일하므로, 위의 경로만 예로 들었다.


위에 소개된 3개의 파일들에 대해 간략하게 설명하자면,


CabWiz.ddf - CAB 파일을 작성하기 위한 템플릿 지시문 파일

CabWiz.exe - 명령 파일을 매개 변수로 사용하고 프로그램 파일 및 설치 명령이 들어 있는 .cab 파일을 작성하는 명령줄 유틸리티(자세한 내용은 SDK 도움말 문서의 "Using CABWiz" 항목을 참조)

MakeCab.exe - CAB 파일을 생성


위와 같다. 이들 각각에 대해 좀더 자세히 알아보자.


1) CabWiz.ddf

CabWiz.ddf는 위에서도 설명했듯이 CAB 파일 생성을 하기 위한 템플릿 지시문 파일이다. .inf 파일을 수정하거나 Support 디렉터리의 컨트롤에 디지털 서명을 하려면 프로젝트의 .ddf 파일을 수정해야 한다. 그리고 .inf 파일에 추가된 모든 파일이 .ddf 파일에도 추가되었는지 또는 이 파일들이 설치에 사용될 수 없는지를 확인해야 한다. 다음은 CabWiz.ddf 파일의 내용이다.


;

; cabwiz.ddf

;

; Template directive file to create the CAB file

;


.Set Cabinet=ON

.Set Compress=OFF                     ; 압축과 관련된 것으로 Smart Phone 이외에는 제공되지 않는다.

.Set CabinetFileCountThreshold=0    ; no files per cabinet threshold

.Set FolderFileCountThreshold=0     ; no files per folder threshold

.Set FolderSizeThreshold=0          ; no folder size threshold

.Set MaxCabinetSize=0               ; no max size for the cabinet

.Set MaxDiskFileCount=0

.Set MaxDiskSize=0                      ; .cab 파일에 필요한 최대 크기의 공간을 잡는다.

.Set ReservePerCabinetSize=0        ; 디지털 서명에 필요한 공간을 남겨 놓는다.

.Set ReservePerDataBlockSize=0

.Set ReservePerFolderSize=0

.Set UniqueFiles=OFF


.Set CabinetNameTemplate=Sample.cab ; 이 부분은 cabwiz.ddf 예제파일에는 없다.(추가한 내용) 생성될 CAB파일 명을 입력한다.

.Set DiskDirectory1=sample      ; sample 디렉토리를 생성한다.

sample.exe                          ; sample.cab 파일에 포함될 파일들(sample.exe, sample.dll, sample.xml)

sample.dll

sample.xml

.Set DiskLabel1=Setup           ; 디스크 라벨을 Setup으로 한다.


;

; to be filled out by the CABWIZ.exe program

;.Set InfFileName=

;.Set RptFileName=

;.Set CabinetName1=

;

; followed by the list of files



주석을 달아 놓았으므로 별도의 설명은 하지 않겠다. 위의 항목들을 입력하고 cabwiz.exe를 실행하지 않고 직접 MakeCab.exe 파일을 호출하여 CAB파일을 생성한다. 커맨드 창에서

 MakeCab.exe /f cabwiz.ddf

와 같이 입력하면, sample 폴더가 생성이 되고, 이 폴더안에 sample.exe, sample.dll, sample.xml을 포함하는 Sample.cab이 생성이 된다.


2) MakeCab.exe


<1) CabWiz.ddf>에서 사용법에 대해 설명하였으므로 별도의 설명을 하지 않겠다.


3) CabWiz.exe

Windows CE CAB Wizard를 이용하여 CAB파일을 생성하는 방법이다. 사용법은 아래와 같다.

사용법 : inf_file [/dest dest_dir] [/err err_file] [/cpu cpu_type [cpu_type]]

- inf_file : CAB Wizard Setup에서 사용되는 필요한 정보를 담고 있는 INF의 절대 경로(파일명, 확장자 포함)

- dest_dir : 생성될 CAB 파일들을 저장할 위치(절대 경로)

- err_file : 에러 파일 명

- cpu_type : INF 파일내에서 지정한 CPU 타입들


사용예 :

cabwiz.exe  "c:\sample.inf"  /err error.err  /cpu arm sh3

위의 예에서 보듯이 CabWiz.exe로 CAB 파일을 만들기 위해서는 반드시 .inf 파일이 존재해야 한다. .inf 파일은 직접 만들어서 사용을 해도 되지만 이는 .inf 파일에 대해 잘 아는 경우에나 할 수 있는 방법이다. 간단하게는 위에 MakeCab.exe /f cabwiz.ddf로 CAB파일을 생성할때 .inf파일도 함께 생성이 된다. 그 .inf 파일을 이용하여 CAB 파일을 생성하면 된다.


다음 "Windows CE용 CAB 파일 만드는 법 (2)"에는 .inf 파일을 직접 에디트 창을 열어 생성하는 방법과 옵션들에 대해 설명하도록 하겠다.



정리

다 아는 내용을 적어서 다소 따분함을 느끼신 분들도 있으실 줄 압니다. 하지만 다시 짚고 넘어가는 차원에서 심심풀이로 한번 보아주십시오. 다음부터 설명할 .inf 파일 생성 방법에서는 좀 더 알차고 유용한 정보들을 가지고 오겠습니다.

"Embedded" 카테고리의 다른 글
  • Windows CE용 CAB 파일 만드는 법 (3) (0)2007/01/09
  • Windows CE용 CAB 파일 만드는 법 (2) (0)2007/01/09
  • Windows CE용 CAB 파일 만드는 법 (1) (0)2007/01/09
  • 임베디드 MSN 메신저 서버로의 여행-4 (0)2005/10/08
  • 임베디드 MSN 메신저 서버로의 여행-3 (0)2005/10/08
2007/01/09 09:14 2007/01/09 09:14
Posted by webdizen
Tags CAB, Windows CE
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/2562

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1 ... 684 685 686 687 688 689 690 691 692 ... 3009  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • 마주앙 미셀
  • DFS
  • Browser detection
  • putty
  • robots
  • 영어
  • 약학관
  • 준비물
  • Data Types
  • DSS
  • SWAP
  • Pattern
  • char
  • Web2.0
  • 썬라이즈 슬로진
  • 구글수표
  • 사회과학관
  • pipe
  • Registry Key
  • VisualUnitTest++

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 경청... 너무나 중요한데.......
    webdizen 14:59
  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Polarux - Linuxing
      • Rodman®
      • 까만 나비
      • 나를 가꾸는 시간.
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.