2011-08-16 10 views

risposta

3

Controllare questo:

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

Chi isFirstRun da MSDN:

Tipo: System.Boolean vero se questa versione dell'applicazione non ha mai eseguito sul computer client prima; altrimenti, falso.

+0

Will IsFirstRun è true dopo un aggiornamento con un clic o solo l'installazione iniziale? Proverò a controllare. – mservidio

+0

sì, controllare la risposta modificata –

+0

+1; non era a conoscenza di questo, ma questo sembra esattamente quello che l'OP sta chiedendo. –

3

La soluzione più semplice sarebbe quella di memorizzare la versione dell'applicazione (ApplicationDeployment.CurrentDeployment.CurrentVersion) in un valore di configurazione. Se il numero è diverso dal valore di configurazione quando si avvia, allora si sa che è stato aggiornato (o declassato, ma dovrebbe essere abbastanza semplice da determinare).

+0

Buon punto, potrei memorizzarlo in un'impostazione di tipo utente, e quindi fare il confronto al momento del lancio, grazie! – mservidio

+0

Non è necessario. Ci affidiamo a IsFirstRun e non ci ha mai deluso. – RobinDotNet