インポート テーブルとエクスポート テーブルのコード ページ処理

MsiDatabaseExportMsiDatabaseImport を使用して ASCII テキスト アーカイブ ファイルをインポートおよびエクスポートすることで、ローカライズ情報をインストール データベースに追加できます。 データベース文字列プールでは ANSI コード ページが使用されるため、データベースとエクスポートされたテキスト アーカイブ ファイルの両方にコード ページがあります。

テキスト アーカイブ ファイルがデータベースからエクスポートされる場合、アーカイブ ファイルのコード ページは親データベースと同じです。 数値コード ページの一覧については、「エラー テーブルと ActionText テーブルのローカライズ」を参照してください。

Note

テーブルをテキスト アーカイブ ファイルにエクスポートすると、ファイル区切り記号との競合を回避するためにコントロール文字が変換されます。

 

ASCII テキスト アーカイブ ファイル

MsiDatabaseExport によってエクスポートされた ASCII テキスト アーカイブ ファイルは、次の形式で説明されています。

  • テーブル列の名前は最初の行に書き込まれます。
  • 列の書式は 2 行目に書き込まれます。
  • テーブルに ASCII データのみが含まれている場合、テキスト ファイルの 3 行目は、テーブル名の後に主キーの一覧が続きます。
  • テーブルに ASCII 以外のデータが含まれており、データベースに数値コード ページがスタンプされている場合、3 行目の先頭にコード ページ番号が表示されます。
  • データベースに ASCII 以外のデータが含まれているが、データベースに数値コード ページがスタンプされていない場合は、現在のシステム コード ページ番号が 3 行目の先頭に書き込まれます。
  • テキスト ファイルの残りの行は、指定したコード ページ内のデータです。
  • テーブルにストリームが含まれている場合、MsiDatabaseExport ではテーブル内の各ストリームが別のファイルにエクスポートされます。

ニュートラル コード ページとニュートラルでないコード ページ

ローカリゼーションを容易にするには、ニュートラル コード ページを含むデータベースから開始します。

  • 空白のデータベースにはニュートラル コード ページがあります。
  • コード ページを ASCII で表す必要がある拡張文字を含まないデータベースには、ニュートラル コード ページがあります。

詳細については、「ニュートラル コード ページを使用したデータベースの作成」を参照してください。

ニュートラル コード ページとニュートラルでないコード ページには、次の特性があります。

  • ニュートラルでないコード ページを含むテキスト アーカイブ ファイルが、別のニュートラルでないコード ページを持つデータベースにインポートされた場合、MsiDatabaseImport が呼び出されると、インストーラーではエラーが返されます。
  • ニュートラル コード ページを持つテキスト アーカイブ ファイルは、任意のコード ページを持つデータベースにインポートできます。
  • 任意のコード ページを持つテキスト アーカイブ ファイルは、ニュートラル コード ページを持つデータベースにインポートできます。
  • ニュートラル コード ページを持つデータベースにテキスト アーカイブ ファイルをインポートすると、データベースのコード ページがアーカイブ ファイルのコード ページに設定されます。 その後データベースにインポートされるすべてのアーカイブ ファイルには、最初のファイルと同じコード ページが必要です。

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

MsiDatabaseExport によってエクスポートされるテキスト アーカイブ ファイルは、バージョン管理システムで使用できます。 データベースを編集するには、データベース関数 またはデータベース テーブル エディターを使用します。

データベース テーブル エディターまたは Windows インストーラー API を使用して、インストール データベースにローカライズ情報を追加できます。 詳細については、「コード ページでのパラメーター文字列の処理」を参照してください。