Issue while installing Sitecore 9

I am facing some issues while installing Sitecore 9. I have followed all the steps to install the prerequisites.  I am getting the following error in powershell - [WebDeploy]:[Path] C:\Program Files\iis\Microsoft Web Deploy V3\msdeploy.exe
Error Code: ERROR_DACFX_NEEDED_FOR_SQL_PROVIDER
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.

After looking at the error I did try to resolve it by installing the following using Web Platform Installer - 

  1. Microsoft SQL Server 2012 Data-Tier Application Framework
  2. SQL Server 2012 Transact-SQL ScriptDom
  3. SQL Server System CLR Types 11.0

I found the above resolution on most of the blogs. But I am still not able to go past this error even after installing the above. 

Your help is appreciated.

Thank you,

Reema

  • Hi Reema,

    You may need to install the newer version for below:
    1. Microsoft SQL Server Data-Tier Application Framework (DacFx) version 2016 - www.microsoft.com/.../details.aspx

    x64 machine require to install both x64 & x86
    2. SQLSysCLRTypes.msi x64 - go.microsoft.com/.../
    3. SQLSysCLRTypes.msi x86 - go.microsoft.com/.../


    Upon installed, check if you have the following dll in your installation folder of the MS SQL server version under "C:\Program Files\Microsoft SQL Server\<version>\DAC\bin\"
    1. Microsoft.SqlServer.Dac.dll
    2. Microsoft.SqlServer.TransactSql.ScriptDom.dll
    3. Microsoft.SqlServer.Types.dll


    Nic
  • In reply to Nicholas Siew:

    Hi Nic,

    Thank you for your response. I tried to install the version that you recommended and tried to run the script again but I am still getting the same error. I also verified the dll's in the installation folder.

    Any other suggestions are appreciated.

    Thank you,

    Reema

  • In reply to Reema Patel:

    Hi All,

    I was able to resolve the above issue by registering the dll via regedit.

    Thank you,
    Reema
  • In reply to Reema Patel:

    Hi All,

    For my case it is resolved by installing below Dacfx framework as suggested by Nic

    You may need to install the newer version for below:

    1. Microsoft SQL Server Data-Tier Application Framework (DacFx) version 2016 - www.microsoft.com/.../details.aspx

    x64 machine require to install both x64 & x86

    2. SQLSysCLRTypes.msi x64 - go.microsoft.com/.../

    3. SQLSysCLRTypes.msi x86 - go.microsoft.com/.../

    But I need to set registry value in below manner

    Set the path to the Data-Tier application framework in Windows Registry:

    Locate the installation folder of the MS SQL server version that you are using: \%ProgramFiles(x86)%\Microsoft SQL Server\<version>.

    Find the Microsoft.SqlServer.Dac.dll file in one of the subfolders: \DAC\bin or \SDK\Assemblies.

    Store the full path to this subfolder as a DacFxPath value (String type) under the registry key \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3.

    Set the path to the SQL ScriptDOM and CLRTypes components in Windows Registry:

    Locate the installation folder of the MS SQL server version that you are using: \%ProgramFiles(x86)%\Microsoft SQL Server\<version>.

    Find the Microsoft.SqlServer.TransactSql.ScriptDom.dll and Microsoft.SqlServer.Types.dll files in one of the subfolders: \DAC\bin or \SDK\Assemblies.

    Store the full path to this subfolder as a DacFxDependenciesPath value (String type) under the registry key \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3.

    In my case I have set the registry path for both the registry key as :

    C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin  

    Because I can find " Microsoft.SqlServer.Dac.dll" ,Microsoft.SqlServer.TransactSql.ScriptDom.dll and Microsoft.SqlServer.Types.dll

    these dll in same folder.

     

    Before this please check you have installed IIS on the machine.

  • I had an issue where following all the suggestions still failed.
    Fixed by GAC'ing all the dlls in the SQL folder: C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\
    Do this at your own risk!
  • In reply to Reema Patel:

    hi, I am encountering the same error. Could you let me know which dll you registered and how? Thank you