Sitecore 9.1 Initial Release & SIF 2.0 Stuck on Prerequisites

Infrastructure

After recently installing a scaled Sitecore 9.1 Initial Release topology on a single Windows Server 2016 virtual machine using SIF 2.0 I ran into some issues with the installation of prerequisites.

Some prerequisites cannot be installed by SIF, namely:

  • Solr
  • Microsoft Machine Learning Server
  • Sql Server
  • MongoDb

But it's great that SIF will help with things like installing the Web Platform Installer etc (the full list is in the documentation). To install the prerequisites we simply need to execute the PowerShell command:

Install-SitecoreConfiguration configs\prerequisites.json

You may need to change the path to your prerequisites.json file but it's included in the packages that come with the Sitecore platform download (this post assumes you've already installed the SitecoreInstallFramework PowerShell module). Where things were getting stuck was on the task EnableWindowsOptionalFeature. After running a couple of times it consistently got stuck on this step.

After running the installation again with verbose output:

Install-SitecoreConfiguration configs\prerequisites.json -Verbose

The following line was being output right before the installation got stuck:

VERBOSE: Target Image Version 10.0.14393.2602

This refers to the version of IIS installed on the server and in my case the IIS version was behind this (10.0.0.14393.0). I decided to check for Windows updates and found that there was a cumulative update pending. Installing this update and restarting the server resolved the issue.

After this however I got another strange error message after the installation downloads the Web Platform Installer (the task InstallWebPlatformInstaller):

Install-SitecoreConfiguration : This command cannot be run completely because the system cannot find all the information required.

At S:\sitecore\install.ps1:5 char:1

+ Install-SitecoreConfiguration configs\prerequisites.json -Verbose

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException

+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install-SitecoreConfiguration

What was actually happening here is the installation was launching the Web Platform Installer msi in a separate window. After completing the Web Platform Installer installation in the separate window and running the prerequisites installation again via PowerShell the prerequisites installation was able to progress all the way to the end successfully.

'Sitecore prerequisites are now installed, you may proceed with further installations.'

Happy SIFing!