Tạo một thiết lập ứng dụng trong Visual Studio 2013


90

Tôi đã có một dự án đã sẵn sàng để xây dựng. Hiện tại, tôi đang sử dụng visual studio 2013.

Tuy nhiên, tôi không biết cách tạo thiết lập MSI trong visual studio 2013, nhưng đối với visual studio 2010, có rất nhiều hướng dẫn thảo luận về cách tạo thiết lập trong visual studio 2010.

  • Điều này có nghĩa là tôi cần cài đặt visual studio 2010 để tạo một thiết lập ứng dụng cho dự án của mình?

  • Cách dễ nhất để tạo thiết lập ứng dụng trong visual studio 2013 là gì?


2
Hãy thử dùng Windows Installer XML (WIX), nó rất có thể tùy chỉnh và có thể mở rộng, bạn cũng có thể tích hợp nó với các bản dựng CI của mình. Các dự án thiết lập ứng dụng đã bị gỡ bỏ vào năm 2012, bạn có thể sử dụng Installshield SE đã được bao gồm tại một thời điểm nếu bạn vẫn cần một trình cài đặt nhanh và ít. Sử dụng WIX vào năm 2013
Mgetz

VS 2012 và sau đó không có dự án triển khai như năm 2010
kostas ch.

1
làm thế nào về nhấp một lần thưa ông @Mgetz? và làm cách nào để sử dụng cú nhấp chuột một lần?
Kaoru

@Kaoru Tôi chưa bao giờ để Clickonce hoạt động đáng tin cậy trong bất kỳ phiên bản VS nào nên tôi sẽ không giúp được gì nhiều. Nhưng về lý thuyết thì nó sẽ hoạt động.
Mgetz

2
Clickonce có một số đặc thù khá lạ: Bạn phải thực thi các phiên bản mới của cùng một cài đặt từ thư mục cài đặt gốc để nó thực hiện cập nhật tự động. Ngoài ra, có vẻ như bạn phải mang theo thư mục đính kèm với .exe clickonce. Những gì tôi đã làm là gói nội dung cài đặt Clickonce bên trong kho lưu trữ SFX bằng winrar, luôn thực thi nó từ thư mục tạm thời và về cơ bản là tạo một trình cài đặt "nhấp chuột thậm chí chưa đến một lần".
Traubenfuchs

Câu trả lời:


131

Microsoft đã lắng nghe lời kêu gọi hỗ trợ trình cài đặt (MSI) trong Visual Studio và phát hành Tiện ích mở rộng dự án trình cài đặt Visual Studio . Bây giờ bạn có thể tạo trình cài đặt trong VS2013, tải xuống tiện ích mở rộng tại đây từ visualstudiogallery.

visual-studio-installer-project-extension


1
Thông tin mới và tuyệt vời. Microsoft nên cải thiện bài viết liên quan của họ KB2900817
satoc

@peer Không phải giải pháp trong VS 2012? Giải pháp thay thế? Mã nguồn mẫu đầy đủ trong VS2012?
Kiquenet

@kiquenet nope, vs2012 không được báo cáo. Hầu hết các dự án đều được nâng cấp với bất kỳ tác phẩm nào lên vs2013 và tương thích ngược với vs2012.
Peter

4
Đừng bận tâm đọc bài viết ... nó chỉ yêu cầu bạn làm như sau: Đi tới Công cụ -> Tiện ích mở rộng & Cập nhật. Chọn tab TRỰC TUYẾN. Tìm kiếm "Tiện ích mở rộng dự án trình cài đặt Visual Studio"
Tù nhân ZERO

Tôi có một giải pháp VS 2010 có một dự án thiết lập bên trong, khi giải pháp được xây dựng với VS 2010, một tệp msi được tạo. Bây giờ chúng tôi chỉ có VS 2013 và tôi không thể thay đổi / di chuyển dự án thiết lập. Tôi phải làm gì để tạo tệp msi?
Jirong Hu

10

Kể từ Visual Studio 2012, Microsoft không còn cung cấp gói triển khai tích hợp sẵn. Nếu bạn muốn sử dụng gói này, bạn sẽ phải sử dụng VS2010.

Trong năm 2013, bạn có một số lựa chọn:

  • InstallShield
  • WiX
  • Cuộn của riêng bạn

Trong các dự án của mình, tôi tạo trình cài đặt của riêng mình từ đầu, vì tôi không sử dụng Windows Installer nên có lợi thế là siêu nhanh, ngay cả trên các máy cũ.


Bạn @ ming-slogan có ứng dụng mẫu nào với trình cài đặt như vậy mà bạn muốn chia sẻ với chúng tôi không?
Highmastdon

@Highmastdon: Về cơ bản, tôi vừa tạo trình khởi động trình cài đặt bằng C ++ gốc (được định cấu hình để có thể chạy mà không cần cài đặt trước các lib thời gian chạy C ++). Trình này đã kiểm tra .NET đã cài đặt và khởi chạy trình cài đặt WPF GUI. Trình cài đặt WPF cho phép người dùng chọn một loạt các tùy chọn, sau đó sao chép tệp và viết khóa đăng ký. Tôi không có ứng dụng "mẫu" - Tôi đang sử dụng trình cài đặt trong dự án mà tôi đang thực hiện, nhưng tôi có thể cố gắng trích xuất một mẫu nếu bạn cần.
Ming Slogar

Tôi thực sự muốn xem một ví dụ hoàn chỉnh về điều này. Tâm trí để chia sẻ? Không phải bản thân mã, mà là khái niệm và điều gì đó từ kinh nghiệm của bạn? Như cách bạn nhúng nó vào dự án sẽ được cài đặt, cách bạn tự động hóa những thứ phổ biến (sao chép danh sách tệp, quy tắc: ghi đè / không ghi đè, v.v.). Ngoài ra, tôi đang sử dụng NSIS atm, nhưng tôi cảm thấy mệt mỏi với ngôn ngữ kịch bản của nó, giao diện người dùng hiện đại xấu xí và thiết kế rất chậm (nó vẫn còn ở thời kỳ đồ đá xp).
Sinatr

@Sinatr Để nhúng các tập hợp, tôi đã sử dụng nhiều tệp tài nguyên - cả trong C ++ và C #. Để sao chép tệp, tôi thực sự lười biếng và viết tay từng thao tác tệp (ví dụ: sử dụng File.WriteAllByteshoặc File.WriteAllText, tùy thuộc vào loại tệp). Tôi đã không xử lý việc ghi đè lên các tệp hiện có - tất cả các tập hợp của tôi đều được đặt tiền tố bằng tên ứng dụng của tôi (ví dụ: AppName.Controls.dll, AppName.Images.dll) nên khả năng tệp trùng lặp sẽ rất nhỏ. Nếu bạn muốn xử lý mọi tình huống có thể xảy ra, bạn sẽ phải thực hiện những gì Windows Installer làm - điều này đánh bại mục đích của việc tùy chỉnh.
Ming Slogar

7
@Kiquenet Tôi đã tải lên mã cho trình cài đặt tùy chỉnh của mình tại đây: drive.google.com/… . Nó sẽ không được xây dựng do thiếu các phụ thuộc (tôi đã lấy nó từ một dự án trực tiếp), nhưng ít nhất bạn có thể thấy cách tôi đã tạo trình cài đặt.
Ming Slogar

3

Visual Studio 2013 hiện hỗ trợ các dự án thiết lập. Microsoft đã cung cấp một tiện ích mở rộng Visual Studio để tạo các dự án thiết lập.

Tiện ích mở rộng dự án trình cài đặt Visual Studio


Xin chào @Hamid, Sau khi hoàn tất cài đặt thiết lập MSI window form, các tệp thô của tôi (Thiết kế và mã hóa) cũng đang hiển thị tại vị trí cài đặt. Tôi đã phát triển ứng dụng này bằng visual studio 2010. Đã tạo thành công thiết lập, nhưng sau khi cài đặt MSI, sự cố này đang xảy ra. Làm ơn giúp tôi. Cảm ơn trước.
dilipkumar1007

Cố gắng hiểu câu hỏi của bạn. bạn đã tạo một dự án cài đặt với visual studio 2010 và nó không hoạt động với visual studio 2013?
Hamid Shahid

2

Microsoft khuyến nghị sử dụng "InstallShield Limited Edition cho Visual Studio" để thay thế cho "Dự án triển khai và thiết lập" đã ngừng hoạt động - nhưng nó không tốt cho lắm và không ai khác khuyên bạn nên sử dụng nó. Nhưng đối với các thiết lập đơn giản và nếu không có vấn đề gì khi chuyển tiếp trên các sản phẩm thương mại của bên thứ ba, bạn có thể sử dụng nó.

Giải pháp thay thế là sử dụng Windows Installer XML (WiX) , nhưng bạn phải thực hiện nhiều việc theo cách thủ công đã thực hiện Setup-Project của chính nó.


Tôi hoàn toàn đồng ý với @Kiquenet - Bạn có thể thử các hướng dẫn từ wix.tramontana.co.hu
Habakuk

Tôi cài đặt 2015LE bên trong VS 2010 và tôi có thể tạo một dự án thiết lập IS bên trong VS 2010. Bây giờ làm cách nào để gọi dự án này trong Jenkins? Plugin InstallShield cho Jenkins yêu cầu đường dẫn đến ISCmdBld.exe mà tôi không thể tìm thấy trong 2015LE.
Jirong Hu


1

Ngoài Install Shield và WiX, còn có Inno Setup . Mặc dù bản thân tôi chưa thử nhưng tôi đã nghe những điều tốt đẹp về nó.


1

Tôi sẽ nói, làm thế nào tôi đã giải quyết vấn đề gần như tương tự. Tôi đã phát triển một ứng dụng bằng VS 2013 và cố gắng tạo thuật sĩ cho nó không thành công. Sau đó, tôi đã cài đặt VS cao cấp và đã thử và không thành công.

cuối cùng tôi đã sử dụng "ClickOnce" và nó hoạt động tốt.

Vì vậy, tôi tin rằng ở đây, "CLICKONCE" sẽ giúp bạn.

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.