Broken .NET after an in Place Upgrade from 2008 R2 to 2012 R2




So after a sleepless night of assisting with an upgrade I figured the BEST place to share the findings of an issue and the resolution would be within this community.  To say my Halloween was scary is an understatement!




Here's the scenario:


  • 4 VM's - 2 on Windows 2008 r2 and 2 already on Windows 2012 r2


Action plan


  • In place upgrade of the two windows 2008 r2 to Windows 2012 r2.
  • Upgrade SolarWinds products to latest builds and hotfix’s.




After math of VM upgrades:


Upgrade appeared to go fine.  However, the collector services and the job engines would not start after the reboot of the completed upgrade to 2012 r2. Interesting at first as the error in the application event log stated "User does not have sufficient rights to start this service". Tried to uninstall the job engine and reinstall and install would fail and revert.




At this point, I'm thinking "Great, complete overhaul on SolarWinds products???", it’s time to put my trusty googling efforts in full force.


I compared the Windows 2012r2 that was already in place and noticed that the .net tcp port sharing service was started on them.  When I went to the newly upgraded ones it was not.  Eureka!  I'll just start this right?  No...  The service would not start and had the error of “Service did not respond to start or control request in a timely fashion. Event ID: 7000".



I found that .net 4.5.1 actually will get broken on in place upgrades.  That even the .net repair tool will not resolve.  Since 4.5.1 is a part of windows 2012 it’s not easily uninstalled and reinstalled.  So as a Hail Mary I was able to download and install .net 4.5.2 and apply.  This resolved the issue and the port sharing was able to start.


I was able to then upgrade SolarWinds products without an issue, whef!


So as a precautionary tell if you’re planning on doing an in place upgrade be aware that .net can be partially broken.  To resolve download and install 4.5.2 .net and everything should play nicely once again.



If any of you guru's out there know of ways to prevent this please share! 




Hope this helps someone and saves some unexpected downtime


As always thank you for reading!