Установка программы предполагает занесение данных о ней в реестр.
Не обязательно.
Может заносить, может не заносить.
Может заносить только данные об установщике и деинсталляторе, может заносить конфигурацию. Может ничего не заносить.
После повторной установки прежде удалённой программы данные о ней в реестре дублируются или просто перезаписываются?
Каждый программист своей программы придумывает что и зачем хранить в реестре, а также что делать с реестром в новой версии.
И как с этим вопросом обстоит дело у portable установок?
Основная идея портабл установок - не зависеть от реестра, все хранить только в одной папке с программой.
Максимум - запись о том, что программа установлена, чтобы можно было вызвать деинсталлятор