64비트 Windows Installer 패키지 또는 Windows Installer를 호출하여 64비트 패키지를 설치하는 애플리케이션을 만들 때 다음을 수행합니다.
- Windows Installer의 데이터베이스 스키마를 200 이상으로 사용하세요. 페이지 개수 요약 속성을 정수 200으로 설정하여 2.0 버전이 패키지를 설치하는 데 필요한 설치 관리자의 최소 버전임을 지정합니다. 이전 Windows Installer 버전은 64비트 패키지 설치 시도를 거부합니다. Arm64 플랫폼의 64비트 패키지의 경우 Windows Installer 데이터베이스 스키마는 500 이상이어야 합니다.
- 패키지 요약 정보 스트림의 템플릿 요약 속성에 64비트 패키지임을 나타냅니다. 패키지가 Intel64 프로세서에서 실행될 경우 템플릿 요약 속성의 플랫폼 필드에 "Intel64"를 입력합니다. 패키지를 64비트 확장 프로세서에서 실행하려면 "x64"를 입력합니다. 패키지를 Arm64 프로세서에서 실행하려면 "Arm64"를 입력합니다. 패키지는 Intel64 및 x64 플랫폼을 모두 지원하는 것으로 표시할 수 없습니다. "Intel64,x64"의 템플릿 요약 속성 값이 잘못되었습니다. 패키지는 32비트 및 64비트 플랫폼을 모두 지원하는 것으로 표시할 수 없습니다. "Intel,x64" 또는 "Intel,Intel64"의 템플릿 요약 속성 값이 잘못되었습니다.
- 구성 요소 테이블의 특성 열에서 msidbComponentAttributes64비트 설정하여 모든 64비트 구성 요소를 식별합니다.
- VersionNT64 속성을 참조하여 64비트 운영 체제의 버전을 확인하는 선택적 조건문을 사용합니다. Windows Installer는 이 속성을 64비트 Windows 버전으로 설정하고 운영 체제가 64비트 Windows가 아닌 경우 VersionNT64를 정의되지 않은 상태로 둡니다. 자세한 내용은 속성 사용을 조건문에서 참조하세요.
- Intel64 또는 Msix64 속성을 참조하여 컴퓨터의 숫자 프로세서 수준을 확인하는 선택적 조건문을 사용합니다. Windows Installer는 이러한 속성을 컴퓨터의 현재 숫자 프로세서 수준으로 설정하고 itanium 기반 프로세서가 아닌 경우 Intel64 속성을 정의되지 않은 상태로 둡니다. 자세한 내용은 조건문에서 속성 사용을 참조하세요.
- AppSearch Table 및 AppSearch Action 사용하여 기존 64비트 구성 요소에 대한 레지스트리의 선택적 검색을 수행합니다. 기존 64비트 구성 요소를 검색하려면 RegLocator TableType 열에 msidbLocatorType64bit 비트를 포함합니다. 자세한 내용은 기존 애플리케이션, 파일, 레지스트리 항목 또는 .ini 파일 항목 속성 검색을 참조하세요.
- 64비트 폴더의 경로는 System64Folder속성, ProgramFiles64Folder 속성, 및 CommonFiles64Folder 속성을 참조하여 얻을 수 있습니다. 32비트 폴더의 경로는 SystemFolder 속성, ProgramFilesFolder 속성, 및 CommonFilesFolder 속성을 참조하여 얻을 수 있습니다.
- 64비트 구성 요소를 참조할 때 애플리케이션이 올바른 GUID를 사용하는지 확인합니다. 특정 구성 요소의 32비트 및 64비트 버전이 있는 경우 구성 요소 ID GUID가 달라야 합니다.
- 64비트 애플리케이션을 설치할 때 새 환경 변수를 정의해야 하는지 여부를 결정합니다.
- 64비트 ODBC 드라이버 관리자를 설치하려면 ODBCDriverManager64를 전달하는 구성 요소의 이름을 지정해야 합니다. ODBC 드라이버 관리자는 설치 관리자 패키지에 작성되어야 하며 ODBCDriverManager64라는 구성 요소가 포함되어야 합니다. 필요한 경우 관리자가 설치됩니다.
- 애플리케이션이 실행 파일로 실행되는 32비트 서비스만 호출하는지 확인합니다. 애플리케이션은 DLL에서 실행되는 32비트 서비스를 호출해서는 안 됩니다.
- 애플리케이션이 공존하는 32비트 및 64비트 버전의 구성 요소를 설치하는 경우 애플리케이션이 .ini 파일 정보를 올바르게 공유하는지 확인합니다.
- 애플리케이션이 32비트 이진 파일에만 32비트 패치를 적용하고 64비트 패치를 64비트 이진 파일에 적용했는지 확인합니다.
- 32비트 및 64비트 버전 모두에 대한 향후 업그레이드 시나리오를 고려하고 업그레이드 코드를 유지 관리합니다. 자세한 내용은 패치 및 업그레이드참조하세요.
- 부트스트랩 애플리케이션을 사용하여 64비트 Windows Installer 패키지설치하는 경우 부트스트래핑 애플리케이션을 64비트 애플리케이션으로 컴파일합니다.
- 특정 구성 요소의 영향을 받는 레지스트리 키에 대해 레지스트리 리플렉션 사용하지 않도록 설정하려면 구성 요소 테이블의 특성 필드에서 msidbComponentAttributesDisableRegistryReflection 비트를 설정합니다. 동일한 애플리케이션의 32비트 및 64비트 복사본이 공존하는 데 필요할 수 있습니다. 이 비트가 설정되면 Windows Installer는 구성 요소에서 액세스하는 각 키에 RegDisableReflectionKey 함수를 호출합니다. 이 비트는 Windows Installer 버전 4.0에서 사용할 수 있습니다. 이 비트는 32비트 시스템에서 무시됩니다. 이 비트는 Windows XP 및 Windows 2000의 64비트 버전에서 무시됩니다.
메모
MsiGetComponentPath 함수의 lpPathBuf 매개 변수에서 반환된 숫자 레지스트리 루트의 값은 32비트 및 64비트 운영 체제의 구성 요소를 구분합니다. 자세한 내용은 MsiGetComponentPath 함수를 참조하세요.
관련 항목