データベースのコード ページの設定

ローカライズ情報を追加する前に、常にデータベースのコード ページを設定してください。 データベースにデータを入力した後にコード ページを設定しようとすると、拡張文字が破損する可能性があるため、推奨されません。 コード ページに依存しないデータベースから始めることで、ローカライズを大幅に容易にすることができます。 詳しくは、「ニュートラル コード ページを使用してデータベースを作成する」を参照してください。 「インストール データベースのコード ページの決定」の説明に従って、データベースの現在のコード ページを確認できます。 数値コード ページの一覧については、「エラー テーブルと ActionText テーブルのローカライズ」を参照してください。

ニュートラルでないコード ページを持つテキスト アーカイブ ファイルを MsiDatabaseImport でインポートすることで、空白のデータベースまたはニュートラル コード ページを含むデータベースのコード ページを設定できます。 これにより、データベースのコード ページが、インポートされたファイルのコード ページに設定されます。 その後データベースにインポートされるすべてのアーカイブ ファイルには、最初のファイルと同じコード ページが必要です。 テキスト アーカイブ ファイルがデータベースからエクスポートされる場合、アーカイブ ファイルのコード ページは親データベースと同じです。 「インポート テーブルとエクスポート テーブルのコード ページ処理」を参照してください。

MsiDatabaseImport を使用して、テキスト アーカイブ ファイル (形式は、2 行の空白行の後、数値コード ページ、タブ区切り記号、_ForceCodepage という正確な文字列を含む行が続くもの) をインポートすることによって、あらゆるデータベースのコード ページを、指定した数値コード ページに設定できます。 Windows 2000 では、データベース内のすべての文字列が _ForceCodepage のコード ページに変換されることに注意してください。 これは既存のデータベースをローカライズし、ニュートラルでない文字列をすべて新しいコード ページに変換する場合に使用できます。 ただし、変換されないニュートラルでない文字列がデータベースに含まれている場合は、エラーが発生します。

ユーティリティ WiLangId.vbs には、Import メソッドを使用してパッケージのコード ページを設定する方法の例が示されています。 WiLangId.vbs のコピーは、Windows インストーラー SDK で提供されています。 このユーティリティを使用すると、データベースでサポートされている言語バージョン (Package)、データベースに作成されていないユーザー インターフェイス内の文字列に対してインストーラーで使用される言語 (Product)、または文字列プール用の 1 つの ANSI コード ページ (Codepage) を確認できます。 WiLangId.vbs の使用方法については、「言語とコードの管理」のヘルプ ページを参照してください。

Product、Package、Codepage の値を確認するには、次のように WiLangId.vbs を実行します。

cscript wilangid.vbs[データベースへのパス]

パッケージの Codepage を設定するには、次のコマンド ラインを実行します。

cscript wilangid.vbs[データベースへのパス]Codepage[値]

たとえば、test.msi の Codepage を数値の ANSI コード ページ値 1252 に設定するには、次のコマンド ラインを実行します。

cscript wilangid.vbs c:\temp\test.msi Codepage 1252