LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a way to read the RTE version of an executable without opening it?

Solved!
Go to solution

All,

 

I'd like to find a method of determining which runtime engine is needed to run an executable programatically.  I'm working on an auto-updater program and have read dozens of forum posting on the topic.  I've found the Application property node for version number in the DevEnvr, and the FileVersionInfo.VI to read the build version number, etc. in the RTE.  The coding for updates within the same RTE is done and works fine.

 

The one thing that is absent from all of the postings is a technique to determine the RTE needed to open and run an executable.  Is one out there?

 

I've already got the code working to install the new version of RTE, but I'm at the last (skipped earlier) step of determining when that is needed.  Right now I've resorted to writing it in the build properties version information description and parsing it out.  I fear this flimsy work around could be easily missed on the next upgrade if someone doesn't read the documentation and include it.

 

I just found this Idea Exchange  which looks like a suitable solution is going into NI R&D as of a couple days ago.  But until that is released, is there a more robust way of determining this?

0 Kudos
Message 1 of 3
(2,174 Views)
Solution
Accepted by topic author AMP12

Here's a recent thread about this:http://forums.ni.com/t5/LabVIEW/LabVIEW-Version-of-Built-Executables/td-p/2162718

 

In short, we found a way to read the EXE as a text file and performed a search for a specific pattern.


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
Message 2 of 3
(2,168 Views)

Works great!   Tested in EXEs from 8.5 through 2011 and all is good.

0 Kudos
Message 3 of 3
(2,110 Views)