Tim says the right way to install a newer version of the Magento extension package is to first run the uninstall option in MagentoConnect Manager to remove the old extension, and then run the installation to install from the newer package file.
Unfortunately, this is the (bad) design of the MagentoConnect package manager function.
It is also worth explaining what happens to any database changes that the extension / package makes. Magento modules do not have the ability to specify removal scripts or instructions. This means that after deleting the source module / package, any database changes are still present and NOT deleted. When the new version of the module is reinstalled, this should run the DB module update scripts, and not "install scripts".
So, a detailed breakdown of what happens is as follows:
When the module is initially installed from the package, the latest installation script module is launched, which corresponds to the module version in the config.xml file, making the necessary changes to the database.
When the module is not configured from the MagentoConnect manager, the database remains as it is, so all changes to the module are still present in the database.
When a newer version of the module is installed, the Magento database core_resource table tells the installer which version of the module was previously installed. The numbers of the previous version and the new version are used to find the applicable script database update in the module code. If the corresponding script update is located, it will be launched.
source share