You cannot see this page without javascript.

설치파일(inf)에 대한 이해

조회 수 544 추천 수 0 2011.06.22 15:11:01

[Version]
Signature="$WINDOWS NT$"

- $windows NT$, $windows 95$, $Chicago$ 중의 하나를 가진다.

windows NT : NT 기반으로 설계된 모든 운영체제에서 사용할 수 있다는 의미

windwos 95 : windows 9x/ME 에서 사용할 수 있다는 의미

Chicago : 모든 윈도우 운영체제에서 사용할 수 있다는 의미

Class=Hajesoft

- 해당하는 드라이버 설치를 위한 디바이스 유형을 명시한다. 예를들어, 해당하는 드라이버가

키보드, 디스플레이, 네트워크, 멀티미디어 등 어떤 유형으로 설치될지를 결정한다.


ClassGuid = {cfb15040-5bc7-11d3-b194-0060b0efd334}

- Class 지시자가 가리키는 항목의 유일성을 증명하는 GUID(Global Unique IDentifier)다.


Provider="Hajesoft, Inc."

- INF 파일을 제공하는 제공자의 이름을 기록하는 지시자다.

LayoutFile = filename.inf[,filename.inf]...

- 현재 설치 파일 외에 다른 INF 파일들을 포함해야 한다면 위와 같은 지시자를 사용할 수 있다.

보통 이렇게 포함하는 INF 파일들은 Needs 지시자, Include 지시자 등을 가지고 있는 설치 파일

들이 대부분이다.

CatalogFile=filename.cat

- Microsoft Windows Hardware Quality Labs(WHQL)로 부터 인증 테스트를 거친 드라이버들은

카탈로그 파일(cat) 이라는 파일을 가지고 있게 되는데, 이런 경우 설치 파일이 해당하는 카탈로그

파일을 지시하는 CatalogFile 지시자를 가져야 한다.

DirverVer=mm/dd/yyyy[,x.y.v.z]

- 윈도우 2000 이상의 운영체제에서만 요구되는 지시자로서, 드라이버 생성날짜를 입력하는 지시자다.

[SourceDisksNames] : 설치에 사용할 파일들이 보관된 경로를 설명하는섹션
diskid=disk-description, subdir..

diskid는 1,2,3 처럼 서로 다른 수를 의미하는 식별 ID를 명시한다.

dis-description은 파일이 보관된 볼륨의 이름을 명시한다.

subdir 은 볼륨 아래에 하위 경로를 따로 두는 경우에 사용한다.

1=%DiskId%

[SourceDisksFiles] : 설치 과정 중에 사용할 원본 파일이 SourceDiskFiles 섹션에서 명시한 지시자 중 어떤 지시자 아래 존재하는지를 설명하는 섹션이다.


filename=diskid[.[subdir]]

filename은 설치과정중에 사용할 원본 대상 파일 이름을 기억한다.

SIMPLE.sys=1

[ClassInstall32]
Addreg=AddHwClass

[AddHwClass]
HKR,,,,%ClassName%
HKR,,Icon,,"-5"

[DestinationDirs] : 설치 과정 중 원본 파일이 복사될 장소를 가리키는 섹션
DefaultDestDir=dirid[,subdir]

dirid는 윈도우에서 정의된 디렉토리를 알려주는 ID로 아래에 나열한 값을 쓸 수 있다.

10 : 윈도우 디렉토리

11 : 시스템 디렉토리

12 : 드라이버 디렉토리, 시스템 디렉토리IOSUBSYS 디렉토리

17 : INF 디렉토리

-1 : 절대경로

DefaultDestDir=12

[Manufacturer] : 제조사 정보를 보관하는 섹션이다. 하나의 설치 파일은 여러 제조사 정보를 모두 포함할 수도 있다.

manufacturer-identifier

다음과 같은 형식으로 설명된다.

%strkey% = models-section-name

%strkey% 는 제조사 이름, models-section-name 은 구체적인 모델 정보를 담고있는 섹션이름, TargetOSVersion은 지원운영체제 버전이다.

%Mfg%=MfgDeviceSection

[MfgDeviceSection]
%DeviceDesc% = HAJESAMPLE, HAJESOFT_VIRTUAL_PNPID_FOR_SIMPLEDEVICE

[HAJESAMPLE]
CopyFiles=@SIMPLE.sys

[HAJESAMPLE.Services]
AddService = SIMPLE,%SPSVCINST_ASSOCSERVICE%,Haje_Service_Inst

[Haje_Service_Inst]
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_MANUAL_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%SIMPLE.sys

[Strings] : 설치파일 내에서 사용하는 모든 문자열 값을 설명하는 섹션이다.
strkey=["]some string["]

strkey 은 문장려 변수 이름을 정의한다. some string은 문자열 값을 정의한다.

ClassName = "Hajesoft"
DeviceDesc = "Hajesoft Sample Simple Device"
DiskId = "Sample Install Disk 1"
Mfg = "Hajesoft, Inc."
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_MANUAL_START = 3
SERVICE_ERROR_NORMAL = 1

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

XE Login