Networks Business Online Việt Nam & International VH2

Windows Installer – Wikipedia tiếng Việt

Đăng ngày 04 October, 2022 bởi admin
Bài này viết về Một thành phần trong Microsoft Windows. Đối với việc setup hệ điều hành, xem Windows Setup

Windows Installer (tên cũ Microsoft Installer, tên mã là Darwin) là một thành phần phần mềm và giao diện lập trình ứng dụng (API) của Windows được sử dụng cho các quá trình cài đặt, bảo trì và gỡ bỏ của các phần mềm. Thông tin cài đặt và các tập tin cài đặt được đóng gói trong các gói cài đặt, các cơ sở dữ liệu có được cấu trúc trong các Kho Cấu trúc COM (các tệp MSI). Windows Installer đã thay đổi rất nhiều thứ từ người tiền nhiệm của nó – Setup API. Các tính năng mới bao gồm khung GIAO DIỆN và chế độ tự động tạo ra trình tự gỡ bỏ. Windows Installer đóng vai trò là một khung cài đặt tự động (giống như InstalleShield và NSIS).

Trước khi ra đời Windows Store, Microsoft khuyến khích bên thứ ba sử dụng cửa Windows Installer làm khung thiết lập cơ sở cho mọi phần mềm, để chúng đồng nhất hóa chuẩn hơn với những bộ thiết lập khác cũng như giữ cho cơ sở tài liệu bảo đảm an toàn bên trong. Tính năng quan trọng như quay ngược lại, và quản trị phiên bản phụ thuộc vào vào một sở dữ liệu nội bộ tương thích để hoạt động giải trí hiệu suất cao. Hơn nữa, Windows Installer tạo điều kiện kèm theo quản lý và vận hành những nguyên tắc độc quyền tối thiểu bằng cách thực thi phần mềm setup qua proxy những người dùng không có độc quyền .

Cấu trúc logic của những gói[sửa|sửa mã nguồn]

Một gói mô tả cách cài đặt của một hay nhiều sản phẩm đầy đủ và được xác định một cách phổ quát bởi một mã số GUID Nhiều thành phần được nhóm lại thành thành tính năng, và một sản phẩm được cấu thành từ các tính năng đó. Windows Installer không xử lý về sự phụ thuộc giữa các sản phẩm.

Một chương trình đã được cài đặt và có thể chạy (hoặc tập hợp chương trình) được gọi là một sản phẩm. Một sản phẩm là được xác định một cách độc nhất bởi một mã số GUID (thuộc tính ProductCode) cho phép nó có thẩm quyền được định danh trên toàn thế giới. Số GUID kết hợp với số phiên bản (thuộc tính ProductVersion) cho phép quản lý việc phát hành các tệp và khóa đăng ký của sản phẩm.

Một gói bao gồm những gói logic và các siêu dữ liệu có liên quan đến cách gói thực thi khi chạy. Ví dụ, việc thay đổi một tập tin thực thi EXE trong sản phẩm có thể yêu cầu thay đổi ProductCode hoặc ProductVersion để quản lý việc phát hành. Trong trường hợp chỉ đơn thuần thay đổi hoặc thêm một điều kiện khởi động (nhưng phần còn lại giống chính xác như ở phiên bản cũ) thì vẫn bị yêu cầu các thay đổi PackageCode để phát hành tập MSI.

Một tính năng là một sự phân cấp của nhóm các thành phần. Một tính năng có thể có một số lượng bất kỳ thành phần khác cũng như các thành phần con. Các gói nhỏ hơn có thể bao gồm một tính năng duy nhất. Các bộ cài đặt phức tạp hơn thường cho người dùng lựa chọn “cài đặt tùy chỉnh” để chọn tính năng được cài đặt hoặc gỡ bỏ.

Tác giả của gói định nghĩa những tính năng của mẫu sản phẩm. Ví dụ so với việc thiết lập một bộ giải quyết và xử lý văn bản, hoàn toàn có thể đặt những tập tin cốt lõi của chương trình vào một tính năng và những tệp trợ giúp, kiểm tra chính tả và mô-đun văn phòng khác vàocác tính năng bổ trợ .
Một thành phần là đơn vị chức năng cơ bản của một loại sản phẩm. Mỗi thành phần được Windows Installer giải quyết và xử lý như một đơn vị chức năng. Trình thiết lập không hề chỉ setup chỉ một phần của một thành phần. [ 3 ] Các thành phần hoàn toàn có thể chứa tệp chương trình, thư mục, thành phần COM, khóa registry và những shortcut. Người dùng không trực tiếp tương tác với những thành phần .Các thành phần được xác lập trên toàn thế giới bởi GUIDs ; Do đó cùng một thành phần hoàn toàn có thể san sẻ giữa 1 số ít tính năng của cùng một gói hoặc nhiều gói, lý tưởng trải qua việc sử dụng những mô-đun hợp nhất .

Đường dẫn chính[sửa|sửa mã nguồn]

Một đường dẫn chính là một tệp cụ thể, khoá registry hoặc nguồn dữ liệu ODBC mà tác giả của gói đã chỉ định là quan trọng cho một thành phần nhất định. Bởi vì một tập tin là loại phổ biến nhất của đường dẫn quan trọng, thuật ngữ tập tin khóa thường được sử dụng. Một thành phần chỉ có thể chứa nhiều nhất một đường dẫn chính; Nếu một thành phần không có đường dẫn chính rõ ràng, thư mục đích của thành phần được coi là đường dẫn chính. Khi một chương trình MSI được khởi chạy, Windows Installer kiểm tra sự tồn tại của các đường dẫn chính. Nếu có sự không khớp giữa trạng thái hệ thống hiện tại và giá trị được chỉ định trong gói MSI (ví dụ: thiếu tệp khóa), tính năng liên quan được cài đặt lại. Quá trình này được gọi là tự chữa bệnh hoặc tự sửa chữa. Hai thành phần khác nhau không nên sử dụng chung một đường dẫn chính.

Các tiến trình thiết lập[sửa|sửa mã nguồn]

Giao diện người dùng[sửa|sửa mã nguồn]

Giai đoạn giao diện người dùng thường truy vấn mạng lưới hệ thống tiềm năng, hiển thị thuật sĩ setup và được cho phép người dùng biến hóa những tùy chọn khác nhau ảnh hưởng tác động đến việc thiết lập .Tuy nhiên, trình tự giao diện người dùng không nên triển khai bất kể biến hóa nào so với mạng lưới hệ thống, vì những nguyên do sau :

  1. Một người dùng có thể cài đặt hoặc gỡ cài đặt gói MSI ở chế độ thụ động hoặc chế độ im lặng, bỏ qua giai đoạn này hoàn toàn. (Chế độ thụ động bỏ qua giai đoạn giao diện người dùng nhưng hiển thị thanh tiến trình đồ hoạ Chế độ im lặng không hiển thị gì) Trong quá trình cài đặt, thông tin thu thập được trong giai đoạn này có thể được cung cấp trước bằng giao diện dòng lệnh.
  2. Chuỗi giao diện người dùng chạy với đặc quyền của người dùng, và không phải với các đặc quyền nâng cao được yêu cầu trong quá trình cài đặt.

Khi người dùng nhấp vào nút ” Cài đặt ” trong một trình thiết lập MSI nổi bật, quy trình setup sẽ triển khai đến quy trình tiến độ Thực hiện, trong đó những thành phần phần mềm sẽ được thiết lập thực sự. Giai đoạn Thực hiện làm đổi khác mạng lưới hệ thống, nhưng nó không hiển thị bất kể thành phần giao diện người dùng nào .

Giai đoạn Thực hiện diễn ra trong hai bước:[cần giải thích Two mode or two steps? Do both run?]

  • Chế độ tức thì. Trong giai đoạn này, Windows Installer nhận các hướng dẫn từ người dùng hoặc ứng dụng để cài đặt hoặc gỡ bỏ các tính năng của sản phẩm. Các yêu cầu gây ra việc thực hiện các trình tự các hành động truy vấn cơ sở dữ liệu cài đặt để xây dựng một script nội bộ mô tả giai đoạn thực hiện chi tiết.
  • Chế độ hoãn lại. Trong giai đoạn này, kịch bản được xây dựng trong chế độ ngay lập tức được thực hiện trong ngữ cảnh của dịch vụ Windows Installer đặc quyền. Kịch bản phải được thực hiện bởi một tài khoản đặc quyền vì sự không đồng nhất của các kịch bản trong đó một hoạt động thiết lập được bắt đầu. Ví dụ: đặc quyền nâng cao là cần thiết cho việc phục vụ yêu cầu cài đặt theo yêu cầu từ những người dùng không có đặc quyền. Tuy nhiên, để chạy với các đặc quyền cao cấp, gói này phải được triển khai bởi một quản trị viên cục bộ hoặc do một quản trị viên hệ thống quảng cáo sử dụng Group Policy.

Quay ngược lại[sửa|sửa mã nguồn]

Tất cả các hoạt động cài đặt diễn ra theo kiểu giao dịch.[4] Nói cách khác, đối với mỗi thao tác mà Windows Installer thực hiện, nó sẽ tạo ra một thao tác hoàn tác tương tự có thể phục hồi thay đổi được thực hiện cho hệ thống. Trong trường hợp có bất kỳ hành động kịch bản nào không thành công trong quá trình hoãn thực hiện hoặc hoạt động bị huỷ bỏ bởi người sử dụng, tất cả các hành động được thực hiện cho đến khi điểm đó được cuộn lại, phục hồi hệ thống về trạng thái ban đầu. Các hành vi Windows Installer chuẩn sẽ tự động ghi thông tin vào một kịch bản rollback; Các tác giả gói tạo các hành động tuỳ chỉnh để thay đổi hệ thống mục tiêu cũng nên tạo các hành động trả về tương ứng (cũng như các hành động gỡ bỏ và gỡ bỏ cài đặt-rollback). Là một tính năng thiết kế, nếu được áp dụng chính xác cơ chế này cũng sẽ lật lại việc gỡ bỏ không thành công một ứng dụng sang trạng thái làm việc tốt.

Các tính năng khác[sửa|sửa mã nguồn]

Windows Installer có thể chỉ quảng cáo một sản phẩm chứ không thực sự cài đặt nó.[5] Sản phẩm sẽ xuất hiện cài đặt cho người dùng, nhưng nó sẽ không được cài đặt cho đến khi nó được chạy lần đầu tiên bằng cách kích hoạt một điểm nhập cảnh (bằng phím tắt của trình đơn Start, bằng cách mở một tài liệu mà sản phẩm được cấu hình để xử lý, Hoặc bằng cách gọi một lớp COM được quảng cáo). Một gói có thể được quảng cáo bởi một quản trị viên sử dụng Group Policy hoặc cơ chế triển khai khác hoặc bằng cách chạy msiexec executable với / jm (cho mỗi máy quảng cáo) hoặc / ju (cho mỗi người dùng quảng cáo) chuyển đổi. Một số gói MSI có trong InstallShield có thể ngăn cản việc sử dụng các tính năng này và các tính năng MSI gốc khác. 

Người dùng phải có quyền quản trị viên để hoàn tất việc thiết lập quảng cáo .

Cài đặt theo nhu yếu[sửa|sửa mã nguồn]

Tương tự như quảng cáo, nó cài đặt một tính năng ngay sau khi dùng sử dụng nó lần đầu tiên.[6]

Cài đặt quản trị[sửa|sửa mã nguồn]

Cài đặt quản trị tạo ra một hình ảnh nguồn không nén cho một mẫu sản phẩm, thường được sử dụng để setup hoặc chạy một ứng dụng từ một vị trí mạng. [ 7 ] Một setup quản trị không phải là một thiết lập nổi bật, vì nó không tạo ra bất kể phím tắt nào, ĐK những sever COM, tạo một mục trong Add or Remove Programs, và tương tự như. Thông thường một setup quản trị viên được cho phép người dùng thiết lập loại sản phẩm theo cách mà những tính năng của nó chạy từ nguồn setup không nén .Các setup quản trị cũng có ích khi tạo một bản vá Windows Installer vì điều này yên cầu những hình ảnh không nén của những phiên bản trước đó và hiện tại của một loại sản phẩm để tính những sự độc lạ tập tin nhị phân. Một thiết lập hành chính được thực thi bằng cách chạy tập tin thực thi msiexec với công tắc nguồn / a .

Hành động tùy chỉnh[sửa|sửa mã nguồn]

Nhà tăng trưởng gói thiết lập hoàn toàn có thể viết mã để Giao hàng cho mục tiêu của chúng, được phân phối dưới dạng DLL, EXE, VBScript hoặc JavaScript. Điều này hoàn toàn có thể được thực thi trong quy trình thiết lập trình tự, gồm có cả khi người dùng nhấp vào một nút trong giao diện người dùng, hoặc trong InstallExecuteSequence. Tác vụ tùy chỉnh thường xác nhận những khóa cấp phép loại sản phẩm hoặc khởi tạo những dịch vụ phức tạp hơn. Nhà tăng trưởng thường cung ứng những hành vi tùy chỉnh nghịch đảo để sử dụng trong quy trình gỡ thiết lập .Msiexec cung ứng một cách để phá vỡ sau khi tải một thư viện DLL hành vi tùy chỉnh đơn cử nhưng trước khi gọi hành vi. [ 8 ]

Hợp nhất mô-đun và thực thi lồng nhau[sửa|sửa mã nguồn]

Gói Windows Installer hoàn toàn có thể chứa một gói khác sẽ được thiết lập vào cùng một thời gian. Đây là những lý tưởng phân phối như thể một thành phần tập tin.msm, nhưng cũng hoàn toàn có thể là một chương trình thực thi riêng không liên quan gì đến nhau sẽ được giải nén từ gói thiết lập trong InstallExecuteSequence và hoàn toàn có thể chạy ngay lập tức. Tệp này sau đó hoàn toàn có thể được xóa trước khi kết thúc InstallExecuteSequence, và thế cho nên là lý tưởng để sử dụng với những trình thiết lập cũ hơn .

Tính thích hợp với những tính năng của Windows[sửa|sửa mã nguồn]

Windows Installer 4.0, được bán kèm theo Windows Vista, tích hợp những năng lực để tận dụng tính năng Kiểm soát Tài khoản Người dùng ( UAC ). Nếu một ứng dụng hoàn toàn có thể được setup mà không cần tới độc quyền nâng cao, gói MSI của nó hoàn toàn có thể được lưu lại như vậy, do đó được cho phép thiết lập mà không nhắc người dùng cho những thông tin đăng nhập của Quản trị viên. Windows Installer cũng hoạt động giải trí tích hợp với Restart Manager ; Khi setup hoặc update một ứng dụng hoặc thành phần mạng lưới hệ thống với chính sách giao diện người dùng ” khá đầy đủ “, người dùng sẽ được hiển thị một list những ứng dụng bị tác động ảnh hưởng hoàn toàn có thể được tắt, và sau đó khởi động lại sau khi những tập tin đã được update. Hành động của trình setup chạy ở chính sách yên lặng triển khai những ứng dụng này khởi động lại tự động hóa. Thương Mại Dịch Vụ mạng lưới hệ thống và những ứng dụng khay hoàn toàn có thể được khởi động lại theo cách này .

Phát triển gói thiết lập[sửa|sửa mã nguồn]

Tạo một gói setup cho một ứng dụng mới không phải là một việc thuận tiện. Cần phải xác lập tệp nào phải được thiết lập, ở đâu và với những khoá ĐK nào. Bất kỳ hoạt động giải trí không-theo-chuẩn nào cũng hoàn toàn có thể được triển khai bằng cách sử dụng Tác vụ tùy chỉnh, thường được tăng trưởng trong DLL. Có 1 số ít loại sản phẩm thương mại và phần mềm không tính tiền để tương hỗ tạo những gói MSI, gồm có cả Visual Studio ( lên đến VS 2010 ) [ 9 ], InstallShield và WiX. Ở mức độ khác nhau, giao diện người dùng và hành vi hoàn toàn có thể được thông số kỹ thuật để sử dụng trong những trường hợp ít phổ cập hơn như setup không giám sát. Sau khi chuẩn bị sẵn sàng, gói setup được ” biên dịch ” bằng cách đọc hướng dẫn và tệp từ máy địa phương của nhà tăng trưởng và tạo tệp. msi .

Giao diện người dùng (hộp thoại) được trình bày khi bắt đầu cài đặt có thể được thay đổi hoặc được cấu hình bởi kỹ sư thiết lập phát triển trình cài đặt mới. Có một ngôn ngữ giới hạn các nút, trường văn bản và nhãn có thể được sắp xếp theo một chuỗi các hộp thoại. Gói trình cài đặt phải có khả năng chạy mà không có giao diện người dùng, cho cái gọi là “cài đặt không giám sát”.

Xác nhận ICE[sửa|sửa mã nguồn]

Microsoft phân phối một bộ Đánh giá sự đồng nhất nội bộ ( ICE ) hoàn toàn có thể được sử dụng để phát hiện những yếu tố tiềm ẩn với cơ sở tài liệu MSI. [ 10 ] Các quy tắc ICE được kết hợp thành những tệp CUB, là những tệp MSI bị xoá đi chứa những hành vi tuỳ chỉnh để kiểm tra nội dung của cơ sở tài liệu MSI tiềm năng cho những cảnh báo nhắc nhở và lỗi xác nhận. Xác nhận ICE hoàn toàn có thể được triển khai với những công cụ Platform SDK Orca và msival2, hoặc với những công cụ xác nhận luân chuyển với những môi trường tự nhiên tác giả khác nhau .Ví dụ, một vài quy tắc ICE là :

  • ICE09: Xác nhận rằng bất kỳ thành phần nào dành cho thư mục System được đánh dấu là vĩnh viễn.
  • ICE24: Xác nhận rằng mã sản phẩm, phiên bản sản phẩm và ngôn ngữ sản phẩm có các định dạng thích hợp.
  • ICE33: Xác nhận rằng bảng Registry không được sử dụng cho dữ liệu phù hợp hơn cho một bảng khác (Class, Extension, Verb, v.v.).

Giải quyết những cảnh báo nhắc nhở và lỗi của ICE là một bước quan trọng trong quy trình phát hành .

Các phiên bản[sửa|sửa mã nguồn]

Các công cụ[sửa|sửa mã nguồn]

Tên Nhà phát hành Mô tả Giấy phép
7-Zip Igor Pavlov 7-Zip là một tiện ích lưu trữ tệp mã nguồn mở và có thể trích xuất nội dung của các tệp MSI.[13] GNU Lesser General Public License
EMCO MSI Package Builder EMCO Software Một trình soạn thảo cài đặt cho phép tạo ra các gói MSI mới và chuyển đổi các thiết lập EXE non-silent thành các gói MSI silent để cài đặt từ xa không cần giám sát. Shareware
InstallShield Flexera Software InstallShield là một công cụ phần mềm để tạo các trình cài đặt hoặc các gói phần mềm chủ yếu được sử dụng để cài đặt phần mềm cho nền tảng máy tính để bàn và máy chủ Microsoft Windows. Shareware
PACE Suite Infopulse Ukraine PACE Suite là một công cụ để đóng gói lại một cài đặt hiện tại vào gói MSI hoặc một định dạng ảo (App-V hoặc ThinApp). Shareware
Orca Microsoft Orca là một trình soạn thảo bảng cơ sở dữ liệu để tạo và chỉnh sửa các gói Windows Installer và hợp nhất mô-đun. Freeware
Visual Studio Microsoft Visual Studio 2002 đến năm 2010 có khả năng xây dựng các dự án triển khai Windows Installer Deployment, có thể tạo các gói cài đặt.[14] Microsoft đã bỏ hỗ trợ cho các dự án triển khai trong năm 2012 và đề xuất sử dụng WiX để thay thế..[9] Shareware
WiX Outercurve Foundation (Microsoft) WiX (Windows Installer XML) là một bộ công cụ miễn phí và có mã nguồn mở giúp xây dựng các gói Windows Installer từ một tài liệu XML. Nó có thể được sử dụng từ dòng lệnh hoặc tích hợp vào Microsoft Visual Studio. SharpDevelop, phần mềm thay tương tự Visual Studio nhưng miễn phí và nguồn mở, đã thông qua WiX.[15] Common Public License
  • Cài đặt
  • Danh sách phần mềm tạo bộ cài đặt
  • Hệ thống quản lý gói
  • Windows Installer CleanUp Utility
  • Tệp ZAP – một cách để thực hiện một cài đặt ứng dụng khi không tồn tại tệp MSI.

Source: https://vh2.com.vn
Category : Ứng Dụng