**Cài đặt** (tiếng Anh: *installation* hay *setup*) một chương trình (gồm cả trình điều khiển) là hành động và kết quả của việc đặt một chương trình vào một hệ thống máy tính sao cho nó có thể được thực thi.

Phần lớn chương trình được cung cấp dưới dạng đóng gói và nén lại để bán và phân phối. Để dùng được, chúng phải được 'mở gói' và những thông tin thích hợp phải được đặt đúng chỗ trên máy tính, trong đó có tính đến sự khác nhau giữa các máy tính, và bất cứ sự thiết lập điều chỉnh nào từ người dùng. Trong khi cài đặt, sẽ có những bước để kiểm tra tính tương thích của hệ thống, và máy tính sẽ được cấu hình để lưu trữ những tập tin thích hợp và bất cứ các thiết lập cần thiết nào để chương trình đó có thể hoạt động đúng đắn.

Vì quá trình buộc phải thực hiện là khác nhau đối với từng chương trình và từng máy tính, nên nhiều chương trình (bao gồm cả hệ điều hành) phải đi cùng với những trình cài đặt đa mục đích hoặc riêng biệt – một chương trình chuyên biệt hóa sẽ tự động thực hiện hầu hết các công việc cần thiết cho việc cài đặt.

Một vài phần mềm được thiết kế để có thể được cài đặt đơn giản chỉ bằng cách chép những tập tin của chúng vào một chỗ mong muốn, và không có một quá trình cài đặt chính quy nào. Điều này phổ biến với các ứng dụng Mac OS X và cũng được dùng trong một số ứng dụng Windows. Cũng có những hệ điều hành chạy được mà không cần phải cài đặt, và do đó có thể chạy trực tiếp trên các CD, DVD, hoặc ổ USB khởi động được, mà không ảnh hưởng tới những hệ điều hành khác được cài đặt trên máy. Một ví dụ đó là hệ điều hành Knoppix Linux hay Mac OS 1-9.

Thuật ngữ này sau đó cũng được mở rộng một cách tự nhiên sang các plugin, trình điều khiển thiết bị và các tập tin phần mềm mà bản thân nó không phải là chương trình.

Những thao tác thường được thực hiện trong quá trình cài đặt bao gồm việc tạo ra hay điều chỉnh các:

* Tập tin chương trình dùng chung hoặc không dùng chung
* Thư mục
* Windows registry (*chỉ cho Windows*)
* Tập tin cấu hình
* Biến môi trường
* Đường dẫn hay shortcut

#### Một vài thuật ngữ riêng biệt

Cài đặt bằng tay (Manual Installation)
Cài đặt được thực hiện mà trình cài đặt hoặc yêu cầu người dùng phải thao tác nhiều, ngoài những phần được hỗ trợ bởi trình cài đặt.
Cài đặt tĩnh lặng (Silent Installation)
Cài đặt mà không hiển thị các thông báo hoặc cửa sổ nào trong suốt quá trình cài đặt. "Cài đặt tĩnh lặng" không đồng nghĩa với "cài đặt tự hành", mặc dùng nó thường bị sử dụng sai với nghĩa như vậy.
Cài đặt tự hành (Unattended Installation)
Cài đặt xảy ra mà không giao tiếp với người dùng trong quá trình cài đặt hoặc, theo cách nói nặng hơn, không cần có sự hiện hữu của người dùng, chỉ trừ lúc khởi đầu quá trình. Một quá trình cài đặt thường yêu cầu người dùng "tham gia" vào, có sự lựa chọn theo yêu cầu: chấp nhận EULA, xác nhận đường dẫn và mật khẩu, v.v... Trong môi trường đồ họa, các trình cài đặt có giao diện theo kiểu hướng dẫn từng bước là rất phổ biến. Tuy nhiên những trình ứng dụng này cũng cho phép chuyển sang chế độ dòng lệnh để thực hiện việc cài đặt tự hành.
Tự cài đặt (Self Installation)
Cài đặt tự thực hiện, mà không cần khởi động cài đặt ban đầu (ví dụ như các ổ USB tự cài đặt trình điều khiển từ cổng USB).
Cài đặt không đầu (Headless Installation)
Cài đặt thực hiện mà không cần phải dùng màn hình được nối với máy tính cần cài. Điều này có thể là một cài đặt (tự hành) được thực hiện từ một máy tính khác (tất nhiên cần màn hình) được kết nối với máy tính cần cài thông qua mạng LAN, cáp tuần tự hoặc iLO (một công nghệ quản lý máy chủ từ xa độc quyền của HP).
Cài đặt tự hành và cài đặt không đầu là một tác vụ phổ biến của các nhà quản trị hệ thống.
Cài đặt sạch (Clean Installation)
Do sự phức tạp của việc cài đặt thông thường, có nhiều yếu tố có thể can thiệp làm cho sự cài đặt không thành công. Cụ thể là các tập tin còn sót lại của lần cài đặt trước của chương trình đó hoặc một tình huống không ổn định của hệ điều hành có thể khiến một chương trình không thể cài đặt và hoạt động đúng. Một sự cài đặt được thực hiện mà không có những yếu tố can thiệp như vậy (có thể khác nhau tùy chương trình) được gọi là **cài đặt sạch**. Cụ thể một cài đặt Windows sạch có thể được thực hiện bằng cách định dạng phân vùng đích trước khi thực hiện việc cài đặt.
Cài đặt phẳng (Flat Installation)
Việc cài đặt một chương trình được thực hiện từ một bản chép (được gọi là *chép phẳng* (flat copy)) của nội dung truyền thông (đa số là CD và DVD) vào ổ cứng, chứ không trực tiếp từ thiết bị đó. Điều này có thể hữu ích trong vài tình huống mà máy đích không thể thích nghi với việc vừa thực hiện đọc ngẫu nhiên từ CD/DVD vừa thực hiện các tác vụ thường ngốn nhiều CPU khi cài đặt.

Trình cài đặt
-------------

Một chương trình gọi là trình cài đặt được dùng để cài đặt các tập tin của các ứng dụng, trình điều khiển, hay các phần mềm khác, lên máy tính. Một vài trình cài đặt được tạo ra riêng biệt để cài đặt những tập tin chứa bên trong nó; các trình cài đặt khác thì ở dạng đa mục đích và làm việc bằng cách đọc và cài đặt từ nội dung của gói phần mềm riêng biệt.

Sự khác nhau giữa hệ thống quản lý gói và trình cài đặt là:

| Hệ thống quản lý gói | Trình cài đặt |
| --- | --- |
| Thường là một bộ phận của hệ điều hành. | Mỗi sản phẩm được đóng gói kèm theo trình cài đặt của nó. |
| Sử dụng một cơ sở dữ liệu cài đặt chung. | Tự theo dõi quá trình cài đặt. |
| Có thể xác minh và quản lý tất cả các gói trên hệ thống. | Chỉ làm việc với những sản phẩm được đóng gói chung. |
| Chỉ có một người bán. | Nhiều người bán. |
| Định dạng gói chung. | Nhiều định dạng dài đặt. |

### Các trình cài đặt thông dụng

Một định dạng phổ biến hiện nay dành cho Microsoft Windows là gói cài đặt MSI, sẽ được cài đặt bởi Windows Installer. Các công ty làm ra những công cụ dùng để tạo ra trình cài đặt cho Windows gồm có InstallShield, Macrovision's InstallAnywhere, Wise, SetupBuilder và ScriptLogic Corporation (trước đây là MaSaI Solutions). Phần lớn những công cụ này có thể tạo ra các gói MSI cũng như những tập tin thực thi của riêng chúng.

Những phần mềm thay thế khác gồm có NSIS và InnoSetup, và một công cụ do Microsoft tạo ra gọi là WiX. BitRock có một công cụ dùng cho nhiều platform, gọi là InstallBuilder, có thể tạo ra trình cài đặt cho Windows, Mac OS X, Linux và nhiều hệ điều hành khác và miễn phí cho các dự án nguồn mở. Các dự án Java cũng quan tâm đến trình cài đặt IzPack cho phép tạo ra các trình cài đặt dùng được cho nhiều platform.

Mac OS X có một chương trình gọi là Installer đi kèm với nó. Tuy nhiên, đây không phải là một trình cài đặt theo kỹ thuật (xem bảng ở trên), mà là một Trình quản lý gói. Vài ứng dụng thương mại dành cho Mac OS X sử dụng trình cài đặt khác, thường là Installer VISE hay Stuffit InstallerMaker. Các ứng dụng không cần dùng tới các thành phần hệ thống có thể được cài đặt chỉ bằng cách chuyển các tập tin ứng dụng sang một vị trí mong muốn trên ổ cứng; đây gọi là "cài đặt kéo-thả" và không cần phải có phần mềm cài đặt. Mac OS X cũng có những ứng dụng riêng biệt chuyên cập nhật phần mềm, Software Update (hay còn được biết là "softwareupdate", lệnh dùng trong shell) nhưng chỉ hỗ trợ phần mềm Apple và phần mềm hệ thống.

Một ứng dụng cài đặt trên CD/DVD được thiết kế để tự động chạy chương trình cài đặt khi bỏ đĩa vào ổ quang.

### Trình quản lý gói của Windows

Có một hệ thống là sự giao thoa của ý tưởng trình cài đặt Windows và hệ thống quản lý gói của hệ thống giống như UNIX, đó là hệ thống quản lý cài đặt Windows. Nhiều hệ thống này tạo thành một bộ phận của bộ phần mềm quản lý hệ thống, nhưng cũng có một vài phần mềm thay thế miễn phí (và đôi khi là mã nguồn mở).

Xem thêm
--------

* Trình gỡ bỏ cài đặt
* Phân phối phần mềm
* Hệ thống quản lý gói

Tham khảo
---------

.

..

.

Liên kết ngoài
--------------

* Không tham gia, một hệ thống triển khai Windows
* Wiki dành cho những script cài đặt Windows không tham gia Lưu trữ 2009-02-16 tại Wayback Machine
* Cài đặt tĩnh lặng trên WPKG wiki
* Cài đặt tự hành trực tuyến