I have an installation that installs my software library, and provides an uninstall for the user to uninstall it.
What happens if the user installs my software library, and then again reinstalls it. When he runs the uninstall, will the library be removed, or will only the last reinstallation be removed?

I understand that for some packages you want to be able to apply patches, and only remove the last patch. In my case, I want uninstall to remove everything.

How does this work?