Некоторые программы для своих разных версий делают независимою установку. А некоторые и для разных пользователей одной версии. А ещё бывают именованные установки, то есть и одной версии, и для одного пользователя делаются независимые установки.
Нередко в установщиках есть вариант "чистой установки", то есть предварительно из системы удаляются все файлы и записи в реестре о предыдущей установки.
Также всё больше программ делают экспорт/импорт настроек, поэтому им не нужно сохранять их в реестре после удаления. Иногда "чистая установка" вместе с экспортом/импортом настроек делает полностью автоматически.
Портативные программы записи в реестре не делают, кроме самой системы, которая может, например, записать параметры запуска программы сама.
Если вас волнуют все 'хвосты', то обратите внимание на C:\Windows\Installer
,C:\ProgramData\Package Cache
, C:\ProgramData\Packages
. Здесь скапливаются все пакеты установки, оставленные "на всякий случай" и навсегда.