Share via


コード ページの処理 (Windows インストーラー)

Windows インストーラーでは、データベースのサイズを小さくし、パフォーマンスを向上させるために、すべてのデータベース文字列を 1 つの共有文字列プールに格納します。 数値コード ページの一覧については、「エラー テーブルと ActionText テーブルのローカライズ」を参照してください。

詳細については、「インストール データベースのコード ページの決定」を参照してください。

Windows インストーラーでは、IsValidCodePage を使用して、コード ページが有効かどうかを判断します。

Windows インストーラー パッケージのローカライズ

Windows インストーラー パッケージをローカライズする場合は、データベース テーブルの情報の変更、ANSI テキスト アーカイブ ファイルへのテーブルのエクスポート、およびローカライズされるデータベースへのアーカイブ ファイルのインポートが含まれる場合があります。 データベース テーブル エディターまたはデータベース関数を使用して、データベースにローカライズの変更を追加することもできます。 データベースにローカライズの変更を加える前に、ローカライズされるデータベースのコード ページを設定することが重要です。 データベースのローカライズ後にデータベースのコード ページを設定しないでください。これにより、拡張文字が破損する可能性があるためです。 詳細については、「データベースのコード ページの設定」を参照してください。

コード ページを処理するための推奨される方法は、どのコード ページにも変換できる文字のみが含まれるニュートラル データベースを作成することです。 詳細については、「ニュートラル コード ページを使用したデータベースの作成」を参照してください。

データベース アーカイブ ファイルを使用してローカライズ情報を追加する場合は、MsiDatabaseExport を使用して、ローカライズの変更を含むデータベースから ANSI テキスト アーカイブ ファイルにテーブルをエクスポートし、これらを MsiDatabaseImport を使用してローカライズされるデータベースにインポートできます。 エクスポートされたアーカイブ ファイルのコード ページは、常に親データベースと同じです。 インポートされたファイルのコード ページとファイルを受け取るデータベースは同一であるか、2 つのコード ページの少なくとも 1 つがニュートラルである必要があります。 詳細については、「インポート テーブルとエクスポート テーブルのコード ページ処理」を参照してください。

テキスト エディターまたはデータベース関数を使用してローカライズ情報を追加する場合は、ローカライズされるデータベースのコード ページを使用する Windows インストーラー API に文字列パラメーターを渡すよう注意してください。 データベースのコード ページで表されない文字が文字列パラメーターに含まれている場合は、MsiDatabaseCommit を呼び出すときにエラーが発生します。 詳細については、「コード ページでのパラメーター文字列の処理」を参照してください。

1 つのパッケージを使用して製品の複数の言語バージョンをインストールする場合、文字列のローカライズに使用される変換によって、データベースのコード ページも変更される可能性があります。