アプリケーションストリーミング(英: Application Streaming)は、アプリケーションのインストールイメージについて、その各部の実行順序、依存関係等を解析し、その解析結果に基づいてバイナリを小さな単位(通常4キロバイト)に分割し、それをストリーミングサーバと呼ばれるサーバ上に登録し、クライアント側におけるユーザによるアプリケーション操作に応じて、その操作に必要なバイナリ部分を逐次配信するという方法である。 アプリケーションストリーミングは、オンデマンドのソフトウェア配信の一形態である。 アプリケーションストリーミングの基本概念は、現代のプログラミング言語が生成し、OSがアプリケーションを実行する方法に、その基礎がある。エンドユーザーがある特定の機能を実行するには、プログラムの一部のみで十分である。これは、クライアントのコンピュータに全て完全にインストールされていなくても良いことを意味する。必要な時に、必要な物を配送すればよく、ネットワークの帯域が細くても配信可能になる。 しばしば、アプリケーションストリーミングはアプリケーション仮想化と組み合わせて使われる。それゆえ、アプリケーションは伝統的な意味ではインストールされない。 アプリケーションはパッケージ化され、ストリーミングサーバに保管される。パッケージ化やsequencingでは、要求に基づいて配信する方法と、予測に基づいて最適化して配信する方法の、両方が可能であるアプリケーションのイメージを生成する。[1] エンドユーザーにとって、アプリケーションの最初の起動は重要である。パッケージングの過程は最初の起動を最適化できる。いったん起動したら、共有の機能が続く。これらの機能がエンドユーザーから要求されたら、似たような方法でストリーミングされる。この場合、クライアントがサーバからアプリケーションを引っ張ってくる。もしくは、バックグランドで、アプリケーション全体がサーバからクライアントに配信される。この場合、サーバがアプリケーションをクライアントにプッシュする。 現代のアプリケーションの複雑さ故、多くの機能は決して使われなかったり、たまにしか使われなかったりする。それゆえ、オンデマンドでアプリーションを取得することは、サーバクライアント間のネットワークの利用としてはより効率的である。 OSの移行を簡単にする。[1] アプリケーションの配備をused truck 化する。[1] ローカルで実行されるにもかかわらず、アプリケーションの管理を集中化させられる。[1][2] Microsoft Windows Installerは、Microsoft Windowsでソフトウェアのインストール・メンテナンス・削除を行うエンジンである。コードネームはDarwin。以前はMicrosoft Installerと呼ばれていた。インストールパッケージ (installation package) には、インストール処理に関する情報とインストールされるファイルとがパッケージングされている。インストールパッケージのデフォルトのファイル拡張子が"MSI"であることからMSIファイルとも呼ばれる。インストールパッケージは内部的には数十個のリレーショナルデータベースのテーブルからなるOLE構造化ストレージファイルである[1]。Windows Installerには以前のSetup APIと比較して多くの改善点が見られる。例えば、GUIフレームワーク、アンインストールシーケンスの自動生成、デプロイメント機能の強化、Windows Installerを他の実行可能形式のインストーラフレームワーク(InstallShield、WISE(後のバージョンは Windows Installer ベースになっている)、NSISなど)と置き換えられるようにしたこと、等が挙げられる。 マイクロソフトはサードパーティーに対しWindows Installerをインストーラフレームワークのベースとすることを推奨している。これは、インストーラの動作をWindows Installerに合わせることで、インストールされた製品のデータベースの一貫性を保つためである。Windows Installerの機能であるロールバックやバージョン管理が正しく行われるためには、内部データベースの一貫性が保たれている必要がある。 パッケージが持つことのできるused trucks も大きな単位がプロダクト (product) である。パッケージは複数のプロダクトのインストール情報を格納できる。プロダクトは全世界で一意な識別子であるGUID(PackageCodeプロパティ)で識別される。また、Windows Installerはプロダクト間の依存性については関与しない。プロダクトは複数の「コンポーネント」からなり、また複数のコンポーネントを「機能」という単位でまとめることができる。 used trucks for sale で動作する一つのプログラム(または、プログラムの集合)をプロダクトと呼ぶ。たとえば、Microsoft Officeなどの単一プロダクトがWindows Installerのプロダクトとなる。[2]プロダクトも全世界で一意な識別子であるGUID(ProductCodeプロパティ)で識別される。プロダクトとパッケージとは別の単位で、一つのMSIパッケージで複数のプロダクトをインストールすることが可能である。たとえば、あるプログラムのフランス語版と英語版とを一つのMSIでインストールできるようにする場合、各言語版のプログラムは別々のプロダクトとなる。 コンポーネント(component)はプロダクトを構成する最小単位である。Windows Installerはコンポーネント単位でインストール・アンインストール処理を行う(すなわち、あるコンポーネントの一部をインストールするような設定は行えない)。コンポーネントはファイル、ディレクトリ、COMコンポーネント、レジストリキー、ショートカット、およびその他のデータを含むことができる。インストーラを起動したユーザーが直接コンポーネントを操作することはできない。 コンポーネントも、used truck for sale で一意な識別子であるGUIDで識別される。これは、一つのコンポーネントを、一つのパッケージ内の複数の機能から、もしくは、複数のパッケージから共有できることを意味する。このような共有コンポーネントのことをマージモジュールと呼ぶ(この仕組みが正しく動作するためには、各コンポーネント間に重複した内容があってはならない)。 キーパス (key path) はパッケージの製作者がそのパッケージに必須であると指定したファイル等のことである。キーパスにはファイル、レジストリキー、ODBCデータソースが指定できる。キーパスにはファイルを指定するのが一般的であるため、キーファイルとも呼ばれる。コンポーネントが持つことのできるキーパスは1つだけで、コンポーネントのキーパスを明示しなかった場合は、コンポーネントのインストール先のディレクトリがキーパスとなる。MSIベースのアプリケーションが起動されると、Windows Installerはキーパスに指定されたファイルやレジストリキーが存在するかチェックする。チェックの結果とMSIパッケージの情報との間に不整合があった場合(例えばキーファイルが削除されていた場合)、関連する機能の再インストールが行われる。このプロセスは自動修復機能と呼ばれる。複数のコンポーネントが同じキーパスを持つことはできない。 機能 (feature) はコンポーネントを階層的にまとめた構造である。一つの機能は複数のコンポーネントからなる。また、機能の中に機能を入れ子にすることもでき、他の機能に含まれる機能をサブ機能(subfeature)と呼ぶ。ほとんどソフトウェアでは、パッケージは単一の機能からなる。大規模なインストールプログラムでは通常、実行時にカスタムセットアップダイアログが表示され、ユーザがインストール・アンインストールする機能を選択できるようにしている。