Cài đặt phần mềm: chọn .msi hoặc .exe?


34

Một số trang web phần mềm cho phép tải xuống phần mềm của họ để được cài đặt dưới dạng tệp .msi hoặc dưới dạng tệp .exe. Khi được cung cấp tùy chọn, người ta nên chọn tải xuống để cài đặt phần mềm, nghĩa là: những lợi thế của việc sử dụng tệp .msi thay vì trình cài đặt (.exe) là gì?

Tôi hiểu sự khác biệt giữa cả hai, trong đó tệp .msi là gói cài đặt sẽ được xử lý bởi trình cài đặt Windows có thể thực thi được. Và tệp .exe là tệp thực thi có chứa tệp cài đặt và cài đặt. Nhưng lợi ích thực sự của việc chọn .msi so với .exe. Cuối cùng, kết quả là như nhau. Hay không?


3
Theo nguyên tắc chung, các cửa sổ sẽ mất nhiều thời gian để làm mọi thứ, tôi thường đi với .exe cho các gói phần mềm nhỏ hơn tự cài đặt nhanh chóng.
Ếch xanh

1
Có một câu hỏi về các dòng tương tự tại Stackoverflow: khung cài đặt ứng dụng Windows . Tôi nghĩ rằng, nó có điểm tốt cho bạn.
nik

7
"Theo nguyên tắc chung, các cửa sổ sẽ mất mãi mãi để làm mọi thứ"? Một tuyên bố táo bạo và sai sự thật, nếu tôi đã từng nhìn thấy một.
caliban

2
Các tệp MSI có nhiều lợi thế cho việc sử dụng của công ty: Lợi thế triển khai MSI
Stein smul

Câu trả lời:


22

Thông thường các gói msi được cung cấp cho quản trị viên hệ thống, những người có nhu cầu triển khai phần mềm tới một số thiết bị đầu cuối qua mạng.

Kết quả không khác với việc sử dụng một tệp thực thi, nhưng các gói msi đôi khi có các tùy chọn bổ sung như thực hiện cài đặt im lặng hoặc được cấu hình sẵn.

Nếu bạn không phải là quản trị viên hệ thống, hãy sử dụng tệp thực thi.


4
Việc thực thi thường nhỏ hơn do nén tốt hơn, nhưng có xu hướng chỉ chứa và bọc msi, tự động giải nén nó và kích hoạt cài đặt trong chế độ tùy chọn / tương tác chọn người dùng ...
Oskar Duveborn

5
MSI không chỉ đơn thuần cho sysadins - mặc dù chắc chắn chúng được sử dụng bởi chúng; Tôi thấy rằng họ có xu hướng bị loại bỏ hoàn toàn hơn khi thực hiện gỡ cài đặt so với anh em EXE của họ (và không - tôi không biết tại sao)
warren

1
MSIs không an toàn hơn, vì .exe có thể là bất cứ thứ gì, nhưng .msi chắc chắn là gói cài đặt?
Dave Cousineau

@Sahuagin Nó có thể là một gói cài đặt cài đặt phần mềm độc hại.
thameera

1
@thameera dường như vẫn là một sự khác biệt lớn. Sẽ không một msi có một trình hướng dẫn, trong khi một exe sẽ chỉ thực hiện đúng? Sẽ không một msi có thể tự động gỡ cài đặt?
Dave Cousineau

5

Các tệp MSI là cơ sở dữ liệu quan hệ và được Dịch vụ Cài đặt Microsoft sử dụng. Dịch vụ này cài đặt các ứng dụng vào máy tính. Các tệp MSI cung cấp khả năng cài đặt và bảo trì ứng dụng linh hoạt hơn nhiều so với các chương trình thực thi theo kịch bản cũ hơn có thể cung cấp, do đó , các tệp MSI là phương pháp được đề xuất hiện tại để cài đặt trên Windows.


3
Làm thế nào điều đó ngụ ý rằng MSI là phương pháp được đề xuất (đọc: tốt nhất)?
hasen

3

Không có lợi thế thực sự của .exe so với .msi ngoài việc bạn sử dụng Winrar (hoặc một số người khác), bạn thường có thể trích xuất tất cả các tệp từ tệp .msi mà không cần phải cài đặt bất cứ thứ gì.


Ý của bạn là .exe trong câu thứ hai? Bởi vì .exe được giải nén thường có cấu trúc tệp sạch hơn so với .msi (cả hai thực sự có thể được mở trong trình quản lý lưu trữ).
người dùng

1

Đôi khi, đặc biệt là khi cài đặt các ứng dụng .NET, có Setup.exe và .msi. Trong trường hợp .NET, Setup.exe có thể kiểm tra để đảm bảo hệ thống có tất cả các điều kiện tiên quyết thích hợp được cài đặt (như .NET Frameowork, v.v.) để chạy ứng dụng.

Nếu hệ thống của bạn thiếu một trong những điều kiện tiên quyết này, nó có thể nhắc bạn cài đặt chúng trước khi chạy ứng dụng, điều này có thể giúp ứng dụng cài đặt thành công, nhưng sau đó không chạy được do thiếu thư viện hoặc khung.

Nếu bạn có tất cả các điều kiện tiên quyết, Setup.exe chỉ khởi chạy .msi


Vì vậy, bạn đang nói rằng một msi không thể kiểm tra phần mềm cần thiết và nhắc người dùng cài đặt chúng?
Rabarberski

2
Một msi có thể kiểm tra phần mềm cần thiết, mã sẽ phức tạp hơn một chút. Tùy thuộc vào công cụ nào được sử dụng để tạo trình cài đặt, Setup.exe có thể được tạo tự động bởi một số công cụ phát triển của MS, giúp trình mã hóa dễ dàng hơn. Dưới đây là một số chi tiết có thể giúp: msdn.microsoft.com/en-us/magazine/cc163899.aspx
Millhouse

1

Trong số những khác biệt tinh tế khác:

Một tệp MSI chỉ có thể có một ngôn ngữ duy nhất cho trình hướng dẫn cài đặt ( chi tiết ).
Đây có thể là một lý do để phân phối một ứng dụng dưới dạng .exe, linh hoạt hơn.

Vì vậy, nếu ngôn ngữ của trình hướng dẫn cài đặt là quan trọng, bạn có thể gặp may mắn hơn với .exe


Khá chắc chắn đây là lý do rõ ràng chính, và mâu thuẫn với các đề xuất trên mà các sysadins sử dụng nó! Với các tín đồ toàn cầu, có ý nghĩa hơn đối với các sysadins để tải exe. Darn MS đã làm cho mọi thứ rất khó hiểu.
killjoy

0

Cá nhân tôi thích .zip (hoặc tương đương) nếu có. Vì vậy, tôi có thể trích xuất nó bất cứ nơi nào tôi muốn, vì vậy tôi biết chính xác những gì đã thay đổi trong hệ thống của mình (vì tôi là người đã thay đổi nó).

Tình huống lý tưởng sẽ là một chương trình di động.

Mặc dù nếu tôi phải chọn giữa exe và msi, tôi sẽ chọn exe. Chỉ vì ..

Thông thường các tệp msi dành một thời gian dài để tìm kiếm cấu hình và những thứ tương tự. exe cũng có thể làm điều đó, nhưng giống như exe sẽ chỉ trích xuất các tập tin ở đâu đó và cài đặt các phím tắt menu bắt đầu.


-2

IMHO, MSI an toàn hơn theo nghĩa là khi bạn bị nhiễm vi-rút, các tệp exe của bạn có thể bị nhiễm do một trong những cách lây lan vi-rút là khóa mã của nó trong các tệp thực thi. Họ ít có khả năng làm điều đó với một tệp MSI.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.