Azure and Guest OS Families
Recently one of our clients came to us with an issue: the Azure SDK 2.7.8 was being retired and needed updating for their Azure Cloud Services. OK, simple enough, but the issue was that the latest versions of the Azure SDK require .NET 4.6.2 installed to work. You see, when you deploy a Cloud Service to Azure, it deploys it to a VM that is spun up as part of the deployment process. And by default, Windows Server 2012 R2 does not come with .NET 4.6.2 installed. So the problem was, how do you get 4.6.2 installed on that flavour of Windows?
The answer is: you don’t. What you do is that you change your Guest OS Family version in one of your cloud service config files (ServiceConfiguration.cloud.cscfg).
Look at the two images below:
See that little difference there? “4” states that the Guest OS for your cloud service is Windows Server 2012 R2, whilst “5” deploys Windows Server 2016, which crucially DOES come with .NET 4.6.2 installed. So all in all, pretty straightforward!
As time goes on, the families will be retired: Guest OS Family 1 is already no longer supported. For more information, and updates on what is and is not supported, I recommend you bookmark this Microsoft document page.