
コンピュータ プログラム(デバイス ドライバやプラグインを含む)のインストール(またはセットアップ) は、プログラムを実行可能な状態にする行為です。[ 1 ]インストールとは、コンピュータで使用できるようにする目的で、ソフトウェアまたはハードウェアを特定の構成にすることを指します。ソフトウェア (プログラム) をインストールするには、ソフト コピーまたはデジタル コピーが必要です。ソフトウェア (プログラム) のインストールにはさまざまなプロセスがあります。プロセスはプログラムごと、コンピュータごとに異なるため、プログラム (オペレーティングシステムを含む) には、インストールに必要なすべての処理 (下記参照) を実行する専用のプログラムであるインストーラが付属していることがよくあります。インストールは、より大規模なソフトウェア展開プロセスの一部である場合があります。 [ 2 ]
インストールでは通常、プログラム コードとデータを含むファイルがインストール先からローカル コンピュータ上の新しいファイルにコピー/生成され、オペレーティングシステムがアクセスしやすくなり、必要なディレクトリが作成され、環境変数が登録され、アンインストール用の別のプログラムが提供されます。[ 1 ]プログラム ファイルは一般的に複数の場所にコピー/生成されるため、アンインストールは通常、プログラム フォルダを削除するだけではありません。たとえば、完全にアンインストールするには、レジストリ ファイルやその他のシステム コードを変更または削除する必要がある場合があります。
コンピュータプログラムの中には、コンピュータに保存されているフォルダにコピーして実行するだけで実行できるものもあります。 [ 3 ]一方、すぐに実行できない形式で提供されるプログラムもあり、インストール手順が必要になります。インストールが完了すれば、プログラムは毎回実行する前に再インストールする必要なく、繰り返し実行できます。
ソフトウェアのインストール中に実行される一般的な操作には、次のものがあります。
インストーラーによっては、アドウェア、ツールバー、試用版ソフトウェア、提携企業のソフトウェアなど、不要なソフトウェアをインストールさせようとする場合があります。 [ 5 ]これを防ぐには、インストールを求められている内容に特に注意を払う必要があります。追加ソフトウェアのインストールは、スキップするかチェックを外すことができます(これには、インストール手順の「カスタム」、「詳細」、「エキスパート」バージョンを使用する必要がある場合があります)。[ 5 ]
このような悪質な行為は、必ずしもソフトウェア開発者やその会社の決定によるものではなく、 CNETのDownload.comインストーラーなどの外部インストーラーの問題である場合もある。[ 6 ]
インストールが不要なコンピュータプログラムもあります。これはかつて、フロッピーディスクからソフトウェアを実行し、一度に1つのアプリケーションしかロードできなかった8ビットおよび16ビットシステム(Apple II、PET、MS-DOS、Macintosh 128Kなど)の標準でした。コンピューティング環境が複雑化し、フロッピーディスクが固定ハードドライブに取って代わられるにつれて、具体的なインストールの必要性が生じました。たとえば、CommodoreはAmiga用のインストーラをリリースしました。
正式なインストールプロセスを経ずに実行でき、特にオペレーティングシステムの変更を必要としない最新のアプリケーションは、ゼロインストールと呼ばれることがあります。[ 7 ] [ 8 ]ゼロインストールは、複数の方法で実現できます。
LinuxディストリビューションGoboLinuxも同様のアプローチを採用しています (各アプリケーションが独自のディレクトリ構造を持つ) が、標準の Linux ディレクトリ レイアウトとの後方互換性を維持するために、従来の Linux インストールの副作用を導入しています。アプリケーションが必要とする変更から OS を分離することは、 VMware ThinApp、Microsoft App-V、InstallFree Bridgeなどのアプリケーション仮想化ツールによっても実現できます。 [ 10 ]
インストールが不要で、取り外し可能なストレージ デバイス上に存在する現代のアプリケーションは、ポータブル アプリケーションと呼ばれ、異なるコンピュータに移動して実行することができます。[ 3 ]同様に、インストールが不要で、起動可能なCD、DVD、USB フラッシュ ドライブから直接実行したり、シン クライアントのようにネットワーク経由でロードしたりできるライブ オペレーティングシステムもあります。例としては、 AmigaOS 4.0、さまざまなLinux ディストリビューション、MorphOS、Mac OS バージョン 1.0 から 9.0 などがあります。(ライブ CDとライブ USBを参照)。最後に、Web ブラウザー内で実行されるWeb アプリケーションは、インストールが不要です。
カスタムインストールでは、ソフトウェアパッケージのどのコンポーネントをインストールするかをユーザーが選択できます。ストレージ容量が限られている場合や、ソフトウェアの特定の機能のみが必要な場合には、フルインストールよりもカスタムインストールが好まれることがよくあります。
Windowsシステムでは、これが最も一般的なインストール形式です。インストール プロセスでは通常、エンド ユーザー ライセンス契約(EULA) の承諾または拒否、インストール場所などの設定の指定、パスワードの入力、製品のアクティベーションの支援など、選択を行うためにユーザーが立ち会う必要があります。[ 11 ]グラフィカル 環境では、ウィザード ベースのインターフェイスを提供するインストーラが一般的です。有人インストーラでは、エラーを軽減するためにユーザーに協力を求める場合があります。たとえば、コンピュータ プログラムがインストールされているディスクがいっぱいの場合、インストーラは、別のターゲット パスを指定するか、ディスクに十分な空き容量を確保するようにユーザーに求める場合があります。よくある誤解として、解凍があります。解凍は、EULA の承諾または拒否などのユーザーの選択が含まれていないため、インストール アクションとはみなされません。
「サイレントインストール」とは、インストール中にメッセージやウィンドウを表示しないインストールのことです。[ 12 ]「サイレントインストール」は「無人インストール」とは異なります(下記参照)。すべてのサイレントインストールは無人インストールですが、すべての無人インストールがサイレントインストールであるとは限りません。サイレントインストールの理由は、利便性または策略である可能性があります。マルウェアやウイルスは、ユーザーが実在する企業で作業中に、ハッカーのプログラムのダウンロードリンクをクリックしたときに、サイレントにインストールされる可能性があります。[ 13 ] [ 14 ]通常のユーザーにとってサイレントインストールはあまり役に立ちませんが、数千人のユーザーが働く大規模な組織では、アプリケーションの展開が一般的なタスクとなり、そのため、ユーザーの作業に影響を与えずにバックグラウンドでアプリケーションをインストールできるように、サイレントインストールが実行されます。サイレントパラメータはソフトウェアごとに異なる場合があります。ソフトウェア/アプリケーションにサイレントパラメータがある場合は、「<software.exe> /?」または「<software.exe> /help」または「<software.exe> -help」で確認できます。
ソフトウェアプログラムをサイレントインストールすると、ビジネス、政府、企業ネットワークに加えて、初等・中等教育機関や大学などの教育機関のネットワークにプログラムを展開できます。サイレントインストールを管理する人は、デスクトップショートカットを追加することを選択できます。たとえば、デスクトップショートカットを使用して Google Drive をサイレントインストールできます。[ 15 ]
GoogleDrive.exe --silent --desktop_shortcut = trueインストールは、その進行中にユーザーの操作を必要としないか、ユーザーがまったくいない状態で実行されます。[ 16 ]この方法を使用する理由の 1 つは、多数のシステムのインストールを自動化することです。無人インストールでは、ユーザーが何も提供する必要はありません。または、インストールの開始前に必要なすべての入力が受け取られています。このような入力は、コマンドラインスイッチまたは応答ファイル(必要なすべてのパラメーターを含むファイル) の形式である場合があります。Windows XPおよびほとんどの Linux ディストリビューションは、応答ファイルを使用してインストールできるオペレーティングシステムの例です。無人インストールでは、エラーを軽減するのに役立つユーザーがいないことが前提となっています。たとえば、インストール メディアに欠陥がある場合、欠陥を修正したりメディアを交換したりするユーザーがいないため、インストーラーはインストールを失敗させる必要があります。無人インストーラーは、後で確認できるように、エラーをコンピューター ログに記録する場合があります。
接続されたコンピュータモニターを使用せずにインストールを実行します。ヘッドレスインストールの有人形式では、別のマシンがターゲットマシンに接続し(例えば、ローカルエリアネットワーク経由で)、ディスプレイ出力を制御下に置きます。ヘッドレスインストールでは、ターゲットコンピュータの場所にユーザーがいる必要がないため、無人ヘッドレスインストーラを使用して、複数のマシンに同時にプログラムをインストールできます。
あらかじめ設定された時間または定義済みの条件が発生したときに実行されるインストール プロセス。これは、ユーザーのコマンドで明示的に開始されるインストール プロセスとは対照的です。[ 17 ]例えば、使用中のコンピュータ プログラムの最新バージョンをインストールしたいシステム管理者は、そのプログラムが実行されていないときにインストールを実行するようにスケジュールできます。オペレーティングシステムは、ユーザーが接続したデバイスのデバイス ドライバを自動的にインストールする場合があります。(プラグ アンド プレイを参照。)マルウェアも自動的にインストールされる場合があります。たとえば、悪名高い Con ficker は、ユーザーが感染したデバイスをコンピュータに接続したときにインストールされました。
機器メーカー(OEM)が販売前にハードウェアデバイスにソフトウェアをプリインストールするインストール作業。このタイプのインストールは通常、エンドユーザーの操作なしで行われますが、デバイスの初回起動時にはユーザーが初期システム設定を行う必要がある場合があります。
クリーンインストールとは、インストール対象のコンピュータプログラムの古いバージョンや以前のインストールの残骸など、干渉する要素がない状態で行われるインストールのことです。[ 18 ]特に、オペレーティングシステムのクリーンインストールとは、インストール前に対象のディスクパーティションを消去するインストールのことです。干渉する要素がないため、クリーンインストールは、クリーンでないインストールが失敗したり、大幅に時間がかかったりする場合でも、成功する可能性があります。
ネットワークインストール(略してネットインストール)とは、共有ネットワークリソースからプログラムをインストールすることであり、ネットワーク経由でさらにパッケージをダウンロードする前に最小限のシステムをインストールすることによって実行できます。[ 19 ]これは単に元のメディアのコピーである場合もありますが、機関顧客向けにサイトライセンスを提供するソフトウェア発行者は、ネットワーク経由でのインストールを目的としたバージョンを提供する場合があります。
インストールプログラムまたはインストーラーとは、アプリケーション、ドライバー、その他のソフトウェアなどのファイルをコンピューターにインストールするコンピュータープログラムです。 [ 20 ]一部のインストーラーは、含まれているファイルをインストールするように特別に作られています。他のインストーラーは汎用で、インストールするソフトウェアパッケージの内容を読み取って動作します。
これらは「スタンドアロンインストーラー」(または「オフラインインストーラー」)と「ウェブインストーラー」(または「オンラインインストーラー」)の両方として存在し、前者はすべてのインストールファイルが含まれているためオフラインでのインストールが可能ですが、後者はインストール時にウェブからインストールに必要なファイルをダウンロードする必要があります。[ 20 ]
パッケージマネージャとインストーラの違いは次のとおりです。 [ 20 ]
コンピュータ プログラムのインストール中に、インストーラやパッケージ マネージャ自体を更新する必要がある場合があります。これを可能にするために、ブートストラップと呼ばれる手法が使用されます。一般的なパターンは、インストーラを更新し、更新後に実際のインストールを開始する小さな実行可能ファイルを使用することです。この小さな実行可能ファイルはブートストラッパーと呼ばれます。[ 21 ]ブートストラッパーは、ブートストラップ プロセス中にソフトウェアの他の前提条件もインストールする場合があります。
クロスプラットフォームインストーラビルダーは、Windows、macOS、Linuxで動作するインストーラを作成します。例としては、JavaベースのFlexera SoftwareのInstallAnywhereがあります。ネイティブコードの例としては、InstallAware SoftwareのInstallAware Multi Platformがあり、依存関係なしで動作するビルドツールチェーンとセットアップエンジンを備えています。また、Linuxでグラフィカルユーザーインターフェイス(GUI)を表示できない場合は、コンソールモードに切り替えることもできます。 [ 22 ]
Windows NT ファミリーには、インストールAPIと、 Windows Installerと呼ばれる関連サービスが含まれています。Microsoftは、Windows Installer を使用してインストーラを作成するために必要な最小限のツールを、無料で利用できるWindows SDKで提供しています。代わりに、開発者やサードパーティがカスタムインストーラを作成する際に API を活用できるように、API に重点を置いています。サードパーティのツールは、この API を使用してインストーラを作成することをサポートし、プロセスを高速化できます。例としては、InstallShield ( Flexera Software ) やWiX ( Outercurve Foundation ) などがあります。Windows Installer に依存しないインストール作成ツールには、Wise Installation Studio ( Wise Solutions, Inc .)、 Installer VISE (MindVision Software)、Visual Installer (SamLogic)、NSIS、Clickteam、InnoSetup、InstallSimple などがあります。InstallAware for Windows Installer はハイブリッドインストールエンジンを備えており、セットアップは Windows Installer API を使用するか、InstallAware のネイティブコードセットアップエンジンを直接使用して実行できます。このハイブリッドエンジンは、実行時にインストールモードを切り替える機能も提供します。[ 23 ] [ 24 ] Microsoft Windowsでは、はソフトウェアインストーラの事実上の標準setup.exeファイル名であり、はソフトウェアアンインストーラの標準ファイル名です。uninst.exe
macOS には、ネイティブのパッケージマネージャであるInstaller が含まれています。macOS には、Apple およびシステム ソフトウェアのみをサポートする、ソフトウェア更新アプリケーションである Software Updateも含まれています。10.6.6以降DockおよびApple メニューに含まれているMac App Store は、同様のアプリ承認プロセス、購入に Apple ID を使用すること、自動インストールおよび更新など、iOS デバイスで成功を収めているApp Storeと多くの属性を共有しています。App Store は Apple が推奨する macOS アプリの配信方法ですが、[ 25 ]以前に購入したライセンスを Mac App Store に転送してダウンロードしたり、自動更新したりすることはできません。インストーラの代わりに、Mac App Store 以外で配布される多くの macOS アプリケーションは、アプリケーション フォルダにドラッグ アンド ドロップするアプリケーション バンドルを含むApple ディスク イメージ(.dmg ファイル)を使用します。これらのアプリケーションは、ドラッグ インストール アプリケーションと呼ばれます。これらのアプリケーションには、目立つインストール手順とアプリケーション フォルダへのショートカットがよく含まれています。そのスタイルのドラッグインストールアプリケーションは、 Fetch 5 [ 26 ]の開発中に Iris Artin (旧名 Ben Artin) によって考案され、公開され、その後広く採用されました。macOS 用の商用アプリケーションでは、 Installer VISE (MindVision Software) や InstallerMaker ( StuffIt )の Mac 版など、サードパーティのインストーラを使用することもあります。
システムインストーラーとは、デバイスにオペレーティングシステムをセットアップしてインストールするために使用されるソフトウェアのことです。[ 27 ]
Windowsセットアップは、Microsoft Windowsのシステムインストーラーです。
Linuxシステムインストーラの例:
別の例としては、 Haikuオペレーティングシステムが挙げられます。Haikuは、ライブCDまたはライブUSBから起動した後、 Haiku Installerと呼ばれるユーティリティを使用してデバイスにインストールします。