다음을 통해 공유


디렉터리 테이블 사용

디렉터리 테이블 설치의 레이아웃을 지정합니다. CostFinalize 작업동안 디렉터리가 확인되면 디렉터리 테이블의 키는 디렉터리 경로로 설정될 속성이 됩니다. 설치 관리자는 여러 표준 속성을 시스템 폴더 경로로 설정합니다. 시스템 폴더로 설정된 속성 목록은 속성 참조 참조하세요.

디렉터리의 대상 위치를 지정하는 가장 좋은 방법은 설치 패키지의 디렉터리 테이블 작성하여 이 섹션에 설명된 대로 올바른 위치를 제공하는 것입니다. 설치 시 디렉터리 위치를 변경해야 하는 경우 디렉터리 대상 위치 변경 섹션도 참조하세요.

다음은 디렉터리 테이블의 예입니다.

디렉토리 Directory_Parent DefaultDir
TARGETDIR 소스 디렉토리
EXEDIR TARGETDIR
DLLDIR EXEDIR
바탕 화면 폴더 TARGETDIR 바탕 화면

 

디렉터리 테이블의 각 행은 원본과 대상 모두에 있는 디렉터리를 나타냅니다. 예를 들어 설치 패키지가 \\applications\source\에 있다고 가정합니다. 첫 번째 행의 Directory_Parent 필드는 Null이므로 이 레코드는 원본과 대상 모두에 대한 루트 디렉터리를 나타냅니다. 원본의 경우 이 디렉터리의 값은 DefaultDir 필드에 의해 지정됩니다. SourceDir 속성은 기본적으로 설치 패키지의 위치로 설정됩니다. 따라서 SourceDir 속성이 재정의되지 않는 한 루트 원본 디렉터리는 \\applications\source\입니다.

첫 번째 레코드의 디렉터리 필드는 루트 대상 디렉터리의 위치를 나타냅니다. 이 경우 TARGETDIR 속성의 값은 이 디렉터리를 나타냅니다. 일반적으로 TARGETDIR 속성의 값은 명령줄 또는 사용자 인터페이스를 통해 설정됩니다. 이 경우 TARGETDIR 속성이 C:\Program Files\Target\으로 설정되어 있다고 가정합니다.

두 번째 레코드의 경우 Directory_Parent 필드는 Null이 아닙니다. 따라서 이 레코드는 원본과 대상 모두에 대한 루트가 아닌 디렉터리를 나타냅니다. 루트가 아닌 원본 디렉터리의 경우 Directory_Parent 필드에 설명된 레코드로 표시되는 원본 디렉터리가 부모 디렉터리입니다. 두 번째 레코드의 경우 Directory_Parent 필드는 TARGETDIR입니다. 앞에서 설명한 것처럼 TARGETDIR 레코드로 표시된 원본 디렉터리가 \\applications\source\로 확인되었습니다. 따라서 두 번째 레코드로 표시된 원본 디렉터리가 \\applications\source\App\입니다.

대상 디렉터리에 대해 유사한 프로세스가 작동합니다. 두 번째 레코드에 설명된 대상 디렉터리에 대한 부모 디렉터리의 값은 Directory_Parent 필드에 의해 확인된 대상 디렉터리입니다. 다시 Directory_Parent 필드에는 TARGETDIR 값이 포함됩니다. 이는 C:\Program Files\Target\의 대상 디렉터리로 확인되는 첫 번째 레코드를 나타냅니다. 디렉터리 필드에는 EXEDIR이라는 작성자 정의 속성이 포함되어 있습니다. 이 속성이 설정되면 해당 값은 디렉터리의 전체 경로를 제공합니다. 따라서 이 속성을 C:\Data\Common\로 설정하면 두 번째 레코드로 표시된 대상 디렉터리의 값은 C:\Data\Common\입니다. 설정되지 않은 경우 대상 디렉터리가 DefaultDir 필드에서 지정한 이름을 사용합니다. 이 경우 대상 디렉터리가 C:\Program Files\Target\App\입니다.

세 번째 레코드에 대해 동일한 프로세스가 작동합니다. EXEDIR 및 DLLDIR이 설정되지 않은 경우 대상 디렉터리가 C:\Program Files\Target\App\Bin이고 원본 디렉터리가 \\applications\source\App\Bin\입니다.

네 번째 레코드는 DesktopFolder 속성을 사용합니다. 사용자의 데스크톱 위치가 C:\Winnt\Profiles\User\Desktop\이면 대상 디렉터리가 C:\Winnt\Profiles\User\Desktop\으로 확인됩니다. 원본 디렉터리가 \\applications\source\Desktop\으로 확인됩니다.

디렉터리 테이블의 DefaultDir 열에 사용할 수 있는 두 가지 추가 구문 기능이 있습니다. 루트가 아닌 원본 디렉터리의 경우 DefaultDir 열에 입력된 마침표(.)는 디렉터리가 하위 디렉터리 없이 부모 디렉터리에 있어야 임을 나타냅니다. 다른 원본 및 대상 디렉터리 경로를 지정하려면 DefaultDir 열의 대상 및 원본 경로를 [targetpath]:[sourcepath]와 같이 콜론으로 구분합니다. 이러한 기능을 함께 사용하여 단일 디렉터리의 원본 또는 대상 경로에 수준을 추가할 수 있습니다. 디렉터리 테이블의 다음 예제를 참조하세요.

디렉토리 디렉토리_상위 기본디렉토리
TARGETDIR 소스 디렉토리
MyAppDir TARGETDIR MyApp
BinDir MyAppDir
Binx86Dir BinDir .:x86
BinAlphaDir BinDir .:알파

 

원본 및 대상 경로는 다음과 같이 MyAppDir, BinDir, Binx86Dir 및 BinAlphaDir 행에 대해 확인됩니다.

기록 대상 경로 원본 경로
MyAppDir: [TARGETDIR]MyApp [SourceDir]MyApp
BinDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin
Binx86Dir: [대상 디렉터리]MyApp\Bin (파일 경로) [SourceDir]MyApp\Bin\x86
BinAlphaDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin\Alpha

 

메모

알파 플랫폼은 Windows Installer에서 지원되지 않습니다.