コンピュータプロセッサ上で実施される方法であって、ホストオペレーティングシステム内にアプリケーションバーチャライザをインストールするステップであって、前記アプリケーションバーチャライザは、記憶された項目を備えるプライベート名前空間を有し、前記ホストオペレーティングシステムは、パブリック名前空間を有するステップと、前記パブリック名前空間内に、前記プライベート名前空間内の第1の位置への第1のリンクを構築するステップと、前記第1のリンクを備えるコマンドを受け取るステップと、前記第1のリンクから前記第1の位置を特定するステップと、前記第1の位置を前記アプリケーションバーチャライザに渡すステップであって、前記アプリケーションバーチャライザは、仮想アプリケーションを起動し、前記コマンドを処理するように構成されるステップとを含むことを特徴とする方法。前記パブリック名前空間内に、前記プライベート名前空間内の第2の位置への第2のリンクを構築するステップであって、前記第2の位置は、値を備えるステップと、前記第2のリンクを求める要求を受け取るステップと、前記第2のリンクから前記第2の位置を特定するステップと、前記プライベート名前空間から前記値を取得するステップと、前記値を用いて前記要求に応答するステップとをさらに含むことを特徴とする請求項1に記載の方法。前記第2のリンクは、ホストファイルシステム内に配置されることを特徴とする請求項2に記載の方法。前記第2のリンクは、ホストレジストリ内に配置されることを特徴とする請求項2に記載の方法。前記プライベート名前空間は、前記仮想アプリケーション用の実行可能なコードを備えることを特徴とする請求項1に記載の方法。前記プライベート名前空間は、前記仮想アプリケーション用のレジストリ設定を備えることを特徴とする請求項5に記載の方法。前記アプリケーションバーチャライザと、前記第1のリンクとは、インストールパッケージ内に設けられることを特徴とする請求項1に記載の方法。前記インストールパッケージは、前記第1のリンクを備えるマニフェストを読み取り、前記ホストオペレーティングシステム内に前記第1のリンクを構築するインストールプログラムを備えることを特徴とする請求項7に記載の方法。前記コマンドは、前記ホストオペレーティングシステム内の第2のアプリケーションバーチャライザ内で実行する第2の仮想アプリケーションから受け取られることを特徴とする請求項1に記載の方法。前記アプリケーションバーチャライザは、前記仮想アプリケーションにストリーム配信されることを特徴とする請求項1に記載の方法。ホストオペレーティングシステムと、インストールパッケージであって、プライベート名前空間、前記プライベート名前空間内の宛先位置への第1のリンクを備えるマニフェストであり、前記第1のリンクは、前記ホストオペレーティングシステム内の元位置を備えるマニフェスト、およびアプリケーションバーチャライザを備えるインストールパッケージと、インストールプログラムであって、前記アプリケーションパッケージから前記アプリケーションバーチャライザをインストールし、前記アプリケーションパッケージから前記マニフェストを読み取り、前記第1のリンクを構築するように構成されたインストールプログラムとを備えることを特徴とするシステム。前記インストールプログラムは、第2のシステム上で実行可能であることを特徴とする請求項11に記載のシステム。前記アプリケーションバーチャライザが、第2のシステム上で実行されるときに、前記アプリケーションを前記アプリケーションバーチャライザにストリーム配信するストリーミングサーバをさらに備えることを特徴とする請求項12に記載のシステム。前記アプリケーションバーチャライザは、前記ストリーミングサーバへのリンクを備えることを特徴とする請求項13に記載のシステム。前記宛先位置は、前記プライベート名前空間内のレジストリ位置であることを特徴とする請求項11に記載のシステム。仮想アプリケーションは、ホストオペレーティングシステムのパブリック名前空間から、仮想アプリケーションが使用するプライベート名前空間へのポインタを用いて、ホストオペレーティングシステムで実行することができる。ポインタは、例えば、ホストオペレーティングシステムのレジストリ、およびファイルシステム内に駐在させることができ、それによって他のアプリケーションおよびオペレーティングシステムが、仮想アプリケーションにアクセス、制御、および動作することが可能となり得る。仮想アプリケーションは、ホストオペレーティングシステム内に、アプリケーションバーチャライザ内のプライベート名前空間へのリンクを構築することができるインストールプログラムによって構成し、利用することができる。インストールプログラムは、アプリケーションバーチャライザをインストールすることができ、したがってユーザまたは別のアプリケーションによって、仮想アプリケーションを起動し、相互作用することができるようになる。多くの実施形態では、ユーザは、アプリケーションバーチャライザ内で動作する仮想アプリケーションが、あたかもその仮想アプリケーションが、ホストオペレーティングシステムでネイティブにnatively実行しているかのように体感することができる。仮想アプリケーションは、グラフィカルユーザインタフェースを提示することができ、カットアンドペースト機能、および類似の他のグラフィカルユーザインタフェース要素など、ネイティブに実行しているアプリケーションと同様に相互作用することが可能となり得る。仮想アプリケーションは、アプリケーションバーチャライザ内で動作することができ、プライベート名前空間、およびその仮想アプリケーションが利用可能なホストオペレーティングシステムの名前空間を有することができる。かかる構成によって、仮想アプリケーションは、仮想アプリケーション用の多くのデータソースを、プライベート名前空間内に保持しながら、ホストオペレーティングシステムのファイルシステム、レジストリ、および他の機能にアクセスすることが可能となり得る。本明細書全体を通して、同じ参照番号は、図の説明全体を通して同じ要素を示す。要素が接続されるまたは結合されると称する場合、それらの要素は、互いに直接接続または結合されることがあり、または1つもしくは複数の介在要素が存在してもよい。一方、要素が直接接続されるまたは直接結合されると称する場合、介在要素は存在しない。主題は、デバイス、システム、方法、および/またはコンピュータプログラム製品として実施することができる。したがって、主題の一部または全ては、ハードウェア、および/またはソフトウェアファームウェア、常駐ソフトウェア、マイクロコード、ステートマシン、ゲートアレイ他を含むとして実施することができる。さらに、主題は、命令実行システムによって、または命令実行システムと共に使用される媒体において実施される、コンピュータ使用可能またはコンピュータ可読のプログラムコードを有するコンピュータ使用可能またはコンピュータ可読の記憶媒体上のコンピュータプログラム製品の形を取ることができる。本明細書において、コンピュータ使用可能またはコンピュータ可読の媒体とは、命令実行システム、装置、またはデバイスによって、またはそれらと共に使用されるプログラムを保存、記憶、通信、伝搬、または転送することができる任意の媒体でよい。コンピュータ使用可能またはコンピュータ可読の媒体は、それだけに限られるものではないが、例えば、電子、磁気、光学、電磁、赤外線、または半導体システム、装置、デバイス、または伝搬媒体でよい。限定ではなく、例によって示すものであるが、コンピュータ可読媒体は、コンピュータ記憶媒体、および通信媒体を備えることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための、任意の方法または技術で実装される揮発性、および不揮発性の、取外し可能な媒体、および取外し不可能な媒体が含まれる。コンピュータ記憶媒体には、それだけに限られるものではないが、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD-ROM、DVDdigitalversatiledisk、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、かつ命令実行システムによってアクセスすることができる他の任意の媒体が含まれる。コンピュータ使用可能またはコンピュータ可読の媒体は、プログラムがその上に印刷された紙または他の適切な媒体でよいことに留意されたい。というのは、こうしたプログラムは、例えば、紙または他の適切な媒体の光学走査を介して電子的に取り込み、次いで、必要に応じてコンパイル、解釈、またはその他の適切な形で処理し、その後コンピュータメモリに記憶できるためである。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の転送機構などの変調されたデータ信号の形の他のデータを実施するものであり、いかなる情報伝達媒体も含まれる。用語変調されたデータ信号とは、1つまたは複数のその特性セットcharacteristicssetを有する信号、または信号内の情報を符合化する形で変更された信号として定義することができる。限定ではなく、例によって示すものであるが、通信媒体には、有線ネットワーク、または直接有線接続などの有線媒体、およびアコースティック、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。上述したもののいかなる組合せもやはり、コンピュータ可読媒体の範囲内に含まれるべきである。主題がコンピュータ実行可能な命令の一般的な例として実施される場合、その実施形態は、1つまたは複数のシステム、コンピュータ、または他のデバイスによって実行されるプログラムモジュールを備えることができる。一般に、プログラムモジュールは、特定のタスクを実施する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な実施形態において、必要に応じて、組み合わせる、または分散させることができる。図1は、仮想化アプリケーションを備えたシステムを示す実施形態100の図である。実施形態100は、仮想化アプリケーションを、完全にインストールされた構成、またはストリーミング構成のいずれかで有することができるシステムの簡略化した例である。図1の図は、システムの機能コンポーネントを示す。場合によって、コンポーネントは、ハードウェアコンポーネント、ソフトウェアコンポーネント、またはハードウェアとソフトウェアの組合せでよい。コンポーネントのいくつかは、アプリケーションレベルのソフトウェアでよく、他のコンポーネントは、オペレーティングシステムレベルのコンポーネントでよい。ある場合には、一コンポーネントを別のコンポーネントに接続するには、近距離接続でよく、その場合2つ以上のコンポーネントが単一のハードウェアプラットフォーム上で動作することになる。他の場合には、接続は、長距離に及ぶネットワーク接続を介して行うことができる。各実施形態で、異なるハードウェア、ソフトウェア、および相互接続アーキテクチャを用いて、上述の機能を実現することができる。実施形態100は、あるアプリケーションを仮想化した形で実行することができるシステムの例である。仮想化した形では、アプリケーションを他のアプリケーションから、かつオペレーティングシステムから独立させることができる。アプリケーションバーチャライザは、仮想化アプリケーションがリファレンスすることができるプライベート名前空間を構築することによって、分離層separationlayerを設けることができる。アプリケーションバーチャライザによって、アプリケーションは、プライベート名前空間をまずリファレンスすることが可能となり、プライベート名前空間にリファレンスが見当たらない場合、アプリケーションは、次いでパブリック名前空間内の項目をリファレンスすることが可能となり得る。プライベート名前空間は、ファイル、ライブラリ、アセンブリ、レジストリ設定、および多くの異なる機能について仮想化アプリケーションが使用することができる他の変数などの項目を含むことができる。ある場合には、プライベート名前空間内の項目によって、仮想アプリケーションを起動することができ、時には、かかる起動項目は、仮想アプリケーションを実行する際にその仮想アプリケーションが消化することができる変数または他の情報と共に受け取ることができる。他の場合では、プライベート名前空間内の項目に、照会可能な値を含めることができる。実施形態100のアプリケーション仮想化システムは、プライベート名前空間内の項目をポインティングすることができるリンクまたはリファレンスをパブリック名前空間内に含むことができる。こうしたリンクは、様々なアプリケーション向けの機構とすることができ、ユーザ入力を誘導して仮想アプリケーションにアクセスすることができる。ある場合には、かかるリンクを一仮想アプリケーションで用いて、別の仮想アプリケーションと通信する、または呼び出すことができる。リンクの一使用例として、ファイルの種類の関連付けに使用することができる。いくつかのオペレーティングシステムでは、あるファイルの種類を特定のアプリケーションと関連付けることが可能となり得る。ファイルブラウザまたは他の機構を用いてファイルが開にされると、レジストリまたは他の位置にある、ファイルの種類を関連付けるエントリを照会して、もしあれば、どのアプリケーションをそのファイルの種類と関連付けることができるか判定することができる。仮想化アプリケーションの場合、プライベート名前空間内に、仮想アプリケーションをファイルの種類と関連付けるリンクを構築することができる。多くのオペレーティングシステムでは、かかるリンクは、オペレーティングシステムのレジストリ内に配置することができる。こうしたリンクは、仮想アプリケーションのインストール工程中に構築することができる。インストール工程では、アプリケーションバーチャライザ、およびアプリケーションを実行するために使用することができる他のコンポーネントをインストールすることができ、また、仮想アプリケーション用のプライベート名前空間内の項目をリファレンスする様々なリンクをパブリック名前空間内に構成することができる。パブリックリンクは、他のアプリケーションからもアクセス可能とすることができ、リンクがリファレンスされると、アプリケーションバーチャライザによってインターセプトし、処理することができる。アプリケーションバーチャライザは、プライベート名前空間内部のある位置へのリンクを受け取り、そのリンクに基づいていくつかの行為を実施することができる。ある場合には、アプリケーションバーチャライザは、アプリケーションを起動することができる。ある場合には、アプリケーションを起動し、リンクと共に受け取ったパラメータをアプリケーションに渡すことができる。さらに他の場合には、アプリケーションバーチャライザは、リンクの要求に基づいて、プライベート名前空間内の値を送り返すことができる。仮想化アプリケーションは、ストリーム配信アプリケーションstreamedapplicationでもよい。ストリーム配信アプリケーションでは、アプリケーションを実行している際の要求に基づいて、アプリケーションの一部分をストリーミングサーバからダウンロードすることができる。クライアントデバイス上のストリーミングクライアントは、アプリケーションによって一部分をリファレンスする際に、その一部分をストリーミングサーバから要求することができる。実施形態100は、ハードウェアコンポーネント104、およびソフトウェアコンポーネント106を含む従来のコンピューティングデバイスを表すことができるデバイス102を例示している。デバイス102は、デスクトップコンピュータ、サーバコンピュータ、ゲームコンソール、ネットワーク機器、または他のデバイスなど、任意の種類のコンピューティングデバイスでよい。ある場合には、デバイス102は、ラップトップコンピュータ、ネットブックコンピュータ、携帯情報端末、携帯電話、または他のデバイスなどの携帯式デバイスでよい。ハードウェアコンポーネント104は、プロセッサ108、ランダムアクセスメモリ110、および不揮発性記憶装置112を含むことができる。ハードウェアコンポーネント104はまた、ネットワークインターフェイス114、およびユーザインターフェイス116を含むことができる。ソフトウェアコンポーネント106は、パブリック名前空間120を含むことができるオペレーティングシステム118を含むことができる。パブリック名前空間120は、レジストリ122、およびファイルシステム124を含むことができる。パブリック名前空間120は、オペレーティングシステムが追跡し、オペレーティングシステム内で実行するアプリケーションが利用可能な、様々な項目を含むことができる。多くの実施形態では、パブリック名前空間120へのアクセスは、ある場合に制限することができる。例えば、オペレーティングシステムは、ユーザ、デバイス、アプリケーション、または項目にアクセスしようとする他のエンティティによって提示される資格情報に基づいて、パブリック名前空間120のある部分へのアクセスを許可または拒否できるアクセス制限を有することができる。パブリック名前空間120は、オペレーティングシステム118によって管理され、アクセス制限を条件として、異なるアプリケーションおよびユーザによって利用可能となり得るので、このパブリック名前空間120はパブリックと呼ばれる。仮想アプリケーションは、プライベート名前空間を有することができ、このプライベート名前空間は、その仮想アプリケーションには利用可能であるが、一般に、他のアプリケーションからは検索またはアクセスすることができないので、プライベートである。ネイティブアプリケーション126は、オペレーティングシステム118のパブリック名前空間120内で実行するアプリケーションとすることができる。ネイティブアプリケーションは、従来の、非仮想化アプリケーションでよい。インストールアプリケーション128を用いて、デバイス102上に仮想アプリケーションをインストールし、構成することができる。インストールアプリケーション128は、仮想アプリケーションをデバイス102上でうまく実行できるように、いくつかの異なる機能を実施することができ、こうした機能には、プライベート名前空間を構築するステップ、ならびにパブリック名前空間120の位置からプライベート名前空間へのリンク123および125を設けるステップが含まれる。リンク123および125は、パブリック名前空間のレジストリ122、およびファイルシステム124の内部にそれぞれ存在するように例示されており、これらのリンクは、仮想アプリケーションへのエントリポイントとなり得る。インストールアプリケーション128によって実施することができる工程の例については、本明細書の後半に示す実施形態200で理解できよう。アプリケーションバーチャライザ130は、インストールアプリケーション128によってインストールすることができ、アプリケーションを仮想的な形で実行する機構でよい。アプリケーションバーチャライザ130は、プライベートファイルシステム134、ならびにレジストリ136用のプライベートエントリを含むことができるプライベート名前空間132を管理することができる。仮想アプリケーション138は、アプリケーションバーチャライザ130によって実行することができ、プライベート名前空間132にアクセスすることができる。ストリーミング仮想化アプリケーションもやはり、インストールアプリケーション128によってインストールすることができる。ストリーミング版では、プライベートファイルシステム144、およびレジストリ146用のプライベートエントリを含むプライベート名前空間142を含むアプリケーションバーチャライザ140を含むことができる。仮想アプリケーションとは異なり、ストリーミングクライアント148は、アプリケーションまたはアプリケーションバーチャライザ140によってアプリケーションの一部分が要求されたときに、その部分をストリーミングサーバ168からフェッチすることができる。いくつかの実施形態では、ストリーミングクライアント148は、プライベートファイルシステム144内のファイル、およびレジストリ146用のプライベートエントリを含めて、プライベート名前空間142の一部分をフェッチすることができる。プライベート名前空間132および142は、仮想アプリケーション138から、または仮想アプリケーション実行時に、ストリーミングクライアント148によって供給される仮想アプリケーションからアクセス可能となり得る。プライベート名前空間132および142はまた、プライベート名前空間132および142にポインティングできるリンク123および125を介してアクセス可能となり得、それによって他のアプリケーションが、仮想アプリケーション、その設定、および他の情報に直接アクセスすることが可能となり得る。デバイス102は、ネットワーク150に接続されているとして例示され、このネットワーク150には、インストールサーバ152、およびストリーミングサーバ168を接続することができる。インストールサーバ152は、異なる仮想アプリケーションをインストールするためにデバイス102によって使用できるいくつかのインストールパッケージ154を含むことができる。インストールパッケージ154は、インストールクライアント156を含むことができ、このインストールクライアント156は、クライアントデバイス102上で動作して、仮想アプリケーションを実行可能に構成する、実行可能なインストールアプリケーション128でよい。インストールパッケージ154は、アプリケーションを仮想的な形で実行するために使用できるコンポーネントを全て含むことができる。例えば、インストールパッケージ154は、アプリケーションバーチャライザ158を含むことができる。アプリケーションバーチャライザ158は、クライアントデバイス上でネイティブに実行することができ、かつ仮想アプリケーション用のリソースとなり得るようにインストールすることができる。インストールパッケージ154は、ファイル162、およびレジストリ164用のエントリを含むことができるプライベート名前空間160を含むことができる。プライベート名前空間160は、仮想アプリケーション166を表すファイルを全て含むことができるという点において、完全に組み込むfullypopulateことができる。ある場合には、インストールパッケージ154内のプライベート名前空間160は、フレームワーク、または部分的に組み込まれたsparselypopulateファイル、レジストリ設定、および他の項目の組を含むことができ、このフレームワークは、アプリケーション166、またはアプリケーションバーチャライザ158によってさらに組み込むことができる。インストールパッケージ154は、マニフェスト163を含むことができる。マニフェスト163は、パブリック名前空間内に配置されたリンクを含むことができ、プライベート名前空間160をポインティングすることができる。マニフェスト163は、インストール中にインストールクライアント156によって処理できる追加の項目を含むことができる。インストールサーバ152は、仮想アプリケーションを、クライアントデバイス102上でインストールし、実行する前に、どのように準備することができるかの一例を示している。インストールサーバ152は、様々なクライアントデバイス上でダウンロードし、インストールできる多くの異なるパッケージ154を含むことができる。いくつかの実施形態では、インストールパッケージ154は、DVDDigitalVersatileDisk、または他の記憶媒体に記憶することができ、クライアントデバイス102によって読み取って、そのアプリケーションをインストールすることができる。インストールパッケージ154は、完全インストール用、ならびにストリーミングアプリケーション用に構築することができる。完全インストールでは、インストールパッケージ154は、実行可能なファイル、およびデータファイルを含めて、全てのファイルを含むことができ、また、仮想アプリケーションを実行可能にする他の任意のリソースも含むことができる。完全インストールでは、クライアントデバイス102は、例えばストリーミングサーバ168などの追加のいかなるリソースも必要なく、アプリケーションを完全に実行することが可能となり得る。ストリーミングアプリケーションは、ストリーミングサーバ168から、仮想アプリケーション用の実行可能なファイル、およびデータファイルの大部分を取得することができる。ストリーミングアプリケーションは、アプリケーションバーチャライザ158、およびストリーミングクライアントを単にインストールするだけで、インストールすることができる。ストリーミングクライアントは、ストリーミングサーバ168と通信して、要求に応じて、アプリケーションの一部分を取得することができる。ある場合には、ストリーミングアプリケーションは、ローカルキャッシュに記憶することができ、アプリケーションを再度実行するときに、再度使用することができる。ストリーミング実施形態では、アプリケーションを起動する度に、クライアントデバイス102とストリーミングサーバ168間で通信を行って、アプリケーションの最新版を特定し、取得することができる。ストリーミングサーバ168は、アプリケーションを実行開始できるように、アプリケーションの小部分をクライアントデバイス102に伝送することができ、その後、そのアプリケーションによって追加の部分が要求されると、その追加の部分を伝送することができる。ストリーミングクライアントは、どの部分が要求されているかを監視し、それらの部分をストリーミングサーバ168から取得することができる。ストリーミングサーバ168は、いくつかのストリーミングパッケージ170を含むことができ、それぞれが異なるアプリケーションを表すことができる。アプリケーションストリーマ172は、ストリーミングクライアントと通信して、ストリーミングパッケージ170の、ストリーミングクライアントから要求され得る部分を、ダウンロードすることができる。各ストリーミングパッケージ170は、ファイル176、およびレジストリ178用の設定を含むことができるプライベート名前空間174を含むことができる。ファイル176は、仮想化アプリケーション180用の実行可能なファイルの全て、または一部分を含むことができる。図2は、仮想アプリケーションをインストールする方法を示す実施形態200の流れ図である。実施形態200は、インストールアプリケーションによって実施することができる方法の一例であり、このインストールアプリケーションは、オペレーティングシステム上でネイティブに実行して、コンポーネントをインストールし、構成することができ、それによって仮想アプリケーションを実行することができる。実施形態200は、実施形態100のインストールアプリケーション128または156などのインストールアプリケーションによって実施することができる工程の一例である。他の実施形態では、異なる順序付け、追加のステップまたはより少ないステップ、および異なる呼称または用語を用いて、同様の機能を果たすことができる。いくつかの実施形態では、様々な動作または動作の組を、他の動作と同期して、または非同期の形で並行して実施することができる。本明細書で選択した諸ステップは、いくつかの動作の原理を簡略化した形で例示するために選択したものである。実施形態200は、仮想アプリケーションをクライアントデバイス上で動作させるように構成することができる一機構を例示している。実施形態200の方法は、ネイティブに動作することができる実行可能なプログラムをインストールし、それによってアプリケーションを独立させ、次いで、そのアプリケーション用のプライベート名前空間に組み込むことができる。この方法はまた、パブリック名前空間からプライベート名前空間内の位置へのリンクを含むことができる。ブロック202で、インストールパッケージを受け取ることができ、ブロック204で、インストールアプリケーションは、実行を開始することができる。インストールアプリケーションの動作は、実施形態200の残る部分に影響を及ぼし得る。ブロック206で、インストールアプリケーションは、事前にインストールされたアプリケーションバーチャライザがあるかを検索することができる。ブロック208で、アプリケーションバーチャライザがインストールされていなかった場合、ブロック210で、アプリケーションバーチャライザをインストールする。ブロック212で、プライベート名前空間の新しいインスタンスを生成することができる。事前にインストールされたアプリケーションバーチャライザがあった場合、プライベート名前空間の新しいインスタンスによって、一アプリケーションバーチャライザが2つ以上の仮想アプリケーションを実行することが可能となり、それぞれがそれ自体のプライベート名前空間を有することになる。いくつかの実施形態では、アプリケーションバーチャライザの第2のインスタンスを実行して、第2の仮想アプリケーションを支持することができ、他の実施形態では、アプリケーションバーチャライザの単一のインスタンスによって、2つ以上の仮想化アプリケーションを、独立に、しかし同時に実行可能とすることができる。ブロック214で、マニフェスト内のリンクを処理することができる。マニフェストは、インストールアプリケーションによって処理すべき項目を含む、テキストファイルまたはXMLファイルなどの一覧でよい。ブロック214の各リンクについて、ブロック216で、リンクをパブリック名前空間内にインストールし、プライベート名前空間内のある位置にリンクさせることができる。リンクは、ポインタ、リファレンス、位置、またはパブリック名前空間からアクセスすることができ、プライベート名前空間へのアクセスを可能とする他の識別子でよい。使用の一シナリオとして、仮想アプリケーションを、特定のファイルの種類と関連付けることができるアプリケーションとして登録することが可能である。多くのオペレーティングシステムでは、特定のファイル名拡張子を備えたファイルを、そのファイルを開き、処理することができる特定のアプリケーションに関連付けることができる。例えば、あるレジストリ設定は、ファイル名が.docxで終わる各ファイルを、特定のワードプロセッシングアプリケーションと関連付けるものとして定義することができる。ワードプロセッシングアプリケーションが仮想アプリケーションである場合、レジストリ内のリンクによって、仮想アプリケーションのプライベート名前空間をポインティングすることができ、それによって仮想化ワードプロセッシングアプリケーションを実行することができる。ブロック216で確立されたいくつかのリンクによって、仮想アプリケーションを起動することができる。かかるリンクのいくつかは、パラメータ、または他の情報をそのアプリケーションに渡し、それによってアプリケーションがその情報を処理可能にすることができる。いくつかの例では、仮想アプリケーションは、コールに応答して値または他の情報を送り返すことができる。ある場合には、ブロック216で確立されたリンクは、プライベート名前空間内のファイル、または設定に記憶することができる構成情報をポインティングすることができる。かかる場合、リンクは、ファイルまたは設定をトラバースしてtraverse調べ、その位置に記憶することができる値または他の情報を送り返すことができる。ブロック214で、各リンクをインストールした後、アプリケーションを構成することができる。ブロック218で、アプリケーションがストリーミングアプリケーションである場合、ブロック220で、ストリーミングクライアントをインストールし、ブロック222で、構成することができる。ストリーミングクライアントは、ストリーミングサーバと通信して、アプリケーションが一部分を要求するときに、アプリケーションのその部分をフェッチすることができる。ブロック222における構成には、ストリーミングサーバのアドレスをインストールするステップ、およびストリーミングクライアントによって使用できる他のパラメータを構成するステップが含まれ得る。ブロック222における構成後、ブロック228で、インストールを完了することができる。ブロック218で、アプリケーションがストリーミングクライアントでない場合、ブロック224で、プライベート名前空間の全項目をインストールすることができ、ブロック226で、続いてアプリケーションをインストールすることができる。ブロック224および226の動作は、仮想アプリケーションの完全インストールを表すことができる。アプリケーションは完全にインストールすることができ、したがってこのアプリケーションは、あるデバイス上で、他のデバイスにアクセスすることなく実行することができる。ブロック226におけるインストール後、ブロック228で、インストールを完了することができる。図3は、プライベート名前空間へのリンクに応答する方法を示す実施形態300の流れ図である。実施形態300は、パブリック名前空間からのリンクがプライベート名前空間に入る際にアプリケーションバーチャライザによって実施することができるいくつかの動作の簡略化した例である。他の実施形態では、異なる順序付け、追加のステップまたはより少ないステップ、および異なる呼称または用語を用いて、同様の機能を果たすことができる。いくつかの実施形態では、様々な動作または動作の組を、他の動作と同期して、または非同期の形で並行して実施することができる。本明細書で選択した諸ステップは、いくつかの動作の原理を簡略化した形で例示するために選択したものである。実施形態300は、アプリケーションバーチャライザによって実施することができる工程のいくつかの例である。アプリケーションバーチャライザは、パブリック名前空間内で利用可能なリンクからプライベート名前空間へのリファレンスを監視することができる。アプリケーションバーチャライザは、パブリック名前空間からのリンクをインターセプトすることができ、また、プライベート名前空間への接続を可能とする。ブロック302で、パブリック名前空間内のリンクをリファレンスすることができる。リンクは、アプリケーションが、例えば、キーの値を求めるためにレジストリに照会を行う際にリファレンスすることができる。別の例では、ユーザが、スタートメニューにある、パブリック名前空間内からプライベート名前空間内の実行可能なファイルへのリンクをリファレンスするショートカットをクリックすることができる。さらに別の実施形態では、ユーザが、コマンドシェルを用い、パイプラインコマンドによって、一アプリケーションの出力を仮想アプリケーションに接続することができる。仮想アプリケーションは、プライベート名前空間内の別の位置にリンクすることができるパブリック名前空間内の名前を用いてリファレンスすることができる。ブロック304で、アプリケーションバーチャライザは、プライベート名前空間にリンクすることができるリファレンスを受け取ることができる。ブロック306で、リンクを求める要求を、プライベート名前空間の値を読み取ることによって扱うことができ、アプリケーションを起動しない場合、ブロック308で、その値を取得し、ブロック310で、その値を要求者に送り返すことreturnができる。ブロック306で、仮想アプリケーションを起動することによって要求を満たすことができる場合、ブロック312で、仮想環境内でアプリケーションを起動することができる。ブロック304で受け取ったリファレンスに、パラメータ、値、または他の情報が含まれていた場合、ブロック314で、そうした情報をアプリケーションに渡すことができる。いくつかのリファレンスによって、アプリケーションを起動し、値を受け取ることができる。例えば、オペレーティングシステムは、ファイルの種類の関連付けを用いて、開くべき特定のファイルの種類の選択をユーザから受け取ることができ、次いで、オペレーティングシステムは、パブリック名前空間内のファイルの種類の関連付けを探すことができる。ファイルの種類の関連付けは、プライベート名前空間にリンクさせることができ、その時点で、ブロック312で、アプリケーションバーチャライザがアプリケーションを起動し、ブロック314で、そのアプリケーションにファイル名を渡すことができる。その後、アプリケーションは、ファイルを開いて、動作を開始することができる。かかる例では、仮想アプリケーションによって生成されたユーザインターフェイスをユーザに提示することができ、ユーザは、そのアプリケーションと相互作用し始めることができる。かかる例では、ブロック316で、アプリケーションから応答がないことが予測され得、仮想アプリケーションは、受け取った値を用いて実行することができる。別の例では、仮想アプリケーションは、パイプラインコマンドを用いてコマンドシェル内においてリファレンスすることができる。パイプラインコマンドは、一アプリケーションの出力を別のアプリケーションの入力に誘導することができる。時には、2つ、3つ、またはより多くのアプリケーションをパイプラインで一体にすることができる。かかる例では、仮想アプリケーションは、一アプリケーションから入力を受け取り、別のアプリケーションによって消化することができる出力で応答することができる。かかる例では、ブロック316で、応答があることが予測され、ブロック320で、アプリケーションバーチャライザは、応答値を用いて応答することができる。主題の前述の説明は、例示および説明の目的で提示してきたものである。主題を開示の厳密な形で網羅するものでも、またはそのように限定するものでもなく、上記の教示に照らして、他の改変形態、および変形形態が考えられ得る。諸実施形態は、本発明の原理、およびその実際的な応用例を最も良く説明し、それによって、他の当業者が、企図される特定の使用に適した様々な実施形態、および様々な改変形態において本発明を最も良く利用することができるようにするために選択し、説明したものである。添付の特許請求の範囲は、従来技術によって限定される場合を除き、他の代替的実施形態も含むものとして解釈されるものである。