Q:

Best way to upgrade Magento 1.6.2.0 to 1.9.0.1

I'm having a live site running Magento 1.6.2.0.  Besides having customized template, I also have installed 3rd party modules. 
As time goes by I thought it would be wise to upgrade the system, as well as changing the theme from normal to responsive. 
Currently my site is running on a cloud hosting server (aka VPN), therefore I can run more than 1 magento in the account. 
There are 2 known methods:

Upgrade via Magento Connect
Fresh install

Any one knows which method is best practice?  If fresh install is needed, any idea what are the steps required?  Thanks! 
Oops, meanwhile which is better?  1.8.1.0 or 1.9.0.1? 

A:

Upgrade Roadmap for CE 1.9.0.1 from 1.6.2.0

Take a backup of current database and current 1.6.0.2 code.  place maintenance.flag file inside 1.6.2.0 code folder to put website offline. 
Download latest magento from the http://www.magentocommerce.com/download
Remove all folders and files from your 1.6.2.0 code except maintenance.flag (but you should have backup somewhere) and place all folders and files from the 1.9. 
Now from your 1.6.2.0 merge your following custom folders into the 1.9

Community app/code/community
Local app/code/local
Media
your theme or package (app/design/frontend/default/<your theme> or app/design/frontend/<your package>)
custom folders from Skin (both for adminhtml and frontend). 
copy your custom xml files from app/etc/modules/ to current app/etc/modules/
any custom admin theme folder from adminhtml/default/yourtheme. 
copy your custom folders from adminhtml/default/default/ (1.6.2.0) to adminhtml/default/default/ (1.9). 
custom js files if any from app/js/.

Now go to app/etc/local.xml. Edit database details their.put your database username and password and database name. 
Remove maintenance.flag file and check the site in the browser.  it is done. 

P.S. For more inforrmation on magento upgrade you can refer http://learnnewtechnologiesonline.com/magento/upgrade-your-magento-1-x-version

