A new version of Azure MFA Server was released at the end of March 2016, version 18.104.22.168. This provides an in place upgrade to the previous version 22.214.171.124. This version is based on .NET 4.5 and not .NET 2.0, which is the big change in the product, along with new end user functionality in the ADFS Adapter. Note the upgrading the ADFS Adapter piece is prone to issues, which I have documented here.
This blog post just outlines the standard upgrade process. It takes about 10 minutes and the service is uninstalled and reinstalled, but leaves the database and settings in place – so it requires downtime or a load balancer. If you have more than one MFA server in a cluster then the older versions still running 126.96.36.199 will still work for users but the administration screens are read only once at least one server is upgraded. All servers should therefore be upgraded in a short interval.
Before upgrading, take a copy of the “Program Files\Multi-Factor Authentication Server” folder as a backup is useful, especially if you have the ADFS Adapter installed as the service name has changed and that breaks ADFS Server.
Then, the following are just the sequence of screenshots from the installation (upgrade) so you know what to expect:
The old version has a 2013 splashscreen:
The MFA admin page points out that a new version is available:
Ensure you have the May 2014 Cumulative Update on your Windows Server 2012 R2 boxes (you ought to regardless of this prompt):
Visual C++ (x86 and x64) versions will be installed:
Then there follows a long pause of a good few minutes. Hang in there, the old software is still in place and running. The new installer will start shortly:
And complete in less time than you waited for the installation to start:
The service restarts and this machine is now running the 7.0… version
If you start the admin console you will see that it is copyright 2016:
You will also get prompts about upgrading any of the installed components. If you look in Programs and Features at this time you will see that there might be some components still on version 6.3.1:
You will also see that the admin portal is running mixed versions:
If you open the admin console on another node, you will be warned about the mixed versions:
As long as you upgrade all the components one after the other you should get no issues, so I don’t recommend an order for these components to be installed in, but I do not recommend leaving them not upgraded:
I also recommend installing the required components in advance, as that is quicker. For an upgrade you need to install ASP.NET45 under IIS Application Development in Server Manager. You will return here at the end to uninstall .NET 2/3.5 if appropriate.
When it comes to upgrading though, I do recommend you upgrade on component and then the next. Don’t start them all at once – though you will be prompted all at once to do this. So pick one, click Yes and wait for that to complete. It will take a few minutes for each installer to start, so be patient:
Note that the installer does not suggest the correct Application Pool for each component. So make sure you select the correct one each time.
Then move onto the next installer. If you closed the Yes/No prompt for each installer you can reach it via that area of the admin console:
Remember to set the Application Pool correctly as well:
Like the User Portal installer, there is not much to see so close the installer when finished. Ensure you are running the latest .NET updates as well though:
I have documented the ADFS Adapter upgrade on this post, as there are specific issues with it.
If once you have upgraded all the previously installed components, you visit Programs and Features you can see that the Mobile App is not upgraded. The mobile app is not installed via the admin console, so the console will not prompt about the install. To install the Mobile App run MultiFactorAuthenticationMobileAppWebServiceSetup64.msi from C:\Program Files\Multi-Factor Authentication Server. You will need to start this installer from an administrative cmd prompt:
Again, change the Application Pool to the correct value for the application. It will show the Virtual Directory as well here, and unlike this example, this is recommended to be something easy to type on a mobile device. Upgrading the app does not recall the previous virtual directory name, and so you should ensure that you enter that here as well. If you upgrade it and do not change the Virtual Directory name then you need to uninstall it and reinstall it, but remember to copy the upgraded web.config from the virtual directory first. It contains the username and password of the SDK user account.
Upon completion of all nodes in the MFA cluster, the admin portal shows all versions the same:
Finally, note that though you may pick the Application Pools during the various installers, new pools with new names (starting ASP.NET v4.0) are created but not used. The old app pools are upgraded to .NET 4.0 and I recommend removing the unused pools at your convenience as both the unused and used pools are the same apart from in name: