LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

This idea is about a new LabVIEW feature, the Packed Project Library.

 

To statically use a packed library as a dependency, you need to add the library to the LabVIEW project.  After that's done, all the callers link to the packed library.  If you're strictly a library user, then whenever you need a library update you simply ask the developer for one.

 

But what happens if you're a packed library user and developer of the same library.  You can't use a packed library as a static dependency until you build it and replace the lvlib with the lvlibp...but you can't develop the packed library after it's been built and replaced in the project.

 

If you're a user and developer, it makes sense (to me) to maintain two separate projects.  One manages the packed library resource, one manages the application.

 

What if there were a way to revert the packed library to the LabVIEW library from the same project?  You could use the spiral development model and simply switch between the two types of libraries during development.  You could also (and this IMHO is the most important part) incrementally deploy and test the project.  If you're strictly a packed library developer, hopefully you're incrementally testing anyway.

 

My final pain point with the packed library is with respect to upgrading the application.  Similar to above, if you're strictly a user, you pray the developer is still in business and ask nicely for an upgrade.  If you're a user and developer, and you didn't maintain two projects, you might think to replace each static packed library subVI in the application with the original source and then rebuild the lvlibp.  Or you might think to create a new project that includes the lvlib and rebuild the lvlibp yourself.  I haven't tried it, but I hope that you can replace the original lvlibp with the lvlibp from a new project (not the one that created the original lvlibp).

 

This leads me to a best-practice for lvlibp: always use them as dynamic dependencies.  That way, you can maintain and develop the packed library in the same project that uses the packed library.  You'll simply reference the resources differently.

 

Even if you don't kudo this idea, I'm very interested to hear your feedback and experiences with the lvlibp.

 

Thanks!

 

Steve

When I run the installer for my application, I want to display to the user the version of the exe that will be installed.  Since this exe already exists, I should be able to embed a tag in the installer dialog text as a placeholder for this version.  Something like:

 

This installer will install version %my_exe_version% on your machine.

 

When the installer is built, the tags are replaced with the actual versions.

This should also work for all components being installed (DLLs, web services, etc)

 

As a bonus, it would be nice to have access to user defined tags in the build spec that can be embedded into installer dialogs.  Perhaps allowing a prerun VI to populate these so we can invent new ways of adding infomation in the future.  (like accessing user information from the OS and using that to customize the dialogs)

Just found out MathScript Module does not have a 64-bit version yet. I don't know if NI has any timetable to release its 64bit version?

 

Why do I need a 64bit version? Mainly the memory issue. I have a Matlab code which requires a massive memory allocation. Now I am trying to use the .m code in LabVIEW, but encountered a 'Not Enough Memory' warning message. I think a 64bit version shuold fix this issue, correct?

 

Besides, 64bit is the future anyway. So in case MathScript Module 64 bit is not even being considered by NI, I would like to suggest it here.

 

This is not directly related to LabVIEW but I haven't found any other thread which seems like a better fit. I'm posting it on the Idea Exchange since this is the best place for other customers to potentially agree with me.

 

NI drivers/software are quite often large, and above 1 GB is not uncommon and sometimes above 3 GB. Having everything in a single file is in my opinion a good thing because I don't have to look for multiple driver parts and download packages, but the file size must be matched by the download speed. Waiting three-four hours or more to download a single driver is not a fun thing to do and quite often you need more than one driver.

 

Sometimes the speed is okay, but as a general rule I would say it's slow. I'm located in Sweden and of course this issue is dependent on a lot of links between where I am located and the server where NI host the files.

But, download speeds of 200-300 KByte/s from NI are not uncommon but I can run speedtests on for example http://www.speedtest.net/ and get download speeds at 50Mbps using American servers.

 

I don't know how NI host the files, if it's internal servers or something else but it would be nice if NI looked into the possibility of somehow making this faster.

 

I downloaded LabVIEW from ni.com and installed it.  Here's the process:

 

  1) Download a small downloader using my web browser.
  2) Run the downloader, which then downloads a self-extracter
  3) Run the self-extracter, which extracts the installer
  4) Run the installer

 

I'm thinking that this process can be improved a little.

Chocolatey:

The package manager for Windows (like apt-get but for Windows). https://chocolatey.org

 

Chocolatey it's a command line tool to download and install software with focus in automation and unattended..

 

something like:

 

choco install labview

 

and after a few coffees, voila. All installed.

 

it also supports local files, e.g.

 

choco install labview --source d:\

 

in case you have the "package" in the d drive.


 

 

Installing NI drivers should be something like:

 

 choco install NIDrivers               //full installation

 

 

choco install NIDrivers.NIDCPower            // Only NIDCPower 

 

Toolkits could be handle in the same way.

 

Chocolatey also handles dependencies. So requiring LV before installing any toolkit should be straight forward.

 

 

With LV comes a decent icon editor. It's the one that starts when you look at Build Application settings -> Icon -> Icon editor.

This seems to be the only way to start this program, there's no entry for it in the Programs Menu.

So what i've done is to create a shortcut to iconedit.exe and add it to my Programs Menu, and i feel this should be part of any and all LV installations!

 

So: Add an icon to Lv's Icon Editor as part of the installation.

 

/Y

I propose that NI award anyone who posts an idea (especially this one) which is eventually accepted receive a free copy of the LabVIEW Developer Suite as an award for their creativity.

 

Should help find duplicates!

If LV can create .exe file independent to LV runtime engine, that's will make her more pretty than other programing tools(e.g VC++) 

Just 5 min ago I was in the situation that I downloaded an example VI from an NI support forum. I double clicked it and I got the message that the LabView-Version that was used for storing the VI is newer that my LabView version 😞

Most likely the VI could run without problems on my old Version (LV2009).

 

What I suggest to get around this kind of problems are two things:

1) create a web-based service (maybe only for registered users) where users can upload single VIs or ZIP-Files with a complete program structure. The VIs should be converted to the selected LabView version and send back to the user together with a conversion report.

 

2) integrate this service into LabView: If the user tries to open a VI that was stored in a newer LV version, LV should connect (after user confirmation) to the NI-Server for automated VI conversion.

It is 2011, and everyone is either making the transition to 64bit, or have already done so. Yet LabView on Linux is still stuck in 32bit, and this means that for modern Linux installations you have to install a ton of 32bit support libraries just to run LabView. Not to mention missing out on all the 64bit fun that everyone else enjoys these days, such as access to more memory. Please do something about this.

As of this quarter, the NI developers suite DVDs will only be sent out on a bi-annual basis. See the text in the current Dev Suite donwload site for the text on this (Dev Suite Download Site).

 

With that in mind, I forsee using the donwload links to get my Dev Suite updates more and more often and using the DVDs less and less.

 

What I am asking is that a better method be implemented to allow customers to download the software that they need. If you attempt to download any package from the Dev Suite download site, listed above, you must click through between 3 and 4 linked pages to actually arrive at the download link. Given the 46 packages on the page that is a minimum of 138 pages that must be navigated to download Dev Suite.

 

How about updating the downloader to allow selection of all of the packages you wish to download, press the button and the downloader will take care of getting all of the selected packages.

 

This downloader should allow download of particular versions of the software (i.e All packages that were released with LV2009 SP1 and the applicable drivers at that time). These should be "presets" that would allow quick identification of which drivers shipped with which version of LV.

 

Jim Kring had a related post (here), however I think that the two ideas are somewhat different

 

 

 

 

 

It is nice if one can select which driver to download, specifying the version.

 

Currently it is only "Device Driver" item in the web-based installer. By using this option, user must download very huge driver ~10GB.

 

LabVIEW 2016 Platform (web-based installer).png

 

It is very helpful if one can select only necessary drivers like the UI of RT software installation which allows users to choose version such as NI-XNET 16.0, 16.1, or 17.0

As software versioning becomes more and more popular also the automatic building of source code becomes more and more interesting.

 

Right now in our company we are using GIT and JENKINS for C-code material as our versioning and automatic build tool. As soon there is something being checked in and pushed to the main repository the builder gets notified and tries to build your source code having the output available somewhere.

 

As we are having many users around the globe these tools obviously run on a virtual machine or server somewhere.

 

Right now there is no option in buying the application builder seperatley and control it via command line. The only option is to put a complete development environment on there which is useless and a waste of money.

 

My request would be to sell the application builder seperatley for these purposes OR figure out an alternative way for doing this in a professional and neat way.

 

some usefull links:

http://jenkins-ci.org/

http://git-scm.com/

This is only a wish that NI could provide a Utility that converts a VI or Dir to Up or Down.

I had a project that was done in LabVIEW 5 (done many years ago by someone else); I couldn’t open in LabVIEW 8.6. I needed to do stage upgrade LabVIEW 7 and follow up with LabVIEW 8.6 and so on.

I understand there are cases that you can not simply down convert, because newer function may not be available in older version. In this case it OK, give user an option for force the convert and worse case the down convert VI is broken. Let the programmer fix it!

The utility should have a Status Report for convention.

Please..!

Microsoft introduced a number of restrictions in Vista that makes it more difficult to save program settings and temporary files.

 

Applications can no longer write to the Program Files directory, but even worse; the common application data directories, like ProgramData and Users\Default  are by default only accessible for writes by administrators and the first user that did the write. Sessions by other users only have read access. The same goes for registry access; the computer keys can not be written by everyone.

 

As long as it is OK to not share settings between user's you have one good option left; the user's appdata folder. If you do need to share data though - you need to set the access right of the folders you create in the "common" directories. This can currently be achieved e.g. by using a tool like SetACL, however as it has been made a required action now, it should be included in the installer - AND preferably also as VIs on the file and registry (for registry access) palettes.

 

LabVIEW 2009 introduced one of the tools required to handle the UAC changes - a VI to get the paths of system folders. It should also have a tool to grant access to some of those paths...

When a VI is deprecated in vi.lib or other LabView libraries, please include the word "Deprecated" or some similar, standard word, in the VIs description. When upgrading the LabView version, I can then easily search for any deprecated VIs in my application and can consider rewoking the code to use the replacement VI. 

 

Currently I use LabView through a Windows VirtualBox on a Linux Mint machine. I was told by a customer support employee that I should bring this idea to this forum. I chose this method because of the limited support for Linux even with the supported distro discs. I encourage NI to expand their Linux-compatible software to have the full capabilities that the Windows and Mac versions do for the distros that are currently out, and to expand the number of distros supported. Linux Mint is one of the most widely used flavors, and yet there is no support from NI.

Consider expanding programmatic modification of the Build Process.  There is already an Idea here to allow the Pre-Build Action to set the Version Specification before the Build Process (it happens during the Build process, after the before-the-change Version Specification has been cached and used in the Build).  However, other Specifications in the Build Spec would be very useful to be able to specify in a (true) Pre-Build Action.

  • Target Filename (low priority)
  • Destination Directory (I like to put Builds in Public Documents, but the Public Document folder can "move", though LabVIEW's Get System Directory can find it, so I could "pre-build" a path specific to the given PC)
  • Build Specification Description (allows the user to include version-specific or Build-Time text)
  • Version Information (in addition to Version Number, before being used, the other Fields might be useful).

I've noticed references on the Web to automated Builds, and know there are Build VIs that will do a Build.  I also know there are a set of "barely-documented" APIs that some have used for this purpose, but I don't know (other than the Set Version Specification, which doesn't work as I expected in a Pre-Build Action) of others.  I don't especially want to poke around inside the Project's XML file -- can we consider adding some other "Pre-Build" Set functions?  Could (for example) some of these "Build Properties" be set with a Property Node?  Maybe this functionality is already there and I've not found it ...

 

Bob Schor

Hi All,

 

I truly hope this hasn't already been inquired about in some manner, but if it has I'm not even sure what to search for.  Here it goes:

 

Up until now, I've kept a backup of labview.ini around so that if my computer dies or if I move to a new PC I don't have to spend time reconfiguring options.  It dawned on me tonight that there are a lot of other customizations that LabVIEW developers use.  If heavily relied upon, these customizations can be painful to lose.  For instance:

  • Palette customizations (Including "Place VI Contents" or Merge VIs)
  • user.lib
  • custom icon templates

...you get the idea. (This is a pretty lame list, but it's all I could think of off of the top of my head)

 

There really ought to be a tool to consolidate all of these options down to the nitpicking details so that they can be exported in the form of a single file. (let's say a zip file, hypothetically)  The user could then access this tool under "Tools-Advanced->Import or Export user settings" or some similar option.

 

This way, if the user's PC becomes unusable or they are forced by IT department mandate to move to another PC, they could simply import their user setting file and the whole development environment would be configured to their liking, complete with customizations.

 

Did someone already think of this?

 

Thanks,

 

Jim