다음을 통해 공유


매개 변수 문자열의 코드 페이지 처리

Windows Installer SDK와 함께 제공되는 Orca와 같은 데이터베이스 테이블 편집기를 사용하거나 애플리케이션에서 데이터베이스 함수를 호출하여 설치 데이터베이스에 지역화 정보를 추가할 수 있습니다. 지역화되는 데이터베이스의 코드 페이지를 사용하는 문자열 매개 변수만 전달해야 합니다. 문자열 매개 변수에 데이터베이스의 코드 페이지로 나타낼 수 없는 문자가 포함된 경우 설치 관리자가 MsiDatabaseImport를 호출할 때 오류를 반환합니다. 숫자 코드 페이지 목록은 Error 및 ActionText 테이블 지역화를 참조하세요.

자세한 내용은 설치 데이터베이스의 코드 페이지 확인을 참조하세요.

데이터베이스에 지역화 정보 추가

데이터베이스에 지역화 정보를 추가할 떄 운영 체제에서 데이터베이스의 코드 페이지를 지원해야 합니다. 시스템의 현재 코드 페이지일 필요는 없습니다. IsValidCodePage는 데이터베이스 코드 페이지에 대해 TRUE를 반환해야 합니다. 시스템은 ANSI 문자열을 유니코드로 변환하므로 현재 사용자 코드 페이지가 데이터베이스 코드 페이지와 동일하지 않으면 오류가 발생합니다.

Windows Installer API의 ANSI 버전을 호출하면 현재 시스템 코드 페이지를 사용하여 지역화된 문자열을 유니코드로 변환합니다. 데이터베이스가 커밋되면 유니코드 문자열은 데이터베이스의 코드 페이지를 사용하여 ANSI로 변환됩니다. 현재 시스템 코드 페이지가 지역화된 문자열의 코드 페이지와 다른 경우 데이터가 손실되고 잘못된 문자열 변환이 발생할 수 있습니다.

다음 절차에서는 지역화 데이터를 저장하는 방법을 보여 줍니다.

지역화 데이터를 저장하려면

  1. 데이터베이스의 코드 페이지를 지역화된 문자열의 코드 페이지로 설정합니다.
  2. MultiByteToWideChar 함수를 사용하여 ANSI 문자열을 유니코드로 변환하고 지역화된 데이터의 코드 페이지를 지정합니다.
  3. 지역화된 데이터를 추가하려면 유니코드 문자열을 사용하여 Windows Installer API의 유니코드 버전을 호출합니다.
  4. MsiDatabaseCommit을 사용하여 지역화 변경 내용을 데이터베이스에 커밋합니다.

ASCII 텍스트 보관 파일을 가져오고 내보내 설치 데이터베이스에 지역화 정보를 추가할 수도 있습니다. 자세한 내용은 가져온 테이블 및 내보낸 테이블의 코드 페이지 처리를 참조하세요.