Winforms: getting Publish Version number?
Asked Answered
S

5

7

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.

Sibel answered 7/5, 2013 at 16:9 Comment(1)
Duplicate: #1249324Archimandrite
M
12

This should get you the publish version:

ApplicationDeployment.CurrentDeployment.CurrentVersion
Mejias answered 7/5, 2013 at 16:16 Comment(2)
For reference: the msdn linkTectonic
you need to include System.Deployment.ApplicationHoloblastic
C
3

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.

Cyril answered 18/1, 2018 at 22:51 Comment(0)
F
2

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
Forecourt answered 22/11, 2020 at 22:38 Comment(0)
T
1

Try this one:

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

The publish version will appear in runtime.

Tatianatatianas answered 31/7, 2017 at 19:9 Comment(1)
This worked for me! The value is only available AFTER it is published.Gitagitel
V
1

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
Volar answered 22/12, 2019 at 13:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.