Home > System Administration > Upgrading Client Programs > Concepts > Upgrading Client Programs

Upgrading Client Programs

Merchant Central provides the ability to run client applications over the internet connecting to server applications. But how do you make sure that the clients are using the correct version? Merchant Central provides a mechanism just for this.

How Does The Server Know The Correct Version?

How Does The Client Know The Correct Version?

What If The File Versions Are Different?

Can I Download Upgrades Ahead Of Time?

What About Downloading Files For Back Office?

What About Downloading Media Files?

Can I Tell If A Computer Has Downloaded Its Upgrade Files?

What Files Will DRSUpdater.exe Copy?

What If I Am Using Terminal Services?

How Does The Server Know The Correct Version?

There is a table in the database called FILEVERSIONS. This table contains a record for each valid executable and the acceptable version number. The filename should be stored as just the file name (no path information) and it should be in uppercase. The version number is obtained by right-mouse clicking the file in Windows Explorer and selecting Properties.

Note: At this stage there is no tool available to update these automatically these records. You will need to maintain them manually by using SQL to access the records.

How Does The Client Know The Correct Version?

When the user starts a client program, the program will ask for security and version information from the server. The server will look up the table FILEVERSIONS and pass that information back to the client. The client will compare the server file version with the file version of the program being executed. If they are the same, the program is allowed to continue.

What If The File Versions Are Different?

The client will attempt to load the correct copy of the program. The first thing it will do is check the upgrade directory. The upgrade directory is a subdirectory underneath the directories where the executables are run from, for example c:\merchant\upgrade. The directory name must be upgrade and cannot be changed. If there is a new file there it will attempt to use it. If there is no file, it will ask the server for the new version and download it into the upgrade directory. The client program will then run DRSUpdater.exe and immediately shutdown. DRSUpdater.exe will then wait for a short period of time for the original program to close down. It will then copy the file from the upgrade directory to the executable directory. It will then start the original program again.

Example

The executables are stored in c:\drsapps

The update files are stored in c:\drsapps\upgrade

The user runs DataEntryBasic.exe LOCATION but there is a new version available.

The client program will run c:\drsapps\DRSUpdater.exe and then shutdown.

DRSUpdater.exe will copy c:\drsapps\upgrade\DataEntryBasic.exe to c:\merchant\DataEntryBasic.exe

DRSUpdater.exe will run c:\drsapps\DataEntryBasic.exe LOCATION and then close itself down.

Can I Download Upgrades Ahead Of Time?

If you are using DynaPOSTouch as the primary program on a client computer you can download upgrade programs ahead of time. If you are using the client computer for back office, you cannot download ahead of time. The reason for this is that DynaPOSTouch has a mechanism for getting messages from head office. This means it can be told that an upgrade is available and that it needs to download them. The back office programs don't have this ability and so cannot be told ahead of time that an upgrade is available. In this case it will download the new versions when it finds the file versions are different.

Once the files are downloaded to the client, they are NOT applied immediately. As explained above, the change won't happen until the client program sees the file versions are different. This means you can download the files several days before you want them to actually go live. When you are ready to go live, you simply update the FILEVERSIONS records with the appropriate version numbers. Next time the program is started, it will see they are different and then attempt to copy the new version as explained above.

Even though this mechanism only works on computers using DynaPOSTouch, you can download all programs required by that computer - NOT just DynaPOSTouch. So if there is a new MerchantPOS.exe as well, it can be sent ahead of time as well.

To prepare the files for download for POS, create a directory on the server called \drsapps\updatefiles\pos and then place the new file versions into that directory. Only copy the files that you want to use on the POS computer. Set the POS Updates setting on the Directories tab in System Settings to the name of this directory. Do NOT update the FILEVERSIONS table yet.

Next, start Till Control process. Select the tills that you want to send the upgrade to and press the Notify Upgrade button. This will send a message to each selected till. Once the till gets the message, it will IMMEDIATELY start to download the files. So you should be careful sending the update messages down to the till so you don't flood your server communications.

What About Downloading Files For Back Office?

Back office programs don't have a mechanism for downloading files ahead of time but the files will be downloaded when a new version is detected. This means you still need to set up the files to be downloaded. This is very similar to preparing the files for DynaPOS. Note, the system will only download the specific program being run. Unlike DynaPOSTouch, it will not download all new programs.  

Create a directory on the server called \drsapps\updatefiles\normal and then place the new file versions into that directory. Set the Updates setting on the Directories tab in System Settings to the name of this directory. When the back office detects a version change, it will download all the files in this directory to the \drsapps\upgrade directory, ready to be used.

What About Downloading Media Files?

If you are using the multi-media  customer display, you need to be able to download the media files. This is done by DynaPOS using a very similar mechanism to upgrading program files.

Create a directory on the server called \ drsapps\updatefiles\mediafiles and then place the new file versions into that directory. Set the Media Updates setting on the Directories tab. Copy the required media files to this directory.

Next, start Till Control process. Select the tills that you want to send the media files to and press the Notify Media Upgrade button. This will send a message to each selected till. Once the till gets the message, it will IMMEDIATELY start to download the files. So you should be careful sending the update messages down to the till so you don't flood your server communications. The files will be copied to the \drsapps\media directory immediately for DynaPOS to use.

Can I Tell If A Computer Has Downloaded Its Upgrade Files?

When a till has successfully download an upgrade file, it will tell the server and the server will write a record to FILEDOWNLOAD. This tells you the file name, the till and date/time of download. It also has a status column. The status will be 0 if successful. You will always end up with a record indicating success or failure.

What Files Will DRSUpdater.exe Copy?

At this stage DRSUpdater.exe is only able to update executable files. It will be upgraded to copy bmps, bpls and scheme files in the future.

What If I Am Using Terminal Services?

If your users are running programs using Terminal Services session, do you need to use this facility? Not fully. You copy the executables into the live executable directory and update the FILEVERSIONS table. There is no need for downloading updated versions of executables or anything because they are being run from that one specific location.

Converted from CHM to HTML with chm2web Pro 2.85 (unicode)