I'm working on a database install/configuration page where the page asks the user for the database credentials, his software credentials, and a few other options and then proceeds to attempt to create and/or populate the database. There are four main sections: Data entry, database table creation, database population (for certain defaults), and configuration file writing.
My question is what would be the best way to proceed from section to section? If one section fails, should the install script detect the failure and then proceed from the beginning of that part, or if the install fails, should the script remove what was done and start from scratch? Should it do a combination of the above?