インストール

インストールは、

コンピュータにソフトウェアを追加し、使用可能にすること。本稿で詳述する。
OSの定められた手順  でソフトウェアをシステムに追加することの俗称。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

コンピュータの分野におけるインストール  とは、コンピュータにソフトウェアを追加し、使用可能にすることを指す。この意味では、セットアップ  とも呼ばれる。

1. 概要
-----

黎明期を除く多くのコンピュータは、大きく分けてハードウェアとソフトウェアの2つの要素で成り立っている。ハードウェアはソフトウェアによって制御され、ソフトウェアはハードウェアが無ければ実行することができない。ハードウェアをコンピュータとして機能させたり、また必要な機能を持たせるためには、ハードウェアにソフトウェアを追加し、必要な設定を行い、動作可能な状態にしなければならない。この一連の作業をインストールという。

英語のinstallは「設置する」「取り付ける」といった意味であるから、本来はソフトウェアに限らず、物理的要素であるコンピュータやディスプレイを設置すること、周辺機器を接続すること、拡張カードを取り付けることなど、ハードウェア全般についても用いる語である。だが、日本語ではIBM用語などに見られる程度で、一般的にはソフトウェアを導入する意味に用いられる。

すなわちインストールとは、オペレーティングシステム  やアプリケーションなどが格納されているCD-ROMなどの記憶媒体や圧縮ファイルなどからファイルを展開し、コンピュータでこれらを利用可能にし実行できる状態にすることを指す。

ただしmakeにおけるmake installは、単にパスの通った場所にコピーして利用可能にすることを慣習的に意味しており展開の操作を含まない。むしろ上記の語義に近い。

インストールのうち、製品の旧バージョンから新バージョンに上書きすることはアップグレードという場合が多い。対義語はアンインストール。

具体的なインストールの方法は以下の手順があるが、OSの種類や提供者の方針により方法が異なる。具体的には、

ソースコードをコンパイル、ビルド、メイクして組み込む。
OSのファイル管理システムを使い、他のマシンや媒体からハードディスクドライブ等に直接コピーする方法
インストーラと呼ばれるインストール専用のプログラムを前述の方法でコピーし実行する方法。
「ストア」などのアプリケーションから選択する方法。
目的のアプリケーションが入ったOSごとインストールする方法。がある。

一般的にインストールはソフトウェアを利用可能にする手順の一つであり、ファイルを展開し、実行可能な状態にするところまでを指すことが多い。 ソフトウェアの規模や性質から、インストール作業に一部の設定作業を伴うものもあり、またOSのインストールとデバイスドライバのインストールのように連続した作業を要する場合もある。

2. 専門用語
-------

サイレントインストールプロセス中にメッセージやウィンドウを表示しないインストール。「サイレントインストール」は「無人インストール」とは別物だが、しばしば誤用される。

無人インストール インストールの過程でユーザ入力を必要としないインストール。このため、自動インストールとも呼ばれる。厳密には、インストール開始の操作以外にまったくユーザの関与を必要としないものをいう。インストールには、ソフトウェア利用許諾契約への「同意」を選択する操作や、各種オプションの指定、パスワードの入力などを必要とすることがよくある。GUI環境では、ウィザード形式でこれらの手順を示すインストーラが一般的である。しかし、そのようなインストーラでも一部のものはコマンドラインスイッチで無人インストールが指定可能である。

アンサーファイルインストール中に入力・選択すべき項目をアンサーファイルと呼ばれるファイルにあらかじめ記述しておき、それに基づいて無人インストールを実行するというインストーラが存在する。大量のコンピュータにWindowsをインストールするなどといった場面で活用される。同等の機能はOS/2ではレスポンスファイルとして実装され、またRed Hat Enterprise Linuxではキックスタートという機能で同様の自動作業が行われる。

セルフインストール利用者によるインストール開始の操作を必要とせずに無人インストールが開始されるもの。

ヘッドレスインストール対象のコンピュータに接続されたモニタを使用せずに機能するインストール。これはLocal Area Network経由で、あるいはシリアルケーブル経由で接続された別のマシンで実行されるインストールであることがある。アンアテンデドおよびヘッドレスインストールはシステムアドミニストレータの一般的な業務である。

クリーンインストール典型的な設備の複雑さを与えられたとき、成功した終了を妨げるかもしれない多くのファクターがある。同じプログラムの古いインストールから残り物である特定のファイルや、OSの複雑な状況が、与えられたプログラムが正しくインストールし、動作させることを防止するために作動するかもしれない。そのような妨害因子がいない状況で実行されたインストールはクリーンインストールと呼ばれる。特に、OSのクリーンインストールは、実際にインストールする前にそのあて先のパーティションをフォーマットすることによって実行することができる。

フラットインストールメディアから直接ではなく、ハードディスクへのそのオリジナルのメディアの内容のコピーからプログラムのインストールを行うこと。これは目標のマシンが、しばしばインストールに必要なCPUに集中したタスクを実行すると同時に、CD/DVDからのランダムアクセスに対処することができないか、目標のマシンが適切な物理的ドライブを持っていないようないくつかの状況を助ける。

ネットワークインストール共有されたネットワークドライブからのプログラムのインストール。これは単にオリジナルのメディアのコピーであるかもしれないが、頻繁に、大口顧客のために、サイトのライセンスを提供するソフトウェアの製作者はネットワークインストールが意図されているバージョンを提供する。またLinuxやFreeBSDなどでは、光学ドライブなどを備えないPCのためにネットワークを介したOSのインストールが提供される場合がある。OS/2のように起動FDを介して、ネットワーク経由でインストールCDにアクセスするネットワークインストール形態も存在する。

バーチャルインストールAmigaOSは1991年のバージョン2.0以降Installerと呼称されるセンタライズされた標準のインストールユーティリティを特徴とする。それはLISP言語インタプリタによって動作し、これらがプレーンテキストファイルであるのでユーザはインストールのスクリプトを編集する能力を持っている。インストーラはまた、ユーザーがバーチャルインストールを実行し、本当のインストールを委任する前に起こりえるどのような問題をも確認するための卓越した機会を特徴とする。

上書きインストール主にもともと入っていたソフトの異なるバージョンを、元のバージョンを削除せずにインストールすることを指す。設定ファイルなどの再設定を行わず、実行ファイルなどのみを更新することで、異常になったソフトウェアを回復させる試みとして実行されることもある。

3. インストーラ
---------

インストールを対話形式で簡単に行うためのプログラムである。特定の場所に確実にインストールしてもらう必要がある場合、インストールするファイルが複数のディレクトリに散在している場合、ライセンスキーの照合が必要な場合、システムのクリーンインストール後の自分のデータの復旧を自動で行いたい場合、あるいは単に見栄えをよくする目的で用いられる。

インストーラで行うことは、まず使用許諾契約書の承認、次に使用ユーザーの入力、インストール先の選択、最後に必要なファイルのアーカイブからの展開である。インストール中は用意された画像の表示やほかの製品の宣伝が行われることもある。

一般的にインストーラでインストールしたプログラムにはアンインストーラがついている。これはインストールしたプログラムをアンインストールするためのプログラムである。また、プログラムのバージョンアップを行う際にインストーラと同じ要領でバージョンアップを行えるようにアップデータを使用することもある。アップデータは自動的にパージョンアップの対象となるプログラムを検索し、入れ替えるべきファイルを自動的に入れ替える。これと似たプログラムにパッチプログラムが存在する。これはデータの変更された部分の差分だけが用意されており、アップデータよりデータを小さく出来る。パッチプログラムは用意された差分から既存のデータを最新のものに書き換えることでバージョンアップを行う。

一般的にOSにはインストールしたアプリケーションを一覧できる機能とそこからアンインストーラーやアップデーターを起動できる機能が備わっている。また、アプリケーションのインストーラもその仕様に従って作成されている。

3.1. ブートストラッパー
--------------

コンピュータプログラムのインストールの間、インストーラまたはパッケージマネジャー自身をアップデートすることが時々必要である。これを可能にするためにブートストラップと呼ばれるテクニックが使用される。このための共通のパターンは、インストーラをアップデートし、アップデートの後で本当のインストールを始める小さな実行可能ファイルを使う。この小さな実行形式はブートストラッパーと呼ばれる。時々、ブートストラッパはブートストラップのプロセスの間にもソフトウェアのためのほかの必須のものをインストールする。

3.2. 共通のインストーラ
--------------

Windows、macOS、およびLinuxのためにインストーラを作り出すクロスプラットフォームのインストーラのビルダーとして、InstallAnywhere、JExpress 、InstallBuilderさは が存在する。

WindowsのためのインストーラはソフトウェアのインストールコンポーネントMicrosoft Windows Installerが存在する。Windowsのためにインストーラを作成するための追加のサードパーティの商用のツールは、InstallShield、Wise Installation Studio、SetupBuilder 、Installer VISE 、MSI Studio、Actual Installer 、Smart Install Maker 、MSI FactoryとSetup Factoryが存在する。フリーな代わりのインストーラオーサリングツールはNSIS、IzPack、Clickteam、Inno Setup、WiXが存在する。

macOSにはネイティブのパッケージマネジャーソフトウェアInstallerが存在する。macOSはアプリケーションをアップデートする別個のソフトウェアApple Software Updateを含むが、アップルのソフトウェアとシステムソフトウェアのみをサポートする。macOSのための商業的なアプリケーションはまたInstaller VISE 、InstallerMaker  などのサードパーティーのインストーラを使用することがある。

WindowsにはOSのセキュリティ更新プログラムやデバイスドライバなどをネットワーク経由で配信・ダウンロード・インストールする仕組みとして、Microsoft UpdateやWindows Updateが存在する。また、Windows 8以降で利用可能なWindowsストアアプリは、従来のデスクトップアプリケーションとはインストール形態が異なり、基本的にWindowsストア経由で配信・販売・購入・ダウンロー

4. オープンソース系Unixの場合
------------------

LinuxやFreeBSDなどのオープンソースのオペレーティングシステムでは、パッケージ管理システムにより、多くの異なる組織や個人によって作成された多様なアプリケーションソフトウェアの入手とインストールを統一的な方法で行える、といったように誤った理解をしがちだが、そのように統一されているものは、GNU/Linuxではディストリビューション元が、各BSD系ではFreeBSDプロジェクトなどのプロジェクトがメンテナンスをしているパッケージがそのように扱えるということであって「多くの異なる組織や個人によって作成された多様なアプリケーションソフトウェア」に、統一された方法は、本来は存在しない。

5. Mac OSにおける簡便化の取り組み
---------------------

Macintoshではアプリケーションは原則としてどこにでも置け、アイコンをダブルクリックするだけで起動できるものとして設計されていた。この場合「インストール」という概念は希薄となり、必要とするソフトウェアを好きなところに置けば良いことになる。ただし、共有ライブラリやシステムに密接に関わるソフトウェアはこの限りではなく、フォントや機能拡張ファイルはシステムフォルダに組み込む必要があった。その後共有ライブラリやプラグインなど外部のソフトウェアに依存するソフトウェアの増加により、インストーラを必要とするものが増えていったが、アプリケーションは原則としてどこに置いても起動可能であるということは変わらなかった。

現在のmacOSでは、アプリケーションパッケージの採用により、多くのアプリケーションはハードディスクの中にアプリケーションファイルを移動するだけで簡単にインストールでき、アプリケーションファイルをゴミ箱に捨てるだけでアンインストールできる。デバイスドライバやシステム環境設定ファイルのインストールについては、インストーラを必要とする。フォントはファイルをダブルクリックすることでインストールできる。オペレーティングシステムやアップルのソフトウェアのインストールについては、ソフトウェア・アップデートで提供されている。

6. 脚注
-----

7. 関連項目
-------

アンインストール
プリインストール
再インストール
ネットワークインストール
アプリケーションストリーミング
Microsoft Windows Installer
パッケージ管理システム
インスタレーション