Универсального способа нет, но я когда то сэкономил себе кучу времени скопировав весь профиль пользователя со старой установки на новую (была winxp, как минимум операционные системы должны быть одной версии и битности, в т.ч. сервиспака)
Если профиль был локальный, то делаем так
— создаем пользователя с тем же именем (меньше будет проблем, но теоретически реально изменить и имя, поиском и заменой по реестру, очень маленький объем программ где то сохраняет логин пользователя… например некоторые кривые игры создают папки сохранения используя логин)
— логинимся под ним
— тут же выходим
— логинимся под другим пользователем с правами администратора
— заменяем полностью всю папку профиля document and settings\user_name со старой установки (копированием!!! иначе будут проблемы с правами ntfs), рекомендую предварительно удалить новый профиль, чтобы была пустая папка (саму папку пользователя не удаляй, там прописаны правильные права ntfs)
— выходим из этого администратора
— логинимся под новым пользователем, тестируем
Затем для каждой программы копируем ветки реестра. regedit32 штатный позволяет подключить 'куст' из другой операционной системы и экспортировать в текстовый .reg файл, который спокойно редактируется (я имею в виду пути). Телодвижений не много, на каждую программу в hklm/software ищем подветку фирмы производителя или самой программы, их и экспортируем.
p.s. очень важно, чтобы перед этой операцией все те же самые программы были уже установлены! недостаточно просто скопировать, нужна полноценная установка!
Но за редким исключением мне удавалось обманывать некоторые программы (потому как подавляющее большинство их хранит настройки в hklm/software и hkcu/software). Просто помимо копирования файлов библиотеки и com объекты (activex) необходимо регистрировать (по уму если знаете какие, можно воспользоваться штатным regsvr32).