As of right now, the included SB uninstaller cannot add components to an existing deployment, remove only certain features of an existing deployment, or repair the existing feature set. As a result, I just out of a way to make this possibleÖ And I wanted to see if this is a viable solution:

Hereís my thought:
1. Build each component as itís own stand-alone installer (which includes an uninstaller)
2. At install time put a file (Iím installed.txt)
3. Create a custom uninstaller with add features, repair install, and remove everything options
4 if user chooses repair, re-run only the original setups that the user selected (read from file), if user selects remove everything (
Run all the component uninstallers, clean anything else up and call it a day; if the user selects add features then the original setup runs with the original features grayed out thus only adding features not installed.

If the user reruns the original set up and not the uninstaller, the system will detect a file such as installed.ini in the installation directory and thus show a page that asks whether they use or would like to add features, repair of the existing install, or if they wish to uninstall third of the control panel.

These are just some thoughts I had on implementing this type of behavior, I was wondering if there was anyone that had a better way to do it and if so, can you please give me some advice?