4

I am installing Sitecore 10.1 XP01. I have installed SQL 2019 and Visual Studio 2019 and I am getting below error:

msdeploy.exe : Error Code: ERROR_DACFX_NEEDED_FOR_SQL_PROVIDER
At C:\Program Files\WindowsPowerShell\Modules\SitecoreInstallFramework\2.3.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 with dacpac option because of a missing dependency. Please make sure
that DacFx is installed.  Learn more at:
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DACFX_NEEDED_FOR_SQL_PROVIDER.
Error count: 1.
Install-SitecoreConfiguration : Command C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe returned a non-zero
exit code - (-1)
At C:\Swati\Sitecore\Sitecore 10.1.2 rev. 006578 (WDP XP1 packages)\XP1-SingleDeveloper.ps1:152 char:1
+ Install-SitecoreConfiguration @XP1Parameters *>&1 | Tee-Object XP1-Si ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install-SitecoreConfiguration

[TIME] 00:00:21
Invoke-CommandTask : Command C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe returned a non-zero exit code -
(-1)
At C:\Program Files\WindowsPowerShell\Modules\SitecoreInstallFramework\2.3.0\Public\Tasks\Invoke-WebDeployTask.ps1:36
char:2
+     Invoke-CommandTask -Path $Path -Arguments $msdeployArgs -TaskName ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-CommandTask

enter image description here

I have tried below solutions:

  1. I updated the registry as mentioned here https://naveed-ahmad.com/2017/11/03/sitecore-9-sif-installation-error-error_scriptdom_needed_for_sql_provider/

enter image description here

  1. I ran this command
"%Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\150\Microsoft.SqlServer.TransactSql.ScriptDom.dll"

  1. I tried below solution as well enter image description here

  2. I installed below exe. Web Platform Installer is showing blank so not able to installed through Web Platform Installer enter image description here

Microsoft SQL Server 2012 Data-Tier Application Framework
SQL Server 2012 Transact-SQL ScriptDom
SQL Server System CLR Types 11.0

Please help

2

4 Answers 4

1

Experienced this problem with Sitecore 9.3 XP with SQL Server 2019. You can do following steps:

  1. Install both x64 and x86 DacFX 18.1 (https://www.microsoft.com/en-us/download/details.aspx?id=57784)

  2. Open regedit and go to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3

  3. Edit both DacFxDependenciesPath and DacFxPath and change the value to x86 version of DACFX 18.1 C:\Program Files (x86)\Microsoft SQL Server\150\DAC\bin enter image description here Why only to x86 DACFX? Because when the path value was x64 version, the SIF will return error:

    Error Code: ERROR_EXECUTING_METHOD More Information: Method not found: 'Void Microsoft.SqlServer.TransactSql.ScriptDom.CreateTableStatement.set_SelectStatement(Microsoft.SqlServer.TransactSql.ScriptDom.SelectStatement)'. Learn more at: https://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXECUTING_METHOD.

I tried to compare both x64 and x86 dlls, here's the result: enter image description here x64 version definitely has that SelectStatement. But not sure why it failed tho.

1
  • This worked for me to install Sitecore 9.2 when I went to the registry and added in a string key and value to the registry, in the folder above in the example, for DacFxDependenciesPath & DacFxPath for my version of 15.0.4538.1 of the Data-Tier Application Framework. I am using Visual Studio 2022 & SQL Server 2022. I am using Microsoft System CLR Types for SQL Server 2019. Commented Oct 24, 2023 at 19:52
0

The problem is a failure to identify the DacFx components or dependencies. This may not work if multiple versions of SQL and DacFx are installed on the machine (as is common for developer machines).

The minimum version of the Dac that can be used is v130 (SQL Server 2016), because the Dacpac being used is v130 and so will fail if an older version of DacFx is used.

Make sure you have installed MS SQL Server Data-Tier Application Framework (DACFx). Try to install both x64 and x86 DacFramework.msi. Download From Microsoft® SQL Server® Data-Tier Application Framework

  • EN\x64\DacFramework.msi

  • EN\x86\DacFramework.msi

Reference: ERROR_DACFX_NEEDED_FOR_SQL_PROVIDER

Hope it helps!

0

In order to fix this problem, you can try the following things to your system.

  1. The version of the Dac pointed to must be installed.
  2. The Dac components (and dependencies) need to be registered using gacutil.
  3. The DacFxPath and DaxFxDependenciesPath in ComputerHKEY_LOCAL_MACHINESOFTWAREMicrosoftIIS ExtensionsMSDeploy3 should point to the Dac version being targeted, i.e. C:Program Files (x86)Microsoft SQL Server130DACbin for v 130.
  4. The minimum version of the Dac that can be used is v130 (SQL Server 2016), because the dacpac being used is v130 and so will fail if an older version of DacFx is used

To know more use this reference for Troubleshooting Sitecore Installation

0

I ran into this error while installing Sitecore 10. My issue was we had forgotten to install Microsoft System CLR Types for SQL Server 2017. As per the Sitecore 10 documentation:

Microsoft SQL Server Data-Tier Application Framework (DacFx) version 2017 (x86 and x64)

This must be installed on servers that have been assigned a Sitecore server role and where you are going to install DAC packages:

In the XM Scaled topology:

  • Content Management

In the XP Scaled topology:

  • Content Management
  • Processing
  • Collection
  • Reference Data
  • Sitecore Cortex™ Processing Engine
  • Sitecore Cortex™ Reporting service

To ensure that DacFx works correctly, you must install its system requirements including Microsoft System CLR Types for SQL Server 2017. If you are running an x64 environment, you must install both the x64 and x86 versions of DacFx and SQLSysCLRTypes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.