-------------------------------------------------------------------------- POPFile 'User Data' Backup/Restore Utility version 0.0.28 (Build F) -------------------------------------------------------------------------- WARNING: This is an experimental version produced for test purposes. IF YOUR DATA IS IMPORTANT DO NOT USE THIS AS YOUR ONLY BACKUP PROGRAM -------------------------------------------------------------------------- Change History: 0.0.28 (F) (a) Incorporates 'Restore' wizard version 0.0.21 (Build F). (b) The 'Backup' and 'Restore' wizards have been rebuilt using the latest NSIS compiler (v2.45) which means they are now compatible with Windows 7. (c) Update both wizards to handle the current 1.1.1 release. (d) Built using the latest revision of the PFI library. 0.0.27 (B) (a) Incorporates 'Restore' wizard version 0.0.20 (Build A). (b) Both wizards now handle SQLite 3.x databases as used by POPFile 1.1.0 or later 0.0.26 (A) (a) Incorporates 'Restore' wizard version 0.0.19 (Build A). (b) Both wizards now check the user-specific registry entry first when determining where to look for the POPFile program files. Oops! 0.0.25 (T) (a) Incorporates 'Restore' wizard version 0.0.18 (Build N). (b) The 'Backup' and 'Restore' wizards have been rebuilt using the latest NSIS compiler (v2.37) and given some new icons. (c) The 'Restore' wizard's FINISH page now shows the path to the 'Add POPFile User' utility to allow the user to cancel this option if the wizard has chosen the 'wrong' utility. This makes it a little easier to cope when more than one copy of POPFile is installed on a system. 0.0.24 (C) (a) Incorporates 'Restore' wizard version 0.0.17 (Build A). (b) The 'Backup' and 'Restore' wizards have been rebuilt using the latest library to ensure they use the new and improved Vista-compatible method for detecting if POPFile is running. 0.0.23 (A) (a) Incorporates 'Restore' wizard version 0.0.16 (Build A). (b) Updated to specify the execution data Vista expects to find. 0.0.22 (B) (a) Incorporates 'Restore' wizard version 0.0.15 (Build B). (b) Updated to use the NSIS 2.22 compiler (instead of NSIS 2.19) 0.0.21 (C) (a) Incorporates 'Restore' wizard version 0.0.14 (Build A). (b) Rearranged the 'Restore' wizard's WELCOME page to avoid truncating the "Click Next to continue" text when the localised timestamp overflows on to the next line ('Backup' wizard's text also modified to match). (c) Correct a minor typo in 0.0.20 (N)'s Change History entry. 0.0.20 (N) (a) Incorporates 'Restore' wizard version 0.0.13 (Build F). (b) Updated to use the NSIS 2.19 compiler (instead of NSIS 2.15) (c) Added a '/source' option to extract the source files used to build the BRU (this increases the BRU's size by about 16 KB). (d) Updated the license because updated NSIS components are used. (e) The 'Backup' and 'Restore' wizards now use a workaround which attempts to ensure all of the temporary files get removed. (f) Replaced the in-line DumpLog functions with library functions. 0.0.19 (N) (a) Incorporates 'Restore' wizard version 0.0.12 (Build J). (b) 'Restore' wizard's WELCOME page now displays a user-friendly timestamp string using the current locale setting instead of the default NSIS timestamp string. (c) 'Backup' wizard now shows the space available on the destination drive. (d) Updated to use the NSIS 2.15 compiler (instead of NSIS 2.0) which offers, amongst other things, auto-completion on the DIRECTORY pages. (e) The 'Restore' wizard no longer uses solid compression (because the compiler no longer defaults to using solid compression when bzip2 is selected). 0.0.18 (S) (a) Incorporates 'Restore' wizard version 0.0.11 (Build L). (b) When displaying the "Recent Messages" statistics the 'Backup' wizard now uses the system's "thousand" separator instead of always using a comma. (c) 'Restore' wizard now ensures that the PID folder exists (if it doesn't then POPFile will not create the PID file and therefore be unable to detect if another copy of POPFile is running). (d) 'Restore' wizard now ensures that the log file folder exists (if it doesn't then POPFile will not save any log files). (e) If the 'Restore' wizard includes the "Recent Messages" folder the COMPONENTS page shows the number of files & the total size. (f) Both wizards now use a plugin to save the log files (this is much faster than the standard script-based method). (g) When the "Recent Messages" folder is restored the log file now includes some message statistics. 0.0.17 (X) (a) Incorporates 'Restore' wizard version 0.0.10 (Build D). (b) Remove the "Setup" text from the confirmation message shown when the user cancels the 'Backup' or 'Restore' wizard. (c) When the "Recent Messages" option is selected the 'Backup' wizard displays the number of files involved and their total size when it warns about the extra size and time overhead. (This information is also shown on the SUMMARY page.) (d) The 'Restore' wizard's SUMMARY page now shows the number of files and their total size when the message history is to be restored. 0.0.16 (H) (a) Incorporates 'Restore' wizard version 0.0.9 (Build A). (b) Move the "Click Start..." and "Click Restore..." text from the DIRECTORY pages to the new SUMMARY pages (should have done this when the SUMMARY pages were introduced). (c) Improve the progress reports shown by the 'Backup' wizard and use language strings for all of them. 0.0.15 (P) (a) Incorporates 'Restore' wizard version 0.0.8 (Build K). (b) Both wizards now display a summary page to allow the user to review (and change) the settings before starting to backup or restore the 'User Data'. The 'Restore' summary page also lists some information about the source of the backup data. 0.0.14 (C) (a) Incorporates 'Restore' wizard version 0.0.7 (Build C). (b) Fix the bug which sometimes displayed the "increased size and build time" warning when the SQL Dump setting changes. 0.0.13 (C) (a) Incorporates 'Restore' wizard version 0.0.7 (Build C). (b) If the user decides to include the message history in the backup the "increased size and build time" warning message now appears at once (instead of when "Next" is clicked). 0.0.12 (E) (a) Incorporates 'Restore' wizard version 0.0.7 (Build C). (b) 'Backup' wizard logging improved. (c) Revised icons for both wizards. (d) Improved the version checking in both wizards. 0.0.11 (A) (a) Incorporates 'Restore' wizard version 0.0.6 (Build K). (b) Compilation of the 'Restore' wizard no longer fails if the user selects a non-existent output folder (oops!) 0.0.10 (A) (a) Incorporates 'Restore' wizard version 0.0.6 (Build K). (b) Corrected some errors in the unused parts of the data structure used by the function which sends the previous 'Restore' utility to the Recycle Bin. 0.0.9 (R) (a) Incorporates 'Restore' wizard version 0.0.6 (Build K). (b) Both wizards updated to work with the latest library. (c) Both wizards use improved folder selection handling. (d) 'Restore' wizard uses improved detection of cases where SFN support has been disabled. (e) 'Backup' wizard should be able to save the SQL dump when used on WinXP systems (earlier versions failed to do this). (f) 'Backup' wizard now stores the SQLite database format when it finds a SQLite 3.x format database. 0.0.8 (K) (a) Incorporates 'Restore' wizard version 0.0.5 (Build B). (b) 'Backup' now performs an integrity check on the SQLite database before making the backup (unknowingly making a backup of a damaged database gives a false sense of security). (c) If the user wants to replace the old backup file, the 'Backup' wizard now sends the old backup file to the Recycle Bin instead of permanently deleting it. 0.0.7 (H) (a) Incorporates 'Restore' wizard version 0.0.5 (Build A). (b) Rebuilt using latest library file with the new DumpLog and SQLite utility functions. (c) The "Version Information" for both wizards includes some extra information to help identify the source files used. 0.0.6 (B) (a) Incorporates 'Restore' wizard version 0.0.4 (Build A). (b) Improved handling of the case where the SQLite database cannot be accessed after an apparently successful POPFile shutdown (previous versions ended with a NSIS compilation failure). 0.0.5 (A) (a) Incorporates 'Restore' wizard version 0.0.4 (Build A). (b) Fix the problems with the previous version's "improved" POPFile detection (both wizards did not always use the registry data when it was valid). 0.0.4 (J) (a) Incorporates 'Restore' wizard version 0.0.3 (Build F). (b) Added some more information to the log file created by the 'Restore' wizard. (c) (very) Limited support added for current CVS version of POPFile (the first steps towards the 0.23.0 release which will include phase 2 of the multi-user changes for POPFile). (d) Both wizards feature improved detection of the POPFile version. 0.0.3 (B) (a) Incorporates 'Restore' wizard version 0.0.2 (Build C). (b) The 'Backup' and 'Restore' wizards now reserve the plug-ins (which can improve the run-time performance). (c) The log file created by the 'Restore' wizard now includes some information on the source of the data which was restored. 0.0.2 (F) (a) Incorporates 'Restore' wizard version 0.0.1 (Build C). (b) 'Backup' wizard code further simplified to make it easier to maintain. (c) The output filename is shown when asking for the output folder. (d) 'Backup' wizard can now replace read-only 'Restore' wizards. (e) If the output file exists, user is asked for permission to replace it (user is free to select a different output folder to avoid overwriting the file). 0.0.1 (E) (a) Incorporates 'Restore' wizard version 0.0.1 (Build C). (b) 'Backup' wizard incorporates improved detection of the SQLite database format, including the POPFile schema version. (c) 'Restore' wizard now identifies the SQLite database format and the POPFile schema version when restoring the database (but it does not alert the user if an automatic database upgrade will occur when POPFile is started). Build 284 (a) Incorporates 'Restore' wizard build 244. (b) 'Backup' now accepts SQLite2 as a valid database connection value (so it no longer ignores the SQLite database when SQLite2 is specified for the connection). (c) 'Backup' now only attempts to generate the SQL (ASCII) dump if that component is selected and if the SQLite database is a 2.x format one (3.x format databases cannot be dumped using the sqlite.exe utility included in the wizard). The binary version of any format of SQLite database is always backed up (if it is in the 'User Data' folder or in one of its sub-folders). Build 276 (a) Incorporates 'Restore' wizard build 244. (b) Improved language string handling. (c) Improved 'Backup' wizard progress reporting. (d) Uses "defines" for the various "new line" sequences. (e) Waits for the SQLite database to be closed before making the backup copy (it can take a few seconds for this to happen on some systems). Build 268 (a) Incorporates 'Restore' wizard build 242. (b) New WELCOME/FINISH and page header images for the wizards. (c) 'Restore' wizard's SQLite database overwrite prompt removed (old version is always backed up so that prompt is redundant). Build 266 (a) Incorporates 'Restore' wizard build 240. (b) 'Backup' and 'Restore' can now handle SQL dump of the SQLite database. 'Backup' assumes SQLite 2.x and uses built-in copy of sqlite.exe 2.8.13 to perform the SQL dump. 'Restore' just extracts the SQL dump to the 'User Data' folder. (c) 'Backup' & 'Restore' log reports now mention the date and time. (d) 'Backup' displays a warning if 'Recent Messages' is selected. (e) 'Restore' wizard can now attempt to shutdown POPFile itself. (f) The text layout on the 'Restore' wizard's FINISH page has been adjusted to cope with longer usernames. (g) The code has been rearranged for easier maintenance. Build 247 (a) 'Backup' and 'Restore' wizard component lists are now similar. (b) 'Restore' wizard now shows existing/restore data paths and the version numbers when about to overwrite existing data. (c) Both wizards now include their build number in title bar and in their log reports. (d) 'Restore' wizard now reports correct size for SQLite databases. (e) If Recent Messages are not restored, the wizard now checks the 'popfile.cfg' parameter is still valid. Build 239 (a) first public test version ########################################################################## POPFile 'User Data' Backup/Restore Utility Starting with POPFile 0.21.0, each user can have separate configuration data with the location being passed to POPFile via environment variables. The Windows installer and 'Add POPFile User' wizard make it easy for each POPFile user to have separate configuration data. The Start Menu shortcuts created by the Windows installer and the 'Add POPFile User' wizard ensure that POPFile accesses the correct set of 'User Data'. Some user-specific registry data is used to support this scheme and this means that making a backup now involves more than merely copying some files. The POPFile 'User Data' Backup/Restore Utility has been created to make it easier to backup and restore the 'User Data' for a single user. The utility is in two parts: (a) the 'Backup' wizard lets the user choose the data to be backed up and then generates a customised 'Restore' wizard (in other words the backup copy of the data is a single EXE file) (b) the 'Restore' wizard lets the user choose the location where the data is to be restored and also lets the user choose which of the data items are restored The 'Backup' wizard always saves the following data items: (1) user's configuration data (popfile.cfg) (2) list of words to be ignored by POPFile (stopwords) (3) POPFile corpus (SQLite, BerkeleyDB or flat-file format) (4) information required to restore the email client settings (5) uninstaller (used to restore original email client settings, etc) The user can also choose to save: (6) SQL database dump (a text file which can be used to rebuild the database) (7) 'Recent Messages' history A log containing a record of the actions performed by the 'Backup' wizard is saved in the 'User Data' folder. The 'Restore' wizard is a special installer which allows the user to choose where the data should be restored and which components are to be restored (any of the seven data items listed above can be restored). If an existing copy of data items (1), (2), (4), (5) or (6) is found, the 'Restore' wizard will rename it before restoring the data. The wizard will also rename an existing SQLite database file before restoring it. The current wizard will maintain up to three renamed copies of these items (using .bk1, .bk2 and .bk3 file extensions). A log containing a record of the actions performed by the 'Restore' wizard is saved in the folder where the 'User Data' was restored. This log identifies which files (if any) were renamed during the restore process. When the data is restored to a system which has POPFile 0.21.0 (or later) installed, the restore utility will offer to run the 'Add POPFile User' wizard to update the registry settings, environment variables and Start Menu entries to suit the newly restored data. For this release the Backup/Restore utility only saves the corpus and message history if they are stored in the 'User Data' folder or one of its sub-folders (for releases earlier than 0.21.0, the 'User Data' folder is always the folder where POPFile was installed). -------------------------------------------------------------------------- Home page for this utility: http://www.sugelan.co.uk/popfile/databru.html -------------------------------------------------------------------------- Brian Smith POPFile's homepage: http://getpopfile.org/ POPFile Discussion Forums: http://getpopfile.org/discussion -------------------------------------------------------------------------- (end)