Hướng dẫn xây dựng chức năng tự động cập nhật phần mềm bằng ClickOnce với Visual Studio 2012

Click phải chuột vào Project cần Publish rồi chọn Properties

hinh1

 

Chọn tab Build -> chọn Platform để Publish (Any CPU, x86, x64)

hinh2

 

Chọn tab Signing -> tạo Cerificatehinh3

 

Chọn tab Security -> Cấp quyền truy cập, bảo mật

hinh4

 

Chọn tab Publish

hinh5Publishing Folder Location: Chọn vị trí để lưu file chương trình khi Publish. Bước này nên chọn vị trí trên máy local để lấy file cài đặt dễ dàng.

  • The application is available offline as well: cho phép cài đặt ứng dụng khi không có internet và sau khi cài đặt sẽ có shortcut ở Start menu.
  • Cấu hình và chọn các dữ liệu đi kèm khi sau publish:
    • Application Files: tùy chọn file đi kèm để xuất thành file cài đặt exe. Đối với các file cấu hình riêng (VD: configonline.xml) thì ta phải chọn Publish Status=Include, Download Group= Require, Hash=Include.hinh6

Lưu ý: Để các file có thể hiển thị ở Application Files này thì phải chọn File Properties như sau:

hinh7

  • Prerequisities: Chọn các thành phần hỗ trợ phần mềm có thể chạy được trên Windows
  • hinh8
  • Updates: cấu hình cập nhật tự động cho phần mềm. Cập nhật trước khi mở chương trình hoặc sau khi mở. Nếu đã check vào The application should check for updates thì phải chọn đường dẫn cho Update location, đây là nơi lưu trữ các file phiên bản cần cập nhật.
  • Chọn Specify a minimum required version for this application là phiên bản hiện tại để ngăn chặn người dùng có thể restore lại phiên bản cũ.hinh9
  • Options: tùy chỉnh thông tin của ứng dụng, hiển thị khi cài đặt và hiển thị trong chi tiết Control Panel
  • Publish version: nhập phiên bản cho từng build. Check vào Automatically increment revision with each publish để hệ thống tự tăng phiên bản mỗi khi publish.
  • hinh10
  • Cuối cùng cấu hình nơi xuất file publish và nơi lưu dữ liệu phiên bản mới để chương trình có thể kiểm tra phiên bản và tự động cập nhật. Chọn Publish wizard:
    • Chỉ định đường dẫn để xuất ra file cài đặt
    • hinh11
  • Chọn phương thức người dùng có thể cài đặt phần mềm
  • hinh12
  • Bước tiếp theo rất quan trọng, phải chọn đúng vị trí để chương trình có thể gọi đến để kiểm tra phiên bản mới. Sau khi publish sẽ không có file nào được xuất đến vị trí này nhưng hệ thống sẽ cấu hình ở file <appname>.application vị trí lấy dữ liệu cập nhật <deploymentProvider codebase="file://localhost/Users/Admin/Desktop/testAutoUpdate/TestUpdate.application" />.hinh13

Sau khi đã hoàn thành các bước trên, hệ thống sẽ xuất các file như sau:

hinh14

Click vào file setup.exe để cài đặt chương trình. Vậy là đã hoàn thành quy trình Publish phiên bản phần mềm đầu tiên.

Tiếp theo, để publish những phiên bản sau và kiểm tra cập nhật tự động làm như sau:

  • Nâng Publish version (nếu không check vào tự động nâng version).
  • Chọn Publish wizard để tùy chỉnh các yêu cầu publish hoặc có thể chọn Publish now.
  • Vào nơi xuất ra file cài đặt đã publish, vào thư mục Application Files copy thư mục chứa phiên bản publish mới nhất.hinh15
  • Dán vào vị trí chứa các file để kiểm tra cập nhật phiên bản mới như đã cấu hình khi publish.hinh16
  • Tiếp tục, vào thư mục chứa file cài đặt mới nhất này copy file Application Manifest và dán ra bên ngoài cùng cấp với thư mục Application Files.hinh17
  • hinh18

Sau khi đã cập nhật các file như trên thì:

  • Đối với cấu hình kiểm tra cập nhật trước khi chương trình bắt đầu, khi mở phần mềm sẽ có thông báo cập nhật phiên bản mới như sau:hinh19
  • Đối với người dùng bấm kiểm tra cập nhật sẽ hiển thị như sau:hinh20

Bấm cancel hoặc skip với 2 trường hợp trên, thì phần mềm sẽ tiếp tục chạy với phiên bản cũ. Còn bấm OK, chương trình sẽ tự động cập nhật phiên bản mới và tự khởi động lại phần mềm.

hinh21

Kết quả:

hinh22

Code kiểm tra và tự động cập nhật như nút Check for update:

hinh23

 

How to: Check for application updates programmatically using the ClickOnce deployment API