LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I display the VI Version number on the front panel?

I have the same situation because all of my customers get the application along with the sources.

This delivery is on a CD where the CD and not only the session is closed. This way my customer nerver has a chance to change the original delivery without destroying it.

Next my customer has to prove that he is using my delivery. The information in the about box is enough to determine the version if he has several of them.

Most of my customers want a long term relationship so if he is making any changes he will say it to me. This will allow us to talk about the facts: His change caused the bug, the bug was in but the program was never used this way before, the change has a side effect causing a bug
elsewhere.

Customers who want you to remove their bugs will have an easy chance to set the revision number to the value the VI had in your delivery.
That's the way it goes:
(LV6.x)Make changes to your VI. Then delete the history. Save the VI. With VI server open the VI, save the VI so often as the revision number was before.
(LV7)Make changes to your VI. Set the revision number using VI server to the value you want.
You can't rely on the revision number to reflect the information you need.

The only reliable mechanism is to make any sort of checksum or hashing for each of your files. You can use a CRC32 or MDA5 code. Make a human readable document which contains all the filenames, size, date and time stamp and the calculated code. Put this on the CD. Calculate this number for the document and put the information on the label of the CD. Do not forget to put he tool also on the CD so your customer can verify the numbers of his own.

Waldemar
Waldemar

Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions
0 Kudos
Message 11 of 18
(2,110 Views)
Another option that might be useful is calling into the Windows .NET API to reveal the version number of the EXE itself:

Determining the Version Number of LabVIEW Executables
Eric V
National Instruments
Applications Engineer
Certified LabVIEW Associate Developer


"I'm a Ramblin' Wreck from Georgia Tech and a helluva (NI Applications) Engineer!"
0 Kudos
Message 12 of 18
(1,657 Views)

I have encountered the same concern: VI history:revision is available only in the development environment.

Use-case: decorate a UI with a unique version number. An integer value that increases with VI change suffices. I see the value for complex multi-tabbed interfaces too. Starting simple for a suite of apps in development that are regularly deployed for end-user test/review/feedback.

Propose to decorate the application INI file at build time. Example: given an application named Collector.exe, Collector.ini will be modified to include a property "history.revision.ui.collector=777", the source VI will be modified to read the run-time property specific to it.

One colleague proposes taking all the vi paths and revisions and stuffing them in a JSON blob well-known to, and searchable by to the run-time system and distributed components.

Looking for pointers, examples along the lines of decorating / modifying the INI file at build time. E.g. when does the default build process create the application INI? Where does it get staged while an EXE build is created?  Is it better to decorate before the default process (pre) or after (post)?

Not presently familiar with that infrastructure other than that it exists.

0 Kudos
Message 13 of 18
(743 Views)

1) Keep your code in source code control.

2) Keep release nodes in a txt file (in SCC), in version sections. (Optionally) use issue numbers from an issue tracker.

3) When you build, increase the version manually.

4) When you build, commit and tag the source code

5) Get the version from the exe.

 

Now you have full traceability between code, features and versions...

 

Of course you could replace 5) with "read from the release nodes file"... I'd go to the source: the exe (PI 😋). The release nodes are editable, even accidentally the exe isn't (easily). Also, during testing you might want to replace the exe with older or newer versions. You'd get proper versioning even if you forget to copy the release notes.

0 Kudos
Message 14 of 18
(731 Views)

We do this:

jcarmody_0-1699894141529.png

Do whatever you want with it once you get it.  We put it in the title bar:

jcarmody_1-1699894245394.png

 

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

0 Kudos
Message 15 of 18
(710 Views)

Here is what I started doing with my last project.  I use the Conditional Diagram Disable Structure so I can get the build specification version build number in the IDE or the executable's version when in an executable.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 16 of 18
(703 Views)

MartinP_0-1733206766708.png

This one does the trick for me.

Martin

0 Kudos
Message 17 of 18
(282 Views)

@MartinP wrote:

MartinP_0-1733206766708.png

This one does the trick for me.

Martin


Close that reference though...

0 Kudos
Message 18 of 18
(265 Views)