sjacques Posted January 12, 2008 Report Share Posted January 12, 2008 I have a situation where I need to support field-deployed applications, i.e. software, configuration, and datafile updates. This will usually include adding/deleting datafiles, replacing (overwriting) a config file, and in some cases upgrading the LV exe as well... I searched for this topic in the LAVA forum, and I found one topic list that generically went over programmatically polling an FTP server for a new file and shutting down the local app, installing the update, and restarting the local app, however I have a few questions that weren't addressed/answered in that topic... My first question is how can I determine where the installed application resides? During the installation, the user could select a different drive and/or directory to install the application to. Also, is there an easy way to update just a config (text) file or support data file without having to build a new application/installer? Should I be looking at another installer program other than the LV App Builder? Basically I'm looking to make a 'patch' program that I can e-mail out and that when received the user can copy to the local machine and run the updater. The updater would complete it's task without needing to prompt the user, i.e. closes the app if open and (optionally) restarts it after updating. The assumption is that the updater will be written in the same version as the application, eliminating the need to package a run-time engine with the build and keeping the file size down to a minimum. Anyone have any simple examples or even a simple outline? BTW, I'm using LV 8.20, soon to be upgrading to 8.5.. Thank you. Quote Link to comment
Ton Plomp Posted January 12, 2008 Report Share Posted January 12, 2008 Lots of questions, let me point you at the 'replace while running'. You should use a listener VI (inside the app) that listens to a given TCP/IP port, then it should verify that it is legally called by the 'updater' and shutdown the app, the upgrader should do it's trick and restart the executable, call the same listener VI to verify it's running. You could write at every run the location of the executable to a location in the (windows) registry to be installation independent (this could also be sent by the 'listener'. If you don't want to shutdown your exe you should use 'modules' which are loaded by your application. In case of an update, unload the modules, update the modules, and reload the modules. Most likely the modules are llb's containing a seperated code-set. An easy way to built these in a consistent way is OpenG Builder. Ton Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.