2011-08-16 6 views

Odpowiedz

3

Sprawdź to:

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

O isFirstRun z MSDN:

Typ: System.Boolean prawdziwe, jeśli ta wersja aplikacji nie jest uruchomiony na komputerze klienckim przed; w przeciwnym razie false.

+0

Czy IsFirstRun będzie prawdziwe po aktualizacji jednokrotnego kliknięcia lub tylko pierwszej instalacji? Spróbuję to sprawdzić. – mservidio

+0

tak, sprawdź edytowaną odpowiedź –

+0

+1; nie wiedział o tym, ale wygląda dokładnie to, o co proszą PO. –

3

Najprostszym rozwiązaniem byłoby, aby zapisać wersję aplikacji (ApplicationDeployment.CurrentDeployment.CurrentVersion) w wartości konfiguracji. Jeśli liczba ta różni się od wartości konfiguracyjnej po uruchomieniu, oznacza to, że została ona uaktualniona (lub obniżona, ale to powinno być łatwe do ustalenia).

+0

Dobrze, mógłbym zapisać go w ustawieniu typu użytkownika, a następnie wykonać porównanie przy uruchomieniu, dzięki! – mservidio

+0

Nie powinieneś. Opieramy się na IsFirstRun i nigdy nas nie zawiódł. – RobinDotNet