파일 테이블
File 테이블에는 지역화되지 않은 고유한 식별자에 의해 정렬된 다양한 특성이 있는 원본 파일의 전체 목록이 포함되어 있습니다. 파일은 원본 미디어에 개별 파일로 저장하거나 캐비닛 파일 내에서 압축할 수 있습니다. 자세한 내용은 캐비닛 및 압축된 원본 사용을 참조하세요.
File 테이블에는 다음과 같은 열이 있습니다.
Column | 형식 | 키 | Nullable |
---|---|---|---|
파일 | 식별자 | Y | N |
Component_ | 식별자 | N | N |
FileName | Filename | N | N |
FileSize | DoubleInteger | N | N |
버전 | 버전 | N | Y |
언어 | 언어 | N | Y |
특성 | 정수 | N | Y |
시퀀스 | 정수 | N | N |
열
-
File
-
파일을 고유하게 식별하는 지역화되지 않은 토큰입니다. 이 필드는 대/소문자를 구분하지 않습니다. 대/소문자만 다른 별개의 파일에 식별자를 할당하지 마세요.
-
Component_
-
Component 테이블의 첫 번째 열에 대한 외부 키입니다. 이 필드는 파일을 제어하는 구성 요소를 식별합니다.
-
FileName
-
설치에 사용되는 파일 이름입니다. 이름은 지역화될 수 있습니다.
일부 웹 서버는 대/소문자를 구분하므로 FileName이 원본 파일의 대/소문자와 정확하게 일치해야 인터넷 다운로드가 지원됩니다.
-
FileSize
-
파일의 크기(바이트)입니다. 음수가 아닌 숫자여야 합니다.
-
버전
-
이 필드는 버전이 지정된 파일의 버전 문자열입니다. 버전이 지정되지 않은 파일의 경우 이 필드는 비어 있습니다. 이 필드에 입력한 파일 버전은 설치 패키지에 포함된 파일 버전과 동일해야 합니다.
버전 필드는 파일 테이블에 있는 다른 레코드의 기본 키를 포함하도록 설정할 수도 있습니다. 그러면 참조된 파일에서 이 파일에 대한 버전 관리 논리를 결정합니다. 자세한 내용은 도우미 파일을 참조하세요. 이 파일이 해당 구성 요소의 키 경로인 경우 도우미 파일로 지정해서는 안 됩니다.
-
Language
-
쉼표로 구분된 10진수 언어 ID 목록입니다.
글꼴에 포함된 언어 ID 리소스가 없으므로 글꼴 파일을 언어 ID로 작성하면 안 됩니다. 따라서 이 열은 글꼴 파일의 경우 null로 남아 있어야 합니다.
-
Attributes
-
파일 특성을 나타내는 비트 플래그를 포함하는 정수입니다.
다음 표에서는 비트 필드의 정의를 보여 줍니다.
상수 16진수 Decimal 설명 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 속성으로 지정됩니다. msidbFileAttributesNoncompressed 및 msidbFileAttributesCompressed를 모두 설정하지 마세요. msidbFileAttributesCompressed 0x004000 16384 파일의 원본 형식이 압축됩니다. 설정된 경우 Word Count Summary 속성을 무시합니다. msidbFileAttributesNoncompressed 또는 msidbFileAttributesCompressed가 모두 설정되지 않은 경우 파일의 압축 상태는 Word Count Summary 속성으로 지정됩니다. msidbFileAttributesNoncompressed 및 msidbFileAttributesCompressed를 모두 설정하지 마세요. Attributes 열 내에 msidbFileAttributesVital 비트가 설정되고 파일이 속한 구성 요소가 설치를 위해 선택된 경우 설치 관리자가 설치를 성공적으로 완료하기 위해 이 파일을 설치할 수 있어야 합니다. 어떤 이유로든 설치 관리자가 파일을 설치할 수 없는 경우(예: 원본 파일을 원본 이미지 내에 찾을 수 없는 경우) "다시 시도" 또는 "취소" 옵션이 있는 오류 대화 상자가 나타납니다. msidbFileAttributesVital이 설정되지 않은 파일의 경우 설치 오류 발생 시 옵션은 "중단", "다시 시도" 및 "무시"입니다(즉, 사용자는 해당 파일을 설치하지 않고 설치를 성공적으로 완료할 수 있는 옵션이 있습니다).
Attributes 열 내의 msidbFileAttributesChecksum 비트는 PE(이식 가능한 실행 파일) 파일 헤더에 저장된 유효한 체크섬이 있는 설치의 모든 실행 파일에 대해 설정되어야 합니다. 이 비트가 설정된 파일만 다시 설치하는 동안 체크섬이 유효한지 확인됩니다. 자세한 내용은 REINSTALLMODE를 참조하세요.
-
Sequence
-
미디어 이미지에서 이 파일의 시퀀스 위치입니다. 이 순서는 파일이 압축된 경우 캐비닛의 파일 순서에 해당해야 합니다. 이 필드의 정수는 1보다 크거나 같아야 합니다.
Sequence 열의 시퀀스 번호는 파일의 설치 순서와 파일이 있는 원본 미디어(Media 테이블과 함께)를 모두 지정하는 데 사용됩니다. 예를 들어 파일의 시퀀스 번호가 92라고 가정합니다. 이 파일이 있는 원본 디스크를 확인하기 위해 92보다 큰 가장 작은 마지막 시퀀스 값을 가진 항목에 대한 미디어 테이블을 확인합니다.
압축된 파일에는 캐비닛 내의 내부 시퀀스 번호가 할당되지만 해당 절대 숫자는 파일 테이블 내의 시퀀스 번호와 일치하지 않아도 됩니다. 그러나 파일 테이블의 파일 시퀀스는 캐비닛 내의 파일 시퀀스와 동일해야 합니다.
압축되지 않은 파일의 경우 시퀀스 번호가 고유하지 않아도 됩니다. 예를 들어 모든 파일의 압축이 해제되고 모든 파일이 하나의 디스크에 있는 경우 모든 파일에 동일한 시퀀스 번호를 지정할 수 있습니다.
최대 한도는 32767개 파일입니다. 더 많은 파일이 있는 Windows Installer 패키지를 만들려면 대규모 패키지 작성을 참조하세요.
설명
시퀀스 테이블의 InstallFiles 및 RemoveFiles 작업은 이 테이블의 정보를 처리합니다. 시퀀스 테이블 사용에 대한 자세한 내용은 시퀀스 테이블 사용을 참조하세요.
테이블은 처음에 파일 목록에서 생성되지만 캐비닛 압축을 사용하는 경우 테이블은 압축 엔진의 출력에서 다시 생성됩니다. 자세한 내용은 캐비닛 파일을 참조하세요.
설치하는 동안 사용자 컴퓨터에서 기존 파일을 이동하려면 MoveFiles 작업 및 MoveFile 테이블을 사용합니다. 여러 위치에 파일을 설치하려면 DuplicateFiles 작업 및 DuplicateFile 테이블을 사용합니다.
다음 표에서는 Version 열과 Language 열의 가능한 값 조합을 요약합니다. 자세한 내용은 파일 버전 관리 규칙을 참조하세요.
버전 | 언어 | 설명 |
---|---|---|
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