(57)【要約】  コアインストーラに関連するカスタムアクションはコアインストーラの特権を利用してサテライトインストーラにアクセスする。カスタムアクションは、ソフトウェア製品が複数のインストーラを含むこと、およびコアインストーラをキャッシュしてあることを識別するコードを含む。カスタムアクションは製品のソースを判定する。識別したサテライトインストーラをクライアント装置に関連付ける。サテライトインストーラの事前生成スクリプトにアクセスし、そのスクリプトをクライアントに適用してサテライトインストーラの通知／割当を容易にする。このように、コアインストーラに関連するカスタムアクションはコアインストーラの特権を利用して、サテライトインストーラをロックダウンクライアント装置にインストールする。カスタムアクションにより、マルチインストーラのソフトウェア製品を、単一のインストーラのソフトウェア製品向けに構成したソフトウェアデプロイメント技術を介してクライアントにインストールすることができる。このように、マルチインストーラのソフトウェア製品を容易にクライアント装置にデプロイおよびインストールすることができる。
2009535731.tif 000002
【特許請求の範囲】
【請求項１】
単一のインストーラデプロイメントでマルチインストーラプログラムをインストールするコンピュータ実装方法であって、
カスタムアクションをプログラムのコアインストーラに関連付けるステップと、
前記コアインストーラのインストールをインスタンス化するステップであって、前記カスタムアクションが前記コアインストーラのインストール中に実行されるステップと、
前記コアインストーラの特権を利用して、前記カスタムアクションにより識別されたサテライトインストーラへのアクセスを容易にするステップと
を備えることを特徴とするコンピュータ実装方法。
【請求項２】
前記プログラムは複数のインストーラを有するソフトウェアプログラムであることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記コアインストーラはアプリケーションバイナリを含み、前記サテライトインストーラは一連のリソースを含むことを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項４】
前記インストールをインスタンス化するステップはブートプロセスを含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項５】
前記インストールをインスタンス化するステップは、前記コアインストーラを通知するステップと、前記通知ステップに関連するエントリポイントを起動するステップとを含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項６】
前記カスタムアクションは、前記コアインストーラのソースを識別するように構成されていることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項７】
前記カスタムアクションは、前記コアインストーラの特権を利用して前記ソースをスキャンするように構成されていることを特徴とする請求項６に記載のコンピュータ実装方法。
【請求項８】
前記カスタムアクションは、前記コアインストーラに関連するサテライトインストーラを識別するように構成されていることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項９】
前記カスタムアクションは、前記サテライトインストーラに関連するスクリプトにアクセスするように構成されていることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記スクリプトは、事前に構成され前記サテライトインストーラに組み込まれていることを特徴とする請求項９に記載のコンピュータ実装方法。
【請求項１１】
前記スクリプトを通知することを特徴とする請求項９に記載のコンピュータ実装方法。
【請求項１２】
コアインストーラのインストール中にサテライトインストーラにアクセスするコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記命令は、
前記コアインストーラのインストール中にサテライトインストーラの関連を判定するステップと、
前記コアインストーラのソースを識別するステップと、
前記ソースをスキャンするステップと、
前記コアインストーラに関連するサテライトインストーラを識別するステップと、
前記サテライトインストーラに関連する事前生成スクリプトにアクセスするステップと、
前記サテライトインストーラの前記事前生成スクリプトを通知するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１３】
前記サテライトインストーラの関連を判定するステップは、前記コアインストーラに関連するカスタムアクションにより容易にされることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
前記事前生成スクリプトはデフォルト値を含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１５】
前記事前生成スクリプトに対する実際の値にアクセスし、前記デフォルト値を前記実際の値で置換するステップをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
コアインストーラの特権を利用してサテライトインストーラにアクセスするコンピュータ実装方法であって、
カスタムアクションを、マルチインストーラプログラムのコアインストーラに関連付けるステップと、
前記コアインストーラのインストールをインスタンス化するステップと、
インストールをインスタンス化するときに前記コアインストーラの前記カスタムアクションを実行するステップであって、前記カスタムアクションが、
前記コアインストーラのソースを識別し、
前記コアインストーラの特権を利用して前記ソースをスキャンし、
前記コアインストーラに関連するサテライトインストーラを識別し、
前記サテライトインストーラに関連するスクリプトにアクセスし、および
前記サテライトインストーラに関連する前記スクリプトを通知する
ように構成されている、このようなステップステップと
を備えることを特徴とするコンピュータ実装方法。
【請求項１７】
前記コアインストーラを単一のインストーラデプロイメントモジュールでデプロイするステップをさらに備えることを特徴とする請求項１６に記載のコンピュータ実装方法。
【請求項１８】
前記コアインストーラはアプリケーションバイナリを含み、前記サテライトインストーラは一連のリソースを含むことを特徴とする請求項１６に記載のコンピュータ実装方法。
【請求項１９】
前記インストールをインスタンス化するステップはブートプロセスを含むことを特徴とする請求項１６に記載のコンピュータ実装方法。
【請求項２０】
前記インストールをインスタンス化するステップは、前記コアインストーラを通知し、当該通知に関連するエントリポイントを起動するステップを含むことを特徴とする請求項１６に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ソフトウェア製品のインストールに関する。
【背景技術】
【０００２】
多数の小規模から中規模のビジネス組織は、ネットワーク管理者によるソフトウェア製品の配布を可能とするネットワーク基盤を有する。ネットワーク上のクライアントユーザはクライアント上のプログラムを使用する権利を有することができるが、そのクライアントにプログラムをインストールする権利を有することはできない。ネットワーク管理者が手動でプログラムをそれぞれのクライアントにインストールすることで、ソフトウェア製品をクライアントにインストールすることができる。上記のインストールは非常に時間を浪費し、退屈である。ネットワーク管理者はソフトウェアデプロイメント技術を使用して、ダウンロード可能なソフトウェアをクライアントに通知することもできる。上記のデプロイメントは中央サーバから来るものであり、ソフトウェア製品を一度に複数のクライアントに通知できるので、手動インストールよりも時間がかからない。
【０００３】
いくつかのソフトウェア製品は、ソフトウェアデプロイメント技術を介してクライアントにソフトウェア製品をインストールすることを促進する単一の製品インストーラを含む。上記の状況では、単一の製品インストーラはアプリケーションバイナリとアプリケーション固有リソースの両方をバンドルする。また多数のソフトウェアデプロイメント技術では、ソフトウェア配布中に単一の製品インストーラのみをクライアントにデプロイすることができる。
【０００４】
ソフトウェア製品が、複数の製品インストーラと共にプログラムされていることもある。上記の状況では、或る製品インストーラがアプリケーションバイナリを含み、複数の他のインストーラがアプリケーション固有リソースを含むことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、単一の製品インストーラのみをデプロイできるソフトウェアデプロイメント技術では、複数の製品インストーラでプログラムしたソフトウェア製品のインストールを促進することができない。
【課題を解決するための手段】
【０００６】
本要約は選択した概念を簡潔な形で導入するために与える。その概念は以下の「発明を実施するための最良の形態」でさらに詳細に説明する。本要約によりクレーム主題の主要および／または本質的な特徴を特定することは意図していない。また、本要約によりクレーム主題の範囲を限定することも意図していない。
【０００７】
カスタムアクションをコアインストーラに関連付け、コアインストーラの特権を利用してサテライトインストーラをロックダウンクライアント装置にインストールする。カスタムアクションにより、マルチインストーラのソフトウェア製品を、単一のインストーラのソフトウェア製品向けに構成したソフトウェアデプロイメント技術を介してクライアントにインストールすることができる。このように、マルチインストーラのソフトウェア製品をクライアント装置に容易にデプロイおよびインストールすることができる。
【０００８】
本発明の非限定的で非包括的な実施形態を、以下の図面を参照して説明する。特に明記しない限り、同じ参照番号は様々な説明に渡って同じ部分を指す。
【発明を実施するための最良の形態】
【０００９】
添付図面を参照して実施形態を以下でより完全に説明する。添付図面は本明細書の一部を形成し、具体的で例示的な実施形態を示す。しかしながら、実施形態を多数の異なる形態で実装してもよく、本明細書で説明する実施形態に対する限定として解釈すべきではない。寧ろ、これらの実施形態は、本開示が徹底的で完全となり、その範囲を完全に伝えるように与えてある。実施形態を、方法、システムまたは装置として実践することができる。従って、実施形態は全体としてハードウェア実装、全体としてソフトウェア実装、またはソフトウェアとハードウェアの態様を組み合わせた実装の形態を取ることができる。以下の詳細な説明は従って、限定的な意味で捉えるべきではない。
【００１０】
様々な実施形態の論理動作を、（１）コンピューティングシステム上で実行される一連のコンピュータ実装型のステップとして、および／または（２）そのコンピューティングシステム内部の相互接続マシンモジュールとして、実装する。実装は、本発明を実装するコンピューティングシステムの性能要件に依存した選択の問題である。従って、本明細書で説明する実施形態を構成する論理動作を代替的に、動作、ステップまたはモジュールと称する。
【００１１】
小規模から中規模のビジネス組織では、ソフトウェア製品は多数の異なる方法でクライアントマシンにインストールされる。ユーザがクライアント装置に対する管理者権限を有するとき、ユーザはソフトウェア製品をインターネットからダウンロードするか、またはソフトウェア製品をコンピュータ可読媒体からインストールすることができる。一般的なビジネスの設定では上記の権限がユーザに発行されることは稀である。なぜならば、ビジネス組織は、ユーザがソフトウェアに対してクライアント装置上で有する制御を保全したいからである。この理由で、多数のビジネス組織はクライアント装置上の権限を限定的にする。これらの限定的な権限によりソフトウェア製品のインストールを禁止することができる。
【００１２】
上記の状況では、ネットワーク管理者はクライアント装置上のソフトウェアを保守およびインストールする責任を有することができる。ソフトウェア製品をクライアント装置にインストールするために、ネットワーク管理者はソフトウェアをそれぞれのクライアント装置に手動でインストールする必要があるかもしれない。ネットワーク管理者は、高度の能力が与えられた権限でクライアント装置にログオンする。次いでネットワーク管理者はソフトウェア製品をクライアント装置にインストールすることができる。この方法でソフトウェア製品をインストールすることは、少数のクライアント装置を有するビジネス組織では受け入れられるものである。しかしながら、クライアント装置の数が増えると、クライアント装置の各々にソフトウェア製品をインストールするのに必要な時間と労力も増える。
【００１３】
ネットワーク管理者がソフトウェア製品をいくつかの装置にインストールしたいとき、ビジネス組織のネットワーク構造によりネットワーク管理者は、ソフトウェアデプロイメント技術を利用してソフトウェアをクライアント装置に遠隔でインストールすることができる。ソフトウェアデプロイメント技術は、単一のインストーラを有するソフトウェア製品のインストールを促進することができる。単一のインストーラのソフトウェア製品は、単一のインストーラにバンドルしたアプリケーションバイナリとアプリケーション固有リソースの両方を含むソフトウェア製品である。ソフトウェアデプロイメント技術により、クライアント装置上にある単一のソフトウェア製品のインストーラを通知する。インストールアクションを引き起こすと、ソフトウェア製品がクライアント装置にインストールされる。
【００１４】
いくつかのソフトウェア製品は複数のインストーラを含むことができる。上記の状況では、ソフトウェア製品は、アプリケーションバイナリに関連するコアインストーラを含むことができる。ソフトウェアは、アプリケーションリソースに関連する複数のサテライトインストーラを含むこともできる。マルチインストーラのソフトウェア製品は、単一のインストーラを有するソフトウェア製品のみをインストールするよう構成したソフトウェアデプロイメント技術に対して、問題を提起する恐れがある。なぜならば、上記のソフトウェアデプロイメント技術は１つのインストーラしか認識しないからである。
【００１５】
正しく構成したカスタムアクションにより、複数のインストーラを有するソフトウェア製品を、上記のソフトウェアデプロイメント技術を用いてインストールすることができる。カスタムアクションをソフトウェア製品のコアインストーラに関連付ける。ソフトウェアデプロイメント技術によりクライアント装置上にコアインストーラを通知する。インストールアクションが引き起こされると、コアインストーラに関連するカスタムアクションが実行される。コアインストーラのソースを識別し、そのソースをスキャンしてサテライトインストーラがソフトウェア製品に関連付けられているかどうかを判定する。サテライトインストーラが製品に関連する場合、カスタムアクションはサテライトインストーラに関連するスクリプトにアクセスし、クライアント上にサテライトインストーラを通知してインストールを容易にする。
【００１６】
簡潔に述べると、コアインストーラに関連するカスタムアクションはコアインストーラの特権を利用してサテライトインストーラをロックダウンクライアント装置にインストールする。カスタムアクションによりマルチインストーラのソフトウェア製品を、単一のインストーラのソフトウェア製品向けに構成したソフトウェアデプロイメント技術を介してクライアントにインストールすることができる。このように、マルチインストーラのソフトウェア製品をクライアント装置に容易にデプロイおよびインストールすることができる。
【００１７】
図２は、マルチインストーラのソフトウェア製品をネットワーク内でデプロイする１つの例示的な環境を表す。システム２００はコンピューティング環境のモジュール形式の概要を表す。システム２００はコンピューティング装置２０２を含むことができる。コンピューティング装置２０２はデスクトップコンピューティング装置、モバイルコンピューティング装置、ラップトップ、携帯情報端末、ノートブックコンピュータ、および／またはデータを格納するよう機能する任意の他種のコンピューティング装置を含むことができる。１つの態様では、コンピューティング装置２０２は図１で例示したコンピューティング装置１００を含む。
【００１８】
システム２００はサーバ２０４も含む。サーバ２０４を管理者端末に関連付けることができる。サーバ２０４は、ネットワーク環境において製品のデプロイメントを容易にする任意の種類のサーバを含むことができる。サーバ２０４はコンピューティング装置２０２とネットワーク接続２０６を介して通信する。ネットワーク接続２０６はハードワイヤードネットワーク接続および／または無線ネットワーク接続を含むことができる。ネットワーク接続２０６は、コンピューティング装置とサーバとの間でデータを送信するよう機能する任意の種類のネットワーク接続を含むことができる。ネットワーク接続２０６は、製品のデプロイメントを容易にする任意の種類のネットワーク接続を含む。
【００１９】
分散環境では、サーバ２０４は製品イメージ２０８およびインストーラデプロイメントモジュール２１０を含むことができる。例えば、管理者は製品イメージ２０８をサーバ２０４に関連付け、クライアント２０２への製品のデプロイメントを容易にすることができる。クライアント２０２は製品２１２をクライアント２０２にインストールすることができる。
【００２０】
１つの実施形態では、製品２１２は、ワシントン州レドモンドに本社がある本件特許出願人の「ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ」製品など、マルチインストーラ製品である。上記の状況では、製品イメージ２０８はコアインストーラ２１４およびサテライトインストーラ（１つまたは複数）２１６を含む。別の実施形態では、インストーラデプロイメントモジュール２１０は、ワシントン州レドモンドに本社がある本件特許出願人の「ＭＩＣＲＯＳＯＦＴ  ＡＣＴＩＶＥ  ＤＩＲＥＣＴＯＲＹ」など、単一のインストーラデプロイメントモジュールである。コアインストーラ２１４はカスタムアクション２１８を含むことができる。コアインストーラ２１４は、クライアント２０２への製品のデプロイメント中に、インストーラデプロイメントモジュール２１０によりデプロイされる。カスタムアクション２１８はコアインストーラ２１４の特権を利用して、クライアント２０２がロックダウンモードにあるときにサテライトインストーラ（１つまたは複数）２１６をインストールする。
【００２１】
図３は、マルチインストーラ製品をインストールする１つの例示的なシステムの概要を表す。システム３００はクライアント３０２およびサーバ３０４のモジュール形式の概要を表す。システム３００を、ソフトウェアおよびハードウェア要素の組合せ、オペレーティングシステムまたはそれらの任意の組合せとして統合することができる。本明細書で参照するハードウェア、データベース、ソフトウェア、アプリケーション、および／またはプログラムを単一の要素として統合することができ、またはそれらは互いに通信する様々な要素を含むことができる。本明細書で特に明記しない限り、ソフトウェアおよび／またはハードウェア要素を本明細書では説明の目的のみで示し、その構成を、いくつかの機能を実施する複数の要素または単一の要素に限定するものとしては示さない。例えば、図３に示すように、システム３００はクライアント３０２を含む。クライアント３０２は、インストーラ３０６、レジストリ３０８、通知部３１０、実行部３１２、カスタムアクション３１４、コアインストール３１６、サテライトインストーラ３１８、およびサテライトインストーラ通知部３２０を含む。参照番号３０６−３２０は別々のプログラム、別々のデータベースおよび別々のハードウェアを含むことができる。参照番号３０６−３２０は、単一のプログラムまたは、単一および複数のプログラムの任意の組合せも含むことができる。同様に、システム３００サーバ３０４を含む。サーバ３０４は、製品イメージ３２２、コアインストーラ３２４、カスタムアクション３２６、サテライトインストーラ３２８、およびインストーラデプロイメントモジュール３３０を有する。参照番号３２２−３３０は別々のプログラム、別々のデータベースおよび別々のハードウェアを含むことができる。参照番号３２２−３３０は、単一のプログラムまたは、単一および複数のプログラムの任意の組合せも含むことができる。
【００２２】
サーバ３０４を製品イメージ３２２に関連付けることができる。製品イメージ３２２は、マルチインストーラ製品に対する製品イメージである。製品イメージ３２２はコアインストーラ３２４およびサテライトインストーラ３２８を含む。コアインストーラ３２４は、製品に対するバイナリアプリケーションビットを含む。例えば、製品イメージ３２２が「ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ」に対する製品イメージである場合、コアインストーラ３２４は「ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ」、「ＭＩＣＲＯＳＯＦＴ  ＥＸＣＥＬ」、「ＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫ」、「ＭＩＣＲＯＳＯＦＴ  ＰＯＷＥＲＰＯＩＮＴ」、および／または「ＭＩＣＲＯＳＯＦＴ  ＡＣＣＥＳＳ」に対するバイナリビットを含むことができる。コアインストーラ３２４はカスタムアクション３２６も含む。以下でさらに完全に説明するように、カスタムアクション３２６はコアインストーラ３２４の特権を利用して、サテライトインストーラ３２８のクライアント３０２へのインストールを容易にする。
【００２３】
製品イメージ３２２はサテライトインストーラ３２８も含む。サテライトインストーラ３２８は任意の数のインストーラを含むことができる。１つの態様では、サテライトインストーラ３２８は、コアインストーラ３２４に関連するリソースインストーラを含む。リソースインストーラは、言語リソース、プルーフィング（ｐｒｏｏｆｉｎｇ）からの言語リソース、および／または言語もしくは地域に関連する任意の他種のリソースを含むことができる。サテライトインストーラは、内部に組み込んだ通知スクリプトを事前生成することができる。コアインストーラ３２４とサテライトインストーラ３２８は、製品イメージ３２２に関連する別々のインストーラである。
【００２４】
インストーラデプロイメントモジュール３３０は、単一のインストーラデプロイメントモジュールである。１つの態様では、インストーラデプロイメントモジュール３３０はＭＩＣＲＯＳＯＦＴ  ＡＣＴＩＶＥ  ＤＩＲＥＣＴＯＲＹを含む。インストーラデプロイメントモジュール３３０はクライアント３０２についてのコアインストーラ３２４の公開（ｐｕｂｌｉｓｈ）／割当を行う。コアインストーラ３２４の公開／割当を行うため、インストーラデプロイメントモジュール３３０はスクリプトを生成し、そのスクリプトをクライアント３０２に発行することができる。
【００２５】
クライアント３０２はそのスクリプトを受信する。スクリプトはカスタムアクション３２６を含む。インストーラ３０６は、スクリプトからのデータでレジストリ３０８をポピュレートし、通知部３１０を生成する。通知部３１０は、ソフトウェア製品がクライアント３０２へのインストールの準備ができていることを示すものである。実行部３１２はアイコンおよび／またはボタンを含むことができる。ユーザはそのアイコンおよび／またはボタンを作動させてインストールを開始する。別の態様では、実行部３１２はインストールを開始するブートプロセスである。いずれの状況でも、コアインストーラ３２４をクライアント３０２にインストールし、コアインストーラ３２４に関連するカスタムアクション３２６を実行する。
【００２６】
カスタムアクション３２６はコアインストーラ３２４の特権を利用して、サテライトインストーラ３２８にアクセスする。以下でより完全に説明するように、カスタムアクション３２６は、製品が複数のインストーラを含むこと、およびコアインストーラ３２４をキャッシュしてあることを識別するコードを含む。カスタムアクション３２６は、製品のソースを判定し、製品イメージ３２２に関連するサテライトインストーラのリストを列挙する。サテライトインストーラ３２８をクライアント３０２に関連付ける。サテライトインストーラ３２８の事前生成スクリプトにアクセスし、そのスクリプトをクライアント３０２に適用してサテライトインストーラ通知部３１０を支援する。あたかも製品イメージが単一のインストーラを含むかのように、インストールプロセスはエンドユーザに対しシームレスである。
【００２７】
図４は、マルチインストーラ製品をインストールする動作フロー図を表す。動作フロー４００は開始動作４０２で開始し、決定動作４０４に流れる。決定動作４０４で、製品のデプロイメントアクションを発行すべきかどうかを決定する。１つの態様では、管理者が新規のソフトウェア製品および／または更新したソフトウェア製品をクライアント装置のシステムに配布すると決定したときに、製品のデプロイメントを行う。例えば、ネットワーク管理者はＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ１２でクライアント装置を更新することを決定することができる。１つの態様では、製品のデプロイメントをマルチインストーラのソフトウェア製品に関連付ける。
【００２８】
製品のデプロイメントが要求されない場合、動作フロー４００はループバックし、製品のデプロイメントアクションを待つ。製品のデプロイメントが要求される場合、動作フロー４００は動作４０６に続く。動作４０６で、マルチインストーラのソフトウェア製品のコアインストーラの公開／割当を行う。１つの態様では、ＭＩＣＲＯＳＯＦＴ  ＡＣＴＩＶＥ  ＤＩＲＥＣＴＯＲＹなどのソフトウェアデプロイメント技術はコアインストーラをクライアントに公開する。必ずしも必要でないが、動作フロー４００は動作４０８に続くことができ、そこでコアインストーラを通知する。ソフトウェアデプロイメント技術がコアインストーラをクライアントに公開するとき、コアインストーラを通知する。その通知にエントリポイントを含めることができる。そのエントリポイントで、インストールを手動で開始することができる。或る観点では、コアインストーラをクライアントに割り当てるときに通知は生成されない。コアインストーラをクライアントに割り当てるとき、ブートプロセスが自動的にインストールプロセスをインスタンス化することができる。
【００２９】
動作フロー４００は動作４１０に続く。動作４１０は、インストールのインスタンス化を含む。上述のように、エントリポイントの選択またはブートプロセスの実行によりインストールをインスタンス化することができる。動作フロー４００は動作４１２に続き、そこでカスタムアクションを実行する。カスタムアクションはコアインストーラに関連するプログラムであり、そのコアインストーラは、公開／割当を行うときにコアインストーラの特権を利用する。カスタムアクションはコアインストーラの特権を利用して、クライアント装置がロックダウンモードにあるときにサテライトインストーラにアクセスし、そのサテライトインストーラをインストールする。動作４１２を、図５を参照して以下でより完全に説明する。
【００３０】
動作フロー４００は動作４１４に続き、そこでサテライトインストーラのクライアント装置への公開／割当を行う。エンドユーザに対して、カスタムアクションの機能は、あたかもソフトウェア製品が単一のインストーラを含むかのように、インストールプロセスを作成する。エントリポイントまたはブートプロセスを作動させることで、サテライトインストーラをインストールすることができる。動作フローは終了動作４１６に続く。
【００３１】
図５は、カスタムアクションを実行する動作フロー図を表す。動作フロー５００は開始動作５０２で開始し、決定動作５０４に続く。決定動作５０４で、インストールトリガが作動しているかどうかを決定する。前述のように、ユーザがエントリポイントを作動させることで、インストールトリガを作動させることができる。インストールトリガをブート動作によって作動させることもできる。インストールトリガが作動すると、動作フロー５００は動作５０６に続く。インストールトリガが作動すると、コアインストーラに関連するカスタムアクションが作動する。
【００３２】
カスタムアクションの実行において、動作フロー５００は動作５０８に続き、そこでシナリオを識別する。カスタムアクションは、コアインストーラをキャッシュしてあることを識別するコードを含む。カスタムアクションは、さらなるインストーラが完全なインストールに必要であることを識別するコードも含む。シナリオを識別すると、動作フロー５００は動作５１０に続く。
【００３３】
動作５１０で、ソフトウェア製品のソースを識別する。カスタムアクションは、コアインストーラのソースを判定するコードを含む。ソースの発見において、カスタムアクションはアドレスをロケーションに関連付けることができ、および／または識別子を介してソースを発見することができる。動作フロー５００は動作５１２に続き、そこで関連するサテライトインストーラを判定する。ソースに戻ると、カスタムアクションはソースをスキャンして、サテライトインストーラがコアインストーラに関連するかどうかを判定する。関連するサテライトインストーラの判定において、そのコアインストーラに関連するサテライトインストーラのリストを生成することができる。
【００３４】
動作フロー５００は動作５１４に続き、そこでサテライトインストーラに関連する事前生成スクリプトにアクセスする。そのサテライトインストーラは、事前生成されそのサテライトインストーラにコード化されたスクリプトを含むことができる。事前生成スクリプトは、一連のデフォルト値を含むことができる。動作フロー５００は動作５１６に続き、そこでクライアント装置への公開／割当を行うために、事前生成スクリプトをクライアントに適用する。動作５１８で、ソースロケーションを更新する。サテライトインストーラがデフォルト値を含むので、スクリプトを適用した後、実際の値にアクセスする。サテライトインストーラがコアインストーラと同じロケーションを識別するように、サテライトインストーラに関連するメタデータを一掃する。
【００３５】
このように、コアインストーラに関連するカスタムアクションはコアインストーラの特権を利用してサテライトインストーラをロックダウンクライアント装置にインストールする。カスタムアクションにより、マルチインストーラのソフトウェア製品を、単一のインストーラのソフトウェア製品向けに構成したソフトウェアデプロイメント技術を介してクライアントにインストールすることができる。このように、マルチインストーラのソフトウェア製品をクライアント装置に容易にデプロイおよびインストールすることができる。
【００３６】
図１を参照する。本発明を実装する例示的なシステムは、コンピューティング装置１００などの、コンピューティング装置を含む。基本的な構成では、コンピューティング装置１００は任意の種類の固定型コンピューティング装置または移動式コンピューティング装置を含むことができる。コンピューティング装置１００は一般に、少なくとも１つの処理ユニット１０２およびシステムメモリ１０４を含む。コンピューティング装置の厳密な構成と種類に依存して、システムメモリ１０４は揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリ、など）またはその２つの何らかの組合せであることができる。システムメモリ１０４は一般にオペレーティングシステム１０５、１つまたは複数のアプリケーション１０６を含み、プログラムデータ１０７を含むことができる。１つの実施形態では、アプリケーション１０６はさらに、マルチインストーラ製品のデプロイメント向けのアプリケーション１２０を含む。この基本的な構成を図１において、破線１０８で囲んだそれらの構成要素により示す。
【００３７】
コンピューティング装置１００は追加の特徴または機能性を有することもできる。例えば、コンピューティング装置１００は、例えば磁気ディスク、光ディスク、またはテープなど、追加のデータ記憶装置（取り外し可能および／または取り外し不能）を含むこともできる。図１において、上記の追加の記憶装置を取り外し可能記憶装置１０９および取り外し不能記憶装置１１０により示す。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶する任意の方法または技術で実装した、揮発性および不揮発性、取り外し可能および取り外し不能媒体を含むことができる。システムメモリ１０４、取り外し可能記憶装置１０９および取り外し不能記憶装置１１０は、コンピュータ記憶媒体の全ての例である。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報の格納に使用できコンピューティング装置１００によりアクセス可能な任意の他の媒体が含まれるがこれらに限らない。任意の上記のコンピュータ記憶媒体は装置１００の一部であることができる。コンピューティング装置１００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置（複数）１１２を有することもできる。ディスプレイ、スピーカ、プリンタなどの出力装置（複数）１１４も含むことができる。
【００３８】
コンピューティング装置１００は、ネットワークまたは無線ネットワーク上などで装置が他のコンピューティング装置１１８と通信できる通信接続（複数）１１６も含む。通信接続（複数）１１６は通信媒体の例である。通信媒体は一般にコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他のトランスポート機構などの変調データ信号で具現化し、任意の情報配信媒体を含む。「変調データ信号」という用語は、１つまたは複数のその特性集合を有し、または信号内の情報をエンコードするように変化する信号を含むことができる。限定ではなく例として、通信媒体は有線ネットワークまたは直接有線接続などの有線媒体、および、音響、ＲＦ、赤外線および他の無線媒体などの無線媒体を含むことができる。本明細書で用いるコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
【００３９】
本発明を構造的な特徴および／または方法論的ステップに固有な言葉で説明したが、添付請求項で定義した本発明は必ずしも説明した特定の特徴またはステップに限定されないことは理解されるべきである。寧ろ、特定の特徴およびステップは、本請求の範囲に記載されている発明を実装する形態として開示してある。本発明の多数の実施形態を本発明の精神および範囲から逸脱せずに作成できるので、本発明は添付請求項内に属する。
【図面の簡単な説明】
【００４０】
【図１】例示的なコンピューティング装置を示す図である。
【図２】ソフトウェア製品をネットワーク内でデプロイする１つの例示的な環境を表す図である。
【図３】マルチインストーラ製品をインストールする１つの例示的なシステムの概要を表す図である。
【図４】マルチインストーラ製品をインストールする動作フロー図を表す図である。
【図５】カスタムアクションを実行する動作フロー図を表す図である。
【図１】
2009535731.tif 000003
【図２】
2009535731.tif 000004
【図３】
2009535731.tif 000005
【図４】
2009535731.tif 000006
【図５】
2009535731.tif 000007
【国際調査報告】
2009535731.tif 000008
2009535731.tif 000009