My actual problem is that I have encountered two versions of .NET 4.5 full setups:
MS recently patched .NET 4.5 to restore backwards compatibility with .NET 4.0 in some scenarios (see http://blogs.msdn.com/b/dotnet/archive/2012/10/17/net-framework-4-5-off-to-a-great-start.aspx).
It's possible that MS updated the setup with these changes (so that users upgrading to .NET 4.5 don't run into compat trouble), though I don't know why they wouldn't change the version number on the setup.
Also, note that there's a difference between the .NET version number and the runtime version number as reported by System.Environment.Version
. The latter still is 4.0.30319.* for .NET 4.5, only the revision number changes (with the .NET 4.5 update, and also with every security update).
Here are some examples of runtime versions observed in the wild:
Base 4.0
4.5
4.5.1
4.5.2
4.6 and later
I don't see any .NET updates in my Windows Update history, so I guess the update to v18010 got installed as part of KB 2756872.
Update: apparently Microsoft updated the .NET 4.5 setup due a mistake with the digital signatures in the original download. KB 2770445.