Check for updates and distribute
MS Access applications over the internet.
Distributing a new version of a multiple user Microsoft Access application can be challenging for many developers. For those of us who develop applications for different clients and remote offices, the distribution process can be an extremely tedious task. For that reason I have created a function that checks and distributes updated applications over the internet.
This sample application (Web Update Function) demonstrates how to distribute updated versions of a MS Access Front End to end users through the internet.
What is needed:
- The application needs to be split (Data and Application)
- A table in the FE about the current version
- HTML files on a web server
- VersionCheck.htm – contains the Unique Project # and current version #
- download.html – contains download instructions and a link to the update
- support.html – contains support information
- WinZip Self Extractor Software to create the installation program
- A web site to upload files/pages and for customers to download from.
The process
- The client’s network contains the split application (i.e. - myapp.mde and myData.mdb)
- I have the Master file, where I develop and make design changes (MasterApp.mdb)
- When I have completed my design changes I increase the Version # in the UsysProject table by .001.
- I then create a .mde (you don’t have to use a mde format – but I prefer to)
- Use WinZip and Zip the mde file.
- Use WinZip Self Extractor and create a self extraction exe file of the zip file.
- Upload the zip file to the web server.
- Change the version # of the VersionCheck.htm for that Project ID and upload it to the web server.
Details
1. Information about splitting a Microsoft Access database - click here
2. Development Environment - more information
3. UsysProject Table
In my Front End (FE) application I have created a table called UsysProject. NOTE: In order to view this table in the database window, make sure to check Hidden Objects AND System Objects from the View Tab from the Tools > Options window. This table contains information about the current FE and the paths of the html file for the Web Updater function.
Name |
Description |
ProjectID |
Unique Project # for this application - Fixed 5 # format I assign a unique # to each project I create |
ProjectName |
Name of Project / Application |
ClientID |
Unique Client ID - for Billing / Customer Service. A reference # customers can use when calling or emailing. |
Client |
Client Name |
Licenses |
# of Licenses |
LicenseExpires |
Date the application will expire. Leave blank if none. |
Version |
Version # X.XXX format |
CheckUpdate |
Flag to auto check for updates on daily start up (True = perform check, False = do not perform check) |
CheckUpdateDate |
Date of last check. Use 1/1/2000 to run check every time the applications starts. Enter any other date to check only once a day. |
CheckUpdateURL |
The URL of the file with the version information to check against. |
UpdateURL |
The URL of the new Front End build. |
CheckUpdateText |
Message for updated needed message box. |
FormToOpen |
Name of Main Form to open after the Splash Screen closes. |
RedirectURL |
URL of support / contact information for customers. |
4. Information about MDE Files - click here
5. WinZip - compression utility for Windows
6. Use WinZip and Zip the mde file
7. Use WinZip Self Extractor and create a self extraction exe file. - click here
8, VersionCheck.htm - sample file
The Web Updater compares the version # of the current FE to the version # found on the html. If the version # on the html file is higher, it prompts the user that an update is available. This happens when the splash screen opens.
The format I use is a fixed width 13 character string.
P10000:1.000R
1 – The letter “P”
2-6: My 5 digit unique project #
7 – a colon “:”
8-12 my X.XXX version #
13 – I use an “R” or “N” to require on not require the update. A required update (R) means the user cannot use the application until the update is installed. A not required update (N) allows the user to choose “No” to the update and continue working.
HTML Code of VersionCheck.htm
<html>
<head>
<title>Access Updater</title>
<Body>
P10000:1.000R<br>
P10001:1.013R<br>
P10002:2.004N<br>
</Body>
</html> |