Cài đặt

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:
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à:
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ở).