파일 테이블

파일 테이블에는 고유한 지역화되지 않은 식별자에 따라 정렬된 다양한 특성이 있는 원본 파일의 전체 목록이 포함되어 있습니다. 파일은 원본 미디어에 개별 파일로 저장하거나 캐비닛 파일 내에서 압축할 수 있습니다. 자세한 내용은 캐비닛 및 압축 원본 사용을 참조하세요.

파일 테이블에는 다음 열이 있습니다.

Column 형식 Nullable
파일 식별자 Y N
Component_ 식별자 N N
FileName Filename N N
FileSize DoubleInteger N N
버전 버전 N Y
언어 언어 N Y
특성 정수 N Y
순서 정수 N N

 

파일

파일을 고유하게 식별하는 지역화되지 않은 토큰입니다. 이 필드는 대/소문자를 구분하지 않습니다. 대/소문자만 다른 다른 파일에 식별자를 할당하지 마세요.

Component_

구성 요소 테이블의 첫 번째 열에 있는 외부 키입니다. 이 필드는 파일을 제어하는 구성 요소를 식별합니다.

파일

설치에 사용되는 파일 이름입니다. 이름은 지역화될 수 있습니다.

일부 웹 서버는 대/소문자를 구분할 수 있으므로 FileName은 인터넷 다운로드 지원을 보장하기 위해 원본 파일의 경우와 정확히 일치해야 합니다.

Filesize

파일의 크기(바이트)입니다. 음수가 아닌 숫자여야 합니다.

버전

이 필드는 버전이 지정된 파일의 버전 문자열입니다. 버전이 아닌 파일의 경우 이 필드는 비어 있습니다. 이 필드에 입력한 파일 버전은 설치 패키지에 포함된 파일의 버전과 동일해야 합니다.

버전 필드는 파일 테이블에 있는 다른 레코드의 기본 키를 포함하도록 설정할 수도 있습니다. 참조된 파일은 이 파일에 대한 버전 관리 논리를 결정합니다. 자세한 내용은 도우미 파일을 참조하세요. 이 파일이 해당 구성 요소의 키 경로인 경우 도우미 파일로 지정해서는 안 됩니다.

언어

쉼표로 구분된 10진수 언어 ID 목록입니다.

글꼴에 포함된 언어 ID 리소스가 없으므로 글꼴 파일을 언어 ID로 작성하면 안 됩니다. 따라서 글꼴 파일의 경우 이 열이 null로 남아 있어야 합니다.

특성

파일 특성을 나타내는 비트 플래그가 들어 있는 정수입니다.

다음 표에서는 비트 필드의 정의를 보여줍니다.

지속적임 16진수 Decimal Description
msidbFileAttributesReadOnly 0x000001 1 읽기 전용
msidbFileAttributesHidden 0x000002 2 숨김
msidbFileAttributesSystem 0x000004 4 시스템
msidbFileAttributesVital 0x000200 512 파일은 해당 파일이 속한 구성 요소의 정확한 작동에 매우 중요합니다. msidbFileAttributesVital 특성이 있는 파일 설치에 실패하면 설치가 중지되고 롤백됩니다. 이 경우 설치 관리자는 무시 단추 없이 대화 상자를 표시합니다. 이 특성을 설정하지 않고 파일 설치에 실패하면 설치 관리자에 무시 단추가 있는 대화 상자가 표시됩니다. 이 경우 사용자는 파일 설치 실패를 무시하고 계속하도록 선택할 수 있습니다.
msidbFileAttributesChecksum 0x000400 1024 파일에 유효한 체크섬이 포함되어 있습니다. 손상된 파일을 복구하려면 체크섬이 필요합니다.
msidbFileAttributesPatchAdded 0x001000 4096 이 비트는 패치에 의해서만 추가되어야 하며 패치에서 파일을 추가하는 경우에만 추가해야 합니다.
msidbFileAttributesNoncompressed 0x002000 8192 파일의 소스 형식이 압축되지 않았습니다. 설정된 경우 Word Count Summary 속성을 무시합니다. msidbFileAttributesNoncompressed 또는 msidbFileAttributesCompressed가 모두 설정되지 않은 경우 파일의 압축 상태는 Word Count Summary 속성으로 지정됩니다. msidbFileAttributesNoncompressedmsidbFileAttributesCompressed를 모두 설정하지 마세요.
msidbFileAttributesCompressed 0x004000 16384 파일의 원본 형식이 압축됩니다. 설정된 경우 Word Count Summary 속성을 무시합니다. msidbFileAttributesNoncompressed 또는 msidbFileAttributesCompressed가 모두 설정되지 않은 경우 파일의 압축 상태는 Word Count Summary 속성으로 지정됩니다. msidbFileAttributesNoncompressedmsidbFileAttributesCompressed를 모두 설정하지 마세요.

 

특성 열 내 의 msidbFileAttributesVital 비트가 설정되고 파일이 속한 구성 요소가 설치를 위해 선택된 경우 설치 관리자가 설치가 성공적으로 완료되도록 이 파일을 설치할 수 있어야 합니다. 어떤 이유로든 설치 관리자가 파일을 설치할 수 없는 경우(예: 원본 파일을 원본 이미지 내에 배치할 수 없는 경우) "다시 시도" 또는 "취소" 옵션과 함께 오류 대화 상자가 나타납니다. msidbFileAttributesVital이 설정되지 않은 파일의 경우 설치 오류의 경우 옵션은 "Abort", "Retry" 및 "Ignore"입니다(즉, 사용자는 해당 파일을 설치하지 않고 설치를 성공적으로 완료할 수 있는 옵션이 있습니다).

PE(이식 가능한 실행 파일) 파일 헤더에 유효한 체크섬이 저장된 설치의 모든 실행 파일에 대해 특성 열 내의 msidbFileAttributesChecksum 비트를 설정해야 합니다. 이 비트가 설정된 파일만 다시 설치하는 동안 유효한 체크섬에 대해 확인됩니다. 자세한 내용은 REINSTALLMODE를 참조하세요.

시퀀스

미디어 이미지에서 이 파일의 시퀀스 위치입니다. 이 순서는 파일이 압축된 경우 캐비닛의 파일 순서에 해당해야 합니다. 이 필드의 정수는 1보다 크거나 같아야 합니다.

시퀀스 열의 시퀀스 번호는 파일의 설치 순서와 파일이 있는 원본 미디어( 미디어 테이블과 함께)를 모두 지정하는 데 사용됩니다. 예를 들어 파일에 시퀀스 번호가 92라고 가정합니다. 이 파일이 있는 원본 디스크를 확인하려면 Media 테이블에서 92보다 작은 마지막 시퀀스 값이 있는 항목을 확인합니다.

압축된 파일에는 캐비닛 내의 내부 시퀀스 번호가 할당되지만 해당 절대 숫자는 파일 테이블 내의 시퀀스 번호와 일치할 필요가 없습니다. 그러나 파일 테이블의 파일 시퀀스는 캐비닛 내의 파일 시퀀스와 동일해야 합니다.

압축되지 않은 파일의 경우 시퀀스 번호는 고유할 필요가 없습니다. 예를 들어 모든 파일이 압축되지 않고 모두 하나의 디스크에 있는 경우 모든 파일에 동일한 시퀀스 번호를 제공할 수 있습니다.

최대 제한은 32767개 파일입니다. 더 많은 파일이 있는 Windows Installer 패키지를 만들려면 큰 패키지 작성을 참조하세요.

설명

시퀀스 테이블InstallFilesRemoveFiles 작업은 이 테이블의 정보를 처리합니다. 시퀀스 테이블 사용에 대한 자세한 내용은 시퀀스 테이블 사용을 참조하세요.

테이블은 처음에 파일 목록에서 생성되지만 캐비닛 압축을 사용하는 경우 테이블은 압축 엔진의 출력에서 다시 생성됩니다. 자세한 내용은 캐비닛 파일을 참조하세요.

설치하는 동안 사용자 컴퓨터에서 기존 파일을 이동하려면 MoveFiles 작업MoveFile 테이블을 사용합니다. 여러 위치에 파일을 설치하려면 DuplicateFiles 작업DuplicateFile 테이블을 사용합니다.

다음 표에는 버전 열과 언어 열에 있는 값의 가능한 조합이 요약되어 있습니다. 자세한 내용은 파일 버전 관리 규칙을 참조하세요.

버전 언어 Description
1.2.3.4 1033 버전 및 언어입니다.
1.2.3.4 (Null) 버전이지만 언어는 없습니다.
1.2.3.4 0 버전과 언어는 중립적입니다.
Testdb (Null) 연결된 언어가 없는 도우미 파일입니다.
Testdb 1033 도우미 파일 및 언어입니다.
(Null) 1033 버전이 없지만 연결된 언어(즉, typelib, helpfile)가 있습니다.

 

자세한 내용은 MsiLockPermissionsEx 테이블LockPermissions 테이블을 참조하세요.

유효성 검사

ICE02
ICE03
ICE04
ICE06
ICE18
ICE30
ICE32
ICE35
ICE39
ICE42
ICE45
ICE50
ICE51
ICE54
ICE55
ICE57
ICE59
ICE60
ICE67
ICE69
ICE76
ICE91