tags:

views:

37

answers:

1

I released an update early this morning and my versioning was previously like this:

Major.Minor.Fix.Date

So last week would have been something like 3.6.3.62810 which was fine. Today I deployed something like 3.6.4.70510 and, to my surprise, after I deployed, no-one could update the application. Considering that I also made it the min version allowed, no-one could run it at all. (Fortunately it affected only 2 people).

Investigating the error, I found that the version was 'invalid' and exceeded the range. I did fix it, and the lack of input validation in VS is a bit odd but considering that ApplicationDeployment.CurrentDeployment.CurrentVersion.X (where x is any of the major/minor/etc. fields) is an int, how did this go out of range?

+2  A: 

The documentation for Version.Revision Property refers to minor/major revisions, with the major revision being in the top 16 bits. I think this is what you've fallen fowl of.

Richard Harrison