How Can I Uprgrade And Restore A Runtime Application?

rudyz

New member
Local time
Today, 00:36
Joined
Aug 13, 2008
Messages
8
1. Once I have packaged my database (Access 2007) to use the runtime, how do I upgrade the installed application to include changes to the database (eg new forms, new tables, new functions etc) without losing the data that was in the previous version? At the moment, a user must uninstall the previous version to install the new version, and thus loses all the data contained in the previous version.

2. This may will tie directly into question one, but how can I implement a backup and restore feature? Essentially I would like to have a button, control, or menu item that will allow the user to create a backup of all data. The user then can restore the data back to that point in time, also using a button, control or menu item. In a perfect world, the user could make as many backups as they wanted and keep the backup as long as they wanted, for example daily or weekly backups, without overwriting the previous backup.
 
1) The application should be split:

http://www.granite.ab.ca/access/splitapp/index.htm

You just send the user a new front end. That's often done via a utility; I wrote my own but that link has a link to a free one.

2) As to backups, you would back up the back end to back up the data. Everyone would have to be out of it, so I'm not sure it's practical to back it up from within the application. I normally work with SQL Server back ends, so I'm not the best resource on backing up an Access back end. You could back it up from within the front end, but you'd have to ensure nobody was connected.
 
Thank you for the reply pbaldy.

I should have said in the original post that the application is for a single user on a single machine. I have no problem with splitting the database. Both the FE and BE would reside on the users machine. There would be no conflict with other users.

I think I need to create separate packages, one for the FE and one for the BE. Of course this would mean I will likely have to look at another packaging solution because I want the user to install from a single exe or MSI. I really dont want to require the user to have to run multiple setup files. I am not 100% sure but I dont think the built in packaging wizard allows for multiple exe's to be run.

Okay so assuming I can find a work around to packaging the FE and BE separately, I still have the issue of losing data whenever I release an update/upgrade. I still have no method of taking a backup , and then restoring that back up...preferably through a button control or similar within the application.

Any ideas?
 
An easy way to send a user an updated front end is to create a self extractnig file with a zip program like winzip. You can set it to self extract the db file to a specific directory which forces the user to overwrite their old file with your new file.

The user will not lose any data if all the data is stored in the backend.
 
An easy way to send a user an updated front end is to create a self extractnig file with a zip program like winzip. You can set it to self extract the db file to a specific directory which forces the user to overwrite their old file with your new file.

The user will not lose any data if all the data is stored in the backend.

Thats a simple enough way to update the front end.

Any ideas on how to update the backend without the loss of data? I really hope that I wont have to do much back end updating...I really hope I have planned well enough that I have all the tables I am ever going to need. However, no matter how much I plan, experience tells me, there will be something unaccounted for and will likely at some point have to update the back end, even if just to add an additional table. This brings me back to the backup/restore function. In a perfect world, the user could click a button that will take a backup of all the data. The new backend can be installed. The user then clicks a button to restore/import the saved data into the newly installed back end.
 
Maybe this will give you an option on how to export the data and/or objects so that you can import them back into an updated version of your database...
Export All Database Objects Into Text Files

No matter how you plan and design a database, you might have to make a design change to a back end which is normal but it makes it a lot easier when the backend is on a server that you can access to make your changes.
 
Maybe this will give you an option on how to export the data and/or objects so that you can import them back into an updated version of your database...
Export All Database Objects Into Text Files

No matter how you plan and design a database, you might have to make a design change to a back end which is normal but it makes it a lot easier when the backend is on a server that you can access to make your changes.

Thanks for that info. I will definitely be trying this.

In my case the application will be deployed to many individual end users. Not users in a network or corporate environment. As such each end user (single workstation/pc) will have both the BE and FE on their machine. As bugs are found, or general upgrades/updates are done, the user will have the option to apply the latest version to their current install.

I will assume the end user is a basic user and therefore aim to make as much of the process "point and click".

I am very keen to test this method out. Thanks again!
 

Users who are viewing this thread

Back
Top Bottom