Jump to content

Development Env packager


Recommended Posts

Hi, 

Most of us here build applications and add to it user manuals and readme files that instruct how to install the app and what its requirements are.

However, we don't give the same level of documentation to the development env so that we could manage the source code from another computer in a few years.

You might lose track of the LV version, modules, addons, vipms, folder structure, win version, 3rd party tools/activex/dll/db, LV ini, system settings, methodology/architecture, passwords and so on.

I would love to hear how you approach that issue (docker VMs? Jenkins with a build from repository dedicated station?).

For now, to make it simple, I'll ask if there is a way to install LV automatically without having to install and modify manually:

1. LV ini and configurations

2. All the VIPMs that I currently use

3. NI Modules

4. 3rd party tools like activex and dlls

It takes hours if not days to install everything.

Is there a way to have such a bundle automatically installed when for example I upgrade LV or reinstall it on a different computer without me writing my own installation automation as I do for customer applications?

It will be crazy if I would have to update my installation automation each time I add a new VIPM or addon or save something new to the user.lib for each application I write for each version

For the first stage, I would be satisfied with a one-click unattended silent install of 20 VIPMs with LV env customization

Link to comment

This is serendipitous post.

 

Is there a way to have such a bundle automatically installed when for example I upgrade LV or reinstall it on a different computer without me writing my own installation automation as I do for customer applications?

Short answer. Yes (but I'll caveat that).

I have been thinking a lot about these things recently (see the installer thread) .... and I mean implementation wise. My concentration has been on the installation but it is so intertwined with packaging so I have had to think about that too.

Go and put you wish-list over in the Intaller thread.

Edited by ShaunR
Link to comment
 

For the first stage, I would be satisfied with a one-click unattended silent install of 20 VIPMs with LV env customization

Why is this a problem?  So I make a VIPC with all packages I want in it cause I have pro.  I double click this file, pick my LabVIEW version, a prompt then comes up for licensing and I accept all and then it installs all the packages.  If you don't have pro you can still go to File >> Open Package File(s), select all the packages, then click Add and Install Packages, and have the same process.  It isn't a "one click" install but after the install starts installing the first package you can walk away and come back after all the rest are done.

I also have a package for editing LabVIEW.ini functions, editing QuickDrop, adding Right-Click, adding Tools Menu items, adding Help documentation (found in the Help menu in LabVIEW), etc.  One thing I haven't done yet but I bet you could do, is make a package that calls into the NIPM API and installs NI run-times or toolkits as needed.  It really depends on the amount of effort you want to put into it but I bet you could automate a lot of the process.  Still I don't find it takes all day to setup a machine so I'm not sure I'd go through the trouble.  The NI Web Install is already pretty good where you select the NI products, and NI drivers to install at the start and then it installs them without having to prompt again.  For me all that is then needed after this is to install the VIPC I mentioned earlier.

Link to comment

VM works best for me. We're lucky that we have covered the Client OS licensing part of things so it frees us up to create a VM per "project" if need be and to share the VM  (+ change the product key). You need a good external storage to keep all these VMs backed up, but when transitioning back to an old project it just a case of copying it back over to the dev machine.

Link to comment

ShaunR: same condition as I

hooovahh: Pro VIMP allows quick installation. Non-Pro allows it too (didn't know about that solution - thanks) and you are used to that manual process since you created your own set of tools that answer most of your customization needs.

ak_nz: Works with VMs per project and paid for extra win licenses. You make me jealous yet even after I'll adopt the VM per project solution I would still like to have the set of tools hooovahh uses, for example, when I want to upgrade the projects to a newer version of LV.

Moreover, I'm not sure how LV works with hardware from within a VM and if the client installation will work the same since they don't run a VM.

This is important since it is not only I who will do the env update/pc replacement in a few years but rather a new programmer while I'll be in some other company doing some other amazing stuff.

VM doesn't automate the Dev End requirements. If something breaks since one of the add-ons require an update you won't know what to do. It is either the VM works or it doesn't.

Once you have automation for the configuration you can update parts of it and run regression tests to check if everything still works (or test it on different hardware with different OS).

Ideally, Jenkins will take the source code once in a while and automatically install the testbench station from zero with the IDE Env -> build -> install -> run tests -> report

Link to comment
 

... we have covered the Client OS licensing part of things so it frees us up to create a VM per "project"

Curious how your company worked or works out the OS licensing.  I tried to go down this rabbit hole with MS a couple of years ago and ended up giving up because it was so difficult to figure out for a small business.

Link to comment
 

Curious how your company worked or works out the OS licensing.  I tried to go down this rabbit hole with MS a couple of years ago and ended up giving up because it was so difficult to figure out for a small business.

We're not a small business, we're part of a large one. Guess there are benefits to such things after all.

Link to comment

After some more investigation, I found an old post that can be summed as saying:

1. Michael Aivaliotis: VM per project with installed packages in NI for code reuse

2. Smithd: Wonders if you can leverage Windows packagers like Chocolatey/Puppet/OneGet yet he got no reply

I know how to handle VMs and I know now that I can do a multi deploy without pro.

Did someone find a way to make Chocolatey etc work with LV?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.