2011-08-16 32 views
8

Có cách đơn giản nào để phát hiện lần khởi chạy đầu tiên của một phiên bản ứng dụng nhấp một lần mới không? IE: Tôi đã xuất bản phiên bản 1, và sau đó tôi xuất bản 1.1. Vào lần ra mắt đầu tiên của phiên bản 1.1, tôi muốn thực hiện một quy trình một lần khi nó khởi chạy.Ứng dụng một lần nhấp và phát hiện ra mắt phiên bản mới

Cảm ơn,

Đánh dấu

Trả lời

3

Kiểm tra này:

if(System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed && System.Deployment.Application.ApplicationDeployment.IsFirstRun) 
{ 
    //do something 
} 

Về IsFirstRun từ MSDN:

Loại: System.Boolean đúng nếu phiên bản này của ứng dụng đã không bao giờ chạy trên máy tính của khách hàng trước đây; ngược lại, sai.

+0

IsFirstRun có đúng sau khi cập nhật lần nhấp hoặc chỉ cài đặt ban đầu không? Tôi sẽ cố gắng kiểm tra. – mservidio

+0

có, hãy xem câu trả lời đã chỉnh sửa –

+0

+1; đã không nhận thức được điều này, nhưng điều này trông giống như những gì OP yêu cầu. –

3

Giải pháp đơn giản nhất sẽ được để lưu trữ các phiên bản ứng dụng (ApplicationDeployment.CurrentDeployment.CurrentVersion) trong một giá trị cấu hình. Nếu số khác với giá trị cấu hình khi bạn khởi chạy, thì bạn biết rằng số đó đã được nâng cấp (hoặc hạ cấp, nhưng điều đó phải dễ dàng xác định).

+0

Điểm tốt, tôi có thể lưu trữ trong cài đặt loại người dùng và sau đó thực hiện so sánh khi khởi chạy, cảm ơn! – mservidio

+0

Bạn không cần phải. Chúng tôi dựa vào IsFirstRun, và nó chưa bao giờ thất bại. – RobinDotNet

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