Tôi có một hệ thống với hai ứng dụng web, một dịch vụ web, một dịch vụ Windows và một ứng dụng WPF chạy 24 giờ một ngày trên màn hình cảm ứng. Tất cả chúng đều được kết nối với một cơ sở dữ liệu.Cập nhật tự động
Tôi muốn có thể nâng cấp tất cả các ứng dụng đó bằng cách tải tệp nâng cấp lên cơ sở dữ liệu và đặt ngày và thời gian để nâng cấp xảy ra.
Tôi có một ý tưởng về cách thực hiện việc này.
- Ứng dụng có chuỗi chạy để tìm các bản nâng cấp có sẵn.
- Khi nâng cấp được tìm thấy, tệp sẽ được tải xuống máy tính của ứng dụng.
- Khi tải xuống hoàn tất, các ứng dụng sẽ kích hoạt khởi động lại.
- Khi ứng dụng bắt đầu, ứng dụng sẽ tìm tệp nâng cấp trên máy tính cục bộ.
- Nếu nâng cấp khả dụng, ứng dụng sẽ tự nâng cấp.
Tôi chưa thực sự chắc chắn cách thực hiện tất cả các bước này, đặc biệt là bước cuối cùng. Nhưng tôi muốn một số ý kiến về điều này. Điều này hoàn toàn sai? Có phải tôi đang trên đường ray bên phải không? Bất kỳ lời khuyên nào về cách làm như thế này hay theo cách khác?
Vâng, cách tiếp cận của bạn hoàn toàn khả thi. Tùy thuộc vào kích thước của tập tin nâng cấp, tôi có lẽ sẽ không lưu nó * trong * cơ sở dữ liệu, nhưng đó chỉ là một nitpick. – Piskvor
Piskvor là đúng, bạn không muốn lưu trữ nó trong cơ sở dữ liệu. Tôi đã đăng một câu trả lời dưới đây cho bạn biết về ClickOnce. – Bronumski
Tôi cũng sẽ xem xét một cách để rollback, trong trường hợp cập nhật không thành công! Đặc biệt là nếu bạn không có quyền truy cập vật lý vào thiết bị. – chriszero