How to list files in a LabVIEW 2009 executable app

Posted on Friday 2 October 2009

In earlier LabVIEW versions (prior to LabVIEW 2009), you could list all the VIs inside a built LabVIEW application using the List Folder function.  This is a very useful feature, since you might want to dynamically open VI References or find *.lvclass (LabVIEW Class) files for loading plugins, etc.

List Folder

However, in LabVIEW 2009 this no longer works.  But, there’s still hope.  It turns out that LabVIEW 2009 EXEs are basically just ZIP archives.

And, you can list the contents of LabVIEW 2009 EXE files, programmatically, using the OpenG Zip Tools library, as shown below:

List LV2009 EXE File Contents

Note: The image above is a VI Snippet and you can just drag & drop it into a LabVIEW 2009 block diagram (but, make sure to install the OpenG Zip Tools first). Or, download the VI File, here: List LV2009 EXE File

Voilà! Problem solved :)

I definitely couldn’t live without these handy VIs.

Jim Kring @ 3:46 pm
Filed under: I couldn't live without and LabVIEW
My NIWeek 2009 Schedule

Posted on Friday 31 July 2009

I’ve been so busy getting ready for NIWeek, that I haven’t had time to post my NIWeek schedule.  If you’re coming, I hope to see you there.  Please do find me and say “hi”.

This is still a work-in progress but, here it is:

JKI’s Schedule

First, you should check out the JKI NIWeek 2009 schedule — my schedule is mostly a subset of the JKI schedule, but I’ll give you more details, here:

JKI Booth (#335) - my Home Base

Every year the JKI Booth is a hub of LabVIEW discussions, community comradery, and (of course) demos of cool JKI Software tools.  And, this is where I’ll be spending most of my time.  This year, we got a 50″ plasma to use as our demo computer display and will be showing off all kinds of cool stuff.  Come visit the booth and we’ll blow your mind with never-before-seen JKI Right-Click Framework plugins.  Have questions about LabVIEW 2009 features, scripting, LVOOP, or other advanced topics?  Bring them to our booth — someone will be there and very happy to talk shop with you.

My Presentation – Wednesday from 10:30 AM-11:30 AM in Room 16B

I’ll be giving a presentation on — yep, you guessed it — code reuse.  This time I’ll be talking about code reuse for teams and large projects, with a focus the new, soon-to-be-release VIPM Enterprise and it’s cool Networked Package Repositories feature.  I mean, it’s really cool: you build a package in VIPM and it’s available for the rest of your team to download and use from within VIPM on their computer!

Here’s the official abstract

LabVIEW Code Reuse for Teams and Large Projects
LabVIEW code reuse is a key component of team-based development, large project work, and knowledge sharing within an organization. Learn how to create a shared repository of reusable VIs and use analytics tools to report your organization’s software reuse metrics.

James Kring, President, JKI

Wednesday, August 5 10:30–11:30 a.m. Room 16B

After Hours

Random Late-Night Foosball – The JKI team loves to play foosball, and I’m sure we’ll end up on the tables of Bufallo Billiards (at some point) after the early-evening events wrap up.


Sunday Night

  • Gingerman – Pre-conference warmup at The Ginger Man. Every year, the community meets up at the Gingerman on Sunday night.  I hope that the new location (there was a fire since last year) has a nice outdoor seating area with a large capacity.

Monday Night

  • 5 PM – NIWeek Kickoff Happy Hour in the expo hall.  I’ll be at/near the JKI Booth drinking beer and chatting with whoever comes by.

Tuesday Night

  • 5:00 PM – NI Community Block Diagram Party in the expo hall.  Much like the previous night, I’ll be at/near the JKI Booth drinking beer and chatting with whoever comes by.
  • 8:00 PM – LAVA/OpenG NIWeek BBQ 2009 at Stubb’s BAR-B-Q.  This is really an event you don’t want to miss.  And, there are lots of great door prizes.

Wednesday Night

  • 7 PM – Annual NIWeek Conference Party (The City Terrace at the Long Center). This is the BIG party.  But, I hear that a lot of NI staff-members won’t be there this year, so it won’t be quite as fun :(

LabVIEW Experts Panel – Tuesday at 12pm (Noon) in the Tech Theater (Expo Hall)

I’ve been invited to sit on a panel with other LabVIEW experts, answering questions from audience.  This should be fun.

Presentations I will Try to Attend

I haven’t completely decided which presentations I’ll attend.  I find that I get so much out of the time I spend talking to people, that it’s hard to find time to go to the presentations.  Ones that I’ve got my eye on are the following:

New Features in LabVIEW – Object-Oriented Programming
Join LabVIEW developers who know the LabVIEW basics and are interested in learning more. Discuss new development techniques and new LabVIEW features that extend the LabVIEW object-oriented programming model.

Stephen Mercer, Senior Software Engineer, National Instruments

Wednesday, August 5 4:45–5:45 p.m. Room 16B

Stephen’s presentations are always very well done: full of great technical information, enjoyable, and easy to follow.  I’m very sure that this will be standing-room only, so get there  early.

Advanced Error Handling Techniques in LabVIEW
Errors are bound to occur during software execution, and it is important for your software to help you manage them. Learn ways to handle, manage, and present those errors in a safe and controlled manner.

Brian Gapske, Systems Engineer, V I Engineering

Thursday, August 6 1:00–2:00 p.m. Room 16B

I’m curious to see how VIE’s error handling techniques compare to mine and JKI’s.  I’m sure I’ll learn something useful.  The room will probably be packed, so get there early.

Using Your VI as a Web Service in LabVIEW
Learn how to use LabVIEW Web services to publish your VIs for standard, Web-based communication and for use with thin-client HMIs.

Elijah Kerry, Product Manager, National Instruments

Thursday, August 6 1:00–2:00 p.m. Room 16B

I’ve been curious to play around more with deployable web services.  This feature doesn’t get enough love, because not enough people need/use them.  But, not many people use them because the feature is hard to use/deploy. :(

LabVIEW Graphical Scripting
Learn how to programmatically script a LabVIEW VI and examine how the LabVIEW R&D team and lead users successfully automated their code generation with this powerful tool.

Trevor Christman, Software Engineer, National Instruments

Tuesday, August 4 2:15–3:15 p.m. Room 16B

Scripting is awesome and is going to be a major undercurrent at NIWeek this year.  I want to be in the room to see and hear all the buzz.  I’m very sure that this will also be standing-room only, so get there  early.

Jim Kring @ 3:41 pm
Filed under: NI Week
An easier way to use TortoiseSVN with LabVIEW

Posted on Friday 5 June 2009

I’m excited to tell everyone that the JKI Team has been hard at work on (and just announced) a tool to make using TortoiseSVN easier to use in your LabVIEW projects.  It’s called the JKI TortoiseSVN Tool for LabVIEW and allows you to use TortoiseSVN from directly within your LabVIEW projects and VIs, without having to find VIs on disk in Windows Explorer.

For more information, check out the official announcement on the JKI Software Blog.

Jim Kring @ 11:12 am
Filed under: JKI and LabVIEW and Source Code Control and TortoiseSVN and subversion
Vote for LabVIEW features at

Posted on Monday 1 June 2009

I’m excited about the new LabVIEW Idea Exchange where users can share and vote on ideas for LabVIEW features.  In fact, I’ve already posted an idea, Option for Disabled Structures to Not Use Default Value for Unwired Output Tunnels, which was taken from a previous post (a rant, really), here at Thinking in G.

I’m thankful that NI is giving users ways to communicate ideas for how to improve LabVIEW, and I’m certain that this will really help in giving users a voice about pain points in LabVIEW that might not be readily apparent to NI.  This is yet another example (here are a couple more) of how NI is working hard to open up LabVIEW and let the community participate in making LabVIEW better.

Kudos to NI and the great feature ideas that are already showing up on this powerful, new community tool.

Jim Kring @ 7:55 am
Filed under: LabVIEW and National Instruments
Presenting Tomorrow at LabVIEW Dev Day (Boston)

Posted on Monday 18 May 2009

Sorry for the late notice…

I’m going to be presenting tomorrow, at the LabVIEW Developer Day in Boston (Chelmsford).

I’m going to be discussing LabVIEW Code Reuse in the Enterprise and demonstrating some of the new Enterprise Package Repository Management features that are coming soon in the next release of VI Package Manager.

If you’re able to make it, I look forward to seeing you there.

Jim Kring @ 11:56 am
Filed under: Event and LabVIEW
The coolest LabVIEW news in a long time

Posted on Friday 15 May 2009

Wow!!! LabVIEW Scripting (using LabVIEW to programmatically edit LabVIEW code) is going public and you’ll be able to created new LabVIEW features that extend the right-click menu of FP and BD objects.  Check out the lastest blog post on JKI Software for more details:

I’ve already created a few new right-click menu features and it’s really fun and easy.

Jim Kring @ 1:15 am
Filed under: JKI and LabVIEW
I’m presenting at the 2009-02-18 Bay Area LabVIEW User Group Meeting

Posted on Saturday 14 February 2009

If you’re going to be in the San Francisco Bay Area next Wednesday evening (February 18th, 2009 at at 6pm), then be sure to come to the LabVIEW User Group Meeting at the NI Mountain View office.

I’ll be giving a demo of JKI’s new VI Tester and talking about ways to improve your software quality via unit testing

For more details, see the meeting agenda page.

I hope to see you there!

Jim Kring @ 4:23 pm
Filed under: Events and LabVIEW
I couldn’t live without “Array of VData to VCluster” (video)

Posted on Saturday 14 February 2009

This is another article in a series showing some of my favorite OpenG VIs — “The OpenG VIs that I couldn’t live without“. In this article, I’m going to show a very useful VI, Array of VData to VCluster, that is used for converting arrays into a clusters.  The benefit of using this function, is that, unlike the Array to Cluster primitive, it defers type checking to run-time.

Here’s a short, 5 minute video showing how to use this function:

If you want to give this VI a try, you can obtain it using VI Package Manager (VIPM). Simply select the OpenG LabVIEW Data Tools (oglib_lvdata) package from within VIPM. Once installed, this will add a new functions palette at OpenG>>OpenG LabVIEW Data Tools.  (See here for a quick guide on how to install OpenG on VIPM.)

Jim Kring @ 3:59 pm
Filed under: I couldn't live without
If you can’t think of something great to say…

Posted on Sunday 8 February 2009

Hopefully, I’m not contradicting myself right now by writing this post, but I think it is worth stating:

If you can’t think of something great to say, don’t say anything at all.

Joel Spolsky just pointed out a perfect example of how being redundant and wordy can make your product look lame.

In today’s world of information overload, getting noticed and remembered is about being remarkable and saying more with less.

This is true for many things, including: blogs, websites, emails, and even software installers.

Jim Kring @ 5:00 pm
Filed under: Rants
Introducing the JKI Software Blog

Posted on Saturday 31 January 2009

Recently, JKI announced the new JKI Software Blog.  I wanted to make sure that all of you, the readers of Thinking in G, knew about this great new resource on LabVIEW.  But, I also wanted to explain how the JKI Software Blog relates to this blog, Thinking in G.

Over the years that I’ve been blogging here at Thinking in G, many of my posts have related to the software products of JKI, such as VIPM, EasyXML, and the JKI State Machine.  But, from now on, I’m going to be posting JKI-related articles on the JKI Software Blog.

The goal of this change is to:

  1. draw a more clear line between my own personal thoughts on LabVIEW and the messages coming from JKI, and
  2. encourage other JKI team members to post articles (on the JKI Software Blog) that relate to JKI and LabVIEW.

Hopefully, this means more great articles about LabVIEW for all of you.  I know for a fact that the JKI team has a LOT of great stuff planned for 2009, so stay tuned in to the JKI Software Blog.

For more information about the JKI Software Blog, visit

Jim Kring @ 1:41 pm
Filed under: JKI and LabVIEW

Bad Behavior has blocked 610 access attempts in the last 7 days.