Updating Integration Services with SCVMM

As a Hyper-V program manager, I am very familiar with the process for upgrading virtual machines using Hyper-V.  But I also often get questions about how you do this through System Center Virtual Machine Manager – and why the experiences are different.

How you do it is easy enough – right click on the virtual machine and select Install Virtual Guest Services.  But there are some key things to know that catch some people off guard.

The biggest one is this:  you cannot update the integration services with SCVMM while the virtual machine is running.

Here you can see that I have bought up the contextual menu on a running virtual machine, and the install virtual guest services option is disabled:


If I shutdown the virtual machine first, and try again – you will see that the option is enabled:


If I select to install virtual guest services at this point in time, SCVMM will go ahead and do so with no further input from me.

But why does SCVMM require that the virtual machine is off (when Hyper-V does not)?  The short answer is because the in-box Hyper-V tools and SCVMM were designed for very different users.

The in-box Hyper-V tools do not require you to turn off the virtual machine in order to update the integration components, which is nice, but they do require you to login to the virtual machine in order to complete the installation process.  This makes sense when you are managing a handful of virtual machines on a single server – but it does not scale to hundreds of virtual machines across multiple physical servers.

SCVMM handles integration component update by mounting the virtual hard disk and performing an offline installation of the integration components.  While this does require that the virtual machine is turned off first, it makes it much easier to perform on large sets of virtual machines.