[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