2010-02-12 34 views
50

Tôi đã tạo một ứng dụng (C#, Windows Forms) trên Visual Studio 2008 và bây giờ tôi muốn cài đặt ứng dụng này. Điều này có thể giải quyết như thế nào?Làm thế nào để cài đặt cho ứng dụng C# của tôi?

Tôi muốn cài đặt của tôi để

  • Sao chép tất cả các tập tin mà ứng dụng của tôi đang sử dụng để một con đường sử dụng chọn (sao chép các tập tin vào sự lựa chọn, một số cho ứng dụng server-side và số cho phía khách hàng).
  • Cũng cài đặt .NET 3,5
  • Kiểm tra SQL Server hoặc SQL Server Express Edition

Làm thế nào tôi có thể làm điều đó?

Trả lời

59
  1. Thêm dự án cài đặt mới vào giải pháp của bạn.
  2. Thêm mục tiêu từ tất cả các dự án bạn muốn cài đặt.
  3. Định cấu hình yêu cầu trước và chọn tùy chọn "Kiểm tra .NET 3.5 và SQL Express". Chọn vị trí từ nơi thiếu thành phần phải được cài đặt.
  4. Định cấu hình cài đặt trình cài đặt của bạn - tên công ty, phiên bản, bản quyền, v.v.
  5. Xây dựng và hoạt động!
+0

Điều này có cho phép tính năng MSI không? nghe có vẻ như nó cần thiết - "sao chép các tập tin vào sự lựa chọn ..." có lẽ bạn có thể lấy đi với 2 trình cài đặt khác nhau? nhưng nếu dự án cài đặt không cung cấp các tính năng, hãy dùng lệnh wix. – si618

+0

Nếu bạn cần một số logic cài đặt cụ thể, bạn có thể viết một số mã (và thêm các biểu mẫu của riêng bạn) sẽ thực hiện công việc bạn cần. – sashaeve

+0

"Thêm mục tiêu từ tất cả các dự án bạn muốn cài đặt." làm thế nào người đàn ông .. tôi không knw bất cứ điều gì về nó ... – Moon

11

Nói chung, bạn nên sử dụng các cài đặt dựa trên MSI trên Windows. Vì vậy, nếu bạn đã sẵn sàng để đầu tư một chút thời gian hợp lý, WiX là cách để đi.

Nếu bạn muốn một cái gì đó đơn giản hơn nhiều, hãy truy cập InnoSetup.

8

Có một số phương pháp, hai trong số đó là như sau. Cung cấp trình cài đặt tùy chỉnh hoặc dự án thiết lập.

Dưới đây là làm thế nào để tạo ra một cài đặt tùy chỉnh

[RunInstaller(true)] 
public class MyInstaller : Installer 
{ 
    public HelloInstaller() 
     : base() 
    { 
    } 

    public override void Commit(IDictionary mySavedState) 
    { 
     base.Commit(mySavedState); 
     System.IO.File.CreateText("Commit.txt"); 
    } 

    public override void Install(IDictionary stateSaver) 
    { 
     base.Install(stateSaver); 
     System.IO.File.CreateText("Install.txt"); 
    } 

    public override void Uninstall(IDictionary savedState) 
    { 
     base.Uninstall(savedState); 
     File.Delete("Commit.txt"); 
     File.Delete("Install.txt"); 
    } 

    public override void Rollback(IDictionary savedState) 
    { 
     base.Rollback(savedState); 
     File.Delete("Install.txt"); 
    } 
} 

Để thêm một dự án thiết lập

  • menu tập tin ->New ->Dự án - ->Các dự án khác Các loại -> Cài đặt và triển khai

  • Set thuộc tính của dự án, sử dụng cửa sổ thuộc tính

Bài báo How to create a Setup package by using Visual Studio .NET cung cấp các chi tiết.

+0

làm thế nào để bạn mong đợi để chạy mã này khi .NET 3.5 sẽ được cài đặt trong bạn insaller – Moon

+0

@Moon bạn có thể nói trong mô tả chương trình rằng nó yêu cầu .NET XY – WiiMaxx

3

Tại sao tự tạo bánh xe khi có xe sẵn sàng cho bạn? Tôi chỉ tìm thấy công cụ này siêu dễ dàng và trực quan để sử dụng: Advanced Installer. Điều này one minute video nên là đủ để gây ấn tượng với bạn. Đây là số illustrative user guide.

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