2008-10-15 10 views
13

Một số giải pháp tốt để xử lý cập nhật phần mềm dựa trên web tự động cho các dự án biểu mẫu cửa sổ là gì? Tôi biết về microsoft một cú nhấp chuột, nhưng tôi không quan tâm đến nó vào lúc này.cửa sổ cập nhật phần mềm tự động

+2

bạn có thể chia sẻ lý do tại sao ClickOnce sẽ không làm việc cho bạn? Công cụ này đủ tốt để bạn có thể gặp khó khăn khi tìm kiếm bất kỳ thứ gì cạnh tranh với nó –

Trả lời

1

nó thực sự phụ thuộc vào sự phức tạp của quá trình cập nhật là cần thiết.

Tôi đã có một vài khách hàng với những nhu cầu đơn giản, nơi chúng tôi đã tạo thiết lập quy trình riêng để xử lý nó, trong khoảng 3 giờ phát triển, chúng tôi có một giải pháp làm việc hoàn toàn đáp ứng tất cả nhu cầu của họ.

1

Microsoft một cú nhấp chuột? Bạn có nghĩa là ClickOnce? Bấm một lần cho hình thức giành chiến thắng là rất tốt đẹp. Triển khai nhanh và tất cả quá trình cập nhật được xử lý bởi chính nó.

0

nhưng ClickOnce là tốt nhất bạn có thể có và bạn có thể chọn nếu người dùng cần phải tải về phiên bản mới, sử dụng những cái cũ, quay trở lại phiên bản, vv ...

bạn luôn có thể xây dựng giải pháp riêng của bạn, kiểm tra số phiên bản của tệp cài đặt XML trong một số địa chỉ web, nếu nó mới hơn một địa chỉ hiện tại, hãy thay đổi người dùng để tải xuống phiên bản mới ...

15

ClickOnce là tốt cho công cụ cắt cookie, nhưng có một số giới hạn xung quanh bảo mật (tức là không thể tạo biểu tượng trên máy tính để bàn, không có quyền truy cập vào COM, v.v.)

Giả sử bạn là người dùng ng MSI để cài đặt ứng dụng của bạn. Sử dụng WIX (http://wix.sourceforge.net/) để tạo bản vá (.msp). Bạn sẽ muốn xem xét Tài khoản Người dùng Đặc quyền Ít nhất (LUA) Bản vá cho Vista vì UAC sẽ vặn bạn nếu bạn không.

Sau đó, ứng dụng của bạn nào sau:

  1. Kiểm tra cho một phiên bản mới thông qua HTTP
  2. Tải MSP (hãy cẩn thận về nơi bạn DL nó để trong Vista vì UAC)
  3. Bắt đầu Shim exe mà
  4. chờ đợi cho ứng dụng của bạn để đóng
  5. ra mắt MSP (trong chế độ không tương tác)
  6. khởi động lại ứng dụng của bạn

Điều này tất cả có thể xảy ra tự động sau hậu trường với tương tác người dùng bằng không trên cả XP và Vista.

Một nơi tốt để bắt đầu với điều này, và với WIX nói chung là:

http://www.tramontana.co.hu/wix/index.php (Bài 4 là cập nhật)

+1

Tôi có thể tạo Biểu tượng Desktop với ClickOnce .... –

+0

không phải không có hack bạn không thể (Nếu ứng dụng được gỡ cài đặt, nó không bị xóa) –

0

Tôi cũng đã nghe nó gọi clicktwice: +> Các WIX giải pháp là nhiều hơn những gì tôi đã quan tâm. Có bất kỳ ứng dụng mẫu (với nguồn) để sử dụng kỹ thuật này?

+0

Tôi đã chỉnh sửa câu trả lời của mình để bao gồm liên kết đến các hướng dẫn. –

+0

Xây dựng một hệ thống như thế này không phải là một công việc nhỏ. Tôi đã làm điều đó, nhưng không bao giờ tìm thấy một hướng dẫn toàn diện. –

5

Không được quá spam, nhưng công ty chúng tôi cung cấp giải pháp cập nhật tự động.Nó đi kèm trong 3 phần:

wyUpdate xử lý tất cả các Vista/Windows 7 Vấn đề UAC và tất cả các vấn đề về quyền truy cập tệp chắc chắn sẽ bật lên khi bạn đang cố cập nhật phần mềm phức tạp.

3

Chúng tôi đã viết riêng của chúng tôi tại một thời điểm ... Đó không phải là một ý tưởng tốt. Trong nhiều trường hợp, bạn có thể sử dụng ClickOnce. Chúng tôi thực sự sử dụng một sản phẩm có tên là AutoUpdate+ mà chúng tôi có thể đề xuất. Tính năng đặc biệt của nó là nó có thể tránh các vấn đề bật lên UAC.

0

Đây là giải pháp nguồn mở tôi đã viết để giải quyết các nhu cầu cụ thể mà chúng tôi đã có cho các ứng dụng WinForms và WPF. Ý tưởng chung là có tính linh hoạt cao nhất, với chi phí thấp nhất có thể.

Vì vậy, tích hợp là siêu dễ dàng và thư viện thực hiện khá nhiều thứ cho bạn, bao gồm đồng bộ hóa các thao tác. Nó cũng là rất linh hoạt và cho phép bạn xác định nhiệm vụ nào cần thực thi và về điều kiện nào - bạn thực hiện các quy tắc (hoặc sử dụng một số quy tắc đã có). Cuối cùng, không kém phần quan trọng là hỗ trợ cho mọi bản cập nhật nguồn (web, BitTorrent, v.v.) và mọi định dạng nguồn cấp dữ liệu - mọi thứ không được triển khai mà bạn có thể viết cho chính mình.

Cập nhật lạnh (yêu cầu khởi động lại ứng dụng) cũng được hỗ trợ và được thực hiện tự động trừ khi "trao đổi nóng" được chỉ định cho tác vụ.

Điều này giảm xuống một DLL, có kích thước nhỏ hơn 70kb.

Xem thêm chi tiết tại http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

Mã là http://github.com/synhershko/NAppUpdate (được cấp phép theo giấy phép Apache 2.0)