LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I provide updates to end users?

I've developed a fairly simple VI that is deployed on a tablet computer and is being shipped as a supplementary readout for a medical device. I'd like to be able to continue to update the software and ship those updates to end users, but I personally don't have any experience shipping software in this way.

 

What I'd like to do is have my software check, each time it boots up, if it has internet access and, if possible, check a server for a new software version. Then, if there is a new version, I'd like to be able to prompt the user and then install the new software and delete the old version from the computer. I know that things like this are possible (obviously many applications regularly update themselves) but I am pretty far out of my league here and I'm not sure where to start looking for how to do this. Do you have any advice on places to start looking for methods to do this? Any parts of this plan that just won't work as I'm expecting? I'd appreciate any advice; currently I'm not even sure what to search for so any help would be great.

0 Kudos
Message 1 of 6
(2,534 Views)

(Presuming your tablet is running Windows... If not, it's probably not really LabVIEW related. The trick might work on Linux too, but you'd have to improvise.)

 

Divide and concur.

 

Make an executable "updater.exe" that connects, download and runs the application installer (installing application.exe).

 

Use task scheduler to start updater.exe at the start of the tablet (or on login, or whenever you want).

 

Schedule the application.exe later, if it needs to be started automatically.

 

Of course this will get messy. You'd need a total installer, installing the updater.exe and the application.exe. But the updater.exe should only download the application installer. Or just the application.exe and support files (that would make it easier).

 

And there'd be user right issues that needs to be solved. 

0 Kudos
Message 2 of 6
(2,486 Views)

And I would think that downloading over the internet poses additional liability issues related to secure downloads.  How do you guarantee the security of the host?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 3 of 6
(2,475 Views)

If this is a medical device, is it going to hospitals/doctors offices/etc or is it more of an at-home kind of thing? If it's the former, you might have issues with their IT needing to approve all installations. Even if you can get this system working you might not be able to actually *use* it in practice.

 

Many (most?) places require an IT guy to sign off on software installs, so if their program opens up and suddenly asks for an IT guy they're going to get very confused. I think I'd try more of a "check for updates" button or a notification or something, then the IT guys can come install it once they've approved the new version.

0 Kudos
Message 4 of 6
(2,467 Views)
If you are using a more recent version of LabVIEW, you can build an executable into an NI Package (.nipkg). This is part zip file part installer, and you need the NI Package Manager installed in order to install this kind of file.
You can get an API for it (NIPM API) on the tools network, then make some functions to check for updates. I found the smoothest way is to only check for updates, then tell the user to open NI Package Manager to actually install it. There are functions for installing as well, but it can get messy if the app that needs updating is still running, or NI Package Manager is out of date. I host the .nipkg files on an internal server, so I'm not sure how easy this it would be to host online... let us know!
0 Kudos
Message 5 of 6
(2,411 Views)

I don't recommend NIPM for anything.

 

NIPM can get so corrupted that it can not even install LabVIEW and literally requires a full Windows wipe and reinstall to fix it. (and that was NI who threw up their hands and told me that's the only solution they have after working with them for over a month on this issue) I have seen this happen to multiple computers and ATE stations at my company. In fact we have now rolled back and frozen on LabVIEW 2019.

 

I would recommend JKI's VIPM if you want to distribute packages through a package manager. I can't say I have even had an issue with JKI VIPM.

========================
=== Engineer Ambiguously ===
========================
Message 6 of 6
(2,387 Views)