12-30-2020 02:49 PM
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.
12-31-2020 05:26 AM
(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.
12-31-2020 10:20 AM
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?
12-31-2020 11:21 AM
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.
01-04-2021 03:49 PM
01-04-2021 10:12 PM - edited 01-04-2021 10:15 PM
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.