2010-10-18 29 views
8

Tôi đã tạo dự án thiết lập đầu tiên của mình bằng Visual Studio 2010. Tôi nhận thấy rằng khi tôi tạo dự án thiết lập, nó tạo ra tệp trình cài đặt MSI và tệp thi hành setup.exe. Tuy nhiên, tôi dường như có thể chỉ cần nhấp chuột phải vào tập tin MSI và chọn cài đặt để cài đặt ứng dụng của tôi hơn là chạy setup.exe.Có điểm nào đối với tệp setup.exe được tạo bởi dự án thiết lập trong Visual Studio không?

Tệp setup.exe được tạo ra có làm gì khác ngoài việc chỉ kích hoạt tệp MSI không? Khi phân phối ứng dụng của tôi, tôi có thể cung cấp tệp MSI thay vì tệp MSI và tệp setup.exe?

+0

bản sao có thể có của [Sự khác nhau cụ thể giữa tệp .msi và setup.exe là gì?] (Http://stackoverflow.com/questions/1789530/what-are-the-specific-differences-between-msi-and -setup-exe-file) –

+0

cũng xem http://stackoverflow.com/questions/902841/why-do-so-many-programs-have-both-a-setup-exe-and-a-setup-msi – rds

Trả lời

9

Kristopher Johnson là chính xác về các máy cũ hơn, nhưng nó cũng làm một cái gì đó khác. Khi bạn đang thiết lập trình cài đặt, bạn có thể đặt các phụ thuộc và vị trí để tải xuống các phụ thuộc đó. Setup.exe thực hiện kiểm tra sự phụ thuộc đó và khởi chạy các tệp MSI khác để cài đặt chúng. Điều này thường được sử dụng để đảm bảo Windows đã cài đặt đúng phiên bản .NET hoặc thời gian chạy C++.

Nếu bạn không có phụ thuộc và bạn có thể đảm bảo .NET hoặc thời gian chạy C++ được cài đặt thì bạn không cần phân phối tệp setup.exe.

+0

Chính xác. Và đây cũng là lý do tại sao bạn nên luôn cài đặt bằng cách thực thi setup.exe, trừ khi bạn muốn gặp rắc rối hoặc biết rõ bạn đang làm gì ... –

+0

+1 để có câu trả lời đúng. Người ta thực sự có thể xem xét (và thay đổi) nguồn của setup.exe đó nếu họ muốn, mặc dù tôi đã không làm như vậy trong một thời gian bản thân mình. –

4

Nhiều người dùng (nhiều nhất) đã quen với việc chạy chương trình "SETUP" để cài đặt thứ gì đó. Đó là lý do tại sao nó ở đó. Bạn nên cung cấp nó, trừ khi bạn chắc chắn rằng chỉ những người dùng có kiến ​​thức kỹ thuật mới có thể cài đặt ứng dụng của bạn.

SETUP.EXE cũng hữu ích nếu ai đó cố gắng cài đặt trên phiên bản Windows cũ hơn không hỗ trợ tệp MSI. Trong trường hợp đó, nó sẽ hiển thị một số loại thông báo lỗi "Bạn không thể cài đặt chương trình này trên phiên bản Windows này".

+1

Có nhiều hơn nữa, chạy một chương trình gọi là "setup.exe" giữ UAC hạnh phúc. –

+1

Mặc dù điều này nghe có vẻ hợp lý nhưng đây không phải là lý do chính để có setup.exe. –

+2

@Hans Passant: Có nhiều cách để giữ cho UAC vui vẻ, một tệp MSI cũng có thể làm điều đó;) –

0

Tôi tin (nhưng có thể bị nhầm lẫn) rằng nó thực hiện việc khởi động phiên bản đúng của MSI.

Các vấn đề liên quan