I havent tried upgrading from windows 7 home to win 8 ultimate, but have tried vista home to win 7 ultimate and win7 to win 8 upgrades all of which migrate the installed programs to new OS.

If you have a lot of programs installed the process takes a lot of time ( hours...somebody even reported 20 hours in one of the forums). The upgrade process nornally gives a compatibility report in advance and is useful in most scenarios.

Before upgrade try to install the latest BIOS and driver versions on the old OS as it is one of the problems faced during the upgrade.

Hope this helps.