データベースのコード ページの設定
ローカリゼーション情報を追加する前に、必ずデータベースのコード ページを設定してください。 データベースにデータを入力した後にコード ページを設定しようとすると、拡張文字が破損する可能性があるため、お勧めしません。 コード ページに依存しないデータベースから開始すると、ローカリゼーションが大幅に容易になります。 詳細については、「ニュートラル コード ページを使用したデータベースの作成」を参照してください。 「インストール データベースのコード ページの特定」の説明に従って、データベースの現在のコード ページを特定できます。 数値コード ページの一覧については、 「Error テーブルと ActionText テーブルのローカライズ」 を参照してください。
MsiDatabaseImport を使用して、非ニュートラル コード ページを持つテキスト アーカイブ ファイルをインポートすることにより、空のデータベースまたはニュートラル コード ページを持つデータベースのコード ページを設定できます。 これにより、データベースのコード ページがインポートされたファイルのコード ページに設定されます。 その後データベースにインポートされるすべてのアーカイブ ファイルは、最初のファイルと同じコード ページを持つ必要があります。 テキスト アーカイブ ファイルがデータベースからエクスポートされる場合、アーカイブ ファイルのコード ページは親データベースと同じになります。 インポートおよびエクスポートされたテーブルのコード ページ処理を参照してください。
MsiDatabaseImport を使用して、次の形式のテキスト アーカイブ ファイルをインポートすることにより、任意のデータベースのコード ページを指定された数値コード ページに設定できます。2 つの空白行の後に、数値コード ページ、タブ区切り文字、および正確な文字列 _ForceCodepage を含む行が続きます。 Windows 2000 では、これによりデータベース内のすべての文字列が _ForceCodepage のコード ページに変換されることに注意してください。 これは、既存のデータベースをローカライズし、すべての非中立文字列を新しいコード ページに変換する場合に意図されている可能性があります。 ただし、データベースに翻訳されない非中立文字列が含まれている場合は、エラーが発生します。
ユーティリティ WiLangId.vbs には、 Import メソッド を使用してパッケージのコード ページを設定する方法の例が示されています。 WiLangId.vbs のコピーは、Windows インストーラー SDK で提供されます。 このユーティリティを使用すると、データベースでサポートされている言語バージョン (パッケージ)、データベースに作成されていないユーザー インターフェイスの文字列に対してインストーラーが使用する言語 (製品)、または文字列プールの単一の ANSI コード ページ (コード ページ) を判別できます。 WiLangId.vbs の使用方法については、ヘルプ ページ「言語とコードページの管理」を参照してください。
製品、パッケージ、コードページの値を確認するには、次のように WiLangId.vbs を実行します。
cscript wilangid.vbs [データベースへのパス]
パッケージのコードページを設定するには、次のコマンド ラインを実行します。
cscript wilangid.vbs [データベースへのパス] コードページ [値]
たとえば、test.msi のコード ページを数値 ANSI コード ページ値 1252 に設定するには、次のコマンド ラインを実行します。
cscript wilangid.vbs c:\temp\test.msi コードページ 1252