Tôi đang cố gắng xây dựng một sự hiểu biết chung cho những gì phổ biến trong tình huống này để tôi có thể quyết định xem việc theo đuổi nó có hợp lý hơn không.
- Các trình cài đặt có được chào đón trong một môi trường doanh nghiệp điển hình với những điều sau đây không?
- Thay đổi quy trình kiểm soát
- Dev / QA / Môi trường sản xuất
- Các nhóm triển khai được chỉ định cho các khu vực khác nhau (tường lửa, cơ sở dữ liệu, cửa sổ, v.v.).
- Có một "thử nghiệm litmus" có thể được áp dụng cho một ứng dụng để xem liệu nó có phải là một ứng cử viên tốt để tạo một trình cài đặt không? *
- Trình cài đặt có đủ đơn giản để mọi ứng dụng nên có không?
- Là trình cài đặt thậm chí là công cụ phải không?
- Có hợp lý không khi mong đợi các nhà phát triển học một cái gì đó như WiX để hỗ trợ các trình cài đặt?
- Khả năng bảo trì nói chung là một mối quan tâm, tức là, tạo ra một trình cài đặt một kỹ năng thích hợp?
*
Ví dụ: tôi có một bộ ứng dụng winform nằm trong thư mục dùng chung trên máy chủ sản xuất. Các nhóm cụ thể có thể chạy các ứng dụng từ thư mục này nhưng chỉ quản trị viên hệ thống mới có thể sửa đổi các tệp thực thi. Quá trình triển khai hiện tại liên quan đến việc có một bản sao quản trị / dán các tệp thực thi và thư viện vào thư mục dùng chung.
Vì các ứng dụng không được cài đặt trên máy của từng người dùng, nên tạo một trình cài đặt để triển khai các phiên bản mới của các ứng dụng này vào thư mục dùng chung có hợp lý không?
Biên tập--
Tôi cảm thấy rằng các câu trả lời ở đây đã đưa ra một số lời khuyên chắc chắn vì vậy tôi muốn chia sẻ những gì tôi đã đưa ra cho dự án hiện tại của mình, nơi tôi cần xây dựng một số lượng lớn các ứng dụng và triển khai chúng vào các thư mục riêng lẻ.
Tôi đã tìm thấy gói NuGet có tên _PublishedApplecting bắt chước hành vi của _PublishedWebsites cho các dự án web. Ý tưởng là bạn cài đặt gói NuGet cho các dự án của mình và nó thêm một mục tiêu sẽ sao chép các tạo phẩm xây dựng vào thư mục _PublishedAppluggest trong đường dẫn đầu ra. Hành vi này được kích hoạt bằng cách chạy MSBuild từ dòng lệnh và chỉ định một thuộc outdir
tính:
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
Điều này sẽ cung cấp cho bạn một cấu trúc thư mục tương tự như sau:
- C: \ path \ đến \ outdir
- _PublishedApplecting \
- Dự án 1\
dlls, exes, etc.
- Dự án2 \
...
- Dự án 1\
- _PublishedApplecting \
Từ đó, việc tạo một zip có thể được trích xuất trong các môi trường khác nhau là không gây đau đớn.
.msi
cài đặt không? Những người, ít nhất, có thể hoàn toàn tự động với nỗi đau tối thiểu. (trong khi vẫn có thể hiểu được đối với người dùng không thường xuyên cần thực hiện các cập nhật của riêng mình)