Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Winforms: getting Publish Version number?

I've got a Winforms app and want to display the version number so that we can know if our update scripts are running correctly. Is there a way to get the Publish Version number (as displayed in the Property Pages of the app, Publish tab)?

When I use Reflection.Assembly.GetExecutingAssembly().GetName().Version etc it seems to use the AssemblyVersion number from AssemblyInfo.vb, which isn't the same.

If I use wildcards in the AssemblyInfo.vb it comes out different numbers again.

like image 967
Milo Kofax Avatar asked May 07 '13 16:05

Milo Kofax


5 Answers

This should get you the publish version:

ApplicationDeployment.CurrentDeployment.CurrentVersion
like image 121
GJKH Avatar answered Nov 15 '22 11:11

GJKH


Try this one:

If  My.Application.IsNetworkDeployed Then
   Label1.Text = My.Application.Deployment.CurrentVersion.ToString()
End If

The publish version will appear in runtime.

I didn't catch the "publish version will appear in runtime" to start with but I was able to use this and set my label to say "N/A during debug " then when published it changes and displays the published version.

like image 34
beetle442002 Avatar answered Nov 15 '22 09:11

beetle442002


That worked for me Isidoros, with the following ToString modification.

Imports System.Deployment.Application

If ApplicationDeployment.IsNetworkDeployed Then
    strTemp = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString
Else
    strTemp = Application.ProductVersion.ToString
End If
like image 2
RBLevin Avatar answered Nov 15 '22 09:11

RBLevin


Try this one:

If  My.Application.IsNetworkDeployed Then
    Label1.Text = My.Application.Deployment.CurrentVersion.ToString()
End If

The publish version will appear in runtime.

like image 1
Mel Avatar answered Nov 15 '22 10:11

Mel


If application is not published you will get an error or you are in development mode you will get an error. Try the below:

Imports System.Deployment.Application

If ApplicationDeployment.IsNetworkDeployed Then
   lblVersion.Text = ApplicationDeployment.CurrentDeployment.CurrentVersion
Else
   lblVersion.Text = Application.ProductVersion
End If
like image 1
Isidoros Moulas Avatar answered Nov 15 '22 11:11

Isidoros Moulas