We require a small application written in C#, that will copy a list of directories to external media (USB Flash Drive), verify the copy, and then allow the operator to copy the files back.
This utility is for backing up files that are often overlooked in regular backup applications
## Deliverables
This C# Application is to backup imprtant user files that are not backed up by regular backup application software.
The directories to be backed up are as follows:-
C:\Documents and Settings\{User}\Application Data\Microsoft\Address Book
C:\Documents and Settings\{User}\Application Data\Microsoft\Outlook
C:\Documents and Settings\{User}\Application Data\Microsoft\Signatures
C:\Documents and Settings\{User}\Application Data\Microsoft\Templates
C:\Documents and Settings\{User}\Application Data\Microsoft\Stationery
C:\Documents and Settings\{User}\Local Settings\Application Data\Microsoft\Outlook
C:\WINDOWS\system32\[login to view URL]
C:\WINDOWS\system32\[login to view URL]
The application once started will give the user three options in the form of simple buttons:-
1. Backup Files
2. Restore From Backup
3. Close Application
When **BACKUP FILES** is selected, the application will display the above list of files and provide a check box for each - to enable to user to un-select any files they do not want to back up.
When the backup is started, the user will be prompted to enter;- the machine id (a six digit number), the user profile (the application will provide a drop down box for all users registered on the system), and also will be asked to browse to the output directory.
Within the application, it will be possible to set the default output directory path.
When the above information is completed, backup will begin. The backup will begin by silently compressing all directories / files using the lzma compression method into one file.
A progress bar will be displayed so that the user has some indication of how far the process has reached.
When the backup is completed, the application will display a 'BACKUP COMPLETE' message to the user and will prompt them to either select another user profile or close the application.
When **RESTORE FROM BACKUP** is selected, the application will prompt the user to select the path to the compressed backup file. If the default path has already been set, then this be preset.
The user will be prompted to enter the machine ID.
When the above information is completed, the the user will press the 'BEGIN RESTORE' button. The application will silently decompress the backup file, and save to the specified path (where it was collected from).
Whilst the restore is in progress the application will show a progress bar.
When the restore is completed, the application will display a 'FILE RESTORE COMPLETE' message to the user and will prompt them to either select another user profile or close the application.
Notes: The machine id is used to name the file together with the user name, for example if the user profile selected was ' Email User' and the machine ID entered was 21000, then the compressed backup file will be placed in a folder called 21000 and the file will be called 21000 Email [login to view URL] - therefore the path could be as follows:
E:\Backup Store\21000\21000 Email [login to view URL]
.lzm is used as an example file extension only.
Also an important note is that this application must run without installation - no installation files are allowed on the machine being backed up or restored.
Programming Language; I am not fixed to C# although this is my preference. If you prefer to code this using a different language, then please clearly state this in your messages and bid.
Should you have any questions or if any of this is not clear then please do send me messages prior to bidding.
Project Extension: Also as a possible extension to this project, we would like to extract the keys for all MS products - using something like Magical Jelly Bean Key Finder or similar, and save the output as a plain text file in the same directory. This needs to run silently without user intervention.
Please make suggestions for this part of thge project and if bidding, clearly state if your bid includes this facility.