2010-02-28 18 views
5

Có thể tích hợp vào cửa sổ cập nhật để cập nhật ứng dụng của riêng bạn không?Bạn có thể tích hợp vào "Windows Update" để nâng cấp ứng dụng của riêng mình không?

Tôi đã nghe nói về "ClickOnce", tuy nhiên từ những gì tôi hiểu về nó cho đến nay; nó vẫn là trách nhiệm của nhà phát triển ứng dụng để quản lý các bản cập nhật.

Tôi đang dự đoán một trải nghiệm người dùng tương tự như cách người dùng cuối có thể cập nhật ứng dụng trong bản phân phối Linux, ví dụ: trình quản lý cập nhật trong ubuntu. Trường hợp ứng dụng và cập nhật hệ thống được tập trung.

Tôi hiểu rằng bạn có thể cập nhật ví dụ; văn phòng, máy chủ SQL vv Vì vậy, bạn có thể cập nhật các ứng dụng hệ thống không phải lõi. Nhưng tất nhiên đây là ứng dụng microsoft, có cách nào để một bên thứ 3 thực hiện một điều tương tự không?

Trả lời

5

Windows Update (và Office Update) là Microsoft chạy và các bên thứ ba như nVidia và Intel được phép sử dụng nó để cập nhật trình điều khiển, nó không phải là nền tảng mở. Không có Windows tương đương với kho lưu trữ APT của Ubuntu/Debian hoặc kho lưu trữ của bên thứ ba.

ClickOnce có thể làm những gì bạn cần. Bạn sẽ phải "quản lý cập nhật" bằng cách tải lên phiên bản ứng dụng mới lên máy chủ web của mình - không chắc chắn cách bạn tránh làm điều đó, bất kể hệ thống nào. Khi người dùng khởi động ứng dụng của bạn, hệ thống ClickOnce sẽ kiểm tra phiên bản mới và tự động tải xuống phiên bản đó. Sạch hơn nhiều so với thực hiện của riêng bạn - phải có hàng ngàn hệ thống cập nhật khác nhau được viết bởi các nhà phát triển Windows khác nhau!

ClickOnce cho phép nhiều tùy chỉnh - người dùng có thể chọn khi nào hoặc nếu họ muốn ứng dụng của họ được cập nhật. Nhà phát triển có thể đặt cập nhật là tùy chọn hoặc bắt buộc và phải chắc chắn rằng toàn bộ cơ sở người dùng của họ sẽ chuyển lên phiên bản mới nhất (Để khắc phục sự cố bảo mật, v.v.). Ngoài ra còn có một API để bạn có thể kiểm soát quá trình cập nhật ở cấp độ chi tiết hơn.

+0

Điểm rất thú vị trên nVidia/intel. Tôi đồng ý với quan điểm của bạn về sự phong phú của các hệ thống cập nhật bằng tay, tôi chắc chắn không muốn thêm vào danh sách. ClickOnce âm thanh đơn giản hơn tôi nghĩ và tôi đã không nhận ra nó là mạnh mẽ (tùy chọn, bắt buộc vv). Vì vậy, âm thanh như ClickOnce có thể là tuyến đường tốt nhất. Cảm ơn bạn đã anwser, rất sâu sắc. –

+0

Tôi thích khái niệm về kho lưu trữ trong Ubuntu/Debian, tôi có thể thấy nó có tác động tích cực đến trải nghiệm người dùng trong các cửa sổ .. tuy nhiên tôi sẽ không đi quá chủ đề :) Có lẽ một cuộc trò chuyện về một bài đăng trên diễn đàn MSDN tại một ngày sau đó. Cảm ơn một lần nữa. –

8

Không thể tích hợp vào chức năng "cập nhật cửa sổ" thực tế của cửa sổ, tuy nhiên bạn có thể sử dụng cùng một công nghệ cơ bản cho hệ thống cập nhật của mình nếu bạn muốn.

Được gọi là Background Intelligent Transfer Service (hoặc BITS) và đi kèm với API mà bạn có thể sử dụng để cho phép ứng dụng của bạn tận dụng nó để cập nhật của riêng bạn. Tuy nhiên, bạn vẫn phải hoàn toàn quản lý quá trình cập nhật, BITS chỉ chú ý đến việc tải xuống bản nền được cập nhật. Ngoài ra còn có công cụ BitsAdmin có thể được sử dụng để quản lý luồng BITS. Trừ khi bạn đang viết một ứng dụng khá lớn, bạn nên suy nghĩ nghiêm túc trước khi thử và sử dụng BITS, nó không phải là một quy trình cài đặt 'click và go' đơn giản, bạn sẽ phải quản lý phần lớn quá trình cập nhật trong mã riêng. Mặt khác, ClickOnce (như rjh đã đề cập) khá đơn giản, bạn chỉ cần xác định một số thông số cơ bản như phiên bản và URL cập nhật và công cụ ClickOnce sẽ tự động xử lý việc kiểm tra, tải xuống và cài đặt các bản cập nhật của bạn phải làm là xuất bản chúng lên máy chủ. Có một số hạn chế đối với ClickOnce, nhưng đối với một số lượng lớn ứng dụng, ClickOnce có thể hoạt động rất tốt. Đối với một triển khai ClickOnce tiêu chuẩn không có mã để viết, tất cả được xử lý thông qua giao diện studio trực quan.

+0

Cảm ơn các chi tiết về BITS và cảm ơn lời khuyên về nơi sử dụng nó, những thứ rất thú vị. Âm thanh như ClickOnce có thể phù hợp nhất với ứng dụng của tôi. –

+0

Xấu hổ Tôi không thể đánh dấu 2 câu trả lời là "câu trả lời". Nhưng tôi đã chắc chắn để đánh dấu của bạn lên. Cảm ơn một lần nữa. –

+0

@ Alex, thật tuyệt. Rjh của phù hợp với câu hỏi của bạn tốt hơn anyway, do đó, đó là một 'câu trả lời' tốt hơn. Rất vui được giúp đỡ. –

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