Oggi ho usato per la prima volta ClickOnce e mi sono subito scontrato con una sottigliezza nell'utilizzo delle versioni.
Erroneamente pensavo che ClickOnce modificasse il valore della proprietà Application.ProductVersion quando si pubblica un'applicazione indicando il numero di versione.
Cercando maggiori dettagli in rete ho scoperto che mi sbagliavo perchè l'engine di ClickOnce valorizza la proprietà
System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion
per mantenere la versione e quindi se l'applicazione è distribuita via ClickOnce è più corretto indicare questo valore come numero di versione.
Di seguito un esempio di come controllarne il valore a runtime:
private void helpToolStripButton_Click(object sender, EventArgs e)
{
String msg = "Help not available at the moment";
if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed)
msg += string.Format("\nApplication Version {0}", System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion);
MessageBox.Show(msg, "Help", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Da non dimenticare di controllare la proprietà System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
altrimenti vi beccate subito una bella eccezione!
posted @ sabato 21 gennaio 2006 17:10