Last time we were talking about the issue of how to handle user settings when uninstalling. The uninstaller can either:
- Leave them behind
- Delete them
- Ask the user
NOTE: The uninstaller cannot delete settings for users that are not logged in. The uninstaller would have to leave a program behind for these users to use to remove settings. This creates extra work for the developer.
User Settings vs Documents
Before going further it is useful to make a distinction between user settings and documents. Application uninstallers should NEVER delete user documents. User settings on the other hand may be deleted. (Image below taken from Artur84 of freedigitalphotos.net)
User settings are stored in the registry under HKCU\Some Company\Some Product and on the file system under the application data folder like C:\Users\Bob\AppData\Local\Some Company\Some Product. User setting typically store per user program settings like the window size and position and last view.
How do I know if it is not a user document?
Things can however tricky when things that maybe should be user documents are treated as user settings. For example consider a saved state in a game. The game may choose to treat it as user settings and the user’s progress in the game may be erased when he uninstalls. How can a program prevent this from happening? In general it would make sense that any data that could represent a big investment of time and work on the user’s part should be treated as user documents.
How does Install Monitor help solve this problem?
Install Monitor tracks the items created during the installation and use of a program. As a result any user settings and documents are grouped with the program. When the program is later uninstalled if those settings are still there they will show up in Install Monitor under that program. The settings can then be deleted directly or with the “Clean up” button. Note that this conveniently solves the problem of deleting user settings for different users. When another user logs in they can also remove their settings in the same way.