07-30-2008 02:59 PM
07-30-2008 03:02 PM
07-30-2008 04:30 PM
02-09-2012 10:35 PM
I know it has been a long time since the last entry on this topic, but I'm wondering what is the best (optimal) solution for upgrading an application?
As mentioned in the last post we could build a small app (UPDATER.exe) that checks for the latest version of our main application, but should it:
a) Simply overwrite the current C:\Program Files\LV_MAIN_APP\<LV_MAIN_APP>.exe file with the new version?
b) or should it run the new SETUP.EXE Installation program that will uninstall the LV_MAIN_APP program and re-install the new version?
(a) would be nicer since it will be quick and not require any user intervention, but does this affect the Add/Remove Program function if it came to un-installing the application, or does it affect the registry since a new EXE was copied across rather than being installed? Assuming we have the right privileges, will either method above work in Windows 7?
I suppose the other problem is what if we upgrade and build our MAIN_APP in a new version of LabVIEW, we now also have to install the new LVRT Engine.
So should we split the Installation into three processes:
1) LVRT Installation - LVRT Engine and other LV Plugins - Done manually when installing the application first time (Large size - 150MB).
2) MAIN_APP Installer - Just the executable (Small size - 10MB) - automatically updated by the UPDATER application.
3) UPDATER Installer - Just an executable (Very Small size <1MB) - Icon on desktop - runs the MAIN_APP.
But then of course what if you make changes to the UPDATER application - how is this updated automatically - it just keeps going round in circles.
Chris
02-10-2012 04:32 PM
Hi Chris,
I think that either way you do it will work, but you will run into less issues if you go about it as suggested in way two. You need to be careful that the runtime engines, .net and any other dlls that you call into are also updated. In some cases this means that you also have to make sure that you have an up to date config file and ini file that reflects the version that you are using.
Are you planning on having Updater something that installs with MAIN_APP or will it be something that can be accessed and distributed separately?
Regards,
Kira T
02-13-2012 09:34 PM
Hi Kira,
Well I was planning to have the UPDATER and MAIN_APP as separate installations, since the MAIN_APP will need constant updates (new features + bug fixes), but the UPDATER will rarely need to be changed.
However if/when the UPDATER program does need changing then this will have to be done manually, because I can't have another program that updates the UPDATER program, since where would it end.
I am told I can give our IT Dept. the upgrade files and they somehow bundle them all into an install package that does it automatically, but I have my doubts.
Chris
02-15-2012 09:26 AM
Hi Chris,
You're right about the UPDATER function eventually becoming repeptitive. You do need the UPDATER program to be a seperate executable from the MAIN_APP, but the choice between distributing in the same installer and making available seperately is just your preference.
Let us know if you have problems building your installer/automatic updater, especially if you opt to package them together in LabVIEW.
Have a nice day,
02-13-2013 01:42 PM
I want to do something similar. I want to do this the right way (i.e. I want my application to check online whether there is a newer version available and update itself if there is a newer version available. I don't want to simply overwrite the application .exe executable with a newer version because there will be a version number mismatch in Programs and Features). Looks like setup.exe has some command line options available. Maybe /q might work?
Ofcourse the updating application must quit itself before running setup.exe.
Sidd
02-14-2013 08:10 AM
I am doing something very similar. I obtained a small program from our IT Admin that will push files into certain folders on computers I call out by name. I just started experimenting with this yesterday, and most of the time it works fine, but sometimes chokes on the alias file. Does the alias file need to be updated, or am I OK with just the exe, ini, and config files? I understand that I need to do things manually for new LabVIEW versions, or patches requiring runtime updates.
06-10-2013 09:31 AM
Hello,
I'm intrested by the UPDATER App.
Can you provide a labview code example please ?
🙂