ソフトウェア製品の仮想イメージの配布パッケージから少なくとも1つの仮想ディスクをマウントすることによってインスタンス化される仮想マシンにソフトウェア製品のあらかじめ必要なソフトウェアをインストールするための方法であって、-前記ソフトウェア製品の仮想イメージの前記配布パッケージで提供された前記ソフトウェア製品に関するあらかじめ必要なソフトウェアのリストを読むステップと、-あらかじめ必要なソフトウェアが前記仮想マシンにインストールされていないかどうかをテストし、前記あらかじめ必要なソフトウェアがインストールされていない場合に、前記ソフトウェア製品の仮想イメージの前記配布パッケージで提供されたリポジトリ内の前記あらかじめ必要なソフトウェアのロケーションを読んだ後に前記あらかじめ必要なソフトウェアを取得するステップ420と、-取得されたあらかじめ必要なソフトウェアのライセンス文を読み、前記ライセンス文をユーザに対して表示するステップ430と、-前記ユーザによって前記ライセンス文が承認されたときに、前記取得されたあらかじめ必要なソフトウェアをインストールするステップと、-すべての前記あらかじめ必要なソフトウェアがインストールされるまで前3つのステップを繰り返すステップとのブート時の自動実行を含む、方法。前記あらかじめ必要なソフトウェアが前記仮想マシンにインストールされていると示される場合に、前記あらかじめ必要なソフトウェアに関してその後の取得するステップ、読むステップ、表示するステップ、およびインストールするステップをスキップするステップをさらに含む請求項1に記載の方法。前記あらかじめ必要なソフトウェアが前記仮想マシンに既にインストールされていると示されない場合に、すべての既に取得されたあらかじめ必要なソフトウェアのリスト内の前記あらかじめ必要なソフトウェアが取得されることができるロケーションを読むことによって前記あらかじめ必要なソフトウェアが既に取得されていないかどうかをテストするステップであって、前記リストは、取得された前記あらかじめ必要なソフトウェアをインストールする各ステップの後で、新しく取得された前記あらかじめ必要なソフトウェアについて更新される、ステップをさらに含む請求項1または2に記載の方法。ライセンス文を読み、前記ライセンス文を表示する前記ステップは、リモートサーバと通信して340、前記読み、表示するステップが前記リモートサーバによって実行されるように求める初期ステップを含む請求項1ないし3のいずれか一項に記載の方法。取得されたあらかじめ必要なソフトウェアのライセンス文を読む前記ステップは、前記取得されたあらかじめ必要なソフトウェアから前記ライセンス文を引き出す初期ステップを含む請求項1ないし4のいずれか一項に記載の方法。取得されたあらかじめ必要なソフトウェアのライセンス文を読む前記ステップは、前記ソフトウェア製品の仮想イメージの前記配布パッケージで提供されたライセンスファイルから前記ライセンス文を読むことに存する請求項1ないし4のいずれか一項に記載の方法。-前記ソフトウェア製品および前記ソフトウェア製品のあらかじめ必要なソフトウェアを開発者の仮想マシンにインストールする先行ステップと、-前記開発者の仮想マシンにおいて前記ソフトウェア製品をテストする先行ステップと、-前記ソフトウェア製品に関するすべての前記あらかじめ必要なソフトウェアを前記開発者の仮想マシンから削除する先行ステップ240と、-前記開発者の仮想マシンの少なくとも1つの仮想ディスクを作成する先行ステップと、-前記少なくとも1つの仮想ディスクがマウントされるときにアクティブ化されるべきブートプログラムを作成する先行ステップと、-前記ソフトウェア製品に関する前記あらかじめ必要なソフトウェアのリストを作成する先行ステップ220と、-前記あらかじめ必要なソフトウェアが取得されることができるロケーションを含むリポジトリを作成する先行ステップと、-前記少なくとも1つの仮想ディスク、前記ソフトウェア製品に関する前記あらかじめ必要なソフトウェアの前記リスト、および前記あらかじめ必要なソフトウェアが取得されることができる前記ロケーションを含むリポジトリを含むソフトウェア製品の仮想イメージの配布パッケージを作成する先行ステップとをさらに含む請求項1ないし6のいずれか一項に記載の方法。前記ソフトウェア製品のあらかじめ必要なソフトウェアの前記ライセンス文を含むライセンスファイルを作成し、前記ライセンスファイルを前記ソフトウェア製品の仮想イメージの配布パッケージに追加するステップをさらに含む請求項7に記載の方法。あらかじめ必要なソフトウェアがインストールされておらず、前記あらかじめ必要なソフトウェアが前記あらかじめ必要なソフトウェアのロケーションから読まれることができない場合に、前記あらかじめ必要なソフトウェアの手動インストールが要求され、プロセスが停止される請求項1ないし8のいずれか一項に記載の方法。前記あらかじめ必要なソフトウェアを取得するステップは、前記配布パッケージで提供されたリポジトリ内のインターネットアドレスを読むステップを含み、前記インストールするステップは、前記インターネットアドレスから前記あらかじめ必要なソフトウェアをダウンロードするステップを含む請求項1ないし9のいずれか一項に記載の方法。請求項1ないし10のいずれか一項に記載の方法のステップを実行するように適合された手段を含むシステム。コンピュータプログラムがコンピュータ上で実行されるときに、請求項1ないし9のいずれか一項に記載の方法のステップを実行するための命令を含むコンピュータプログラム。自身の仮想環境に仮想アプライアンスをデプロイ中のユーザが、ソフトウェア製品をアクティブ化するために必要なすべてのソフトウェアのライセンスに準拠したインストールを保証することを可能にするソフトウェア製品の仮想アプライアンスを作成するための方法、コンピュータプログラム、およびシステムを提供することが、本発明の目的である。この目的は、請求項1によれば、ソフトウェア製品の仮想イメージの配布パッケージから少なくとも1つの仮想ディスクをマウントすることによってインスタンス化される仮想マシンにソフトウェア製品のあらかじめ必要なソフトウェアをインストールするための方法であって、-ソフトウェア製品の仮想イメージの配布パッケージで提供されたソフトウェア製品に関するあらかじめ必要なソフトウェアのリストを読むステップと、-あらかじめ必要なソフトウェアが仮想マシンにインストールされていないかどうかをテストし、あらかじめ必要なソフトウェアがインストールされていない場合に、ソフトウェア製品の仮想イメージの配布パッケージで提供されたリポジトリ内のあらかじめ必要なソフトウェアのロケーションを読んだ後にあらかじめ必要なソフトウェアを取得するステップ420と、-取得されたあらかじめ必要なソフトウェアのライセンス文を読み、そのライセンス文をユーザに対して表示するステップ430と、-ユーザによってライセンス文が承認されたときに、取得されたあらかじめ必要なソフトウェアをインストールするステップと、-すべてのあらかじめ必要なソフトウェアがインストールされるまで前の3つのステップを繰り返すステップとのブート時の自動実行を含む、方法によって達成される。目的は、請求項2によれば、あらかじめ必要なソフトウェアが仮想マシンにインストールされていると示される場合に、このあらかじめ必要なソフトウェアに関してその後の取得するステップ、読むステップ、表示するステップ、およびインストールするステップをスキップするステップをさらに含む請求項1に記載の方法によってやはり達成される。目的は、請求項3によれば、あらかじめ必要なソフトウェアが仮想マシンに既にインストールされていると示されない場合に、すべての既に取得されたあらかじめ必要なソフトウェアのリスト内のあらかじめ必要なソフトウェアが取得されることができるロケーションを読むことによってあらかじめ必要なソフトウェアが既に取得されていないかどうかをテストするステップであって、リストは、取得されたあらかじめ必要なソフトウェアをインストールする各ステップの後で、新しく取得されたあらかじめ必要なソフトウェアで更新される、ステップをさらに含む請求項1または2に記載の方法によってやはり達成される。目的は、請求項4によれば、ライセンス文を読み、前記ライセンス文を表示するステップが、リモートサーバと通信して340、その読み、表示するステップがリモートサーバによって実行されるように求める初期ステップを含む請求項1ないし3のいずれか一項に記載の方法によってやはり達成される。目的は、請求項5によれば、取得されたあらかじめ必要なソフトウェアのライセンス文を読むステップが、取得されたあらかじめ必要なソフトウェアからライセンス文を引き出す初期ステップを含む請求項1ないし4のいずれか一項に記載の方法によってやはり達成される。目的は、請求項6によれば、取得されたあらかじめ必要なソフトウェアのライセンス文を読むステップが、ソフトウェア製品の仮想イメージの配布パッケージで提供されたライセンスファイルからライセンス文を読むことに存する請求項1ないし4のいずれか一項に記載の方法によってやはり達成される。目的は、請求項7によれば、-ソフトウェア製品およびそのソフトウェア製品のあらかじめ必要なソフトウェアを開発者の仮想マシンにインストールする先行ステップと、-開発者の仮想マシンにおいてソフトウェア製品をテストする先行ステップと、-ソフトウェア製品に関するすべてのあらかじめ必要なソフトウェアを開発者の仮想マシンから削除する先行ステップ240と、-開発者の仮想マシンの少なくとも1つの仮想ディスクを作成する先行ステップと、-少なくとも1つの仮想ディスクがマウントされるときにアクティブ化されるべきブートプログラムを作成する先行ステップと、-ソフトウェア製品に関するあらかじめ必要なソフトウェアのリストを作成する先行ステップ220と、-あらかじめ必要なソフトウェアが取得されることができるロケーションを含むリポジトリを作成する先行ステップと、-少なくとも1つの仮想ディスク、ソフトウェア製品に関するあらかじめ必要なソフトウェアのリスト、およびあらかじめ必要なソフトウェアが取得されることができるロケーションを含むリポジトリを含むソフトウェア製品の仮想イメージの配布パッケージを作成する先行ステップとをさらに含む請求項1ないし6のいずれか一項に記載の方法によってやはり達成される。目的は、請求項8によれば、ソフトウェア製品のあらかじめ必要なソフトウェアのライセンス文を含むライセンスファイルを作成し、そのライセンスファイルをソフトウェア製品の仮想イメージの配布パッケージに追加するステップをさらに含む請求項7に記載の方法によってやはり達成される。目的は、請求項9によれば、あらかじめ必要なソフトウェアがインストールされておらず、あらかじめ必要なソフトウェアがあらかじめ必要なソフトウェアのロケーションから読まれることができない場合に、あらかじめ必要なソフトウェアの手動インストールが要求され、プロセスが停止される請求項1ないし8のいずれか一項に記載の方法によってやはり達成される。目的は、請求項10によれば、あらかじめ必要なソフトウェアを取得するステップが、配布パッケージで提供されたリポジトリ内のインターネットアドレスを読むステップを含み、インストールするステップが、そのインターネットアドレスからあらかじめ必要なソフトウェアをダウンロードするステップを含む請求項1ないし9のいずれか一項に記載の方法によってやはり達成される。目的は、請求項11によれば、請求項1ないし10のいずれか一項に記載の方法のステップを実行するように適合された手段を含むシステムによってやはり達成される。目的は、請求項12によれば、コンピュータプログラムがコンピュータ上で実行されるときに、請求項1ないし9のいずれか一項に記載の方法のステップを実行するための命令を含むコンピュータプログラムによってやはり達成される。顧客が、その顧客の仮想環境にソフトウェア製品をインストールするために仮想アプライアンスをデプロイするときにインストール不可能なあらかじめ必要なソフトウェアをインストールしないことを保証するために、あらかじめ必要なソフトウェアは、ソフトウェア製品の開発者によって準備されるVMイメージ自体から削除され、ライセンスに準拠するようにして再インストールされる。ブート時に自動的に開始する特定のアクティベーションフェーズ中に、あらかじめ必要なソフトウェアのインストールが、ユーザがあらかじめ必要なソフトウェアのライセンスに同意する場合にのみ実行され、次いで、ソフトウェア製品が、すべてのあらかじめ必要なソフトウェアがインストールされる場合にのみアクティブ化される。図1は、本発明の好ましい実施形態による仮想アプライアンスが作成される準備サイトをセットアップするためのシステム環境を示す。ソフトウェア製品の仮想アプライアンスのイメージを作成するために、ソフトウェアのベンダーは、仮想マシン環境を管理するための仮想管理サーバ110と、仮想マシンがインストールされ得る準備サイトサーバ100とを有する可能性がある。例えば、仮想マシンモニタであるホスト環境125は、仮想マシンVM、ゲストOS130をその仮想ディスク115、120とともに管理するためのVMwareVMwareはVMwareInc.の商標である仮想マシンモニタである可能性がある。ファイルリポジトリ145は、ソフトウェア製品の仮想アプライアンスをビルドするために必要なすべてのファイルを記憶するためにイメージ準備マネージャによって使用される。仮想管理サーバ110は、例えば、VMware仮想マシンモニタ用のVIXである仮想マシンモニタのAPIを使用して仮想マシンモニタと通信する。APIは、例えば、リポジトリからゲストOS準備サイトGuestOSPreparationsiteにファイルをコピーするために使用される。APIコマンドは、インタラクティブにか、または同じ操作を自動的に実行するために送られるスクリプトを通じてかのどちらかで使用される可能性がある。図2は、ソフトウェア製品を配布するために仮想アプライアンスのイメージを準備するための方法の流れ図である。このイメージの準備は、仮想マシンモニタと通信するためのAPIコマンドを実施するスクリプトを使用することによって自動的に実行され得る。第1のステップ200は、仮想アプライアンスとして配布されるべきソフトウェア製品を準備サイトにインストールすることに存する。ソフトウェア製品は、仮想マシンモニタのホスト環境の上でアクティブ化された仮想マシンであるゲストOS準備サイトの仮想マシン上にインストールされる。あらかじめ必要なソフトウェア/パッケージが、ソフトウェア製品の実行を可能にするために同じゲストOSの仮想マシン上にダウンロードされ、インストールされる210。これらのあらかじめ必要なソフトウェア/パッケージは、例えば、インターネットからダウンロードされるべきオープンソースのパッケージである可能性がある。それらのソフトウェア/パッケージは、例えば、AIXAIXはIBMの商標であるまたはLinuxLinuxは米国およびその他の国におけるLinusTorvalsの商標であるの標準的なオペレーティングシステムのサービスを修正する.rpmファイルである可能性がある。あらかじめ必要なソフトウェア/パッケージのリスト、いわゆる外部コンポーネント要件ExternalComponentPrerequisiteECPが、開発者によって作成され、ECPリストは、ソフトウェア製品の実行のためにインストールされる必要があるあらかじめ必要なソフトウェア/パッケージのリストを含む。このリストは、顧客のサイトにおけるソフトウェア製品のインストール中に使用される。開発者によってやはり作成され、顧客のサイトにおけるソフトウェア製品のインストール中に使用される追加的な情報は、あらかじめ必要なソフトウェア/パッケージを取得するためのそれらのあらかじめ必要なソフトウェア/パッケージの情報例えば、そのソフトウェア/パッケージをダウンロードすべきURLアドレス、仮想イメージ内のすべてのソフトウェアを載せたリポジトリ、また、任意で、顧客がインストールの前に同意しなければならない事前に存在するソフトウェア/パッケージのライセンス文である220。ソフトウェア製品が、ゲストOS準備サイトの仮想マシン上でテストされる230。このテストは、自動化されたテストスイートを実行することである可能性がある。テストスイートがまったくエラーがなく実行されるならば、製品の実行が停止される240。ECPリストに挙げられたあらかじめ必要なソフトウェア/パッケージ製品artifactが、仮想マシンから削除される240。仮想イメージがゲストOS準備サイトの仮想マシンから作成され仮想イメージは、1つまたは複数の仮想ディスク、例えば、オペレーティングシステム用の1つの仮想ディスク、プログラム製品用の1つの仮想ディスクを含む可能性がある、仮想イメージは、いかなるあらかじめ必要なソフトウェアも含まない。通常、ソフトウェアプログラムのアクティベーションは、仮想マシンが仮想アプライアンスからインスタンス化されるときのブート時に自動的に開始される。顧客がソフトウェア製品の実行を自動的に開始することを防止するために、通常はOSの仮想ディスクにおける初回ブート時の製品の自動スタートアップが無効化される。その代わりに、以下で説明される特定のアクティベーションプログラムが作成され、仮想イメージに追加される。アクティベーションプログラムは、プログラム製品自体のアクティベーションの前に事前に存在するソフトウェア/パッケージをインストールするために、ユーザが仮想アプライアンスをデプロイするときに開始される250。アクティベーションプログラムは、顧客の仮想環境に仮想アプライアンスをデプロイするための方法のステップを示す図4の説明に関連してより深く説明される。ステップ260において、仮想アプライアンスのパッケージが、顧客に配布するためにビルドされる。開発者は、仮想アプライアンスの配布パッケージに、以下のようなインストールに必要な追加的な情報を含める。-仮想システムに何がインストールされるかを示すリポジトリ:顧客のサイトにおけるアクティベーションフェーズ中、あらかじめ必要なソフトウェア/パッケージを取得するときに、リポジトリが読まれる。あらかじめ必要なソフトウェア/パッケージは開発者によって仮想マシンから削除されているので、仮想アプライアンスを作成するときは、このリポジトリに載せられたソフトウェア製品のあらかじめ必要なソフトウェア/パッケージは1つも存在しない。アクティベーションフェーズ中に、アクティベーションプログラムは、図4の説明を参照して本明細書において後410で説明されるように、このリポジトリを用いて、ソフトウェア製品に必須のあらかじめ必要なソフトウェア/パッケージがインストールされているかどうかを調べる。リポジトリがWindowsWindowsはマイクロソフトの商標であるOSのレジストリまたはLinuxのRPMなどのOSのリポジトリである場合、リポジトリは仮想ディスクに含まれる。-ECP1つの所与の製品に関するあらかじめ必要なソフトウェア/パッケージのリスト-あらかじめ必要なソフトウェア/パッケージが取得され得るロケーション。ロケーションは、例えば、ソフトウェア/パッケージをダウンロードすべきURLアドレスである可能性がある。-任意で、製品のあらかじめ必要なソフトウェア/パッケージのライセンス文が仮想ディスクの作成中に収集された場合は、これらのライセンス文のリスト。好ましい実施形態においては、ライセンス文は、アクティベーションプログラムによってあらかじめ必要なソフトウェア/パッケージのインストール中にオンザフライで取得される。-ユーザによる仮想アプライアンスの情報への安全なアクセスのためのセキュリティの特徴。アクティベーションフェーズに必要なこの追加的な情報は、仮想ディスクに含まれるか、または仮想アプライアンスの配布パッケージ内に別個に提供されるかのどちらかである可能性がある。変更されることができないECPは、仮想イメージに含まれる。あらかじめ必要なソフトウェア/パッケージのロケーションなどのその他の追加的な情報は、それらの情報がアクティベーションフェーズ中にユーザによって修正される可能性があり、例えば、あらかじめ必要なソフトウェア/パッケージがユーザのインストールの際に1つのその他のロケーションから取得され得る場合に、ユーザがロケーションを変更する可能性があるので、仮想ディスクに含まれないことが好ましい。例えば、ユーザは、仮想イメージの作成時に開発者によって入力されたURLアドレスを、すべてのあらかじめ必要なソフトウェア/パッケージが顧客のサイトのリポジトリファイルから見つけられ得る場合にはこのリポジトリによって置き換える可能性がある。ユーザインターフェースが、ECP、および上述のあらかじめ必要なソフトウェア/パッケージに関するその他の情報を入力するために開発者によって使用されることができる。仮想アプライアンスのパッケージの準備に適合する任意のフォーマットが、使用され得る。分散管理タスクフォースDistributedManagementTaskForceDMTF協会内で開発されている規格であるオープン仮想化フォーマットOpenVirtualizationFormatOVF仕様が、使用され得る。OVF配布パッケージは、インストールに必要な追加的な情報ECP、ライセンス情報などを含み得るOVF記述子OVFdescriptorXMLファイルOVFエンベロープOVFenvelopeとも呼ばれるを含み、OVF配布パッケージは、OVFパッケージおよび仮想ディスクイメージにアクセスするときのセキュリティのために使用されるOVFマニフェストおよび証明書ファイルも含む。図3は、顧客の仮想環境にソフトウェア製品の仮想アプライアンスをデプロイするためのシステム環境を示す。ソフトウェアアプリケーションをインストールし、アクティブ化するための顧客のシステム環境300は、VMware仮想マシンモニタなどの仮想マシンモニタ、ホスト環境325が仮想マシンを管理するサーバを含み得る。図2に記載の方法にしたがって準備された仮想アプライアンスは、例えば、OSイメージを有する1つの仮想ディスク310と、プログラム製品のデータを有する1つの仮想ディスク320との2つの仮想ディスクに存する。通常、仮想マシンを開始するためのステップは、初めに、仮想ディスクをロードすることによって仮想マシンをインスタンス化することと、次に、通常はオペレーティングシステムの仮想ディスクに配置されるブートストラップによって自動的に行われる、仮想マシンをアクティブ化することとを含む。ソフトウェア製品を含む仮想アプライアンスをデプロイするために、顧客は、初めに、仮想アプライアンスの仮想ディスクをマウントすることによって仮想マシンをインスタンス化する。図2に記載のステップにしたがって作成された仮想アプライアンスをデプロイする顧客は、仮想マシンをインスタンス化し、ソフトウェアプログラムを自動的にアクティブ化するブートプログラムを有する代わりに、アクティベーションプログラムが開始される。ロードされるアクティベーションプログラム335は、ライセンス許諾ソフトウェアエンティティアクティベータLicensingSoftwareentitiesActivatorLSEA、ライセンス許諾ソフトウェアエンティティレジストリLicensingSoftwareEntitiesRegistryLSER、およびライセンス許諾ソフトウェアエンティティユーザインターフェースLicensingSoftwareEntitiesUserInterfaceLSEUを含む。LSEAコンポーネントは、あらかじめ必要なソフトウェア/パッケージのライセンスに準拠したインストールおよびアクティベーションを可能にする主コンポーネントであり、すなわち、LSEAコンポーネントは、アクティベーションフェーズにおいて、あらかじめ必要なソフトウェア/パッケージが既にインストールされているかどうかを調べ、ライセンスがユーザによって同意される場合にのみインストールを許可する。LSERコンポーネントは、前に取得済みであるか、またはアクティベーションフェーズ中にインストールされるあらかじめ必要なソフトウェア/パッケージのリストと、それらのソフトウェア/パッケージのソフトウェア製品とのリンクと、あらかじめ必要なソフトウェアが取得されることができるアドレスとを含むレジストリである。新しいあらかじめ必要なソフトウェア/パッケージがインストールされるたびに、そのソフトウェア/パッケージがLSERに登録される。LSERは、ソフトウェア製品のインストールのアクティベーションフェーズ中にインストールされたあらかじめ必要なソフトウェア/パッケージへの参照を含む。LSERは、同じソフトウェア/パッケージが2つ以上のソフトウェア製品に関するあらかじめ必要なソフトウェア/パッケージである可能性があり、これらのその他のソフトウェア製品のために既に取得された可能性があるので、そのLSERが2つ以上のシステム物理的なシステムまたは仮想マシンによって共有される場合、アクティベーションフェーズの前にインストールされたソフトウェア/パッケージを含む。LSEUのユーザインターフェースは、アクティベーションフェーズ中にいつでも、インストールされるべき製品に関するあらかじめ必要なソフトウェア/パッケージのライセンス文を取得し、ユーザに対して表示することができる。アクティベーションプログラムは、ECPと、インストールに役立つ、あらかじめ必要なソフトウェア/パッケージをダウンロードすべきロケーションなどの仮想アプライアンスの配布パッケージで提供される追加的な情報とをやはり使用する。すべてのこれらのコンポーネントおよび情報は、図4の説明で、仮想アプライアンスのデプロイの際のアクティベーションプログラムにおけるそれらのコンポーネントおよび情報の使用に関連してさらに説明される。仮想アプライアンスのデプロイのアクティベーションフェーズ中に、アクティベーションプログラム335が、VM330にロードされ、実行される。上述のように、ECPおよびLSEAコンポーネントは特定のソフトウェア製品のインストールおよびアクティベーションに関連するが、配布された仮想イメージから利用可能なLSEUおよびLSERは、任意で、仮想ディスク320、335からではなく、ホスト環境325の仮想マシンモニタを通じて仮想マシンによってアクセスされる1つのリモートサーバ340から使用される可能性がある。したがって、ユーザは、任意で、ソフトウェア製品のインストール/アクティベーションのために顧客のサイトの多くのシステムによって共有される仮想または物理マシン上のサーバ340を使用する可能性があり、このサーバは、利用できるインストール可能なあらかじめ必要なソフトウェア/パッケージを有することができ、その理由は、それらのソフトウェア/パッケージが2つ以上のソフトウェア製品に関するあらかじめ必要なソフトウェア/パッケージであるためである。この場合、LSERおよびLSEUコンポーネントは、ソフトウェアプログラムがインストールされ、アクティブ化される2つ以上のシステム物理または仮想マシンによって使用される。顧客は、ホスト環境からの仮想マシンモニタのAPIをオンラインコマンドとしてか、またはスクリプトを通じてかのどちらかで使用して、仮想マシンを開始し、仮想マシンとのインターフェースをとってファイルの修正などを行う。図4は、図3に示された顧客の仮想環境にソフトウェア製品の仮想アプライアンスをデプロイするための、本発明の好ましい実施形態による方法の流れ図である。仮想アプライアンスが図2の流れ図のステップにしたがって作成されたものとする。図4の流れ図は、仮想アプライアンスとともに配布されるアクティベーションプログラムの実行のステップ410、450を示す。ユーザは、初めに、仮想アプライアンスの仮想ディスク、例えば、OS用の1つの仮想ディスクおよびソフトウェア製品用の1つの仮想ディスクをマウントする400。仮想アプライアンスをデプロイする顧客は、新しい仮想マシンを、ホスト環境を形成する仮想マシンモニタの上のターゲットOSTargetOSとして開始し、この仮想マシン内でソフトウェア製品の実行を開始することを望む。仮想ディスクがマウントされると、仮想マシンがインスタンス化され、ブートプログラムが仮想ディスクから、通常はOSの仮想ディスクから実行を開始する。ソフトウェア製品のベンダーによってイメージの準備中に作成され、ブート時に開始されるアクティベーションプログラムを用いると、ソフトウェア製品自体の実行は、あらかじめ必要なソフトウェア/パッケージがVMイメージから削除されたために、直ちに開始されない。その代わりに、アクティベーションプログラムのLSEA主コンポーネントが、すべてのあらかじめ必要なソフトウェア/パッケージが、仮想ディスクのマウントによって既にインスタンス化されたイメージにインストールされており、利用可能であるかどうかを調べる410。この調査を実行するために、LSEAは、アクティブ化されるべき製品に添付されたすべての必須のあらかじめ必要なソフトウェア/パッケージのリストを含む、仮想アプライアンスのパッケージで提供されたECPを見て、それらのソフトウェア/パッケージが顧客によってまだインストールされていないかどうかを最初に調べる。これは、仮想アプライアンスで追加的な情報として配布された、OSのリポジトリか、または独立したファイルであるかのどちらかである可能性がある、すべてのインストールされるソフトウェアを載せたリポジトリを読むことによって行われる。必須のあらかじめ必要なソフトウェア/パッケージは、1つのその他の製品のインストールのためにユーザによって既にインストールされた可能性があり、対応するリポジトリは、このインストールによって既に更新された可能性があることが留意される。すべてのあらかじめ必要なソフトウェア/パッケージがインストールされ、アクティブ化されているテスト415に対する答えがはいである場合、製品は、そのままアクティブ化されるステップ450に進む。外部コンポーネント要件リストが満足されない415に対する答えがいいえである場合、仮想マシンをインストールする顧客は、好ましくはホスト環境のコンソールに表示されるメッセージによって、あらかじめ必要なソフトウェア/パッケージが見つからないことを知らされる。次に、ECPのあらかじめ必要なソフトウェア/パッケージが、取得される必要がある420。あらかじめ必要なソフトウェア/パッケージを取得するために、アクティベーションプログラムは3つのケースに行き当たる。-アクティベーションプログラムが、ユーザの環境に既にインストールされるあらかじめ必要なソフトウェア/パッケージを見つけるために、LSERで読まれたアドレスを取得する。-アクティベーションプログラムが、仮想アプライアンスのパッケージ例えば、OVFとともに提供された追加的な情報を読むことによって、例えば、あらかじめ必要なソフトウェア/パッケージがダウンロードされることができるURLを取得することによって、あらかじめ必要なソフトウェア/パッケージがどこから取得されることができるかを調べる。-取得が、アクティベーションプログラムによってスキップされ、VMのユーザによって後で実行される。これは、例えば、隔離された環境に仮想マシンがデプロイされ、どうしてもパッケージを取得することができないか、または仮想イメージをアクティブ化するために使用される仮想マシンモニタがイメージにいかなる追加的なリポジトリを付加することも許さない場合に当てはまる。この場合、アクティベーションプログラムは、ソフトウェア製品のアクティベーションを実行することなく終了される停止。このオプションが選択されるときは、ユーザが、あらかじめ必要なソフトウェア/パッケージを自身で取得し、それを手動でインストールする必要がある。LSEUは、取得されたあらかじめ必要なソフトウェア/パッケージ製品からライセンスを読み430、それをユーザに対して表示し、ユーザがライセンスに同意するかどうかをユーザに尋ねる。ユーザがライセンスに同意しない場合、アクティベーションプログラムは、ソフトウェア製品のアクティベーションを実行することなく終了される停止。その後のインストールを認める前に、ユーザは、そのユーザのライセンスに関する問題を解決する必要がある。ユーザがライセンスに同意する場合、LSEAコンポーネントが、あらかじめ必要なソフトウェア/パッケージをインストールする430。次に、LSEAは、LSERを、インストールされたあらかじめ必要なソフトウェア/パッケージのロケーション、およびその他のあらかじめ必要なソフトウェア/パッケージとの関係、およびソフトウェア製品の関係について更新する440。このステップが実行されない場合、アクティベーションプログラムは終了される停止。すべてのあらかじめ必要なソフトウェア/パッケージがインストールされると、最後のステップは、ソフトウェア製品をアクティブ化するためのものである450。プログラム製品のアクティベーションは、必要に応じて構成するステップと、仮想マシンの仮想ディスクから既に利用可能であるプログラムの実行を開始するステップとを必要とする可能性がある。仮想イメージをインストールするユーザによる承認のためにライセンス文を表示するために、LSEUコンポーネントは、仮想イメージを作成する開発者によって既に与えられたライセンスファイルからライセンス文を読むことができるか、またはLSEUは、あらかじめ必要なソフトウェア/パッケージが記憶されるロケーションからアクティベーションフェーズ中にオンザフライでライセンス文を引き出すことができることが留意される。結果として、仮想マシンのアクティベーションフェーズ中に、開発者によって仮想イメージから削除されたあらかじめ必要なソフトウェア/パッケージが、自動的に、しかし、ライセンスに準拠するようにして再インストールされる。イメージの作成およびソフトウェア製品のインストールのすべてのステップは、仮想マシンモニタのAPIに基づくスクリプトを用いて自動的に実行できる。