LabVIEW Development Best Practices Blog

Community Browser
Showing results for 
Search instead for 
Did you mean: 

Scripting for LabVIEW Released!

Active Participant

After a few weeks of vacation, I’m back in Austin and have some news for all you Large LabVIEW App developers out there.  Scripting is now officially available!

For all you ‘rebels’ who have been using scripting for years, you can now do so with a clean conscience.  Download the installer from this link and follow the instructions to activate your new scripting license.

For those of you who are unfamiliar with scripting, this is not to be confused with scripting languages like Python or Perl.  LabVIEW scripting exposes additional VI Server properties and methods that allow more programmatic control over the development environemnt.  Why is this valuable?  For an example of what can be done with scripting, check out JKI’s new Right-Click Framework.

So why didn’t we expose this sooner?  Scripting was initially developed for internal programming purposes, but was soon discovered by LabVIEW aficionados.  Concerns regarding forward compatibility and unsupported functionality were one of the largest reasons we didn’t make this formally available before now.  For now, LabVIEW scripting resides within NI Labs and is not formally supported by the Applications Engineering group.  To discuss questions, feedback or any problems, visit the API Community.

Originally posted by ekerry at

Elijah Kerry
Chief Product Manager, Software Platform
Follow my Software Engineering for LabVIEW Blog
Active Participant sth Active Participant
Active Participant


I have been looking forward to this and used to be a small time scripter when it was "under the table" or in the attic full of rusty nails a s Greg McKaskle called it.  However I see the link for activating it under windows but not under Mac OS X?  It used to exist under Mac OS X.

Has that functionality been forcibly removed?  Do I have to go searching through the binaries for a another super secret private activation token?  From the instructions for windows it looks like the functionality is and just needs activation.  This should be true for the Mac as well or a lot of the NI functionality would not work either.  What's the scoop?

Active Participant


I believe that the Mac and Linux installers are coming, this week (as indicated in some of the comments on LabVIEW Scripting doc).


JKI Blog
NI Employee

Hi Scott,

As Jim noted, the installers are on the way shortly.



NI Employee

Very cool.

Would the following script like behavior be possible:

- Automatically modify a .ctl which contains a single strictly typed enum to change the enumerated values?

Bigger picture:

I am working on an application which will be highly customizable by the customer, but not the end user. The customer will interface with a configuration file which will contain a dozen or so keys. For example: "logfile location". I would like to refer to these keys with an enumerated type definition as a developer, that way if/when the key names, numbers change - I'll only have to change them in one spot.

Now, I want to take that to the next level, and write a utility which will automatically 1) save the config file and 2) overwrite the .ctl with update values.

Seems doable, right?

Also - if you think this is an off-the-wall solution to working / developing with config files, then by all means help educate me. I am using the config file VIs at a base level in LabVIEW.

Knight of NI Knight of NI
Knight of NI

Evan wrote

Changinge the values in an enum can be done without scripting, the "ctl" must not be in a "reserved to run" state etc.

There are a number of solutions available for the config file.See this Nugget for some ideas.

The one thing that mistifies me is your mention of "overwrite the ctl with updated values" Ask me about Brad's XControl the next time you come to visit.



Active Participant sth Active Participant
Active Participant

Jim, thanks for the pointer, I hadn't looked at the other thread.  It is unclear where general comments are posted.  But the format of the web page implied that there were other OS's involved but not clear if that was really the case.

Ben, I looked at that nugget but I don't believe that it allows you to change the names, values and numbers of an enum.  This is really a change at compile time that scripting is good for.

That is really a scripting function which should be available with the scripting API.  Those values have to be set at run time.  So, the ENUM control must not be "Reserved to Run" but completely not running.  Then it should be editable like any other LV object.

Then you need to open your main VI and check to see if there are errors in compiling, save all the now modified VIs and then run the application.  Assuming nothing has gone wrong (tempt Murphy) it should work.

Knight of NI Knight of NI
Knight of NI


The Nugget was addressing Evan's "Big Picture" part of his question where the ability to save and restore values to and from a config file was desirable. Thatnks for the rest of your clirification to my short-hand reply.