コンピュータプログラム(デバイスドライバやプラグインを含む)のインストール(またはセットアップ)は、プログラムを実行可能にする行為である。インストールとは、コンピュータで使用できるようにするためのソフトウェアまたはハードウェアの特定の構成を指す。ソフトウェア(プログラム)をインストールするには、そのソフトコピーまたはデジタルコピーが必要である。ソフトウェア(プログラム)をインストールするプロセスはさまざまである。プロセスはプログラムやコンピュータごとに異なるため、プログラム(オペレーティングシステムを含む)には、インストールに必要なあらゆること(以下を参照)を行う専用のプログラムであるインストーラが付属していることが多い。インストールは、より大きなソフトウェア展開プロセスの一部である場合がある。[1]
インストールでは通常、オペレーティング システムによるアクセスを容易にするためにインストール ファイルからローカル コンピュータ上の新しいファイルにコード (プログラム) がコピー/生成されること、必要なディレクトリが作成されること、環境変数が登録されること、アンインストール用の別のプログラムが用意されることなどが行われます。コードは通常複数の場所にコピー/生成されるため、アンインストールでは通常、プログラム フォルダを消去する以上の作業が行われます。たとえば、完全なアンインストールを行うには、レジストリ ファイルやその他のシステム コードを変更または削除する必要がある場合があります。
概要
一部のコンピュータ プログラムは、コンピュータに保存されているフォルダにコピーして実行するだけで実行できます。その他のプログラムは、すぐに実行できない形式で提供されるため、インストール手順が必要です。一度インストールすると、プログラムは毎回実行する前に再インストールする必要なく、何度でも実行できます。
ソフトウェアのインストール中に実行される一般的な操作は次のとおりです。
- 必要なシステム要件が満たされていることを確認する
- ソフトウェアの既存バージョンの確認
- プログラムファイルとフォルダの作成または更新
- 構成ファイル、Windowsレジストリエントリ、環境変数などの構成データの追加
- リンク、ショートカット、ブックマークなどを作成して、ユーザーがソフトウェアにアクセスできるようにする
- デーモンやWindowsサービスなど、自動的に実行されるコンポーネントを構成する
- 製品のアクティベーションの実行
- ソフトウェアバージョンの更新
これらの作業には料金がかかる場合と無料の場合があります。有料の場合、設置費用とは、顧客の敷地内にドライバーまたは機器を設置することに関連する、またはその結果として発生する費用を指します。
一部のインストーラーは、ユーザーを騙して、さまざまな形式のアドウェア、ツールバー、トライアルウェア、提携会社のソフトウェアなどのジャンクウェアをインストールさせようとする場合があります。 [2]これを防ぐには、インストールを求められている内容について細心の注意を払う必要があります。追加ソフトウェアのインストールは、単にスキップするか、チェックを外すことができます (この場合、ユーザーはインストール手順の「カスタム」、「詳細」、または「エキスパート」バージョンを使用する必要があります)。[2]このような悪意のある行為は、必ずしもソフトウェア開発者またはその会社の決定によるものではなく、 CNETのDownload.comインストーラーなどの外部インストーラーの問題である可能性もあります。[3]
インストール不要でポータブルなアプリケーション
前述のように、一部のコンピュータ プログラムはインストールを必要としません。これは、DOS、クラシック Mac OS、Atari TOS、AmigaOSで実行される多くのプログラムではかつては普通のことでした。コンピューティング環境が複雑になり、固定ハード ドライブがフロッピー ディスクに取って代わるにつれて、具体的なインストールの必要性が生じました。たとえば、Commodore はAmiga用のインストーラをリリースしました。
正式なインストールプロセスを経ずに実行でき、特にオペレーティングシステムの変更を必要としない最新のアプリケーションは、ゼロインストールと呼ばれることがあります。[4]ゼロインストールは複数の方法で実現できます。
- 「通常の」解決策は、アプリケーションとそのコンポーネントをまとめて固定ディレクトリにコピーし、そこから実行することです。[5] Windows OSの場合、このアプローチは「 xcopyデプロイメント」と呼ばれることがあります。[4]
- ブラウザベースのアプローチ。
- Zero Install などの専用ツールを活用します。
LinuxディストリビューションGoboLinuxも同様のアプローチ(各アプリケーションが独自のディレクトリ構造を持つ)を採用していますが、標準のLinuxディレクトリレイアウトとの下位互換性を維持するために、従来のLinuxインストールの副作用も導入しています。アプリケーションに必要な変更からOSを分離することは、 VMware ThinApp、Microsoft App-V、InstallFree Bridgeなどのアプリケーション仮想化ツールを通じても実現できます。 [6]
インストールが不要で、取り外し可能なストレージ デバイスに配置されている最近のアプリケーションのクラスは、さまざまなコンピューターに移動して実行できるため、ポータブル アプリケーションと呼ばれます。同様に、インストールが不要で、起動可能なCD、DVD、USB フラッシュ ドライブから直接実行したり、シン クライアントのようにネットワーク経由でロードしたりできるライブ オペレーティング システムがあります。例としては、AmigaOS 4.0、さまざまなLinux ディストリビューション、MorphOS、または Mac OS バージョン 1.0 から 9.0 があります。(ライブ CDとライブ USBを参照してください。)最後に、Web ブラウザー内で実行されるWeb アプリケーションはインストールの必要がありません。
種類
カスタムインストール
カスタム インストールでは、インストーラーがインストールする必要のあるコンポーネントまたは部分を選択できます。ソフトウェア コンポーネントの完全なスイートをインストールするよりも、この方法が好まれる場合があります。カスタム インストールが必要な状況としては、ハード ドライブの容量を大量に消費する可能性のある完全なコンポーネントではなく、サイズが小さい基本コンポーネントのみが必要な場合があります。
立ち会い設置
Windowsシステムでは、これが最も一般的なインストール形式です。インストール プロセスでは通常、エンド ユーザー使用許諾契約(EULA) の承諾または拒否、インストール場所などの設定の指定、パスワードの入力、製品のアクティベーションの支援などの選択を行うユーザーが必要です。グラフィカル環境では、ウィザード ベースのインターフェイスを提供するインストーラが一般的です。有人インストーラは、エラーの軽減をユーザーに依頼する場合があります。たとえば、コンピューター プログラムがインストールされるディスクがいっぱいの場合、インストーラはユーザーに別のターゲット パスを指定するか、ディスクに十分なスペースを確保するように依頼する場合があります。よくある誤解はアーカイブ解除ですが、これは EULA の承諾または拒否などのユーザー選択を含まないため、インストール アクションとは見なされません。
サイレントインストール
「サイレント インストール」とは、インストール中にメッセージやウィンドウを表示しないインストールのことです。「サイレント インストール」は「無人インストール」とは異なります (下記参照)。すべてのサイレント インストールは無人ですが、すべての無人インストールがサイレントであるわけではありません。サイレント インストールの理由は、利便性やごまかしである可能性があります。マルウェアやウイルスは、人が仕事中にリンクをクリックしたときに、本物だと思ってクリックしたものがハッカーのプログラムのダウンロードである場合に、サイレントにインストールされることがあります。[7] [8]通常のユーザーの場合、サイレント インストールはあまり役に立ちませんが、何千人ものユーザーが作業する大規模な組織では、アプリケーションの展開が一般的なタスクになるため、サイレント インストールが実行され、ユーザーの作業に影響を与えずにアプリケーションがバックグラウンドでインストールされます。サイレント パラメータはソフトウェアごとに異なります。ソフトウェア/アプリケーションにサイレント パラメータがある場合は、「 <software.exe> /? 」または「 <software.exe> /help 」または「 <software.exe> -help 」で確認できます。
ソフトウェア プログラムのサイレント インストールは、ビジネス、政府、企業のネットワークに加えて、初等中等教育や大学など の教育機関のネットワークにプログラムを展開するために使用できます。サイレント インストールを管理する人は、デスクトップ ショートカットを追加することを選択できます。たとえば、デスクトップ ショートカットを使用して Google Drive をサイレント インストールできます[9]。
GoogleDrive .exe - -silent - -desktop_shortcut = true
無人インストール
インストールの進行中にユーザーの介入なしに、またはユーザーがまったく立ち会わずに実行されるインストール。この方法を使用する理由の 1 つは、多数のシステムのインストールを自動化することです。無人インストールでは、ユーザーは何も入力する必要がないか、インストールの開始前に必要な入力がすべて受け取られています。このような入力は、コマンド ライン スイッチまたは応答ファイル(必要なすべてのパラメーターを含むファイル) の形式である場合があります。Windows XPおよびほとんどの Linux ディストリビューションは、応答ファイルを使用してインストールできるオペレーティング システムの例です。無人インストールでは、エラーを軽減するのに役立つユーザーがいないことが前提となっています。たとえば、インストール メディアに欠陥があった場合、欠陥を修正したりメディアを交換したりするユーザーがいないため、インストーラーはインストールを失敗させる必要があります。無人インストーラーは、後で確認できるようにコンピューター ログにエラーを記録する場合があります。
ヘッドレスインストール
コンピュータ モニターを接続せずに実行されるインストール。有人形式のヘッドレス インストールでは、別のマシンがターゲット マシンに接続し (たとえば、ローカル エリア ネットワーク経由)、ディスプレイ出力を引き継ぎます。ヘッドレス インストールではターゲット コンピュータの場所にユーザーがいる必要がないため、無人ヘッドレス インストーラーを使用して、複数のマシンに同時にプログラムをインストールできます。
スケジュールまたは自動インストール
ユーザーのコマンドによって明示的に開始されるインストール プロセスとは対照的に、事前に設定された時間に実行されるか、または事前に定義された条件が発生したときに実行されるインストール プロセス。たとえば、使用中のコンピュータ プログラムの最新バージョンをインストールするシステム管理者は、そのプログラムが実行されていないときにインストールが行われるようにスケジュールを設定できます。オペレーティング システムは、ユーザーが接続したデバイスのデバイス ドライバーを自動的にインストールする場合があります (プラグ アンド プレイを参照)。マルウェアも自動的にインストールされることがあります。たとえば、悪名高い Con ficker は、ユーザーが感染したデバイスをコンピュータに接続したときにインストールされました。
クリーンインストール
クリーン インストールとは、インストールするコンピュータ プログラムの古いバージョンや、以前のインストールの残り物などの干渉要素がない状態で実行されるインストールです。特に、オペレーティング システムのクリーン インストールとは、インストール前にターゲットディスク パーティションを消去するインストールです。干渉要素が存在しないため、クリーン インストールは成功する可能性がありますが、クリーンでないインストールは失敗したり、大幅に時間がかかる場合があります。
ネットワークのインストール
ネットワーク インストール (略してネット インストール) は、共有ネットワーク リソースからプログラムをインストールすることであり、最小限のシステムをインストールしてから、ネットワーク経由でさらにパッケージをダウンロードすることによって実行できます。これは、元のメディアのコピーに過ぎない場合もありますが、組織顧客向けにサイト ライセンスを提供するソフトウェア発行元は、ネットワーク経由でのインストールを目的としたバージョンを提供する場合があります。
インストーラ
インストール プログラムまたはインストーラーは、アプリケーション、ドライバー、その他のソフトウェアなどのファイルをコンピューターにインストールするコンピューター プログラムです。インストーラーの中には、その中に含まれるファイルをインストールするために特別に作成されたものもあれば、汎用のインストーラーもあり、インストールする ソフトウェア パッケージの内容を読み取って動作します。
これらは、「スタンドアロン インストーラー」(または「オフライン インストーラー」) と「Web インストーラー」(または「オンライン インストーラー」) の両方として存在します。前者はすべてのインストール ファイルが含まれているためオフラインインストールが可能ですが、後者はインストール時に Web からインストールに必要なファイルをダウンロードする必要があります。
パッケージ管理システムとインストーラー の違いは次のとおりです。
ブートストラッパー
コンピュータ プログラムのインストール中に、インストーラーまたはパッケージ マネージャー自体を更新する必要がある場合があります。これを可能にするために、ブートストラップと呼ばれる手法が使用されます。この一般的なパターンは、インストーラーを更新し、更新後に実際のインストールを開始する小さな実行可能ファイルを使用することです。この小さな実行可能ファイルは、ブートストラッパーと呼ばれます。ブートストラッパーは、ブートストラップ プロセス中にソフトウェアの他の前提条件もインストールすることがあります。
一般的なタイプ
クロスプラットフォームインストーラービルダーは、Windows、macOS、Linuxで動作するインストーラーを作成します。例としては、 JavaをベースにしたFlexera SoftwareのInstallAnywhereがあります。ネイティブコードの例としては、InstallAware SoftwareのInstallAware Multi Platformがあります。これは、ビルドツールチェーンと、依存関係なしで動作するセットアップエンジンを備えています。また、Linuxでグラフィカルユーザーインターフェイス(GUI)を表示できない場合は、コンソールモードに切り替えることもできます。[10]
Windows NT ファミリには、インストールAPIと、 Windows Installerと呼ばれる関連サービスが含まれています。Microsoftは、無料で入手できるWindows SDKで、Windows Installer を使用してインストーラを作成するために必要な最小限のツールを提供しています。代わりに、開発者やサード パーティがカスタム インストーラを作成する際に活用できるように 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 のネイティブ コード セットアップ エンジンを介して直接セットアップを実行することもできます。このハイブリッド エンジンは、実行時にインストール モードを切り替える機能も提供します。[11] [12]
macOS には、ネイティブのパッケージマネージャであるインストーラが含まれています。macOS には、Apple とシステムソフトウェアのみをサポートする別のソフトウェアアップデートアプリケーションであるソフトウェアアップデートも含まれています。10.6.6 以降ではDockに含まれ、Apple メニューにも含まれるMac App Store は、同様のアプリ承認プロセス、購入時の Apple ID の使用、自動インストールとアップデートなど、iOS デバイス向けの成功したApp Storeと多くの属性を共有しています。App Store は Apple が推奨する macOS アプリの配信方法ですが、[13]以前に購入したライセンスを Mac App Store に転送してダウンロードまたは自動アップデートすることはできません。Mac App Store の外部で配布される多くの macOS アプリケーションは、インストーラの代わりに、アプリケーションフォルダにドラッグアンドドロップするアプリケーションバンドルを含むApple ディスクイメージ(.dmg ファイル)を使用します。これらのアプリケーションは、ドラッグインストールアプリケーションと呼ばれます。これらには、多くの場合、目立つインストール手順とアプリケーションフォルダへのショートカットがあります。このスタイルのドラッグインストールアプリケーションは、 Fetch 5 [14]の開発中にIris Artin(旧姓Ben Artin)によって発明され公開され、その後広く採用されました。macOS用の商用アプリケーションでは、Mac版のInstaller VISE(MindVision Software)やInstallerMaker(StuffIt )などのサードパーティのインストーラを使用する場合もあります。
システムインストーラー
システム インストーラーは、デバイスにオペレーティング システムをセットアップしてインストールするために使用されるソフトウェアです。
Linux システムインストーラーの例:
- Anaconda : CentOS、Fedoraで使用
- Calamares : 複数の Linux ディストリビューションで使用されています (一部の Ubuntu フレーバー、Debian、および派生版を含む)
- Debian-Installer ("DI"): 古典的なDebianインストーラ(テキストおよびグラフィカル[15]インターフェース)
- Subiquity Ubuntu Server インストーラー
- Ubiquity : Ubuntuデスクトップ インストーラー (22.10 まで)
- Ubuntu デスクトップ インストーラー: 現在のUbuntuデスクトップ インストーラー (23.04 以降)
- SUSEベースのプロジェクト向けYaST
もう 1 つの例は、 Haikuオペレーティング システムにあります。このオペレーティング システムでは、ライブ CDまたはライブ USBから起動した後、 Haiku Installerと呼ばれるユーティリティを使用してデバイスにインストールされます。
参照
参考文献
- ^ Valente, Andrea; Marchetti, Emanuela (2022-03-01). 「非技術系の学生のためのプログラミングの簡素化:解釈学的アプローチ」. KI - Künstliche Intelligenz . 36 (1): 17–33. doi : 10.1007/s13218-021-00748-0 . ISSN 1610-1987. PMC 8761527. PMID 35068698 .
- ^ ab Hoffman, Chris (2013 年 7 月 27 日). 「無料ソフトウェアをダウンロードする際にジャンク プログラムをインストールしないようにする方法」HowToGeek . 2015 年10 月 6 日閲覧。
- ^ Mathews, Lee (2011年8月22日). 「Download.comはダウンロードをブロートウェアで覆い、動機について嘘をついている」 ExtremeTech . 2015年10月6日閲覧。
- ^ アイヒャー 2011、5ページ。
- ^ オリベイラ & マルティン-ロドリゲス 2006、p. 6.
- ^ アイヒャー 2011、11ページ。
- ^ 「サイレントインストールとは?」Webopedia 2021-12-20 2022-05-05閲覧。
- ^ 「サイレントインストールの定義」。techterms.com 。 2022年5月5日閲覧。
- ^ Bergner, Jason. 「Google ドライブのサイレント インストール (ハウツー ガイド)」。サイレント インストール HQ。2022年 5 月 5 日閲覧。
- ^ Lewkowicz, Jakub (2023年4月18日). 「InstallAware、Multi Platform Beta 4でIDEのビジュアルデザイナーとセットアップエンジンを改良」. Software Development Times . 2024年6月17日閲覧。
- ^ 「Windows 11 用のコンテキスト メニュー ブリッジを備えた新しい InstallAware X15」。Software Development Times。サンフランシスコ、カリフォルニア州。2022 年 3 月 21 日。2024年6 月 17 日に閲覧。
- ^ Nawrocki, Matthew (2013 年 6 月 21 日). 「インストール パッケージを作成するための 5 つのアプリ」. TechRepublic . 2024 年6 月 17 日閲覧。
- ^ 「macOS - macOSとは」。Apple 。2018年4月5日閲覧。
- ^ 「ディスクイメージからアプリケーションフォルダに簡単にアクセス」。Mac Dev Center。2005年12月14日時点のオリジナルよりアーカイブ。2023年11月23日閲覧。
- ^ Debian Wiki: Debian インストーラ GUI
出典
- オリベイラ、D.マルティン・ロドリゲス、フェルナンド (2006)。 「EDNA: GNU/EDMA アプリケーション向けの安全で進化可能なマルチバージョンのオンデマンド導入システム」。
- Eicher, Bastian (2006). ポータブル、ゼロインストール、仮想化アプリケーションのデスクトップ統合管理(PDF) . コンピュータサイエンス学部 (BS 論文).カールスルーエ工科大学.
