2009-03-23 36 views
8

Tôi đã đánh giá một loạt các giải pháp cài đặt và triển khai web có sẵn cho các ứng dụng Windows. Tôi sẽ chỉ rõ ở đây (không có chi tiết quá nhiều, những công cụ này đã được đề cập trong câu hỏi khác) sự hiểu biết của tôi về các tùy chọn:Mua hoặc Xây dựng để triển khai web?

  • NSIS - Công cụ miễn phí mà tạo ra thực thi thiết lập. Nhỏ nhị phân. Chuyên môn, đôi khi ngượng ngùng, ngôn ngữ kịch bản.
  • Inno Setup - Công cụ miễn phí để thực thi thiết lập. Các chương trình nén nhị phân khác nhau. Pascal scripting engine.
  • WIX - Bộ công cụ miễn phí để tạo tệp nhị phân MSI. Ngôn ngữ định nghĩa XML.
  • WIX ClickThrough - Các công cụ bổ sung để đóng gói, tải xuống web và tự động cập nhật phát hiện (hiện là một phần của lõi WIX).
  • InstallShield - Môi trường phát triển thương mại để đóng gói cài đặt. Tạo các tệp nhị phân MSI. Ngôn ngữ InstallScript giống C.
  • Wise - Môi trường phát triển thương mại để đóng gói cài đặt. Tạo các tệp nhị phân MSI.
  • ClickOnce - Khung công cụ hỗ trợ Visual Studio để xuất bản ứng dụng lên máy chủ web, với tự động phát hiện các bản cập nhật. Không hỗ trợ cho các yêu cầu cài đặt tùy chỉnh (các tệp INI, đăng ký, v.v ...). Gói thiết lập dưới dạng nhị phân MSI.
  • Install Aware - Môi trường phát triển thương mại để cài đặt. Tạo các tệp nhị phân MSI. Khung cập nhật tự động (Cập nhật web).

Nếu tôi bỏ lỡ bất kỳ điều gì, vui lòng cho tôi biết.

Và tìm thấy một số cuộc thảo luận hữu ích của các công nghệ này trên StackOverflow:

Tôi đã làm việc với một vài trong số các giải pháp này, cũng như một số ít các giải pháp cài đặt nội bộ độc quyền. Họ chủ yếu quan tâm đến việc cài đặt đóng gói và cung cấp một khuôn khổ cho các nhà phát triển để truy cập vào môi trường thời gian chạy. Với yêu cầu ngày càng tăng về triển khai web và cập nhật phần mềm tự động, tôi mong muốn tìm thêm sự đồng thuận giữa các nhà phát triển trên một khuôn khổ để phân phối phần mềm và cập nhật tiếp theo, tôi chưa thực sự nhận thấy sự đồng thuận đó. Có các giải pháp chắc chắn có sẵn (ClickOnce, ClickThrough, InstallShield Update Service), nhưng mỗi giải pháp đều có những hạn chế đáng kể (vui lòng sửa tôi nếu tôi mô tả sai bất kỳ giải pháp nào trong số này). Tôi sẽ quan tâm đến một khung cung cấp một số điều sau đây:

  • Lưu trữ/quản lý cập nhật của bên thứ ba.
  • Truy cập vào môi trường ứng dụng khách (tệp INI, đăng ký, v.v.).
  • Đăng ký/kích hoạt người dùng.
  • Phản hồi/Lỗi khi báo cáo

này được để lại tôi với ấn tượng mạnh mẽ rằng cách tốt nhất để tiếp cận vấn đề triển khai web là thông qua một giải pháp độc quyền xây dựng tùy chỉnh (có thể tận dụng bao bì cài đặt hiện có). Tôi đã thấy loại này của giải pháp làm việc tốt cho một số ứng dụng thành công:

  • FileZilla - HTTP yêu cầu update.filezilla-project.org để kiểm tra các cập nhật, tải một nhị phân NSIS (tôi nghĩ) và sau đó tắt xuống để chạy cài đặt.
  • Cập nhật tự động cho các trò chơi Massult Multiplayer là hoàn toàn cần thiết và được triển khai toàn cầu bằng cách sử dụng các hệ thống độc quyền.

Vì vậy, cuối cùng, đến câu hỏi của tôi:

  • Tôi có bỏ lỡ một khuôn khổ triển khai web mà sẽ cung cấp các chức năng cần thiết?
  • Yêu cầu của tôi có quá cụ thể để mong đợi hợp lý khung bên thứ ba phân phối không?
  • Tôi có nên mua hoặc xây dựng không?
+0

Còn Powershell thì sao? – Kiquenet

Trả lời

2
  • Nếu yêu cầu cụ thể của bạn là cốt lõi cho doanh nghiệp của bạn; tức là một phần của doanh nghiệp của bạn là cung cấp triển khai/cài đặt trơn tru và thân thiện và bạn cảm thấy rằng không có thư viện triển khai nào có thể cho phép bạn đạt được điều này, sau đó chắc chắn sẽ tiếp tục và xây dựng của riêng bạn.
  • Nếu các yêu cầu cụ thể của bạn sẽ tốt đẹp nếu có nhưng chúng không tạo ra một phần quan trọng trong doanh nghiệp của bạn; tức là người dùng cuối thường không mong đợi hoặc cần một thủ tục cài đặt trơn tru, hoặc sẽ không bao giờ cần phải làm điều đó (nghĩa là họ vượt qua bước đó vào bộ phận CNTT của họ), sau đó nhu cầu xây dựng của riêng bạn chỉ cho các yêu cầu cụ thể của riêng bạn là có khả năng bị tổn thương bởi nỗ lực thêm có liên quan.

Tôi nghĩ rằng ấn tượng của bạn rằng bạn sẽ cần một giải pháp tùy chỉnh là một giải pháp âm thanh; có vẻ như các yêu cầu của bạn sẽ là chìa khóa cho trải nghiệm của sản phẩm, đặc biệt nếu bạn cần cập nhật và phản hồi thực sự mượt mà.

12

Tôi sẽ thận trọng về Installaware. Gần đây chúng tôi đã có trải nghiệm gây sốc với sự hỗ trợ khách hàng của họ.

Chúng tôi đã theo dõi một trong các dự án mẫu của họ về thư không thành công. Lớn lên một vé hỗ trợ với sự hỗ trợ của khách hàng và được cho biết nó sẽ chi phí chúng tôi $ 199 cho họ để xem xét sửa mã riêng của họ.

Sau đó, chúng tôi đã nêu vấn đề tương tự trong diễn đàn người dùng và bị cấm ngay lập tức vì điều này được tạo thành qua đăng và không được phép. Mặc dù điều này không được đề cập trong điều khoản và điều kiện của họ. Trên thực tế, họ cấm IP của chúng tôi nên không ai trong công ty của chúng tôi có thể đăng lên diễn đàn.

Trải nghiệm rất kém và chúng tôi sẽ không lặp lại. Chúng tôi đang tìm cách thay thế Installaware càng sớm càng tốt.

Mua Installaware theo nguy hiểm của riêng bạn.

+3

Tình huống tương tự. Dịch vụ khách hàng thật khủng khiếp. Thêm vào đó thương hiệu của họ trên tất cả các trình cài đặt kết quả ngay cả sau khi sạc một mức giá cao như vậy. – Druid

10

Hoàn toàn đồng ý với người đã nói rằng hãy tránh xa phần mềm InstallAware. Họ đã có một lịch sử lâu dài về các vấn đề đạo đức thực sự vô lý, và họ đối xử với khách hàng của mình một cách khủng khiếp.Họ có thể thẳng thắn lạm dụng và sỉ nhục.

Hãy coi chừng InstallAware!

4

Tôi hoàn toàn đồng ý về InstallAware.

Sau khi sử dụng WiX, NSIS và InstallAware, tôi phải khiêm nhường thừa nhận rằng tất cả đều quá mức cần thiết cho những gì tôi thực sự cần là nhà phát triển phần mềm. Không có dự án mà tôi đã thực hiện cho đến nay mà không thể được triển khai bằng cách sử dụng dự án triển khai Visual Studio.

Có giới hạn không? Vâng.

Nó cũng là rất đơn giản để tìm hiểu cách sử dụng. Hơn nữa, bạn thực sự có thể làm những điều thực sự hữu ích như tự động tạo ra các bản vá lỗi (.msp file) bằng cách sử dụng các kỹ thuật như mô tả here

tôi hoàn toàn hiểu rằng bạn không thể làm tất cả mọi thứ bên trong một thiết lập Visual Studio dự án, nhưng điều đó khá đáng ngạc nhiên khi bạn có thể thực hiện được. Hoàn toàn miễn phí, thật dễ dàng và thẳng thắn, để sử dụng chung là một lựa chọn tốt hơn so với việc bỏ ra hàng giờ vô tận để tìm hiểu về các tập lệnh bẻ khóa của WiX (ấn tượng như nó), hoặc các đoạn mã dài của InstallAware ...

Với VS Setup, nó kéo 'n'drop & build'n'deploy. Mọi giải pháp khác tôi đã thử đã thiết lập lại ... họ không thể tự động phát hiện đầu ra dự án của bạn ... hoặc cần các bộ lọc đặc biệt để không bao gồm các kết quả đầu ra không mong muốn từ bản dựng.

Đề nghị của tôi là như sau: Nếu bạn chỉ muốn để có được dự án của bạn được triển khai, sau đó học:

  1. Làm thế nào để xây dựng một lớp cài đặt tùy chỉnh, và
  2. Làm thế nào để tác giả gói điều kiện tiên quyết của riêng bạn

Đây là cả hai kỹ năng hợp lý dễ dàng để làm chủ và đáp ứng nhu cầu của hầu hết các nhà phát triển.

+0

Cảm ơn Mark vì một góc nhìn thú vị :) – RedBlueThing

+0

Liên kết đã chết, sử dụng [this] (http://www.codeproject.com/Articles/11373/How-to-create-installation-patches-for-VS-NET-depl) – transistor1

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