MsiAssembly 테이블
MsiAssembly 테이블은 Microsoft .NET Framework 어셈블리 및 Win32 어셈블리에 대한 Windows Installer 설정을 지정합니다. 자세한 내용은 전역 어셈블리 캐시에 어셈블리 설치 및 Win32 어셈블리 설치를 참조하세요.
Windows XP에서 Windows Installer는 Win32 어셈블리를 병렬 어셈블리로 설치할 수 있습니다. 자세한 내용은 병렬 어셈블리 API를 참조하세요.
Windows 2000: 이 기능이 지원되지 않습니다.
MsiAssembly 테이블에는 다음과 같은 열이 있습니다.
Column | 형식 | 키 | Nullable |
---|---|---|---|
Component_ | 식별자 | Y | N |
Feature_ | 식별자 | N | N |
File_Manifest | 식별자 | N | Y |
File_Application | 식별자 | N | Y |
특성 | 정수 | N | Y |
열
-
Component_
-
이 어셈블리를 포함하는 Windows Installer 구성 요소를 지정하는 Component 테이블의 키입니다.
이 필드의 값은 null로 설정하면 안 됩니다. Component 테이블의 구성 요소 KeyPath 필드는 null이 아니어야 합니다.
Win32 어셈블리의 경우 구성 요소 KeyPath는 File_Manifest에 지정된 매니페스트 파일일 수 없습니다. 매니페스트는 .NET Framework 또는 정책 어셈블리의 키 경로일 수 있습니다.
-
Feature_
-
Feature 테이블의 키입니다.
기능 설치를 통해 어셈블리를 설치해야 하는 경우 Windows Installer는 이 필드가 가리키는 기능을 설치합니다.
-
File_Manifest
-
.NET Framework 어셈블리 또는 Win32 어셈블리에 대한 매니페스트가 포함된 파일을 지정하는 File 테이블의 외부 키입니다.
Win32 어셈블리의 경우 Component 테이블의 KeyPath 필드에 이 파일을 구성 요소 키 경로 파일로 지정하지 마세요.
-
File_Application
-
프라이빗 위치에 어셈블리를 설치하려면 어셈블리 구성 요소에 대한 키 경로 파일을 이 필드에 입력합니다.
이 값은 Component 테이블의 KeyPath 필드에 표시되는 값입니다. 그런 다음, 설치 관리자는 Directory 테이블에 지정된 구성 요소의 디렉터리 구조에 어셈블리를 설치할 수 있습니다. 어셈블리를 전역 어셈블리 캐시에 설치하려면 이 필드가 null이어야 합니다.
-
Attributes
-
Win32 어셈블리의 경우 값을 1로 입력합니다. .NET Framework 어셈블리의 경우 값을 0으로 입력합니다.
Attributes 열이 NULL이면 설치 관리자는 어셈블리를 .NET Framework 어셈블리로 처리합니다.
설명
MsiAssembly 테이블에 항목이 하나 이상 있는 경우 InstallExecuteSequence 테이블에 MsiPublishAssemblies 작업 및 MsiUnpublishAssemblies 작업이 포함되어야 합니다.
커밋된 후에는 어셈블리를 롤백할 수 없으므로 Windows Installer는 2단계 설치 프로세스를 사용합니다. 어셈블리에 대한 인터페이스는 MsiPublishAssemblies 작업에 의해 생성된 설치 작업 중에 만들어집니다.
InstallFinalize 작업을 성공적으로 실행할 때까지 어셈블리는 커밋되지 않습니다. 즉, 어셈블리를 사용하는 사용자 지정 작업 또는 리소스를 작성하는 경우 InstallFinalize 작업 후로 순서를 지정해야 합니다. 예를 들어 GAC(전역 어셈블리 캐시)의 어셈블리에 의존하는 서비스를 시작해야 하는 경우 InstallFinalize 작업 후에 해당 서비스가 시작되도록 예약해야 합니다. 즉, ServiceControl 테이블을 사용하여 서비스를 시작할 수 없으며, 대신 InstallFinalize 후에 순서가 지정된 사용자 지정 작업을 사용해야 합니다.
유효성 검사