UpgradeCode should remain constant throughout the lifetime of your application - that is how the installer knows if you are installing a newer version or not. ProductCode and PackageCode will vary with different versions and packages.

See: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/upgradecode.asp