Recently, I needed to set up a client’s Sitecore XM 10.3 IaaS instance. Thanks to Docker and XM Cloud being around, it had been some time since I actually had to use the Graphical setup package for XM Scaled. That said, having gone through the process 100+ times before, I didn’t expect much of an issue. After all, whenever I had used the graphical setup for Sitecore XP, it ran relatively smoothly following the installation of the prerequisites.
Installing Prerequisites for Sitecore XM 10.3
I went through the process of installing prerequisites via the graphical setup. Following that and a restart of the setup, I assumed all was well. Unfortunately, that’s when I discovered that these prerequisites were not the only prerequisites required.
Additional Software Required for Installing Sitecore XM Scaled
In my case, I was installing XM Scaled with the intention of turning it into a Standalone with an external SQL database server. The external database is key to this because even though it would be external, I was still required to install the following software. I go through below where each of these software solutions came up as the solution to the errors I encountered.
I would also suggest installing SSMS - SQL Server Management Studio if you do have issues and have to remove databases after a failed install; accessing the database from the server is far easier and faster than logging into the remote DB.
Installing dotnet via the official site could also prove handy if you’re going to use Sitecore CLI from your server.
Access to Solr Distribution is Denied
The first error I had was while installing Solr. Even though I was using an Administrator account, I was still presented with the error that accessing the Solr install distribution was denied. As shown below:
[---------------------------- MoveSolr : MoveItem ----------------------------]
Access to the path 'C:\Users\fishtank\AppData\Local\Temp\solr-8.11.2\dist' is denied.
[TIME] 00:01:12
Access to the path 'C:\Users\fishtank\AppData\Local\Temp\solr-8.11.2\dist' is denied.
If you’re using the graphical setup, the simplest way is to open up setup.exe.config
**in the installation folder and add in the following configuration line (you may also need to create c:\temp (or another folder if it doesn’t exist).
<parameter name="TempLocation" type="folderPath" groupName="InstallSolr" value="C:\temp" />
You’re going to add the line above in the Solr parameters section of the configuration file. This will allow the installation process for Solr to use a different file location.
<template name="Solr" path=".\Solr-SingleDeveloper.json">
<parameter name="SolrPort" type="text" groupName="InstallSolr" value="8983" />
<parameter name="SolrServicePrefix" type="text" groupName="InstallSolr" value=""/>
<parameter name="SolrInstallRoot" type="folderPath" groupName="InstallSolr" value="C:\Solr" />
<parameter name="TempLocation" type="folderPath" groupName="InstallSolr" value="C:\temp" />
</template>
Error Messages During Install of Sitecore XM Scaled
The term 'C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe' is not recognized
[----------- IdentityServer_InstallWDP : WebDeploy ---------------------------]
Cannot validate argument on parameter 'Path'. The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The term 'C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
[TIME] 00:00:17
Cannot validate argument on parameter 'Path'. The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The term 'C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
As you would expect, the solution for this error is relatively simple and solved by installing WebDeploy V3. And you’d be correct. Head over to the official WebDeploy V3 software page and download the appropriate version.
Error Code: ERROR_SMO_NEEDED_FOR_SQL_PROVIDER
Regardless of not requiring a local SQL server to be installed, I still needed to have SSMS - SQL Server Management Studio and SQL Server Management Objects installed.
[--------------- SitecoreCM_InstallWDP : WebDeploy ---------------------------]
[WebDeploy]:[Path] C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe
Error Code: ERROR_SMO_NEEDED_FOR_SQL_PROVIDER
More Information: The SQL provider cannot run because of a missing dependency. Please make sure that Microsoft SQL Server Management Objects (Version 10 or higher) is installed. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_SMO_NEEDED_FOR_SQL_PROVIDER.
Error count: 1.
Command C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe returned a non-zero exit code - (-1)
[TIME] 00:01:08
Command C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe returned a non-zero exit code - (-1)
Now, you can try downloading and installing SQL Server Management Objects using the Nuget packages, but I didn’t have much luck with that. Thankfully, as it turns out, Sitecore is aware of this issue and has provided a Sitecore Knowledge Base article - ERROR_SMO_NEEDED_FOR_SQL_PROVIDER error when installing Sitecore Experience Platform. As it turns out, the solution is to install the Microsoft SQL Server® 2016 Service Pack 2 Feature Pack.
Error Requesting PopulateManagedSchema.aspx
Perhaps the last error to be encountered was this surprising one.
[--------- SitecoreCM_UpdateSolrSchema : SitecoreUrl -------------------------]
[SitecoreCM_UpdateSolrSchema]:[Authenticating] https://scxmcm.dev.local/sitecore/admin/PopulateManagedSchema.aspx?indexes=all
Error requesting https://scxmcm.dev.local/sitecore/admin/PopulateManagedSchema.aspx?indexes=all: The remote server returned an error: (500) Internal Server Error.
[TIME] 00:03:31
Error requesting https://scxmcm.dev.local/sitecore/admin/PopulateManagedSchema.aspx?indexes=all: The remote server returned an error: (500) Internal Server Error.
The solution, which took a fair bit of time to investigate, turned out to be the cause of the URL Rewrite not being available. As a few sites had reported, this is sometimes caused by URL Rewrite missing from the IIS site. Following a failed install, go into IIS Manager and check out the CM server install.
The easiest way to resolve a missing URL Rewrite option is to install it via the official site.
In Summary
If you install all the software listed above prior to your installation, you should hopefully not run into these errors and spend time trying to solve them like I did.