LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

app version problem

When i build executable from my labview code, i expect that
1. App.Name should return the name of my built application. (This is working as expected)
2. App.Version should return the Version of my Application (this property instead returns LabVIEW Version)
 
Please find attached example where app. version is 2.0.0 whereas labview returns 8.2.1
 
If this is what, NI Itends to give, then is there any alternative way through which i can get the version. no of my application?

Tushar Jambhekar
tushar@jambhekar.com

Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog

0 Kudos
Message 1 of 7
(5,202 Views)
Hi, Tushar,
 
There are different possible ways to do this. You can do this with .NET (FileVersionInfo.GetVersionInfo), or with WinAPI (GetFileVersionInfo()).
In attachment you can found the example, which returned proper version of the application.
 
Best regards,
 
Andrey.
0 Kudos
Message 2 of 7
(5,186 Views)

Problem confirmed in LV 8.5 also.

Maybe you can file a bug report with NI.

- Partha ( CLD until Oct 2021 🙂 )
0 Kudos
Message 3 of 7
(5,184 Views)

Andrey,

But it [Application property - Version Number] does not serve its intended purpose...

And that means a bug, which NI needs to look into, right... ?!

- Partha ( CLD until Oct 2021 🙂 )
0 Kudos
Message 4 of 7
(5,180 Views)
Partha,
 
This is the question - "Is this "Bug" or "Feature"?
Right now App.Version return the version of LabVIEW Run-Time Engine. So, you have at least two versions - one is Application, and another one - RunTime. So, may be in the next version this behaviour will be clearly documented and the problem will be "solved".
 
But I agree with you, that its will be very convinient to get Version of the Application with native LabVIEW property node instead of playing with WinAPI or .NET or other tricks.
 
Andrey.
0 Kudos
Message 5 of 7
(5,176 Views)
If you ask NI it's a "feature". If you ask everybody else, it's a "bug". Smiley Happy

I just use a global variable that is a string with the default value set to the version number. You can also use a simple VI that outputs a string from a block diagram string constant that's the version number. Simply, admittedly kludgey, but it works every time.
0 Kudos
Message 6 of 7
(5,159 Views)
Thanks for the information everyone.  This was reported to R&D (# 4G27K2P2) for further investigation.  The workarounds mentioned above are great suggestions.  If you are looking for more information, there are KnowledgeBase articles on how to use .NET or Windows API calls to determine the version of an executable. 
Jennifer R.
National Instruments
Applications Engineer
0 Kudos
Message 7 of 7
(5,121 Views)