My friend Daniel Govier was having the following error when installing Sitecore 9 Update 1 using XP0:
[————————————————————————————— InstallWDP : WebDeploy —————————————————————————————-]
[WebDeploy]:[Path] <C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe>
msdeploy.exe : Error Code: ERROR_SCRIPTDOM_NEEDED_FOR_SQL_PROVIDER
At <C:\Program Files\WindowsPowerShell\Modules\SitecoreInstallFramework\1.1.0\Public\Tasks\Invoke-CommandTask.ps1:31> char:13
+ & $Path $Arguments | Out-Default
+ CategoryInfo : NotSpecified: (Error Code: ERR…OR_SQL_PROVIDER:String) , RemoteException
+ FullyQualifiedErrorId : NativeCommandError
More Information: The SQL provider cannot run because of a missing dependency. Please make sure that Microsoft SQL Server Transact-SQL ScriptDom is installed. Learn more at:
Following the traditional path of any Sitecore developer, we googled that error and ended up in this blog article from Naveed Ahmad. Problem is that Daniel had already followed his article and installed SQL Server Data-Tier Application Framework, Transact-SQL ScriptDom, and the System CLR Types.
But just like Naveed, that doesn’t work, but we found a different solution instead of modifying Windows Registry.
Do you guys think there are any issues with the following approach?
More googling sent us to this article. The valid answer is that we still need to register ‘Microsoft.SqlServer.TransactSql.ScriptDom.dll‘. However, of course, the answer was pointing to local folders, so we need to:
- Find out where ‘gacutil.exe’ is. It can be somewhere like ‘C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\‘ as shown at the article, but it can be somewhere else. Use Windows Explorer to find it, and if you have multiple entries use the one that looks more recent.
- Copy the whole path to it – we will need it in step 3
- Find your ‘Microsoft.SqlServer.TransactSql.ScriptDom.dll‘ – again look for the newest version
- Copy the whole path again to use in step 3
- Open your command prompt and type:
- cd “Path_from_step_1” (enter)
- gacutil” /i “Path_from_step_2\Microsoft.SqlServer.TransactSql.ScriptDom.dll” (enter)
If everything goes right your library is now registered on GAC and you will be able to install Sitecore 9!