(57)【要約】      （修正有）【課題】複数言語サポートによる、ソフトウェア製品数の増加やテストの増加を抑止する。【解決手段】ソフトウェアセットアップのための、言語に中立なインストレーションパッケージと言語に固有のインストレーションパッケージを作成する。第１のファイル１０４のグループのための第１のインストレーションパッケージ１１４が、あるプログラムについて作成される。この第１のファイル１０４のグループは、このプログラムについての言語に中立なファイルを含んでいるが、このプログラムについての言語に固有のファイルは含んでいない。また、第２のファイル１０６、１０８、１１０のグループのための第２のインストレーションパッケージ１１６、１１８、１２０も、このプログラムについて作成される。この第２のファイル１０６、１０８、１１０のグループは、このプログラムについての言語に固有のファイルを含んでいる。【選択図】図１
2006178947.tif 000002
【特許請求の範囲】
【請求項１】
プログラムについて、前記プログラムについての言語に中立なファイルを含むが前記プログラムについての言語に固有のファイルは含まない、第１のグループのファイルのための第１のインストレーションパッケージを作成するステップと、
前記プログラムについて、前記プログラムについての言語に固有のファイルを含む、第２のグループのファイルのための第２のインストレーションパッケージを作成するステップと
を備えることを特徴とする方法。
【請求項２】
前記プログラムについて、それぞれが前記プログラムについての追加の言語に固有のファイルを含む複数の追加のグループのファイルのための複数の追加のインストレーションパッケージを作成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記第２のインストレーションパッケージ中の前記ファイルは、前記プログラムを１つの言語にローカライズし、前記複数の追加のインストレーションパッケージのそれぞれにおける前記ファイルは、前記プログラムを複数の異なる言語のうちの１つにローカライズすることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１のインストレーションパッケージおよび前記第２のインストレーションパッケージを１つの配布媒体に記憶するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記プログラムについて、前記第２のグループのファイルとは異なる言語に前記プログラムをローカライズする前記プログラムについての追加のローカライズされたファイルを含む、第３のグループのファイルのための第３のインストレーションパッケージを作成するステップと、
前記第３のインストレーションパッケージを第２の配布媒体に記憶するステップと
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記第１のインストレーションパッケージを作成するステップは、前記プログラムを含む複数のプログラムのスイートのための前記第１のインストレーションパッケージを作成するステップを含み、前記第１のグループのファイルは、前記複数のプログラムのスイート中の各プログラムについての言語に中立なファイルを含むが、前記複数のプログラムのスイート中のどの前記プログラムのための言語に固有のファイルも含まないことを特徴とする請求項１に記載の方法。
【請求項７】
前記第２のグループのファイルのうちのどれも英語にローカライズする必要がないことを特徴とする請求項１に記載の方法。
【請求項８】
前記第１のインストレーションパッケージを作成するステップは、前記第１のグループのファイルを前記第１のインストレーションパッケージ中に含めるステップを含み、前記第２のインストレーションパッケージを作成するステップは、前記第２のグループのファイルを前記第２のインストレーションパッケージ中に含めるステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
コンピュータの１つまたは複数のプロセッサによって実行されるときに、前記１つまたは複数のプロセッサが、
プログラムについての言語に中立なファイルだけを第１のインストレーションパッケージに関連づけ、
前記プログラムについての第１の言語に固有のファイルの集まりを第２のインストレーションパッケージに関連づけ、
前記プログラムについての第２の言語に固有のファイルの集まりを第３のインストレーションパッケージに関連づけ、
前記第１のインストレーションパッケージと、前記第２のインストレーションパッケージおよび前記第３のインストレーションパッケージのうちの一方または両方を１つまたは複数の配布媒体上に保存する
ことをもたらす複数の命令をその上に記憶していることを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項１０】
前記複数の命令は、さらに前記１つまたは複数のプロセッサが、
前記１つまたは複数の配布媒体上に前記第１のインストレーションパッケージと同じフォルダ中の第１の圧縮されたファイルとして前記言語に中立なファイルを保存し、
前記１つまたは複数の配布媒体上に前記第２のインストレーションパッケージと同じフォルダ中の第２の圧縮されたファイルとして前記第１の言語に固有のファイルの集まりを保存し、
前記１つまたは複数の配布媒体上に前記第３のインストレーションパッケージと同じフォルダ中の第３の圧縮されたファイルとして前記第２の言語に固有のファイルの集まりを保存する
ことをもたらすことを特徴とする請求項９に記載の１つまたは複数のコンピュータ読取り可能媒体。
【請求項１１】
前記プログラムは、プログラムスイートの一部分であり、前記複数の命令は、さらに前記１つまたは複数のプロセッサが、
前記プログラムスイートの一部分である第２のプログラムについて、前記第２のプログラムについての、言語に中立なファイルだけを第４のインストレーションパッケージに関連づけ、
前記第２のプログラムについて、前記第２のプログラムについての、言語に固有のファイルの集まりを第５のインストレーションパッケージに関連づける
ことをもたらすことを特徴とする請求項９に記載の１つまたは複数のコンピュータ読取り可能媒体。
【請求項１２】
前記プログラムは、複数のプログラムのスイートの一部分であり、前記複数の命令は、前記１つまたは複数のプロセッサが、さらに前記プログラムについては前記言語に中立なファイルを、前記複数のプログラムのうちの他の任意のプログラムについては前記言語に中立なファイルだけを前記第１のインストレーションパッケージに関連づけることをもたらすことを特徴とする請求項９に記載の１つまたは複数のコンピュータ読取り可能媒体。
【請求項１３】
前記複数の命令は、前記１つまたは複数のプロセッサが、さらに
前記プログラムについての前記言語に中立なファイルを前記第１のインストレーションパッケージ中に含め、
前記第１の言語に固有のファイルの集まりを前記第２のインストレーションパッケージ中に含め、
前記第２の言語に固有のファイルの集まりを前記第３のインストレーションパッケージ中に含める
ことをもたらすことを特徴とする請求項９に記載の１つまたは複数のコンピュータ読取り可能媒体。
【請求項１４】
プログラムについての、言語に中立なファイルであるが言語に固有のファイルではないファイルの集まりと、
前記言語に中立なファイルの集まりに関連し、前記言語に中立なファイルの集まり中の前記ファイルをどのようにしてターゲットコンピュータ上にインストールすべきかに少なくとも部分的に基づいて生成される第１のインストレーションパッケージと、
前記プログラムについての言語に固有のファイルの集まりと、
前記言語に固有のファイルの集まりに関連し、前記言語に固有のファイルの集まり中の前記ファイルをどのようにして前記ターゲットコンピュータ上にインストールすべきかに少なくとも部分的に基づいて生成される第２のインストレーションパッケージと
をその上に記憶していることを特徴とするコンピュータ読取り可能媒体。
【請求項１５】
前記言語に中立なファイルの集まりは、第１のファイルとして前記コンピュータ読取り可能媒体上に記憶され、前記言語に固有のファイルの集まりは、第２のファイルとして前記コンピュータ読取り可能媒体上に記憶されることを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１６】
前記言語に中立なファイルの集まりは、前記第１のインストレーションパッケージ中に含まれることを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１７】
前記プログラムについての複数の追加の言語に固有のファイルの集まりと、
それぞれが、前記複数の追加の言語に固有のファイルの集まりのうちの１つに関連し、前記複数の追加の言語に固有のファイルの集まりのうちの１つの集まり中の前記ファイルをどのようにして前記ターゲットコンピュータ上にインストールすべきかに少なくとも部分的に基づいて生成される複数の追加のインストレーションパッケージと
をさらに含むことを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項１８】
言語に固有のファイルの各集まりは、前記プログラムを異なる言語にローカライズすることを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記プログラムは、プログラムスイートの一部分であり、
前記プログラムスイートの一部分である第２のプログラムについての、言語に中立なファイルであるが言語に固有のファイルではないファイルの集まりと、
前記第２のプログラムについての前記言語に中立なファイルの集まりに関連し、前記第２のプログラムについての前記言語に中立なファイルの集まり中の前記ファイルをどのようにして前記ターゲットコンピュータ上にインストールすべきかに少なくとも部分的に基づいて生成される第３のインストレーションパッケージと、
前記第２のプログラムについての言語に固有のファイルの集まりと、
前記第２のプログラムについての前記言語に固有のファイルの集まりに関連し、前記第２のプログラムについての前記言語に固有のファイルの集まり中の前記ファイルをどのようにして前記ターゲットコンピュータ上にインストールすべきかに少なくとも部分的に基づいて生成される第４のインストレーションパッケージと
をさらに含むことを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【請求項２０】
前記言語に中立なファイルの集まりは、前記コンピュータ読取り可能媒体上に前記第１のインストレーションパッケージと同じフォルダ中の第１の圧縮されたファイルとして保存され、前記言語に固有のファイルの集まりは、前記コンピュータ読取り可能媒体上に前記第２のインストレーションパッケージと同じフォルダ中の第２の圧縮ファイルとして保存されることを特徴とする請求項１４に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアプログラムおよびソフトウェアプログラムの配布に関し、詳細にはソフトウェアセットアップのための、言語に中立なインストレーションパッケージ（ｉｎｓｔａｌｌａｔｉｏｎ  ｐａｃｋａｇｅ）、および言語に固有のインストレーションパッケージに関する。
【背景技術】
【０００２】
多くの会社が世界中の様々な場所に設置されたオフィスを有する。その結果、この会社の従業員は、広範な言語を話す。この状況によって、この会社が使用するコンピュータについての様々な要件が作り出され、一般的にこれらのコンピュータでは、様々な異なる言語におけるユーザインターフェースを提示することが必要になる。例えば、アメリカ合衆国および英国においては、英語でのワードプロセッシングプログラム用のユーザインターフェースを表示することができるが、フランスにおいては、フランス語での同じワードプロセッシングプログラム用のユーザインターフェースを表示することができる。
【０００３】
ソフトウェア開発者が、広範な製品にわたってこの広範なユーザインターフェースをサポートする必要があるので、この状況は、ソフトウェア開発者にとって問題となる可能性がある。例えば、ソフトウェア開発者は、ワードプロセッシングプログラム、スプレッドシートプログラム、データベースプログラム、メッセージングおよびコラボレーション用プログラム、描画プログラム、プレゼンテーションプログラム、ならびにこれらのプログラムの様々な組合せを含む複数のプログラムスイート（ｐｒｏｇｒａｍ  ｓｕｉｔｅ）を設計し、市場で売ることができる。異なるプログラム数、ならびに異なるスイートの形で提供することができるこれらのプログラムの組合せ、および世界中で話される異なる言語数を考えると、それぞれが特定の言語および１つまたは複数のアプリケーションの組合せに対してカスタマイズされた、非常に多数の異なるバージョンのソフトウェア製品がもたらされる可能性がある。この結果、このソフトウェア開発者が作成しテストする必要があるはずの非常に多数のソフトウェア製品がもたらされる。これらのソフトウェアプログラムにより、（例えば、このプログラムのフランス語バージョンも英語バージョンも共に使用したいと望むユーザのために）複数の言語をこの同じターゲットコンピュータ上にインストールすることができるようになると、この数は、劇的に増加し、このソフトウェア開発者が作成しテストする必要があるはずのソフトウェア製品の数は、さらに多くなってしまうことさえある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この問題に対する一解決方法は、英語などの１つの言語を基本言語として選択し、常にこの基本言語を最初にインストールすることである。様々な他の言語は、後でインストールされ、この基本言語バージョンの適切な部分に必要に応じて上書きされ、または追加される。これにより、このソフトウェア開発者が作成しテストする必要があるはずのソフトウェア製品数が減少する。したがって、ユーザが、フランス語バージョンのアプリケーションスイート（ｓｕｉｔｅ  ｏｆ  ａｐｐｌｉｃａｔｉｏｎ）をインストールしたいと望む場合、ユーザは、まず英語バージョンのアプリケーションスイートをインストールし、次いでそのフランス語バージョンがこの英語バージョン上にインストールされる。この結果、このフランス語バージョンがこの英語バージョンを置き換え（上書きし）、あるいはこのフランス語バージョンは、この英語バージョンと共存する（それに対して追加される）ことになる。しかし、別の言語上へのある言語のインストレーションは、この結果としての製品にアーティファクト（ａｒｔｉｆａｃｔ）をもたらす可能性があり、ここではこの上書き言語ではなく、この基本言語インターフェースの何かが、時々表示されてしまうので、この解決方法は、厄介な問題を引き起こす可能性がある。これらのアーティファクトは、どのバージョンがインストールされたかの順序に基づいて変化する可能性もある。例えば、英語が基本言語であり、フランス語バージョンがこの英語バージョン上にインストールされ、次いでドイツ語バージョンがこの英語バージョンおよびフランス語バージョン上にインストールされた場合には、これらのアーティファクトは、このドイツ語バージョンがこの英語バージョン上にインストールされており、次いでフランス語バージョンが、この英語バージョンおよびドイツ語バージョン上にインストールされた場合とは最終的に異なったものになる可能性がある。
【０００５】
ソフトウェアパッチ（ｓｏｆｔｗａｒｅ  ｐａｔｃｈ）がソフトウェアプログラムに使用可能にされるときにさらなる問題が起こる。これらのソフトウェアパッチは、一般的に追加の機能または特徴を提供し、かつ／またはこのソフトウェアプログラム中で見出される問題およびエラーを訂正する。一般的に、顧客が使用している可能性があるアプリケーションおよび言語の可能な組合せごとに異なるソフトウェアパッチが必要となり、その結果、このソフトウェア開発者は、これらの可能性のある非常に多数の組合せごとに、パッチについて適切な命令を含む１つのソフトウェアパッチを配布することになり、この結果、非常に大規模なソフトウェアパッチが配布されることになる可能性がある。別の可能性は、このソフトウェア開発者が、個別のソフトウェアパッチを配布することであり、ここではそれぞれのパッチが、可能性のある非常に多数の組合せのうちの特定の１つを対象とし、またそのエンドユーザは、自分がどのパッチを必要としているかを理解する必要がある。この結果、この非常に多数の個別のパッチのうちから適切なパッチを選択するに際して、このエンドユーザ側にさらなる努力および／または知識が必要となってしまう可能性がある。
【課題を解決するための手段】
【０００６】
ソフトウェアセットアップのための、言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージについて、本明細書中で説明している。
【０００７】
ある種の態様によれば、第１のファイルのグループのための第１のインストレーションパッケージが、あるプログラムについて作成される。この第１のファイルのグループは、このプログラムについての言語に中立なファイルを含んでいるが、このプログラムについての言語に固有のファイルは含んでいない。第２のファイルのグループのための第２のインストレーションパッケージもまた、このプログラムについて作成される。この第２のファイルのグループは、このプログラムについての言語に固有のファイルを含んでいる。
【０００８】
さらなる態様によれば、この第１および第２のインストレーションパッケージは、ターゲットコンピュータ上に後でインストールするために１つまたは複数の配布媒体上に記憶することもできる。追加の言語に固有のファイルのグループのための追加のインストレーションパッケージもまた、作成し、１つまたは複数の配布媒体上に記憶することができる。
【０００９】
同様なコンポーネントおよび／または特徴を参照するために、同じ番号が、この書類全体にわたって使用される。
【発明を実施するための最良の形態】
【００１０】
ソフトウェアセットアップのための、言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージについて本明細書中で説明している。これらのパッケージは、ソフトウェアプログラムについてのこれらのローカライズされたファイルからの別々の１つ（または複数）のインストレーションパケット（ｉｎｓｔａｌｌａｔｉｏｎ  ｐａｃｋｅｔ）にこのソフトウェアプログラムのためのグローバルファイル（ｇｌｏｂａｌ  ｆｉｌｅ）を関連づける。これらのグローバルファイルは、言語に中立なファイルであるが、これらのローカライズされたファイルは、特定の言語に特有のファイルである。インストレーションパッケージは、これらのグローバルファイル、ならびに異なる言語についてのこれらのローカライズされたファイルについて生成される。次いで、配布媒体は、このグローバルファイルインストレーションパッケージ、ならびに１つまたは複数のこれらのローカライズされたファイルのインストレーションパッケージを含むように生成することができる。
【００１１】
図１は、配布媒体の生成の一実施例を示すブロック図である。この配布媒体は、（プログラムをインストールすることとも呼ばれる）プログラムを１台（または複数台）のターゲットコンピュータ上へとセットアップするためのインストレーションパッケージを記憶する。このプログラムは、生産性プログラム（例えば、ワードプロセッシングプログラム、スプレッドシートプログラム、データベースプログラム、描画プログラムなど）、参照プログラム（例えば、辞書プログラム、百科事典プログラムなど）、教育プログラム、ゲームプログラムまたは他のレクリエーションプログラムなど、様々な異なるプログラムのうちのどれにすることもできる。以下でより詳細に説明するように、このプログラムは、英語、フランス語、ドイツ語、スペイン語、日本語、中国語、トルコ語など様々な異なる言語にローカライズすることができる。
【００１２】
ソフトウェアプログラムまたはアプリケーションについてのプログラムファイル１０２は、１つまたは複数のグローバルファイルの集まり１０４、第１の言語についての１つまたは複数のローカライズされたファイルの集まり１０６、第２の言語についての１つまたは複数のローカライズされたファイルの集まり１０８、および第３の言語についての１つまたは複数のローカライズされたファイルの集まり１１０へとグループ分けすることができる。ローカライズされたファイルの３つの集まりが図１には示されているが、ローカライズされたファイルの追加の集まりを、プログラムファイル１０２中に含めて、追加の言語をサポートすることもできることを理解されたい。さらに、３カ国語未満の言語が望ましい場合には、より少ない数のローカライズされたファイルの集まりをプログラムファイル１０２中に含めることもできる。
【００１３】
１つのプログラムについてのプログラムファイル１０２が、図１に示されているが、グローバルファイルと、異なる言語についての異なるローカライズされたファイルにグループ分けされた同様なプログラムファイルの集まりを追加プログラムのために含めることもできることも理解されたい。さらに、複数の異なるプログラムのためのこれらのプログラムファイルをプログラムスイートとして一緒にグループ分けすることもできる。例えば、同じプログラムスイートの一部分であるいくつかの異なるプログラムについてのすべてのグローバルファイルは、１つのファイルの集まりに一緒にグループ分けすることができる。
【００１４】
グローバルファイル１０４は、このプログラムについての言語に中立なファイルである。この言語に中立なファイルは一般的に、実行可能なバイナリファイル、またはコンパイルし実行してこのプログラムを実行することができる命令のファイルを含んでいる。この言語に中立なファイルはまた、実行されるときにこのプログラムが使用するコンフィギュレーションデータ（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｄａｔａ）を含むこともできる。この言語に中立なファイルは、このプログラムのどの言語バージョンが実行されているかに関係なく同じである。例えば、この言語に中立なファイルは、このプログラムの英語バージョン、このプログラムのフランス語バージョン、このプログラムの日本語バージョンなどについて、同じである。
【００１５】
これらのローカライズされた各ファイル１０６、１０８および１１０は、他方において特定の言語にローカライズされた言語に固有のファイルを含んでいる。例えば、ローカライズされたファイル１０６は、英語のファイルとすることができるが、ローカライズされたファイル１０８は、日本語のファイルとすることができ、またローカライズされたファイル１１０は、フランス語のファイルとすることができる。これらのローカライズされたファイルは、このプログラムのどの言語バージョンを実行すべきかに基づいて変化する、このプログラムについてのこれらのファイルであり、これにより、このプログラムのユーザは、彼らの選択した言語でこのプログラムと対話することができるようになる。これらのローカライズされたファイルは、例えば、このプログラムのユーザに表示されるヘルプ情報についてのデータを含むヘルプファイルを含んでいる。これらのローカライズされたファイルはまた、例えばツールバー、メニュー、ダイアログボックス、表示アイコンなどのユーザインターフェース表示エレメントを識別するコンフィギュレーションファイル（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｆｉｌｅ）を含むこともできる。これらのローカライズされたファイルは、例えばこのプログラムと共に使用すべきテンプレートおよびサンプルドキュメントをさらに含むことができる。
【００１６】
対応する別々のインストレーションパッケージ１１４、１１６、１１８、および１２０は、これらのファイルの集まり１０４、１０６、１０８、および１１０ごとに作成される。インストレーションパッケージ１１４は、グローバルファイル１０４に対応し、インストレーションパッケージ１１６は、ローカライズされたファイル１０６に対応し、インストレーションパッケージ１１８は、ローカライズされたファイル１０８に対応し、インストレーションパッケージ１２０は、ローカライズされたファイル１１０に対応する。各インストレーションパッケージ１１４、１１６、１１８、および１２０は、このプログラムが、このターゲットコンピュータ上で適切に実行されるようにするために、その対応するファイルをどのようにしてターゲットコンピュータ上にインストールすべきかについての命令を含んでいる。これらの命令は、このプログラムがインストールされているターゲットコンピュータにおけるアプリケーションインストーラ（ａｐｐｌｉｃａｔｉｏｎ  ｉｎｓｔａｌｌｅｒ）によってアクセスされ、実行される。
【００１７】
これらのインストレーションパッケージは、ユーザが供給するコンフィギュレーション情報以外の、このアプリケーションインストーラがこのプログラムをインストールするために必要となるすべての情報が、このインストレーションパッケージ中に含まれるように設計することができる。代わりに、このアプリケーションインストーラがこのプログラムをインストールするために必要な一部の情報は、このインストレーションパッケージの外部にあるが、このインストレーションパッケージに関連する１つ（または複数）のファイルに含めることもできる。特定のインストレーションパッケージに関連する特定のこの１つ（または複数）のファイルをどこで取得することができるかを示す指示は、この特定のインストレーションパッケージ中に含めることができ、あるいは代わりにこの特定の１つ（または複数）のファイルは、このターゲットコンピュータにおけるアプリケーションインストーラに知られている特定の規約または技法に従うロケーションに記憶することができる。
【００１８】
これらのインストレーションパッケージ１１４、１１６、１１８、および１２０中には、様々な異なるタイプの命令を含めることが可能である。例えば、これらのインストレーションパッケージは、インストレーション中にこのターゲットコンピュータのどのディレクトリまたはフォルダに、これらの対応するファイルのうちの特定のファイルを記憶すべきかを示す命令を含むことができる。他の例として、このインストレーションパッケージは、このターゲットコンピュータ上で作成すべきショートカットを示す命令を含むことができる。さらに他の例として、このインストレーションパッケージは、このプログラムをインストールするためにユーザに提示すべき、またユーザが受け入れるべき１つ（または複数）のライセンス契約に関する命令を含むことができる。さらに他の例として、このプログラムについてのこれらのファイルは圧縮することができ、このインストレーションパッケージは、どのファイルが圧縮され、どのようにしてこれらのファイルを伸張するかを示す命令を含むことができる。さらなる例として、このインストレーションプロセス中にアプリケーションインストーラに対して様々なコンフィギュレーション情報を供給する必要があることもあり、このインストレーションパッケージ中でどのようなコンフィギュレーション情報が必要になり得るかを識別することができる。このコンフィギュレーション情報は、例えば、このターゲットコンピュータ上のどのディレクトリまたはフォルダに対してこのプログラムをインストールすべきかを示す指示、このプログラムの複数のコンポーネントのうちのどれをインストールすべきかを示す指示、（名前、アドレス、電話番号、電子メールアドレスなどの）ユーザ登録情報などとすることができる。どのような情報が必要とされるかについてのプロンプトをこのユーザに対して提示することができ、このユーザは、自分の選択を手動で入力することができる。代わりに、この情報をこのアプリケーションインストーラに対して自動的に提供するスクリプトファイルを、（システムアドミニストレータなどの）このユーザが生成することもできる。
【００１９】
これらの各インストレーションパッケージ１１４、１１６、１１８、および１２０は、その対応するファイルの集まり１０４、１０６、１０８、および１１０を含むこともできる。ある場合には、これらのファイルは、このインストレーションパッケージ中に含められるのに先立って圧縮され、次いでこのインストレーションプロセスの一部分として伸張される。様々な圧縮アルゴリズムのうちのどれでも、これらのファイルを圧縮するために使用することができる。一般的には、１つ（または複数）の可逆的圧縮アルゴリズムが、これらのファイルを圧縮する際に使用されるが、（イメージまたは他のビデオデータが圧縮されているときなど）一部の状況においては、１つ（または複数）の非可逆的圧縮アルゴリズムを代わりに使用することもできる。どの伸張アルゴリズムを使用するかなど、これらのファイルをどのようにして伸張するかを示す指示は、この対応するインストレーションパッケージ中に含めることもでき、あるいは代わりにこのターゲットコンピュータにおけるこのアプリケーションインストーラが知っていることもある。
【００２０】
代わりに、これらのインストレーションパッケージ１１４、１１６、１１８、および１２０中に、対応するファイルの集まりを含めるのではなくて、これらのインストレーションパッケージとは別にこれらの対応するファイルの集まりを記憶することができる。例えば、各インストレーションパッケージは、１つのファイルとして記憶することができるが、一方、対応するファイルの各集まりは、別のファイルとして記憶することができる。これらのファイルの集まりが、これらのインストレーションパッケージとは別に記憶される場合にも、これらのファイルの集まりは、依然としてこれらのインストレーションパッケージに関連づけられる。これらのファイルがどこで取得できるかを示す指示は、これらのインストレーションパッケージに含めることができ、あるいは代わりに、これらのファイルは、このターゲットコンピュータにおけるこのアプリケーションインストーラに知られている特定の規約または技法に従ったロケーションに記憶することもできる。例えば、このファイルの集まりは、圧縮し、このインストレーションパッケージと同じディレクトリ中の１つのファイルとして記憶することができる。
【００２１】
このインストレーションパッケージ中に、追加のメタデータを含めることもできる。このメタデータは、例えば、インストールされるプログラム、インストールされるファイル、このインストレーションパッケージそれ自体などを記述することができる。代わりに、このインストレーションパッケージ中に含めるのではなくて、かかるメタデータは、前述のこれらのファイルの集まりに類似して、アプリケーションインストーラからアクセス可能であるが別に記憶することもできる。また前述のこれらのファイルの集まりに類似して、このメタデータは、オプションとして圧縮することができ、このインストレーションパッケージ、またはこのターゲットコンピュータにおけるアプリケーションインストーラは、この圧縮されたメタデータをどのようにして伸張すべきかについて知っている。
【００２２】
Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステム下でインストールされるプログラムについてしばしば使用されるインストレーションパッケージの特定の一実施例は、「ｍｓｉ」ファイル、または「ＭＳＩ」ファイルと呼ばれる。この対応するプログラムファイルをどのようにしてインストールすべきかについての命令が、ｍｓｉファイル中に含められる。これらのファイルの集まりは、圧縮され、「ｃａｂ」ファイル、または「ＣＡＢ」ファイルと呼ばれるファイル中に含められる。それぞれが、このインストレーションパッケージについてのメタデータを記憶する、１つまたは複数のＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ拡張マークアップ言語）ファイルも含めることができる。
【００２３】
次いでインストレーションパッケージ１１４、１１６、１１８、および１２０は、１つまたは複数の配布媒体１２４、１２６および１２８上に記憶することができる。インストレーションパッケージ１１４、１１６、１１８、および１２０の異なる組合せは、異なる配布媒体上に記憶することができ、異なる言語についてローカライズされたファイルを有する異なる配布媒体がもたらされる。しかし、これらの異なる組合せのそれぞれは、言語に中立なファイル１０４を有する同じインストレーションパッケージ１１４を含むことになる。
【００２４】
配布媒体１２４は、インストレーションパッケージ１１４および１１６を含んでおり、したがって配布媒体１２４上で配布されるプログラムは、ローカライズされたファイル１０６の言語にローカライズされる。配布媒体１２６は、インストレーションパッケージ１１４および１１８を含んでおり、したがって配布媒体１２６上で配布されるプログラムは、ローカライズされたファイル１０８の言語にローカライズされる。配布媒体１２８は、インストレーションパッケージ１１４、１１６、および１２０を含んでおり、したがって配布媒体１２８上で配布されるプログラムは、ローカライズされたファイル１０６および１１０の言語にローカライズされる。
【００２５】
３つの配布媒体が、図１に示されている。４つ以上の異なる言語または言語の組合せについてローカライズされた４つ以上の配布媒体を作成することができることを理解されたい。同様に、１つまたは２つの異なる言語、あるいは言語の組合せについてしかローカライズされていない１つまたは２つの配布媒体しか作成されないこともあることを理解されたい。
【００２６】
また、この同じ配布媒体の複数のコピーが、一般的に作成されることになることも理解されたい。例えば、ローカライズされたファイル１０６が英語にローカライズされる場合には、この英語にカスタマイズされたプログラムを記憶する配布媒体１２４は、数万または数十万個のコピーが作成され、配布されることもある。
【００２７】
配布媒体１２４、１２６、および１２８として、様々な異なるタイプの媒体を使用することができる。この配布媒体は、光ディスク（例えば、ＣＤまたはＤＶＤ）、着脱可能な磁気ディスク（例えば、フロッピー（登録商標）ディスクまたはＩｏｍｅｇａ（登録商標）Ｚｉｐ（登録商標）ディスク）、他の磁気ディスク（例えば、コンピュータまたはサーバ中のハードディスク）、ソリッドステートメモリ（例えば、コンパクトフラッシュ（登録商標）カード（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ  ｃａｒｄ）、ポータブルＵＳＢフラッシュメモリデバイス、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌセキュアデジタル）カードなど）など、任意のタイプのコンピュータ読取り可能媒体とすることが可能である。この配布媒体は、このインストレーションパッケージと同じシステムにローカルに配置することもでき、あるいは代わりにこのインストレーションパッケージが記憶されるシステムからリモートに配置することもできる。例えば、この配布媒体は、ネットワーク上でアクセスされるサーバまたは他のコンピュータに配置することもできる。さらに、このインストレーションパッケージの同じ組合せは、複数の異なるタイプの媒体上に配置することもできる。例えば、インストレーションパッケージ１１４および１１８は、共にＣＤ、ＤＶＤ、ならびに磁気ディスク上に配置することができる。
【００２８】
ある種の状況においては、この配布媒体のストレージ容量、およびこのインストレーションパッケージのサイズに応じて、複数の配布媒体にまたがって１つのプログラムのためのインストレーションパッケージを拡張する必要がある場合もある。例えば、このグローバルインストレーションパッケージおよび英語にローカライズされたインストレーションパッケージは、記憶するために２枚のＣＤ、あるいは代わりにちょうど１枚のＤＶＤを必要とするほど十分に大規模であることもある。
【００２９】
図２は、ソフトウェアセットアップのための言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージを使用することができる、一例の環境１６０を示すブロック図である。環境１６０は、ストレージデバイス１６４を有するコンピュータ１６２を含んでいる。ストレージデバイス１６４は、ソフトウェアプログラムについての複数（ｘ）個のインストレーションパッケージ１６６、１６８および１７０を含んでいる。インストレーションパッケージ１６６、１６８および１７０のうちの１つは、このソフトウェアプログラムについてのグローバルファイルを含み、あるいはこのグローバルファイルをそれに関連づけることになるが、残りのインストレーションパッケージ１６６、１６８および１７０は、このソフトウェアプログラムについての特定の言語用のローカライズされたファイルを含み、あるいはこのローカライズされたファイルをこれらのパッケージに関連づけることになる。インストレーションパッケージ１６６、１６８、および１７０のすべては、図２においてコンピュータ１６２の一部分である同じストレージデバイス１６４上に記憶されるものとして示されているが、代わりに、（おそらくインストレーションパッケージ１６６、１６８および１７０のすべてを含めて）１つまたは複数のインストレーションパッケージ１６６、１６８および１７０は、コンピュータ１６２の一部分である異なるストレージデバイス上、あるいはネットワークを介してコンピュータ１６２に結合されるサーバコンピュータ上のストレージデバイスなどコンピュータ１６２とは別の異なるストレージデバイス上に記憶することもできる。
【００３０】
インストレーションパッケージ１６６、１６８、および１７０の様々な組合せを複数の配布媒体１７２上に記憶することができる。各配布媒体１７２は、このソフトウェアプログラムについてのグローバルファイルを含み、またはグローバルファイルをそれに関連づけているインストレーションパッケージと、このソフトウェアプログラムについての特定の言語用のローカライズされたファイルを含み、またはこのローカライズされたファイルをそれに関連づけている少なくとも１つの他のインストレーションパッケージとをその上に記憶していることになる。配布媒体１７２は、一般的にインストレーションパッケージのこの同じ組合せを有する複数のコピーを含んでいる。
【００３１】
次いで、配布媒体１７２は、複数（ｙ）台のターゲットコンピュータ１７４、１７６、および１７８にとって使用可能にされる。ターゲットコンピュータ１７４、１７６および１７８のうちの異なるコンピュータは、異なる配布媒体１７２を使用することも可能であり、あるいは代わりにターゲットコンピュータ１７４、１７６および１７８のうちの２台以上のコンピュータが１つの配布媒体を共用することもできる。配布媒体１７２上のインストレーションパッケージからこのソフトウェアプログラムをインストールするために、各ターゲットコンピュータ１７４、１７６および１７８上のアプリケーションインストーラが実行される。
【００３２】
ターゲットコンピュータ１７４、１７６、および１７８により、複数の異なる配布媒体１７２から異なるインストレーションパッケージを取得することができることに留意されたい。例えば、ソフトウェアプログラムの言語に中立なファイル、および英語バージョンについてのローカライズされたファイルは、その上にこれらの対応するインストレーションパッケージが記憶されているＣＤを購入することにより取得することができるが、一方、このソフトウェアプログラムについてのスペイン語バージョンについてのローカライズされたファイルは、異なるＣＤを購入することにより、あるいはインターネット（または他の何らかのネットワーク）上のサーバからスペイン語のファイルに対応するインストレーションパッケージをダウンロードすることによって取得することができる。
【００３３】
図３は、言語に中立なパッケージ、および言語に固有のパッケージを有する配布媒体を作成するための一例のプロセス２００を示すフローチャートである。プロセス２００は、例えば図２のコンピュータ１６２などのコンピュータによって実施される。プロセス２００は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せの形で実装することができる。
【００３４】
最初に、このソフトウェアプログラムの言語に中立なファイルの集まりについての第１のインストレーションパッケージが作成される（動作２０２）。さらに、このソフトウェアプログラムがサポートする言語ごとに、この言語についての言語に固有のファイルの集まりについての追加のインストレーションパッケージが作成される（動作２０４）。前述のように、このインストレーションパッケージは、例えばこれらの対応するプログラムファイルをどのようにしてインストールすべきかについての命令、この対応するファイルの集まり、およびメタデータを含むことができる。
【００３５】
ファイルの各集まり中の個々のファイルは、異なる方法で識別することができる。一般的に、ソフトウェアプログラム設計者は、このプログラムの所望の機能を実施するように一緒に動作する複数の異なるコンポーネントとして自分達のプログラムを設計する。これらのコンポーネントは、例えばバイナリファイル、または他の実行可能な命令の組、（ＤＬＬ（ｄｙｎａｍｉｃ−ｌｉｎｋ  ｌｉｂｒａｒｉｅｓダイナミックリンクライブラリ）などの）ライブラリ、コンフィギュレーションデータなどを含んでいる。ソフトウェアプログラム設計者は、一般的に設計者らがサポートすることを意図する異なる言語についての異なるサポートを含めるために異なるコンポーネントを設計する。例えば、英語のプログラム用のヘルプ機能をサポートするデータは、１つのコンポーネントとなるはずであり、フランス語のプログラム用のヘルプ機能をサポートするデータは、別のコンポーネントとなるはずであり、日本語のプログラム用のヘルプ機能をサポートするデータは、別のコンポーネントとなるはずである、などとなる。
【００３６】
ファイルの各集まりの一部分である個々のファイルは、このソフトウェアプログラムのこれらの異なるコンポーネントに基づいている可能性がある。例えば、このソフトウェアプログラムの設計者は、個々のコンポーネントのリストを生成することによりなど、ファイルのどの集まりにどのコンポーネントを含めるべきか、およびファイルのどの集まりにそれぞれが属するかを識別することができる。他の例として、このソフトウェアプログラムの設計者は、これらの言語に中立なファイルについては異なるファイル名拡張子を、またこれらのローカライズされたファイルについてはこれらの異なる言語のそれぞれをなど、特定の命名規則を使用することができる。さらに他の例として、このソフトウェアプログラムの設計者は、この言語に中立なファイル、ならびに各異なる言語についてのローカライズされたファイルを、異なるディレクトリやフォルダなど異なるロケーションに記憶することができる。このディレクトリ名またはフォルダ名それ自体、あるいは代替的な他の何らかのリストは、どのディレクトリまたはフォルダが、ファイルのどの集まりについてのファイルを記憶しているかを示すことができる。
【００３７】
この第１のインストレーションパッケージと、この１つまたは複数の追加のインストレーションパッケージが選択される（動作２０６）。これらの追加のインストレーションパッケージのうちのどの１つまたは複数のパッケージが選択されるかは、作成される配布媒体についての所望の言語サポートに基づいて変化する。どの言語をサポートすべきかを特定するユーザ選択を受信することができ、あるいは代わりにこの選択を自動化することができる。例えば、プロセス２００は、動作２０６を複数回反復し、毎回、異なる１つまたは複数の追加の言語インストレーションパッケージを選択することもできる。
【００３８】
次いで、動作２０６において選択されるインストレーションパッケージ、ならびに（この対応するファイルの集まりなど）インストレーションパッケージに関連する任意のファイルが、１つまたは複数の配布媒体上に保存される（動作２０８）。前述のように、この配布媒体は、様々なコンピュータ読取り可能媒体のうちのどれにすることも可能である。プロセス２００は、オプションとして動作２０６および２０８を複数回反復して、異なるインストレーションパッケージがその上に記憶されている異なる配布媒体を生成することができる。
【００３９】
プロセス２００は、この同じローカライズされた言語がすべての配布媒体上に含まれるという要件を含んでいないことに留意されたい。異なる配布媒体上に含まれる特定の１つ（または複数）の言語は、変化する可能性がある（その上に他のローカライズされたファイルをインストールする必要があり、このターゲットコンピュータ上で最初にインストールする必要がある、すべての配布媒体にわたって共通の基本言語は存在しない）。そうではなくて、これらの追加のインストレーションパッケージのうちのどの１つまたは組合せもこの配布媒体上に含めることができる。
【００４０】
さらに、各ソフトウェアプログラムに関連する同じインストレーションパッケージを使用して、このソフトウェアプログラムの異なる集まりを有する、異なる配布媒体を作成することができることに留意されたい。図４は、インストレーションパッケージの再使用を示すブロック図である。
【００４１】
図４には、ワードプロセッシングソフトウェアアプリケーション２４０およびスプレッドシートソフトウェアアプリケーション２４２が示されている。ワードプロセッシングアプリケーション２４０について、３つのインストレーションパッケージ、すなわちアプリケーション２４０についての言語に中立なファイルに対応するインストレーションパッケージ２４４と、アプリケーション２４０についての英語にローカライズされたファイルに対応するインストレーションパッケージ２４６と、アプリケーション２４０についてのフランス語にローカライズされたファイルに対応するインストレーションパッケージ２４８が、前もって作成されている。また、スプレッドシートアプリケーション２４２について、３つのインストレーションパッケージ、すなわちアプリケーション２４２についての言語に中立なファイルに対応するインストレーションパッケージ２５２と、アプリケーション２４２についての英語にローカライズされたファイルに対応するインストレーションパッケージ２５４と、アプリケーション２４２についてのフランス語にローカライズされたファイルに対応するインストレーションパッケージ２５６が、前もって作成されている。
【００４２】
インストレーションパッケージ２４４、２４６、および２４８を含む第１の配布媒体２６０を作成することができる。このようにして配布媒体２６０を使用して、英語および／またはフランス語のワードプロセッシングアプリケーションをインストールすることができる。インストレーションパッケージ２５２および２５６を含む第２の配布媒体２６２を作成することができる。このようにして配布媒体２６２を使用して、フランス語のスプレッドシートアプリケーションをインストールすることができる。インストレーションパッケージ２４４、２４８、２５２、および２５６を含む第３の配布媒体２６４を作成することもできる。このようにして配布媒体２６４を使用して、フランス語のワードプロセッシングアプリケーションもスプレッドシートアプリケーションも共に含むアプリケーションスイートをインストールすることができる。
【００４３】
図４は、２つのアプリケーションについてのインストレーションパッケージを再使用する一実施例を示しているが、３つ以上のアプリケーションについてのインストレーションパッケージを含む追加の配布媒体を作成することもできることを理解されたい。
【００４４】
代わりに、これらの２つのアプリケーションについて２つの別々の言語に中立なグローバルインストレーションパッケージ２４４および２５２を有するのではなく、これらの対応するファイルを一緒に集め、同じインストレーションパッケージの一部分とすることもできる。
【００４５】
本明細書中で説明している言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージは、ユーザに送付されることがあるソフトウェアパッチのサイズの減少をもたらすことができることに留意されたい。かかるパッチは、このターゲットコンピュータにおいて実行される命令であり、このターゲットコンピュータでは、アプリケーションがインストールされて、例えばこのアプリケーションに新しい機能を追加し、このアプリケーション中で見出された課題または問題を訂正することなどが行われる。例えば、アプリケーション２４０のグローバルファイルの１つにおいて見出された問題を訂正するために、パッチがワードプロセッシングアプリケーション２４０のユーザに使用可能にされるものと想定する。このパッチは、この問題を訂正するために実行される１組の命令と、おそらくそれらの命令に関連するデータとを含むはずである。この同じパッチは、これらのバージョンがアプリケーション２４０のスタンドアローンバージョンであるか、より大規模なアプリケーションスイートの一部分であるバージョンであるかに関係なく、ワードプロセッシングアプリケーション２４０のすべてのバージョンについて使用することができる。さらに、この同じパッチは、アプリケーション２４０の特定のコピーがどの言語にローカライズされるかにかかわらず、ワードプロセッシングアプリケーション２４０について使用することができる。アプリケーション２４０のこれらの異なるローカライズされたバージョンのすべては、インストレーションパッケージ２４４に関連する同じ言語に中立なファイルに依存している。
【００４６】
図５は、配布媒体上に記憶されるインストレーションパッケージの一実施例を示すものである。配布媒体３００は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅアプリケーションスイートをインストールするためのインストレーションパッケージを記憶する。第１のフォルダ、すなわち一般的に配布媒体３００のルートフォルダまたはディレクトリは、第１の組のフォルダおよびファイル３０２を含んでいる。「Ａｕｔｏｒｕｎ．ＩＮＦ」ファイルは、配布媒体３００がドライブに挿入され、あるいはコンピュータに結合されるときに、配布媒体３００が、「Ｓｅｔｕｐ．ｅｘｅ」プログラムであるインストーラアプリケーションを自動的に実行して、このインストレーションプロセスを開始することができるようにするための命令を含んでいる。この組３０２中の追加のファイルは、この「Ｓｅｔｕｐ．ｅｘｅ」プログラムをサポートし、このインストレーションプロセス中に使用することができるファイルを含んでいる。
【００４７】
図５に示す実施例においては、このＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅアプリケーションスイートの実施例のバージョンは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ａｃｃｅｓｓ、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｅｘｃｅｌ、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｕｔｌｏｏｋ（登録商標）のメッセージングおよびコラボレーションクライアント、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＰｏｗｅｒＰｏｉｎｔ（登録商標）プレゼンテーショングラフィックスプログラム、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｐｕｂｌｉｓｈｅｒ、およびＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄを含んでいる。
【００４８】
図５に示す実施例においては、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅアプリケーションスイートの一部分であるアプリケーションごとの言語に中立なファイルの集まりごとに別々のインストレーションパッケージをもつのでなく、（以下でより詳細に説明するように、校正ツール（ｐｒｏｏｆｉｎｇ  ｔｏｏｌ）を除いて）このＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅアプリケーションスイートのすべてについて、１つのインストレーションパッケージが含められる。フォルダ３０４として展開してその内容を示している「Ｐｒｏ．ＷＷ」フォルダは、このバージョンのＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅ中のアプリケーションごとに言語に中立なグローバルファイルを含んでいる。フォルダ３０４において、ファイル「ＰｒｏＷＷ．ｍｓｉ」は、このインストレーションパッケージであり、ファイル「ＰｒｏＷＷ．ｃａｂ」および「ＯｆｆｉｃｅＷＷ．ＣＡＢ」は、（圧縮形式の）対応する言語に中立なファイルの集まりであり、また「ｓｅｔｕｐ．ｘｍｌ」ファイルおよび「ＰｒｏＷＷ．ｘｍｌ」ファイルは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅをインストールするためのメタデータを記憶する。
【００４９】
このバージョンのＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅアプリケーションスイート中に含められるこれらの異なるアプリケーションのそれぞれを英語にローカライズするための異なるフォルダが、組３０２中に含まれる。これらのフォルダは、「ｅｎ−ＵＳ」拡張子を含めることによって示される。したがって、この実施例においては、たとえこれらの言語に中立なファイルが１つのインストレーションパッケージの一部分であったとしても、これらの言語に固有のローカリゼーションファイルは、別々のインストレーションパッケージである。代わりに、言語に固有のローカリゼーションファイルのうちの２つまたはそれ以上が１つのインストレーションパッケージに含められている可能性もある。
【００５０】
これらのフォルダのうちの１つのフォルダ、すなわち「Ｅｘｃｅｌ．ｅｎ−ＵＳ」フォルダをフォルダ３０６として展開して、その内容を示している。フォルダ３０６において、ファイル「ＥｘｃｅｌＭＵＩ．ｍｓｉ」は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｅｘｃｅｌについての英語ローカリゼーションのためのインストレーションパッケージであり、ファイル「ＥｘｃｅｌＭＵＩ．ｃａｂ」は、（圧縮形式における）言語に固有のファイルの対応する集まりであり、「ｓｅｔｕｐ．ｘｍｌ」ファイルおよび「ＥｘｃｅｌＭＵＩ．ｘｍｌ」ファイルは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｅｘｃｅｌについてのこれらの言語に固有のファイルをインストールするためのメタデータを記憶する。
【００５１】
これらのフォルダのうちの別のフォルダ、すなわち「Ｏｆｆｉｃｅ．ｅｎ−ＵＳ」フォルダをフォルダ３０８として展開して、その内容を示している。フォルダ３０８は、スペルチェッカ、文法チェッカ、ハイフネータ（ｈｙｐｈｅｎａｔｏｒ）、シソーラスなど、このＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅアプリケーションスイートについての校正ツールのためのインストレーションパケットを含んでいる。この例示の実施例においては、様々な校正ツールが、この同じインストレーションパケットの一部分として含められ、またはこの同じインストレーションパケットに関連づけられる。代わりに、この異なる校正ツールは、異なるインストレーションパケットの一部分として含め、または異なるインストレーションパケットに関連づけることもできる。このバージョンのＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅ中には、英語、スペイン語、フランス語についての校正ツールが含まれる。このファイル「ＯｆｆｉｃｅＭＵＩ．ｍｓｉ」は、これらの校正ツールについてのインストレーションパッケージであり、英語、スペイン語、およびフランス語のそれぞれについての言語に固有のローカリゼーションファイルは、フォルダ３０８の別々のサブフォルダ（英語のファイルについての「Ｐｒｏｏｆ．ｅｎ」、スペイン語のファイルについての「Ｐｒｏｏｆ．ｅｓ」、フランス語のファイルについての「Ｐｒｏｏｆ．ｆｒ」）として含められる。ファイル「ＯｆｆｉｃｅＭＵＩ．ｃａｂ」は、この校正ツールについての言語に中立なファイルの対応する集まりであり、これらの「ｓｅｔｕｐ．ｘｍｌ」ファイルおよび「ＯｆｆｉｃｅＭＵＩ．ｘｍｌ」ファイルは、これらの校正ツールをインストールするためのメタデータを記憶する。
【００５２】
この「Ｐｒｏｏｆ．ｅｎ」フォルダは、フォルダ３１０として展開されて、その内容を示している。フォルダ３１０において、ファイル「Ｐｒｏｏｆ．ｍｓｉ」は、この校正ツールについての英語ローカリゼーションのためのインストレーションパッケージであり、ファイル「Ｐｒｏｏｆ．ｃａｂ」は、（圧縮形式における）言語に固有のファイルの対応する集まりであり、ファイル「Ｐｒｏｏｆ．ｘｍｌ」は、これらの校正ツールについてのこれらの言語に固有のファイルをインストールするためのメタデータを記憶する。
【００５３】
図６は、本明細書中で説明しているソフトウェアセットアップのための言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージを使用することができる一般的なコンピュータ環境４００を示している。このコンピュータ環境４００は、コンピューティング環境の一実施例にすぎず、このコンピュータアーキテクチャおよびネットワークアーキテクチャの用途および機能の範囲についてのどのような限定も示唆することを意図してはいない。また、コンピュータ環境４００は、例示のコンピュータ環境４００に示されるコンポーネントのいずれか１つまたはいずれかの組合せに関連したどのような依存性または要件を有するものとも解釈すべきでもない。
【００５４】
コンピュータ環境４００は、コンピュータ４０２の形態の汎用コンピューティングデバイスを含んでいる。コンピュータ４０２は、例えば図２のコンピュータ１６２とすることができる。コンピュータ４０２のコンポーネントは、それだけには限定されないが１つまたは複数のプロセッサまたは処理装置４０４と、システムメモリ４０６と、このプロセッサ４０４を含めて様々なシステムコンポーネントをシステムメモリ４０６に結合するシステムバス４０８とを含むことができる。
【００５５】
システムバス４０８は、メモリバスまたはメモリコントローラ、ペリフェラルバス、グラフィック専用高速バス（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）、および様々なバスアーキテクチャのうちのどれかを使用したプロセッサバスまたはローカルバスを含めて、いくつかのタイプのバス構造のどれかのうちの１つまたは複数のものを表す。例として、かかるアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ業界標準アーキテクチャ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅマイクロチャネルアーキテクチャ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ拡張ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎビデオエレクトロニクス規格協会）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔペリフェラルコンポーネント相互接続）バスを含むことができる。
【００５６】
コンピュータ４０２は、一般的に様々なコンピュータ読取り可能媒体を含んでいる。かかる媒体は、コンピュータ４０２によってアクセス可能な使用可能な任意の媒体とすることができ、揮発性媒体も、不揮発性媒体も、着脱可能媒体も、固定媒体も含んでいる。
【００５７】
システムメモリ４０６は、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙランダムアクセスメモリ）４１０などの揮発性メモリ、および／またはＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ読取り専用メモリ）４１２などの不揮発性メモリの形態のコンピュータ読取り可能媒体を含んでいる。起動中などコンピュータ４０２内のエレメント間で情報を転送する助けを行う基本ルーチンを含むＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ基本入出力システム）４１４は、ＲＯＭ４１２に記憶される。ＲＡＭ４１０は一般的に、処理装置４０４にとってすぐにアクセス可能であり、または処理装置４０４によって現在動作させられており、あるいはその両方が行われるデータおよび／またはプログラムモジュールを含んでいる。
【００５８】
コンピュータ４０２は、他の着脱可能／固定の、揮発性／不揮発性コンピュータストレージ媒体を含むこともできる。例として、図６は、固定不揮発性磁気媒体（図示せず）から情報を読み取り、それに情報を書き込むハードディスクドライブ４１６、着脱可能な不揮発性磁気ディスク４２０（例えば、「フロッピー（登録商標）ディスク」）から情報を読み取り、それに情報を書き込む磁気ディスクドライブ４１８、ならびにＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭや他の光媒体など着脱可能な不揮発性光ディスク４２４から情報を読み取り、またはそれに情報を書き込み、あるいはその両方を行う光ディスクドライブ４２２を示している。ハードディスクドライブ４１６、磁気ディスクドライブ４３２、および光ディスクドライブ４２２は、それぞれ１つまたは複数のデータ媒体インターフェース４２５によってシステムバス４０８に接続される。代わりに、ハードディスクドライブ４１６、磁気ディスクドライブ４３２、および光ディスクドライブ４２２は、１つまたは複数のインターフェース（図示せず）によってシステムバス４０８に接続することもできる。コンピュータ４０２に結合されたＵＳＢフラッシュデバイスなど、コンピュータ４０２の一部分として、追加のコンピュータストレージ媒体を含めることもできる。
【００５９】
これらのディスクドライブおよびこれらに関連するコンピュータ読取り可能媒体は、コンピュータ４０２のためのコンピュータ読取り可能命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。この実施例は、ハードディスク４１６、着脱可能磁気ディスク４２０、および着脱可能光ディスク４２４を示しているが、磁気カセットまたは他の磁気ストレージデバイス、フラッシュメモリカード、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋデジタル多用途ディスク）または他の光ストレージ、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ電気的消去可能プログラマブル読取り専用メモリ）など、コンピュータによってアクセス可能なデータを記憶することができる、他のタイプのコンピュータ読取り可能媒体を利用して、例示のコンピューティングシステムおよびコンピューティング環境を実装することもできることを理解されたい。
【００６０】
例としてオペレーティングシステム４２６、１つまたは複数のアプリケーションプログラム４２８、他のプログラムモジュール４３０、およびプログラムデータ４３２を含めて、任意数のプログラムモジュールをハードディスク４１６、磁気ディスク４２０、光ディスク４２４、ＲＯＭ４１２、および／またはＲＡＭ４１０に記憶することができる。かかるオペレーティングシステム４２６、１つまたは複数のアプリケーションプログラム４２８、他のプログラムモジュール４３０、およびプログラムデータ４３２（または、これらの組合せ）のそれぞれは、この分散ファイルシステムをサポートする常駐コンポーネントのすべてまたは一部分を実装することができる。
【００６１】
ユーザは、キーボード４３４やポインティングデバイス４３６（例えば、「マウス」）などの入力デバイスを介してコンピュータ４０２にコマンドおよび情報を入力することができる。他の入力デバイス４３８（詳細には図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、シリアルポート、スキャナおよび／またはその他などを含むことができる。これらおよび他の入力デバイスは、このシステムバス４０８に結合された入出力インターフェース４４０を介して処理装置４０４に接続されるが、これらは、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓユニバーサルシリアルバス）、ファイアワイヤ（ＩＥＥＥ１３９４）バスなど他のインターフェースおよびバス構造によって接続することもできる。
【００６２】
モニタ４４２または他のタイプのディスプレイデバイスもまた、ビデオアダプタ４４４などのインターフェースを介してシステムバス４０８に接続することができる。モニタ４４２に加えて、他の出力ペリフェラルデバイスは、入出力インターフェース４４０を介してコンピュータ４０２に接続することができる、スピーカ（図示せず）やプリンタ４４６などのコンポーネントを含むこともできる。
【００６３】
コンピュータ４０２は、リモートコンピューティングデバイス４４８など１つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク環境中で動作することが可能である。例として、リモートコンピューティングデバイス４４８は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、または他の共通ネットワークノードなどとすることができる。リモートコンピューティングデバイス４４８は、コンピュータ４０２に対して本明細書中で説明しているエレメントおよび機能の多くまたはすべてを含むことができるポータブルコンピュータとして示されている。
【００６４】
コンピュータ４０２とリモートコンピュータ４４８の間の論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋローカルエリアネットワーク）４５０および一般的なＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋワイドエリアネットワーク）４５２として示されている。かかるネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて、一般的なものである。
【００６５】
ＬＡＮネットワーキング環境中で実装されるときには、コンピュータ４０２は、ネットワークインターフェースまたはアダプタ４５４を介してローカルネットワーク４５０に接続される。ＷＡＮネットワーキング環境中で実装されるときには、コンピュータ４０２は、一般的にワイドネットワーク４５２上で通信を確立するためのモデム４５６または他の手段を含んでいる。モデム４５６は、コンピュータ４０２にとって内蔵または外付けとすることが可能であるが、入出力インターフェース４４０または他の適切なメカニズムを介してシステムバス４０８に接続することができる。図に示すこれらのネットワーク接続は、例示的であり、コンピュータ４０２と４４８の間で１つ（または複数）の通信リンクを確立する他の手段を使用することもできることを理解されたい。
【００６６】
コンピューティング環境４００を用いて示される環境などのネットワーク環境においては、コンピュータ４０２に関連して示されるプログラムモジュール、またはその一部分は、リモートメモリストレージデバイスに記憶することができる。例として、リモートアプリケーションプログラム４５８は、リモートコンピュータ４４８のメモリデバイス上に存在する。例示の目的で、アプリケーションプログラム、およびこのオペレーティングシステムなど他の実行可能プログラムコンポーネントが、本明細書中では個別のブロックとして示されているが、かかるプログラムおよびコンポーネントは、様々な時刻にコンピューティングデバイス４０２の異なるストレージコンポーネントの形で存在し、このコンピュータの１つ（または複数）のデータプロセッサによって実行されることが理解されよう。
【００６７】
様々なモジュールおよび技法は、本明細書中では、１台または複数台のコンピュータまたは他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般的に、プログラムモジュールは、個々のタスクを実施し、または個々の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。一般的に、このプログラムモジュールの機能は、様々な実施形態において必要に応じて結合し、または分散することができる。
【００６８】
これらのモジュールおよび技法の実装形態は、コンピュータ読取り可能媒体の何らかの形態で記憶し、それらの形態間で伝送することができる。コンピュータ読取り可能媒体は、コンピュータによってアクセスすることができる使用可能な任意の媒体とすることができる。例として、限定するものではないが、コンピュータ読取り可能媒体は、「コンピュータストレージ媒体」および「通信媒体」を含むことができる。
【００６９】
「コンピュータストレージ媒体」は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージのための任意の方法または技術で実装される揮発性媒体および不揮発性媒体、着脱可能媒体および固定媒体を含んでいる。コンピュータストレージ媒体は、それだけには限定されないが、所望の情報を記憶するために使用することができ、コンピュータによってアクセスすることができるＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは他の任意の媒体を含んでいる。
【００７０】
「通信媒体」は、一般的に搬送波や他の搬送メカニズムなどの被変調データ信号の形でコンピュータ読取り可能命令、データ構造、プログラムモジュールまたは他のデータを実施する。通信媒体は、任意の情報配信媒体も含んでいる。この用語「被変調データ信号」は、その１つまたは複数の特性がその信号中の情報を符号化するようにして設定または変更された信号を意味する。例として、限定するものではないが、通信媒体は、有線ネットワークや直接配線接続などの有線媒体と、音響、ＲＦ、赤外線、他の無線媒体などの無線媒体とを含んでいる。以上のうちの任意の組合せもまた、コンピュータ読取り可能媒体の範囲内に含まれる。
【００７１】
以上の説明では、構造的機能および／または方法動作に特有の言語が使用されているが、添付の特許請求の範囲で定義される本発明は、説明しているこれらの特定の機能または動作だけに限定されるものではないことを理解されたい。そうではなくて、これらの特定の機能および動作は、本発明を実装する例示の形態として開示されている。
【図面の簡単な説明】
【００７２】
【図１】配布媒体の生成の一実施例を示すブロック図である。
【図２】本明細書中で説明している、ソフトウェアセットアップのための言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージを使用することができる一例の環境を示すブロック図である。
【図３】言語に中立なパッケージ、および言語に固有のパッケージを有する配布媒体を作成するための一例のプロセスを示すフローチャートである。
【図４】インストレーションパッケージの再使用を示すブロック図である。
【図５】配布媒体上に記憶されるインストレーションパッケージの一実施例を示す図である。
【図６】本明細書中で説明している、ソフトウェアセットアップのための言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージを使用することができる一般的なコンピュータ環境を示す図である。
【符号の説明】
【００７３】
１０２  プログラムファイル
１０４  グローバルファイル
１０６  ローカライズされたファイル  言語（１）
１０８  ローカライズされたファイル  言語（２）
１１０  ローカライズされたファイル  言語（３）
１１４  インストレーションパッケージ（１）
１１６  インストレーションパッケージ（２）
１１８  インストレーションパッケージ（３）
１２０  インストレーションパッケージ（４）
１２４  配布媒体（１）
１２６  配布媒体（２）
１２８  配布媒体（３）
１６２  コンピュータ
１６４  ストレージデバイス
１６６  インストレーションパッケージ（１）
１６８  インストレーションパッケージ（２）
１７０  インストレーションパッケージ（ｘ）
１７２  配布媒体
１７４  ターゲットコンピュータ（１）
１７６  ターゲットコンピュータ（２）
１７８  ターゲットコンピュータ（ｙ）
【図１】
2006178947.tif 000003
【図２】
2006178947.tif 000004
【図３】
2006178947.tif 000005
【図４】
2006178947.tif 000006
【図５】
2006178947.tif 000007
【図６】
2006178947.tif 000008