コンピュータの仮想マシンモニタ上で実行されている、少なくとも1つのOS仮想ディスクを含む仮想マシンシステムにおいて、仮想アプライアンスとして配布されたソフトウェアアプリケーションを自動的にアップグレードするための方法であって、前記方法は、前記仮想マシンモニタのAPIを用いて自動的に実行される次のステップ、すなわち、前記仮想マシンにアタッチされた仮想アプライアンス仮想ディスクのリストの以前に格納されたバージョンにおける変更を検出するステップと、新しい仮想アプライアンス仮想ディスクが検出された場合、前記少なくとも1つのOS仮想ディスク上にこの新しい仮想ディスク上で読み出された非アクティブ化スクリプトを格納し、かつ、前記新しい仮想ディスク上に格納された前記ソフトウェアアプリケーションをインストールする、前記新しい仮想ディスク上に格納されたインストール/アンインストールプログラムSIEの実行を開始することにより、前記新しい仮想ディスク上に格納された命令に従って前記OSシステムを修正することと、前記新しい仮想アプライアンス仮想ディスクのエントリを、現在アタッチされている前記仮想ディスクの前記リストに付加することと、を実行することにより、前記新しい仮想ディスク上で読み出されるインストールスクリプトを実行するステップと、を含む方法。前記新しい仮想ディスク上に格納された場合、必要に応じて、前記ソフトウェアアプリケーションを再構成するために、特定の付加的なアクティブ化操作を前記システム上で実行するステップをさらに含む、請求項1に記載の方法。前記仮想アプライアンス仮想ディスクの除去が検出された場合、除去される前記仮想ディスク上に格納されたインストール/アンインストールプログラムの実行を開始し、除去される前記仮想ディスク上に格納された、前記ソフトウェアアプリケーションをアンインストールする命令に従って前記OSシステムを修正することと、除去される前記仮想ディスクのエントリを、現在アタッチされている前記仮想ディスクの前記リストから削除すること、を実行することにより、除去される前記仮想ディスクの前記OSに既に格納されたアンインストールスクリプトを実行するステップをさらに含む、請求項1又は請求項2に記載の方法。除去される前記仮想ディスク上に格納された場合、前記アプリケーションがアンインストールされるのを可能にする特定の付加的な操作を前記システム上で実行するステップをさらに含む、請求項3に記載の方法。前記仮想マシン上での前記仮想ディスクアタッチイベント又は前記仮想ディスク除去イベントについて、前記仮想マシンを継続的に監視するステップをさらに含む、請求項1から請求項4までのいずれか1項に記載の方法。初期化された新しい仮想ディスク上にソフトウェアアプリケーションパッケージを格納する初期ステップと、前記新しい仮想ディスク上に、前記ソフトウェアアプリケーションをインストール/アンインストールするインストール/アンインストールプログラムを格納する初期ステップと、プログラムパッケージツールを用いて、前記インストール/アンインストールプログラムにより実行される前記ソフトウェアアプリケーションをインストール/アンインストールするように前記OSシステムを修正するための、プログラムパッケージを形成する命令を作成する初期ステップと、前記仮想ディスクを前記仮想アプライアンス仮想ディスクとして識別するディスク識別子を作成し、これを前記新しい仮想アプライアンス仮想ディスク上に格納する初期ステップと、をさらに含む請求項1又は請求項2に記載の方法。必要に応じて、インストール後に、前記ソフトウェアアプリケーションの構成を可能にするように、前記新しい仮想ディスク上に、前記システム上で実行される特定の付加的な操作を作成しかつ格納するステップをさらに含む、請求項6に記載の方法。前記方法の前記ステップは、前記仮想マシンの前記仮想マシンモニタとインターフェース接続する、APIプログラミング命令を含むスクリプトを実行するプログラムVDAMにより自動的に実行される、請求項1から請求項7までのいずれか1項に記載の方法。前記自動ステップの実行のために前記プログラムVDAMをセットアップする初期ステップをさらに含む、請求項1から請求項8までのいずれか1項に記載の方法。前記仮想アプライアンス仮想ディスクの前記リストにおける変更を検出する前記ステップは、各々が前記仮想アプライアンス仮想ディスクの特定の署名である一意の識別子のリストにおける変更を検出することを含み、前記一意の識別子を作成する前記ステップは、前記仮想アプライアンス仮想ディスクの属性に基づいて前記特定の署名を計算することを含む、請求項1から請求項9までのいずれか1項に記載の方法。請求項1から請求項10までのいずれか1項に記載の方法のステップを実行するように適合された手段を含むシステム。コンピュータ上で実行されたとき、請求項1から請求項9までのいずれか1項に記載の方法のステップを実行するための命令を含むコンピュータプログラム。従って、バイナリが仮想ディスク上に分散した、仮想アプライアンスとして配布されるアプリケーションをインストール又は置換する際の手動操作を回避する必要性がある。本発明の目的は、ソフトウェアアプリケーションバイナリを含む仮想アプライアンスの仮想ディスクを自動的にインストール及びアップグレードするための方法及びシステムを提供することである。この目的は、請求項1により、コンピュータの仮想マシンモニタ上で実行されている、少なくとも1つのOS仮想ディスクを含む仮想マシンシステムにおいて、仮想アプライアンスとして配布されたソフトウェアアプリケーションを自動的にアップグレードするための方法であって、仮想マシンモニタのAPIを用いて自動的に実行される次のステップ、すなわち、仮想マシンにアタッチされた仮想アプライアンス仮想ディスクのリストの以前に格納されたバージョンにおける変更を検出するステップと、新しい仮想アプライアンス仮想ディスクが検出された場合、少なくとも1つのOS仮想ディスク上にこの新しい仮想ディスク上で読み出された非アクティブ化スクリプトを格納し、かつ、新しい仮想ディスク上に格納されたソフトウェアアプリケーションをインストールする、新しい仮想ディスク上に格納されたインストール/アンインストールプログラムSIEの実行を開始することにより、新しい仮想ディスク上に格納された命令に従ってOSシステムを修正することと、新しい仮想アプライアンス仮想ディスクのエントリを、現在アタッチされている仮想ディスクのリストに付加することと、を実行することにより、新しい仮想ディスク上で読み出されるインストールスクリプトを実行するステップと、を含む方法によって実現される。この目的は、請求項2により、新しい仮想ディスク上に格納された場合、必要に応じて、ソフトウェアアプリケーションを再構成するために、特定の付加的なアクティブ化操作をシステム上で実行するステップをさらに含む、請求項1に記載の方法によって実現される。この目的は、請求項3により、-仮想アプライアンス仮想ディスクの除去が検出された場合、除去される仮想ディスク上に格納されたインストール/アンインストールプログラムの実行を開始し、除去される仮想ディスク上に格納された、ソフトウェアアプリケーションをアンインストールする命令によってOSシステムを修正することと、除去される仮想ディスクのエントリを、現在アタッチされている仮想ディスクのリストから削除すること、を実行することにより、除去される仮想ディスクのOSに既に格納されたアンインストールスクリプトを実行するステップと、をさらに含む、請求項1又は請求項に記載の方法によって実現される。この目的は、請求項4により、除去される仮想ディスク上に格納された場合、アプリケーションがアンインストールされるのを可能にする特定の付加的な操作をシステム上で実行するステップをさらに含む、請求項3に記載の方法によって実現される。この目的は、請求項5により、仮想マシン上での仮想ディスクアタッチイベント又は仮想ディスク除去イベントについて、仮想マシンを継続的に監視するステップをさらに含む、請求項1から請求項4までのいずれか1項に記載の方法によって実現される。この目的は、請求項6により、初期化された新しい仮想ディスク上にソフトウェアアプリケーションパッケージを格納する初期ステップと、新しい仮想ディスク上に、ソフトウェアアプリケーションをインストール/アンインストールするインストール/アンインストールプログラムを格納する初期ステップと、プログラムパッケージツールを用いて、インストール/アンインストールプログラムにより実行されるソフトウェアアプリケーションをインストール/アンインストールするようにOSシステムを修正するための、プログラムパッケージを形成する命令を作成する初期ステップと、仮想ディスクを仮想アプライアンス仮想ディスクとして識別するディスク識別子を作成し、これを新しい仮想アプライアンス仮想ディスク上に格納する初期ステップと、をさらに含む、請求項1又は請求項2に記載の方法によって実現される。この目的は、請求項7により、必要に応じて、インストール後に、ソフトウェアアプリケーションの構成を可能にするように、新しい仮想ディスク上に、システム上で実行される特定の付加的な操作を作成しかつ格納するステップをさらに含む、請求項6に記載の方法によって実現される。この目的は、請求項8により、方法のステップは、仮想マシンの仮想マシンモニタとインターフェース接続する、APIプログラミング命令を含むスクリプトを実行するプログラムVDAMにより自動的に実行される、請求項1から請求項7までのいずれか1項に記載の方法によって実現される。この目的は、請求項9により、自動ステップの実行のためにプログラムVDAMをセットアップする初期ステップをさらに含む、請求項1から請求項8までのいずれか1項に記載の方法によって実現される。この目的は、請求項10により、仮想アプライアンス仮想ディスクのリストにおける変更を検出するステップは、各々が仮想アプライアンス仮想ディスクの特定の署名である一意の識別子のリストにおける変更を検出することを含み、一意の識別子を作成するステップは、仮想アプライアンス仮想ディスクの属性に基づいて特定の署名を計算することを含む、請求項1から請求項9までのいずれか1項に記載の方法によって実現される。この目的は、請求項11により、請求項1から請求項10までのいずれか1項に記載の方法のステップを実行するように適合された手段を含むシステムによって実現される。この目的は、請求項12により、コンピュータ上で実行されたとき、請求項1から請求項9までのいずれか1項に記載の方法のステップを実行するための命令を含むコンピュータプログラムによって実現される。本発明の解決法によって、異なる仮想ディスク上に仮想アプライアンスを分散させる従来技術の慣例を活用して、ここでは、ソフトウェア製造業者が、ソフトウェアアプリケーションバイナリを含み、ユーザにより自動的にインストールされる又はユーザサイトのVM上で置換され、手動操作の実行を回避させる自動アクティブ化仮想ディスクSelfActivatingVirtualDisk、SAVD製品ディスクを構築するのを可能にする方法及びシステムが開示される。SAVDを有するアプリケーションを配布するソフトウェア製造業者にとっての1つの利点は、図3の説明に関連して好ましい実施形態の詳細な説明において説明されるように、ソフトウェア製造業者による、その準備サイトにおけるSAVD製品ディスクの作成も自動化できることである。この方法は、ソフトウェア製造業者が、仮想アプライアンス内にOSを配布するのを回避することを可能にする。仮想アプライアンスは、アプリケーションバイナリと、顧客のVM環境におけるアプリケーションの自動インストール又は置換に必要な全てのアーチファクトとを含む仮想ディスクのような、1つのSAVDだけを含むことができる。SAVD製品ディスクを置換することによりアプリケーションをアップグレードする際、OSディスクがアプリケーションアップグレード仮想アプライアンスと共に配布されれば失われ得る付加的なデータ及び構成を顧客が含ませていた可能性がある、VMOSディスクを変更しない。さらに、全てのオペレーティングシステム関連ファイルは含まれないため、アプライアンスをインストールするのに必要なアーチファクトの全体のサイズが低減される。この解決法の1つの付加的な利点は、オペレーティングシステムが新しいバージョンのアプリケーションと共に配布されないことであり、このことは、オペレーティングシステムを、新しいバージョンの仮想アプライアンスと共に再配布することが必要な場合に要求されるライセンス契約に関連した製造業者に対する問題を解決する。実際に、通常、オペレーティングシステムには、イメージの無償の再配布を防ぐ所有者ライセンスが付随する。本発明の解決法によって、ソフトウェア製造業者は、OS仮想ディスク及びSAVD製品ディスクを、アプリケーション仮想アプライアンスの最初のバージョンで配布し、かつ、アプリケーションの各新しいバージョンに対してのみ、SAVD製品ディスクを配布するよう選択することができる。本発明の解決法によって、製造業者は、アプリケーションアップグレードを含むSAVDと共にOSディスクを配布することもできるが、この事例は、顧客が、自身のサイト上でSAVDを置換してアプリケーションバイナリをアップグレードする際に、OSベースシステムを修正することを回避するという、本発明の1つの利点が失われるため、推奨されない。本方法は、特定の仮想化ベンダーがそうした製品のインストール/アップグレードを実装するために提供するAPI及びコマンドの特定のシーケンシング及び使用に依存する。サイレントかつ全自動の手法に対する代替的手法として、再構成プロセスにおいて管理者を案内し、支援するユーザインターフェースが提供される。本方法は、ソフトウェアアプリケーションをインストールする際に、ターゲットマシン上で実行される自動操作を含むソフトウェアアプリケーションライブラリを供給するためのソフトウェアパッケージの使用も活用する。MicrosoftのWindowsオペレーティングシステムMicrosoftは、米国、及び/又は他の国々におけるMicrosoftCorporationの登録商標又は商標であるの従来技術のAUTORUN機能と同様に、顧客のVMは、SAVD製品ディスクの一意の識別子を用いて、新しい又は除去されたSAVD製品ディスクを検出し、インストール/アンインストールし、かつ、ターゲットVM上の対応するソフトウェアの自動インストール又は置換を開始することができる、新しいプログラムVDAMを使用する。図1は、本発明の好ましい実施形態による、準備サイトをセットアップし、仮想アプライアンスを作成するためのシステム環境を示す。仮想アプライアンスのイメージを作成するために、ソフトウェアアプリケーション製造業者は、仮想マシン環境を管理するための仮想管理サーバ110と、仮想マシンをインストールすることができる準備サイトサーバ100とを有することができる。例えば、仮想マシンモニタであるホスト環境125は、仮想マシン、すなわち、その仮想ディスク115、120を用いてゲストOS130を管理するためのVMware仮想マシンモニタとすることができる。仮想管理サーバ110上には、顧客に配布される仮想アプライアンスの最終イメージを作成するための全ての必要なファイル150をファイルリポジトリ145内に作成するために新しいソフトウェアコンポーネント、すなわち仮想ディスクアクティブ化マネージャVirtualDiskActivationmanager、VDAM135がインストールされる。これらのファイルは、仮想アプライアンスのベースOS仮想ディスクを作成するのに用いられるVMイメージを含むが、特に、これらのファイルは、アプリケーションを含有する自己アクティブ化仮想ディスクSAVDを作成するために用いられる。最初の作成について、仮想イメージは、VMベースOSのための仮想ディスクと、アプリケーションのためのSAVDとを含有する。アプリケーションのアップグレードのために、1つのSAVDだけが作成される。VDAMは、より具体的には、ソフトウェアアプリケーションライブラリ、つまり製品ディスクを含む仮想アプライアンスの仮想ディスクを作成する。好ましい実施形態によると、製品ディスクは、自己アクティブ化仮想ディスクSAVDである。VDAMは、既存のAPIを用いてホスト環境と通信する。より具体的には、VDAMは、スクリプトの組を用いて、VMwareサーバにより与えられるVIXインターフェースを活用するVMware仮想マシンモニタと対話して、コマンドを、VMware仮想マシンモニタ及びVMwareVMの両方に送る。VIXAPIは、VMware仮想マシンの動作を自動化し、ゲストオペレーティングシステム内でプログラムを実行するか又はファイルを操作する。VIXインターフェースは、VMの動作VMを停止する、VMを開始する、VMのスナップショットを撮る等及びゲストの動作ゲストOS内でアプリケーションを実行する、ゲストとホストとの間でファイルをコピーする等の両方を自動化するためのプログラミングインターフェースである。VMwareの他に、類似のAPIを異なる仮想化環境において用いることができる。VDAMコンポーネントは、特に、ディスク処理追加する/置換する/除去するに関連したVMにおけるあらゆる変更を検出し、仮想アプライアンスディスクをVMに接続させる又はVMから分離させるために適切な構成を呼び出すことができる。SAVD製品ディスクの作成のために、IBMTivoliProvisioningManagerIBM及びTivoliは、IBMCorporationの商標であるのAUTOPACK機能のような既存のソフトウェアパッケージツール、及びソフトウェアパッケージインストーラエンジンSIEもSAVD製品ディスクを作成するための準備サイトにおいて用いられる。従来技術において周知のように、ソフトウェアパッケージは、システム上にソフトウェアアプリケーションをインストールするのに必要な動作を含む。ソフトウェアパッケージインストーラは、ソフトウェアパッケージを読み出すことにより、ソフトウェアアプリケーションのインストールに対してターゲットOSを準備することができる。通常、SIEプログラムは、ターゲットVMのアーキテクチャに依存する。以下に、これらのコンポーネント140、155、160間の様々な情報交換について、本文書の残りにおける図2及び図3の説明と関連してそれぞれ説明される準備をセットアップする及び仮想アプライアンスを作成するための方法のステップとの関連で説明する。図2は、本発明の好ましい実施形態による、サイトをセットアップして仮想アプライアンスを準備するための方法の流れ図である。ソフトウェア製造業者は、好ましくは仮想管理サーバと、ホスト環境である仮想マシンモニタを含む準備サーバとを含む準備サイトをセットアップする。本方法は、仮想アプライアンスの製品ディスクに対応するSAVDの作成に対して準備サイトを使用可能状態にすることを目的とする。準備サイトをセットアップするための全てのステップは、仮想管理サーバ上にインストールされ、かつ、準備サーバのホスト環境と通信するスクリプトを実行するVDAMプログラムによって実行される。例えば、VDAMは、ホスト環境がVMware仮想マシンモニタである場合、VIXスクリプトを用いてホスト環境と通信する。全てのステップがスクリプトを通して実行されるため、本方法は完全に自動化できることに留意されたい。最初のステップ200は、要求されるゲストOSに対して仮想マシンをインストールすることからなる。VMイメージは、仮想マシンマネージャ例えば、VMware仮想マシンモニタであるホスト環境マシン上のファイルリポジトリから作成されることが好ましい。次いで、そのAPIを用いてVMを仮想マシンマネージャに構成する必要がある。このステップ210は、コピーされたばかりのイメージを参照して新しいVMを登録することからなり、その結果、ベースOS仮想ディスクが作成される。次のステップ220は、これもホスト環境上で実行され、それからイメージを作成しなければならない新しい仮想ディスクを構成し、この新しい仮想ディスクをVMイメージにアタッチすることからなる。このディスクは、プロセスの最後にSAVD製品ディスクとなる。次いで、ゲストOSVMの電源が投入され230、ソフトウェアパッケージを作成するためのツールAUTOPACK等、対応するソフトウェアパッケージインストーラSIE及びVDAMのプログラムコードがゲストOS上にコピーされ240、ライブラリは、VMwareの場合には、これもVIXベースのスクリプトを通してSAVDにコピーされる。実際には、顧客サイトではインストーラSIEだけが必要であり、単純化のために、顧客に配布される最終SAVD上に、ソフトウェアパッケージツールAUTOPACK等が格納されないことがある。図3は、本発明の好ましい実施形態による、図2の流れ図に説明される方法に従ってセットアップされた準備サイトにおいて、仮想アプライアンスを作成するための方法の流れ図である。ひとたび、準備サイトにおけるゲストOSが使用可能状態になると、SAVD製品ディスクを作成することができる。このSAVD製品ディスクは、顧客に配布される最初の仮想アプライアンス製品ディスク、又は、ソフトウェアアプリケーションのアップグレードを含む製品ディスクとすることができ、かつ、アプリケーションのアップグレードのために仮想アプライアンス内にSAVDOS仮想ディスクを提供する意味がないので、ユーザのソフトウェアアプリケーションのアップグレードのためにユーザに配布される唯一の仮想ディスクであることに留意されたい。アプリケーションの最初の配布の仮想アプライアンスは、OS仮想ディスクを含み得るが、OSディスクの作成は、本発明の一部ではない。このような理由で、この方法は、寧ろ、仮想アプライアンスにおける唯一の仮想ディスクとして、SAVDの作成に焦点を当てる。SAVD製品ディスクを作成するための全てのステップは、APIベースのスクリプトVMware環境に対してはVIXを用いて、ホスト環境VMモニタとインターフェース接続するVDAMコンポーネントによって自動的に実行される。製品バイナリを含むソフトウェアアプリケーションのインストールイメージが、リポジトリファイルからホスト環境に、及び、ホスト環境からゲストOSにコピーされる300。ソフトウェアパッケージを作成するツールによって、配布されるソフトウェアアプリケーションのためのソフトウェアパッケージがゲストOSVM内に最初に作成される310。例えば、AUTOPACKツールは、ソフトウェアアプリケーションのインストール前後に、準備マシンシステムの2つの連続するシステムスナップショットを比較することにより、差分手法を用いて、ソフトウェアパッケージの作成を自動化する。このように、AUTOPACKは、アプリケーションのインストールによってなされたファイル及びシステムの変更を検出し、ターゲットシステムをソフトウェアアプリケーションに適合させるために実行される操作を作成する。次いで、インストーラSIEは、ターゲットシステム上でその操作を実行するためのソフトウェアアプリケーションライブラリをインストールすることにより、その操作を自動的に実行することができる。VDAMは、APIベースのスクリプトを用いて、ゲストOSVMにおけるシステムの第1のAUTOPACKスナップショットを実行する。AUTOPACKは、OSベース仮想ディスク上のシステム関連ファイル及びレジストリエントリに生じた変更だけを捕捉する。次いで、SAVD製品ディスクのソフトウェアアプリケーションのインストールイメージディレクトリを参照しながら、ソフトウェアアプリケーションがインストールされる。このインストールは、ゲストOS及びこのアプリケーションによりサポートされていればサイレントモードで、又はサポートされていなければオペレータ補助モードで実行される。第2のAUTOPACKスナップショットが、ゲストOSVMにおいて実行される。AUTOPACK差分手法が実行され、ゲストOSVMにソフトウェアパッケージが構築される。次いで、AUTOPACKによって作成されたソフトウェアパッケージが、サイト準備のセットアップ中に作成されたSAVD製品ディスク120内に格納される310。ソフトウェアパッケージを作成するための幾つかの既存のツールを用いると、幾つかのソフトウェアパッケージは、システムファイルを作成/修正するために実行される命令だけでなく、アプリケーションのバイナリライブラリも含む場合があることに留意されたい。これは実装の1つの選択肢にすぎず、好ましい実施形態において説明された場合においては、ソフトウェアパッケージとアプリケーションバイナリライブラリとは分離され、2つのステップ300、310でSAVD製品ディスク上に格納される。VDAMは、ユーザターゲットシステム上へのソフトウェアアプリケーションのインストールの際に、VDAMにより用いられる特定のアクティブ化/非アクティブ化APIベーススクリプトを作成する320。実際のところ、ひとたびインストールされたソフトウェアアプリケーションは、特定のホスト名が用いられていること等を必要とする場合がある。一例として、幾つかのアプリケーションは、それがインストールされたマシンのIPアドレスが変更されると、再構成する必要がある。この目的に対しては、特定の再構成コマンドを実行しなければならない。作成されたアクティブ化/非アクティブ化APIベーススクリプトは、SAVD製品ディスクにコピーされる。SAVD製品ディスクを識別する一意の識別子が作成され330、SAVD製品ディスク内に格納される。一意の識別子は、SAVD製品ディスクの署名の一種であり、例えば、SAVDの名称、サイズ、バージョン、仮想アプライアンスの名称等を用いて、SAVDの様々な属性を構成するように計算することができる。幾つかのアルゴリズムが、UUID、すなわち汎用一意識別子UniversallyUniqueIdentifierの計算の分野において既に存在する。一意の識別子は、顧客がソフトウェアアプリケーションを初めてインストールするとき又はアップグレードするとき、顧客のサイトでのSAVD製品ディスクのアクティブ化段階中に用いられる。ゲストOSの電源を遮断し、SAVD製品ディスクがデタッチされる。SAVD製品ディスクイメージが、ホスト環境からファイルリポジトリにコピーされる340。最終的に、SAVD製品ディスクは、ソフトウェアアプリケーションインストールイメージソフトウェアアプリケーションのバイナリを含む、ソフトウェアパッケージ、アクティブ化/非アクティブ化イベントが発生するとVDAMにより実行されるアクティブ化/非アクティブ化スクリプト、VDAM、SIE及びAUTOPACKライブラリを含む。作成されたばかりのSAVD製品ディスクは、仮想アプライアンスイメージ150の最初の配布の一部とすることができ、又は製品の新しいバージョンが顧客に配布された際に作成することができる。図4は、本発明の好ましい実施形態による、図3の流れ図に説明された方法に従って、説明されたように作成された仮想アプライアンスを、インストール又はアンインストールするためのシステム環境を示す。ソフトウェアアプリケーションをインストール及びアップグレードするための顧客のシステム環境400は、その上でVMware仮想マシンモニタ等の仮想マシンモニタ、すなわちホスト環境425が仮想マシンを管理する、サーバを含む。ソフトウェアアプリケーションの最初のインストールの際に、最初のインストールの仮想アプライアンスで提供され得たVMイメージは、そのベースOS仮想ディスク410を用いてターゲットOS430として、顧客によりインストールされる。アプリケーションの仮想アプライアンスが、最初のバーションであっても、SAVDのみを含有する場合、顧客は、自分のVMをインストールし、自分のVMのOSに対するSAVDを注文する。従って、顧客は、ソフトウェアアプリケーションをターゲットOSVM上にインストールするのに用いられる自動アクティブ化仮想ディスクであるSAVD製品ディスク420をインストールしなければならない。SAVDのアクティブ化/非アクティブ化に対して、VDAM及びSIE435の両方がターゲットOS上で開始される。VDAMは、SIEをツールとして用いてインストールを実行する。VDAMは、デーモンコンポーネント等のサービスとして開始され、ディスクの追加又は除去に関連したイベントについてシステムを継続的に監視することが好ましい。VDAMは、仮想マシンモニタへのコマンドのスクリプトを実行するため、顧客VM上に一度インストールする必要があることに留意されたい。ひとたびインストールされると、VDAMは、次のSAVDのインストール、更新、及び除去に再利用される。随意的に、顧客は、VDAMプログラムのセットアップを実行することができる。セットアッププログラムは、SAVD上に格納し、仮想マシンのOS内の既存のツールWindowsのAUTORUN等のを用いて、仮想ディスクをアタッチする際に実行することができる。図5は、本発明の好ましい実施形態による、図3の流れ図に説明された方法に従って、説明されたように作成された仮想アプライアンスのSAVDをインストール又はアンインストールするための方法の流れ図である。SAVD製品ディスクがターゲットOSにアタッチされたと仮定すると、VDAMは、UIDを読み出すことにより、VMにアタッチされた全てのSAVDのリストを収集する510。VDAMは、現在のリストを、ベースOS内にローカルに格納され、かつ、VDAMサービスの最後の開始に対応するリストと比較する。ターゲットOSの作成の際、リストは空であり、仮想アプライアンスが初めてインストールされると、1つのSAVDが識別される。VDAMが新しいSAVDを検出テスト515に対してイエスと回答すると、VDAMは、SAVDの非アクティブ化スクリプトをベースOS仮想ディスクにコピーする525。次いで、VDAMは、SIEにより、SAVDにおけるソフトウェアパッケージのインストールを開始し、ソフトウェアアプリケーションをインストールするためのアクティブ化スクリプトが実行される530。VDAMは、新しいSAVDのエントリを付加することにより、ベースOSディスクにおけるアクティブなSAVDのローカルリストを更新する535。必要に応じて、ソフトウェアパッケージのインストール又はアクティブ化スクリプトにより要求された場合、ターゲットOSシステムは再起動される。VDAMが、SAVDが除去されたことを検出テスト520に対してイエスと回答すると、アクティブ化の際にSAVDからベースOS仮想ディスクにコピーされた関連する非アクティブ化スクリプトが実行される540。VDAMは、SIMを実行して、除去されるSAVDに対応するソフトウェアパッケージのインストールを取り消す。SAVDの非アクティブ化スクリプトは、ベースOS仮想ディスクから除去される545。VDAMは、SAVDのエントリをSAVDのリストから削除する550。必要に応じて、ソフトウェアパッケージのアンインストール又は非アクティブ化スクリプトにより要求された場合、ターゲットOSシステムは再起動される。サービスとして機能するために、VDAMは、ループを開始しテスト520に対してノーと回答、ターゲットOSにおける仮想ディスクの追加/除去に関連した仮想システムイベントを収集し、処理することができる。新しいSAVDに関するイベントを受信すると、VDAMは、これをアクティブ化するためのステップを実行し、除去されたSAVDに関するイベントを受信すると、VDAMは、これを非アクティブ化するためのステップを実行する。システムイベントを検出するデーモンとして開始されたVDAM上のループのために、仮想ディスクのインストール又は除去535、550を実行した後、ステップ510へのループが実行される。