I have run into a new situation more often that caused a few concerns for me that I thought I would discuss it some here. Let’s face it: there are bugs in the Visual Studio family of products. People have reported performance problems (and thankfully PerfWatson has been helping out tremendously with rich actionable data for the Visual Studio product teams.) However, did you know that a ton of these bugs are resolved & released after initial release? There are been great stability and performance improvements that have been released since the initial RTM of each of the Visual Studio versions.
Starting with the Visual Studio 2010 and Team Foundation Server 2010 release cycle, Microsoft has started to put more and more of these updates through the Windows Updates distribution system. It’s great! They are easily discoverable and can be part of your regular updating schedule. However, this only works if they are actually available to you.
I have found more and more that people aren’t actually seeing these Windows Updates for Visual Studio and TFS in corporate environments. When I started looking into this with a few companies, I discovered that IT departments are purposely either ignoring anything “developer” related in the Windows Updates system or rejecting them completely. What?! There were some that didn’t even know to look at these important categories.
If they do see them but have been ignoring them, the reasoning has typically been because IT groups don’t understand the impact of those changes so they just would rather ignore them until they understand them more. I think that’s fair but there didn’t seem to be any drive for already over-burdened IT teams to actually figure out those impacts. IT departments are not traditionally using Visual Studio from day to day and don’t typically have the right expertise to understand the impacts. There has traditionally been a gap between Software Engineering groups and IT departments at companies. That’s a bigger problem to tackle for a different day. However, this is where a software engineering team can collaborate and help IT departments out.
Distributed Updates in Corporate Environments
You may have been asking, “why would my IT department have anything to do with the Windows Updates on my development or testing machines?” That’s a great question. In some corporate environments, you can actually setup internal servers to act as an intermediary between the machines on the internal network and the central Windows Update system. IT departments do this for many reasons including making sure that certain updates won’t impact existing applications on business users machines. Let’s face it – your VB6 invoicing & order processing app that you built 15 years ago that is still limping along but vitally important to your business may or may not get impacted by a new update that’s available for Windows 7. It happens, right?
To help you feel better about the updates we’re discussing in this blog article: there is a very high cost internally for anyone on the Visual Studio product teams to push an update through the Windows Updates system. There’s a very high quality bar before they are approved internally. They also wait for several weeks to a couple of months to make sure that no critical issues are reported from early adopters of those updates. Not every update is sent through the Windows Updates system so the ones that do really are important. There are many updates that are beneficial that never get released through Windows Updates.
There are many commercially available tools for “pushing” updates to customers. Off the top of my head, Microsoft has a high-end version called System Center Configuration Manager and a free version included with Windows called Windows Server Update Services (WSUS). Additionally, there are group policies in Active Directory that IT Administrators can apply to have machines in the domain talk back to one of these servers for their updates. You can usually tell if you are in this situation by heading to Windows Updates from your Control Panel and checking to see if it says something like “Managed by your system administrator.”
Check out the Best Practices for Group Policies when using WSUS
You could click the link that says “Check online for updates from Microsoft Update” but some IT departments have even disabled that link from working through Global Policy. If any of this is setup internally, it means that all updates basically go through a gatekeeper which is someone who is actively (or inactively) managing the updates in your IT department in one of these internal update servers. This can be a good thing or a bad thing from what I am seeing more often.
Approve the Visual Studio Family Updates
This is the time when you might want to setup a meeting with your IT department to indicate that your software engineering teams actually do care about these updates and want them approved or even delivered automatically. They may not even know that they even exist now with this new release. Here are the categories that the teams should think about covering:
- Visual Studio (including Agents)
- Team Foundation Server
- .NET Framework
There was improvements that helped performance in the Workflow Designer when editing TFS Build process templates in Visual Studio 2010. These improvements were actually delivered as a .NET Framework QFE. BTW, There are also additional steps that you could take that I have discussed previously on my blog. My point by mentioning this is that IT Departments still need to monitor for even .NET Framework updates to help improve the stability and performance for the development environment for software engineering teams.
Enabling Microsoft Update
If your machine isn’t dictated by an internal Windows Updates server by global policy (or if you use check for updates online using the central Windows/Microsoft Updates infrastructure) you may still not see the Visual Studio updates. This is because by default Windows only checks for Windows Updates. If you want to check for updates for all Microsoft software then you actually need to enable Microsoft Update. There is a small distinction but has a large impact on what’s available for your machine.
Product Updates Improvements in Visual Studio vNext
For those that seem to still have issues with Windows Updates internally, you’ll like seeing that Visual Studio “11” now has Product Updates shown with other types of tools & extensions updates in the Extension Manager. I doubt that this will include Microsoft Test Manager or Team Foundation Server updates though. I hope I am very wrong about it though and would be very happy if they do send those types of updates down through this new mechanism!
You can see these by heading to Tools –> Extension Manager and then look at the Updates section of the window as shown below. I can imagine us seeing all sorts of new updates that will come through this system including feature packs, power tools, cumulative updates, etc. I would imagine that there will be quite a few more updates then would even traditionally be sent through Windows Updates. That’s a big win for us especially when you want to have the latest features & stability improvements available for your development environment.
Go have that discussion with your IT department now and if you can see what might be missing by checking for updates from Microsoft’s centralized Windows or Microsoft Update.