Setup projects under VS2005 and VS2008 were easy to upgrade:
- select the Setup project
- go to the Properties tab
- update the Setup project Version
- accept VS suggestion to change the Product Code
- build the Setup project
Is it a bug? In fact no. It happens that VS2010 uses the installer in a smarter way. The MSI generated by VS2010 only replaces changed assemblies. The same principle is used by ClickOnce and it makes upgrades faster.
The question is: what is a changed assembly? Different update date? Different size? Not at all. Assemblies are different when they have a different File Version. As simple as that.
I'm not sure ClickOnce uses this criteria to identify different assemblies.
Upgrading a Setup project under VS2010 is a bit more complicated:
- update the File Version of all assemblies that are changed for this upgrade
- generate new binaries for these assemblies
- select the Setup project
- go to the Properties tab
- update the Setup project Version
- accept VS suggestion to change the Product Code
- build the Setup project
So what about the SolutionInfo and the Consistent Version Numbers Across All Assemblies technique? It's a way to make sure you don't forget to update the File Version of all assemblies, even if they didn't change. It's a kind'a "fail safe" upgrade. Of course you risk to replace too many assemblies that in fact didn't need to be replaced. The choice is yours.
No comments:
Post a Comment