- a user could change his computer,
- could reinstall Windows,
- could upgrade to a different version of the OS,
- could need to match the same settings on 2 different machines,
- and so on.
Most apps just took for granted "Persist thy settings in the registry", and went on doing it.
This is not a bad idiom per se, the only problem is that those settings should be easily exported to some other medium, like a text file or so.
Reinstalling Windows is a pain in itself, you'll have to reinstall a lot of applications - and on top of that, you need to reset each application to give it the feel you've been used to. Reinstalling an OS or whatever I outlined above should be a much easier process.
Most applications (especially those non-trivial ones) should be able to import/export their settings. Most languages already have libs to deal with settings - however, exporting/importing could be a bit difficult, but hey, shouldn't be too difficult to come up with your own lib. And for C++, you can use my lib for free.
To make it even easier for users, there should be 2 global WM_ events:
- one for export settings to file
- one for import settings from file