ポータブルアプリケーション ポータブルアプリケーションの概要

ポータブルアプリケーション

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/14 21:01 UTC 版)

ナビゲーションに移動 検索に移動
USBドライブ。横のスケールはmm単位

ポータブルアプリケーションは、自身の設定情報やデータもプログラム本体と同じ可搬媒体に格納できるよう設計されている。

Windows

Windows向けソフトウェアの多くは、ポータブルな設計ではない。レジストリMicrosoft Installerの構造が、インストールしたプログラムとマシンを結び付けてしまうためである。多くのWindowsアプリケーションはレジストリを多用しており、状態情報もファイルシステムの各所に格納している。

ポータブルアプリケーションにするためには、実行前と実行後でそのコンピュータ内のファイルに変化を与えないようにしなければならない。すなわち、レジストリを使うことはできず、アプリケーションのインストールされたディレクトリ以外にファイルを残すこともできない。可搬媒体にインストールする場合、設定をレジストリではなくINIファイルなどの設定ファイルに格納する必要がある。

アプリケーションのソース修正をせずに可搬性を実現する手法として、アプリケーション仮想化がある。これは、アプリケーションがファイルシステムやレジストリにアクセスしようとしたとき、その要求を横取り(インターセプト)し、(アプリケーション自身は知らない)別の媒体上のファイルへのアクセスに変換するランタイム層を設けるものである。この場合、アプリケーション自体は変更せず、なおかつ可搬性を実現できる。

このランタイム層は、DLLインジェクションと呼ばれる技法を使って実行時にアプリケーションへ埋め込まれ、アプリケーション毎のラッパーを形成する[1]。このラッパーはアプリケーション起動時に活性化され、ファイルやレジストリに関連するシステムコールをフックしてリダイレクトし、可搬媒体上だけを操作する。

この手法[1]は、アプリケーション全体だけでなく、個々のコンポーネント(ランタイムライブラリCOMコンポーネント、ActiveX)にも適用できる。これを利用すると、同じOS上で競合することなくそれぞれ設定の異なる複数のポータブルアプリケーションのインストールを行うことができる。このようなコンポーネントはOSが保護しているレジストリなどにアクセスしないため、インストールや管理において特権を必要としない。

macOS

macOS向けのアプリケーションは、Installerパッケージではなく"drag-install"アプリケーションバンドルとしてパッケージ化されている(例外あり)ため、ある程度の可搬性を有する。アプリケーションを実行するだけであれば、好きなボリュームから起動可能である。

しかし、完全なポータブルではないことが多く、OSのインストールされたファイルシステムに初期設定ファイルやキャッシュなどのファイルを作成することが多い。

UNIX

Unix系向けのアプリケーションは、どんな仮定もしないことが多い。例えば、Windowsでは伝統的にユーザーが特権を持っていることを仮定しているアプリケーションが多かったが、Unix系では非特権ユーザーとして利用することが多いため、そのようなアプリケーションは"Permission denied"エラーとなる。従って、アプリケーションは環境変数HOMEを使って設定を格納する場所を決めるのが一般的である(例えばw3mブラウザの場合は$HOME/.w3m)。動的ライブラリには環境変数LD_LIBRARY_PATHがあるため、アプリケーションに標準でないディレクトリを参照させることもできる。これは別の場所でプログラムを実行することを(技術的観点から)特に簡単にする。/mntにポータブルなプログラムと設定ファイルがあるとしたとき、コマンド行は次のようになる。

HOME=/mnt/home/user LD_LIBRARY_PATH=/mnt/usr/lib /mnt/usr/bin/w3m en.wikipedia.org

しかし、全てのプログラムがこのようになっているわけではない。例えば、$HOMEを無視して/etc/passwdを参照してホームディレクトリを探すものもあり、可搬性を犠牲にしている。




「ポータブルアプリケーション」の続きの解説一覧




ポータブルアプリケーションと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ポータブルアプリケーション」の関連用語

ポータブルアプリケーションのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ポータブルアプリケーションのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのポータブルアプリケーション (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS