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?
Còn Powershell thì sao? – Kiquenet