Tạo chương trình Cài đặt cho các ứng dụng C # và bao gồm trình cài đặt .NET Framework vào thiết lập


117

Tôi đã hoàn thành ứng dụng C # của mình, nhưng tôi gặp một chút vấn đề:

Khi tôi cố gắng chạy ứng dụng của mình trong một PC khác, tôi luôn cần phải Cài đặt .NET Framework 4.0.

Có điều gì cần làm để làm cho nó hoạt động mà không cần cài đặt khuôn khổ từ internet không?

Tôi đã thử trước InnoSetup cho ứng dụng VB6, nhưng tôi không chắc liệu nó có hoạt động với .NET 4.0 hay không!

Có ý kiến ​​gì không?


3
Bạn không thể thoát khỏi .net Framework. Nếu muốn, bạn có thể tạo một thiết lập cho ứng dụng của mình và bao gồm thiết lập khung .net bên trong thiết lập của bạn. Bằng cách này, bạn có thể tránh tải xuống từ internet. Nhưng nó sẽ làm tăng kích thước thiết lập của bạn.
CharithJ

Không vấn đề gì. Bạn biết làm thế nào?
Wassim AZIRAR

2
Chỉ như một Lưu ý .. hãy đảm bảo rằng bạn không đi tới Tệp-Mới. Nhấp chuột phải vào giải pháp của bạn và nhấp vào Thêm-> Dự án mới. Bằng cách này, bạn đang THÊM một dự án thiết lập vào các tệp của mình chứ không chỉ tạo một dự án mới một mình.
David Nelson

Câu trả lời:


201

Sử dụng dự án Thiết lập Visual Studio. Dự án thiết lập có thể tự động bao gồm thiết lập .NET framework trong gói cài đặt của bạn:

Đây là từng bước của tôi cho ứng dụng biểu mẫu windows:

  1. Tạo dự án thiết lập. Bạn có thể sử dụng Trình hướng dẫn cài đặt.

    nhập mô tả hình ảnh ở đây

  2. Chọn loại dự án.

    nhập mô tả hình ảnh ở đây

  3. Chọn đầu ra.

    nhập mô tả hình ảnh ở đây

  4. Nhấn Kết thúc.

  5. Mở thuộc tính dự án thiết lập.

    nhập mô tả hình ảnh ở đây

  6. Chọn để bao gồm .NET framework.

    nhập mô tả hình ảnh ở đây

  7. Xây dựng dự án thiết lập

  8. Kiểm tra đầu ra

    nhập mô tả hình ảnh ở đây


Lưu ý: Các dự án Visual Studio Installer không còn được đóng gói sẵn với Visual Studio. Tuy nhiên, trong Visual Studio 2013, bạn có thể tải chúng xuống bằng cách sử dụng:

Tools > Extensions and Updates > Online (search) > Visual Studio Installer Projects

1
Có thể thiết lập nó sao cho khi bạn nhấp vào Setup.exe, nó sẽ tự động phát hiện xem khung .net 4 đã được cài đặt hay chưa và cài đặt nó. Hay nó phải được thực hiện thủ công?
Seth

27
Visual Studio 2012 không còn hỗ trợ các dự án Thiết lập này. Thay vào đó, bạn sẽ được chuyển hướng tải xuống InstallShield LE (Limited Edition). Nó là miễn phí, nhưng lưu ý rằng bạn sẽ cần phải xây dựng lại cài đặt của bạn nếu di cư từ VS 2010 để VS 2012.
tobinibot

5
Có một tiện ích mở rộng chính thức của microsoft bổ sung tính năng này vào so với năm 2015 visualstudiogallery.msdn.microsoft.com/…
XD gặp tôi

4
Đã làm theo mọi thứ nhưng gặp lỗi này:ERROR: To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.6.1 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018.
Chris

2
@nurettin Tôi đã tìm thấy thư mục cho VS2017 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471dành cho trình cài đặt .NET 4.7.1
Crowley

5

Bạn cần tạo trình cài đặt, trình cài đặt này sẽ kiểm tra xem người dùng có yêu cầu .NET Framework 4.0 hay không. Bạn có thể sử dụng WiX để tạo trình cài đặt. Nó rất mạnh mẽ và có thể tùy chỉnh. Ngoài ra, bạn có thể sử dụng ClickOnce để tạo trình cài đặt - nó rất đơn giản để sử dụng. Nó sẽ cho phép bạn thêm yêu cầu bằng một cú nhấp chuột để cài đặt .NET Framework 4.0.


3

WiX là con đường phù hợp cho những người cài đặt mới. Nếu chỉ riêng WiX quá phức tạp hoặc không đủ linh hoạt về mặt GUI, hãy cân nhắc sử dụng SharpSetup - nó cho phép bạn tạo GUI trình cài đặt trong WinForms của WPF và có các tính năng thú vị khác như bản dịch, autoupdater, điều kiện tiên quyết tích hợp sẵn, tự động hoàn thành được cải thiện trong VS và hơn thế nữa .

(Tuyên bố từ chối trách nhiệm: Tôi là tác giả của SharpSetup.)


1
@ChristopherPainter đã thực hiện một số công việc tuyệt vời về cùng một thứ. blog.iswix.com nhưng của anh ấy là miễn phí !!!
Jeremy Thompson

1
Lần trước tôi đã xem xét ISWIX, nó có một khái niệm hoàn toàn khác với SharpSetup (không nói ở đây cái nào tốt hơn, nhưng rõ ràng tôi nghĩ SharpSetup là :-)). Ông nói nhiều hơn về việc chỉnh sửa mã WiX trong một công cụ riêng biệt, trong khi SharpSetup xây dựng nhiều trên Visual Studio và .NET, mang lại cho trình cài đặt sự linh hoạt hơn, đặc biệt là trên phần GUI. Cũng lưu ý rằng SharpSetup có phiên bản miễn phí (với các hạn chế về giấy phép).
Tomasz Grobelny

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.