I’m going to need to be updating one of my applications soon which is a suite of apps packaged using the excellent installer tool: SSEsetup: https://ssesetup.com/
This tool creates installers for Windows programs, but has specific features which directly integrate with Access and simplify the installation greatly.
But I digress. The tool also has the ability to check a URL for update information about your application, but I generally haven’t used that since I am not making the apps available publicly, but rather on a corporate internet.
Some techniques I’ve used:
- On fast networks, I’ve used a batch file that simply copies the front end to the customer’s machine on every use. This is the brute force method and really only works when they consistently use the shortcut. One way to enforce this is by using command line switches in the shortcut so if they just try to double click on the file, you can tell and give them a message to use the shortcut and shutdown. Shortcuts also can be a problem because if you use the Access exe file and pass the database file as a parameter, you can end up opening the file multiple times which is likely not what you are wanting the system to do.
- Another technique is to use a launching database. This can give you more control and provide more complex checks and setups such as copying updated support libraries and things of that nature. This provides more control than a batch file.
- I have also done work before to combine my launching code and the database together, having the database shut itself down and recopy the file. This gets rather messy and seemed to be pretty error prone, so I rarely do that now.
- For another customer I created a launcher that could log into their Sharepoint site to check for an install file with a specific version specified in the name of the file. If it was newer, it would install the upgrade first, and the installer itself would upgrade and launch the new file. This used the SSE Installer mentioned above.
In this case, I’m going to need to have each individual database check for an upgraded install file. I will probably just create one database to do the checking and have each application database run that database at startup to verify whether a new version is available. I may limit the number of times it will call the checker if it takes a lot of time for the checker to run and process, but hopefully I’ll be able to make it pretty quick.
Hope your coding goes well today and you have fun!