08-11-2012 02:40 AM
Hello,
I have an App.exe installed to my pc. I would like to write a service in labview that notifies the user if newer version of the App is available. I have an Idea how to do this, but I would like to ask you what is you opinion about my solution.
So first of all, I'm going to create a service program written in Labview. This service starts when PC boot up, and It has an only one function, connect to an ftp server and checks if is there any newer version is available on the ftp. If there is, a popup notifies the user about a possible software update. This service periodically checks this ftp for twice a day for example. The check procedure could be the following:
Anyway, the user can force the update service to check the updates.
If the Update request accepted, this service could download the files ( Labview installer ) from the FTP to the TempFolder or anywhere. ( If the App.exe is running - the App.exe state ( running || idle ) is registered to the service - this serice stops the App.exe and starts the new installer that was downloaded in the previous step.
From now, the user should click on next - next - done, or restart the computer it it is needed.
The inter application communication protocol between the service and the App.exe is TCP.
What do you think? Any idesas? Do I thinking right?
Thanks for your feedback!
08-14-2012 03:23 AM - edited 08-14-2012 03:24 AM
Hello,
Thank you for posting your idea. We really appreciate it.
Could you please post it on the Ideas page also? Or could you please insert a link ot the Ideas page to this forum?
Regards,
08-21-2012 02:29 AM
Dear Peter Vago,
I think we know each other personally form NI days 😉
Please correct my if I'm wrong but as I know the Idea Exchange is a forum where users can share their ideas about Labview IDE or feature request for a later version of LV.
I think my idea is little bit different because it is not in strong connection with LV IDE. My topic is a kind of support application written in labview and that can be used to check and update an existing exe.
I am looking for confirmation about my thinking is correct or incuorrect.
08-21-2012 07:53 AM
Personally I do not like services that are just running in the background for the sole purpose of checking update status of software. I know it is so damn cool to write such an application, but I find it VERY annoying whenever someone thinks, his software deserves the right to add YAS (yet another service) to the ever increasing list of services.
If you want to do update verification, do it when the user starts up the application (and add an option to suppress that check, preferably also directly in the dialog that prompts the user for an availabe update). Don't force the update on the user and allow him to continue anyways with what he has installed no matter what. Software installation is something the user not only should have control over, but in current system setups can not easily be done automatically in the background anyhow since it requires elevated user rights.
If an application tries to install a background service and there is not a VERY compelling reason for it, it is a big candidate for me to get deleted completely ASAP from the system.
08-21-2012 08:03 AM
Hmm I think you are damn righ! 😉 This kind of notification ( at the end of app. initialization ) seems acceptable.
Thanks for your feedback!
08-22-2012 07:14 AM
Hi,
Probably we have met on the NI Days 2011 🙂
You are right, the Idea Exchange is for improvements in LV IDE, mainly.
I also do not really like the "superintelligent" update tools, mainly with auto-popup feature. It is better to inform the user about available update on a less annoying way, like by email or tray-notification. It is good to let the chance to the user on choose to defer/ignore/accept the install.
Sometimes the updates can damage some other importan software components, therefore the total automatic updates can cause mysterious problems. At least there should be a log created about the updates.
There are very good designed update services in the world (like package managers in Linux distributions, NI Update Service, etc.) with all the good features and options. My suggestion is that you should evaluate them and try to find the cool options (advantages) and annoying options (disadvantages) in those.
Cheers,