
コンピュータプログラム(デバイスドライバやプラグインを含む)のインストール(またはセットアップ)は、プログラムを実行可能な状態にする行為である。[ 1 ]インストールとは、コンピュータで使用できるようにするためのソフトウェアまたはハードウェアの特定の構成を指す。ソフトウェア(プログラム)をインストールするには、そのソフトコピーまたはデジタルコピーが必要である。ソフトウェア(プログラム)をインストールするプロセスは複数ある。プロセスはプログラムやコンピュータごとに異なるため、プログラム(オペレーティングシステムを含む)には、インストールに必要なすべての処理(以下を参照)を担当する専用プログラムであるインストーラが付属していることが多い。インストールは、より大規模なソフトウェア展開プロセスの一部である場合もある。[ 2 ]
インストールには通常、プログラムコードとデータを含むファイルがインストール先からローカルコンピュータ上の新規ファイルにコピー/生成され、オペレーティングシステムからのアクセスが容易になる、必要なディレクトリが作成され、環境変数が登録され、アンインストール用の別プログラムが用意されるなどといった処理が含まれます。 [ 1 ]プログラムファイルは通常複数の場所にコピー/生成されるため、アンインストールは通常、プログラムフォルダを消去する以上の処理を必要とします。例えば、完全なアンインストールを行うには、レジストリファイルやその他のシステムコードを変更または削除する必要がある場合があります。
概要
コンピュータプログラムの中には、コンピュータに保存されているフォルダにコピーして実行するだけで実行できるものがあります。 [ 3 ]また、すぐに実行できない形式で提供されるプログラムもあり、インストール手順が必要となります。一度インストールすれば、プログラムは毎回再インストールすることなく、何度でも実行できます。
ソフトウェアのインストール中に実行される一般的な操作は次のとおりです。
- 必要なシステム要件が満たされていることを確認する
- ソフトウェアの既存バージョンの確認
- プログラムファイルとフォルダの作成または更新
- 構成ファイル、Windowsレジストリエントリ、環境変数などの構成データの追加
- リンク、ショートカット、ブックマークなどを作成して、ユーザーがソフトウェアにアクセスできるようにする
- デーモンやWindowsサービスなど、自動的に実行されるコンポーネントを構成する
- 製品のアクティベーションを実行する
- ソフトウェアバージョンの更新[ 4 ]
一部のインストーラーは、様々な形式のアドウェア、ツールバー、トライアルウェア、提携企業のソフトウェアなど、ジャンクウェアをインストールさせるようにユーザーを誘導することがあります。 [ 5 ]これを防ぐには、インストールを要求される内容について細心の注意を払う必要があります。追加ソフトウェアのインストールは、単にスキップするか、チェックを外すだけで済みます(この場合、ユーザーはインストール手順の「カスタム」、「詳細」、「エキスパート」バージョンを使用する必要がある場合があります)。[ 5 ]
このような悪意のある行為は、必ずしもソフトウェア開発者やその会社による決定ではなく、CNETのDownload.comインストーラーのような外部インストーラーの問題である可能性もあります。[ 6 ]
インストール不要でポータブルなアプリケーション
一部のコンピュータプログラムはインストールを必要としません。これはかつて、Apple II、PET、MS-DOS 、 Macintosh 128Kなど、フロッピーディスクからソフトウェアを実行し、一度に1つのアプリケーションしかロードできない8ビットおよび16ビットシステムにおける標準でした。コンピューティング環境がより複雑になり、フロッピーディスクが固定ハードドライブに置き換えられるにつれて、具体的なインストールの必要性が生じました。例えば、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ドライブをデスクトップショートカットでサイレントインストールする場合などです。[ 15 ]
GoogleDrive.exe - -silent - -desktop_shortcut = true無人インストール
Installation that is performed without user interaction during its progress or with no user present at all.[16] One of the reasons to use this approach is to automate the installation of a large number of systems. An unattended installation either does not require the user to supply anything or has received all necessary input prior to the start of installation. Such input may be in the form of command lineswitches or an answer file, a file that contains all the necessary parameters. Windows XP and most Linux distributions are examples of operating systems that can be installed with an answer file. In unattended installation, it is assumed that there is no user to help mitigate errors. For instance, if the installation medium was faulty, the installer should fail the installation, as there is no user to fix the fault or replace the medium. Unattended installers may record errors in a computer log for later review.
Headless installation
Installation performed without using a computer monitor connected. In attended forms of headless installation, another machine connects to the target machine (for instance, via a local area network) and takes over the display output. Since a headless installation does not need a user at the location of the target computer, unattended headless installers may be used to install a program on multiple machines at the same time.
Scheduled or automated installation
An installation process that runs on a preset time or when a predefined condition transpires, as opposed to an installation process that starts explicitly on a user's command.[17] For instance, a system administrator willing to install a later version of a computer program that is being used can schedule that installation to occur when that program is not running. An operating system may automatically install a device driver for a device that the user connects. (See plug and play.) Malware may also be installed automatically. For example, the infamous Con ficker was installed when the user plugged an infected device to their computer.
OEM installation
An installation performed by an original equipment manufacturer (OEM) where software is pre-installed on a hardware device before it is sold. This type of installation is typically performed without end-user interaction, though the device's first boot may require the user to perform an initial system setup.
Clean installation
クリーンインストールとは、インストールするコンピュータプログラムの古いバージョンや以前のインストールの残り物など、インストールを妨害する要素が一切存在しない状態で行われるインストールです。[ 18 ]特に、オペレーティングシステムのクリーンインストールとは、インストール前に対象のディスクパーティションを消去するインストールです。インストールを妨害する要素が存在しないため、クリーンインストールは成功する可能性がありますが、クリーンインストール以外のインストールでは失敗したり、大幅に時間がかかったりする可能性があります。
ネットワークのインストール
ネットワークインストール(略してネットインストール)とは、共有ネットワークリソースからプログラムをインストールすることであり、最小限のシステムをインストールしてから、ネットワーク経由でさらにパッケージをダウンロードすることによって実行できます。[ 19 ]これは単に元のメディアのコピーである場合もありますが、機関顧客にサイトライセンスを提供するソフトウェア発行者は、ネットワーク経由でのインストールを目的としたバージョンを提供する場合もあります。
インストーラ
インストールプログラムまたはインストーラーは、アプリケーション、ドライバー、またはその他のソフトウェアなどのファイルをコンピューターにインストールするコンピュータープログラムです。 [ 20 ]インストーラーの中には、それに含まれるファイルをインストールするために特別に作られたものもあれば、汎用のインストーラーもあり、インストールする ソフトウェアパッケージの内容を読み取って動作します。
これらには「スタンドアロンインストーラー」(または「オフラインインストーラー」)と「ウェブインストーラー」(または「オンラインインストーラー」)の両方があり、前者はすべてのインストールファイルを含んでいるためオフラインでのインストールが可能ですが、後者はインストール時にウェブからインストールに必要なファイルをダウンロードする必要があります。[ 20 ]
パッケージマネージャーとインストーラーの違いは次のとおりです。 [ 20 ]
| 基準 | パッケージマネージャー | インストーラ |
|---|---|---|
| 同梱物 | 通常、オペレーティングシステム | 各コンピュータプログラム |
| インストール情報の場所 | 1つの中央インストールデータベース | それは完全にインストーラの裁量次第です。アプリのフォルダ内のファイル、あるいはオペレーティングシステムのファイルやフォルダの中にある可能性があります。せいぜい、インストール情報を公開することなく、アンインストーラのリストに自身を登録する程度でしょう。 |
| メンテナンスの範囲 | システム上のすべてのパッケージ | バンドルされた製品のみ |
| 開発者 | パッケージマネージャベンダー1社 | 複数のインストーラベンダー |
| パッケージ形式 | いくつかのよく知られたフォーマット | アプリの数だけフォーマットが存在する可能性がある |
| パッケージ形式の互換性 | パッケージマネージャーがサポートしている限り使用できます。パッケージマネージャーの新しいバージョンがサポートを継続するか、ユーザーがパッケージマネージャーをアップグレードしない限り、この機能は利用できません。 | インストーラーは、アーカイブ形式を使用している場合、常にその形式と互換性があります。ただし、他のコンピュータプログラムと同様に、インストーラーもソフトウェアの劣化の影響を受ける可能性があります。 |
ブートストラッパー
コンピュータプログラムのインストール中に、インストーラーまたはパッケージマネージャー自体を更新する必要がある場合があります。これを可能にするために、ブートストラッピングと呼ばれる手法が用いられます。この手法の一般的なパターンは、インストーラーを更新し、更新後に実際のインストールを開始する小さな実行ファイルを使用することです。この小さな実行ファイルはブートストラッパーと呼ばれます。[ 21 ]ブートストラッパーは、ブートストラッピングプロセス中に ソフトウェアの他の前提条件もインストールすることがあります。
一般的なタイプ
クロスプラットフォームインストーラビルダーは、Windows、macOS、Linuxで動作するインストーラを生成します。例えば、Flexera SoftwareのInstallAnywhereはJavaベースです。ネイティブコードの例としては、InstallAware SoftwareのInstallAware Multi Platformがあります。これはビルドツールチェーンと依存関係なしで動作するセットアップエンジンを備えており、 Linuxでグラフィカルユーザーインターフェース(GUI)を表示できない場合はコンソールモードに切り替えることもできます。[ 22 ]
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のネイティブコードセットアップエンジンを介して直接セットアップを実行することもできます。このハイブリッドエンジンは、実行時にインストールモードを切り替える機能も提供します。[ 23 ] [ 24 ]
macOS には、ネイティブパッケージ マネージャーのインストーラが含まれています。また、macOS には、Apple とシステム ソフトウェアのみをサポートする別のソフトウェア アップデート アプリケーションも含まれています。10.6.6 以降では Dock に含まれており、 Apple メニューにも含まれるMac App Store は、 iOS デバイス向けの成功したApp Storeと多くの属性を共有しており、類似したアプリ承認プロセス、購入時の Apple ID の使用、自動インストールおよびアップデートなどです。App Store は Apple が推奨する macOS アプリの配信方法ですが、[ 25 ]以前に購入したライセンスを Mac App Store に転送してダウンロードや自動アップデートすることはできません。Mac App Store の外部で配布される多くの macOS アプリケーションは、インストーラの代わりに、アプリケーション フォルダーにドラッグ アンド ドロップするアプリケーション バンドルを含むApple ディスク イメージ(.dmg ファイル)を使用します。これらのアプリケーションは、ドラッグ インストール アプリケーションと呼ばれます。これらには、多くの場合、インストール手順の目立つ説明とアプリケーション フォルダーへのショートカットがあります。このドラッグインストール方式のアプリケーションは、アイリス・アーティン(旧姓ベン・アーティン)がFetch 5 [ 26 ]の開発中に発明・公開し、その後広く普及しました。macOS向けの商用アプリケーションでは、Mac版Installer VISE(MindVision Software)やInstallerMaker(StuffIt) などのサードパーティ製インストーラを使用する場合もあります。
システムインストーラー
システムインストーラーは、デバイスにオペレーティングシステムをセットアップしてインストールするために使用されるソフトウェアです。[ 27 ]
Windows セットアップは、Microsoft Windows のシステム インストーラーです。
Linux システムインストーラーの例:
- Anaconda : CentOS、Fedoraで使用
- Calamares : 複数の Linux ディストリビューションで使用されています (一部の Ubuntu フレーバー、Debian、および派生版を含む)
- Debianインストーラ("DI"):古典的なDebianインストーラ(テキストおよびグラフィカル[ 28 ]インターフェース)
- Subiquity Ubuntu Serverインストーラー
- Ubiquity : Ubuntuデスクトップインストーラー (22.10 まで)
- Ubuntu デスクトップ インストーラー: 現在のUbuntuデスクトップ インストーラー (23.04 以降)
- SUSEベースのプロジェクト向けYaST
もう 1 つの例はHaikuオペレーティング システムにあります。このオペレーティング システムでは、ライブ CDまたはライブ USBから起動した後、 Haiku Installerと呼ばれるユーティリティを使用してデバイスにインストールされます。
参照
参考文献
- ^ a bエリス、スコット・R. (2013). 「サイバーフォレンジック」.コンピュータと情報セキュリティハンドブック. pp. 573– 602. doi : 10.1016/B978-0-12-803843-7.00040-5 . ISBN 978-0-12-803843-7。
- ^ 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 .
- ^ a b「ポータブルアプリとは?」PortableApps.com . 2024年10月1日閲覧。
- ^ Cross, Michael; Martin, Jeffery A.; Walls, Todd A.; Grasdal, Martin; Shinder, Debra Littlejohn; Shinder, Thomas W. (2003). 「MCSA/MCSE 70–294: グループポリシーによるソフトウェアの導入」. MCSE (試験 70-294) 学習ガイド. pp. 641– 688. doi : 10.1016/B978-193183694-4/50016-7 . ISBN 978-1-931836-94-4。
- ^ a b Hoffman, Chris (2013年7月27日). 「無料ソフトウェアをダウンロードする際に迷惑プログラムをインストールしない方法」 HowToGeek . 2015年10月6日閲覧。
- ^ Mathews, Lee (2011年8月22日). 「Download.comはダウンロードをブロートウェアで覆い隠し、その動機について嘘をついている」 ExtremeTech . 2015年10月6日閲覧。
- ^ 「Zero Install」 . 0install.net . 2024年10月1日閲覧。
- ^アイヒャー 2011、5ページ。
- ^オリベイラ & マルティン・ロドリゲス 2006、p. 6.
- ^アイヒャー 2011、11ページ。
- ^ 「ソフトウェアインストールの基礎」 . Codecademy . 2024年10月1日閲覧。
- ^ Popescu, Radu (2022年4月28日). 「EXEおよびMSIセットアップアプリケーションのサイレントインストール(無人) - ガイド」 . Advanced Installer . 2024年10月1日閲覧。
- ^ 「サイレントインストールとは?」 Webopedia . 2021年12月20日. 2022年5月5日閲覧。
- ^ 「サイレントインストールの定義」 . techterms.com . 2022年5月5日閲覧。
- ^ Bergner, Jason. 「Google ドライブのサイレントインストール(ハウツーガイド)」 .サイレントインストールHQ . 2022年5月5日閲覧。
- ^ 「ソフトウェア導入方法」 . Action1 . 2024年10月1日閲覧。
- ^ 「確実なソフトウェアインストールチェックリストのための必須手順」。Manifestly Checklists 。 2024年10月1日閲覧。
- ^ 「クリーンインストールの定義 - 用語集」 . NordVPN . 2024年10月1日閲覧。
- ^ 「グループポリシーを使用してソフトウェアをリモートでインストールする - Windows Server」。Microsoft Learn。Microsoft。2024年1月15日。 2024年10月1日閲覧。
- ^ a b c「ソフトウェアインストーラーとは何か?」 Revenera 2024年10月1日閲覧。
- ^ 「ブートストラップパッケージの作成 - Visual Studio (Windows)」 . Microsoft Learn . Microsoft. 2023年5月30日. 2024年10月1日閲覧。
- ^ 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日閲覧。
- ^ 「オペレーティングシステムのインストール方法」 Computer Hope、2023年9月7日。 2024年10月1日閲覧。
- ^ Debian Wiki: Debian インストーラ GUI
参考文献
- Eicher, Bastian (2011).ポータブル、ゼロインストール、仮想化アプリケーションのためのデスクトップ統合管理(PDF) .カールスルーエ工科大学コンピュータサイエンス学科 (学士論文) .
- オリベイラ、D.マルティン・ロドリゲス、フェルナンド (2006)。「EDNA: GNU/EDMA アプリケーション向けの安全で進化可能なマルチバージョンのオンデマンド展開システム」