Backup Program

Recently I had a scare where I thought I lost all the information stored on my Windows desktop. I had many files that were sitting only on the desktop. And I had shortcuts to files and programs on there. This made me realize that I needed to back this stuff up. Currently I have no backup software. I can backup actual files to some other media. But that will not take care of files on my desktop. It will also not store important settings like the configuration of my Outlook Express e-mail program. So I thought this might be a good program to write myself.

I figure it is a dangerous thing to mess around with a backup program. That is a mission critical application. You have to get it right. So I figured I would first test out the backup program by restoring to a new machine. That will be a hard core test. The new machine will not have any of the software or files already. If I can restore to there, I should be good. Then it will just take a final test to ensure I can restore to my original system.

My initial source of concern to want a backup program is the Windows desktop. A little research has shown that the desktop is really a folder on the file system. Any files that are stored directly on the desktop are in this folder. And and files referenced on the desktop with a shortcut are stored as link files in this folder. This seems simple enough. Maybe I can just copy the entire desktop folder for backup purposes.

What other things could a “smart” backup program do? By smart I mean a program which will do something other than making an image of the whole hard disk. I know I need my Internet Explorer favorites. And I also want my Internet Explorer security settings. There are some specific data folders of interest on my hard drive. Maybe my program can let the user choose these. I also like the theme of my Windows configuration. For example I like my wallpaper and screen saver.

Obviously there are some tricky points. Can I easily backup to a different version of Windows? And what about storing off portions of the Windows registry? Then there are some design decisions to make. Should I implement some strategy for organizing different backups? Do I allow incremental backups? Do I use compression on the backed up data?

I doubt any of my research and resulting program will turn into a commercial product. It is just fun to think about and investigate. I knew a guy that ran a business developing and selling software backup solutions for MS-DOS. Perhaps I can talk him into letting me have his source code.