Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • George 32 posts 65 karma points
    Oct 27, 2022 @ 09:25
    George
    0

    Umbraco 10.2.0 works in Dev, Boot Failed when deployed to IIS

    Hi All I wonder if anyone has seen this before and knows the answer?

    I have Umbraco 10.2.0 working fine in Visual Studio. I deployed (published in Visual Studio) the solution to a server and IIS. When I hit the site I'm getting the Umbraco page with "Boot Failed".

    Looking at the Umbraco logs there is an error as follows:

    {"@t":"2022-10-27T08:43:27.4271671Z","@mt":"Acquired MainDom.","SourceContext":"Umbraco.Cms.Core.Runtime.MainDom","ProcessId":16048,"ProcessName":"w3wp","ThreadId":1,"ApplicationId":"74cf166884f37301bd2c621ed34488e3f56042fb","MachineName":"######","Log4NetLevel":"INFO "}
    {"@t":"2022-10-27T08:43:27.4810309Z","@mt":"Could not check the upgrade state.","@l":"Warning","@x":"System.ArgumentException: The specified invariant name 'Server=######;Database=######;User Id=######;Password=######' wasn't found in the list of registered .NET Data Providers.
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName, Boolean throwOnError)
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       at Umbraco.Cms.Infrastructure.Persistence.DbProviderFactoryCreator.CreateFactory(String providerName)
       at Umbraco.Cms.Infrastructure.Persistence.UmbracoDatabaseFactory.get_DbProviderFactory()
       at Umbraco.Cms.Infrastructure.Persistence.UmbracoDatabaseFactory.get_CanConnect()
       at Umbraco.Cms.Infrastructure.Runtime.RuntimeState.TryDbConnect(IUmbracoDatabaseFactory databaseFactory)
       at Umbraco.Cms.Infrastructure.Runtime.RuntimeState.GetUmbracoDatabaseState(IUmbracoDatabaseFactory databaseFactory)","SourceContext":"Umbraco.Cms.Infrastructure.Runtime.RuntimeState","ProcessId":16048,"ProcessName":"w3wp","ThreadId":1,"ApplicationId":"74cf166884f37301bd2c621ed34488e3f56042fb","MachineName":"######","Log4NetLevel":"WARN "}
    {"@t":"2022-10-27T08:43:27.4818093Z","@mt":"Boot Failed","@l":"Error","@x":"Umbraco.Cms.Core.Exceptions.BootFailedException: Could not check the upgrade state.
       ---> System.ArgumentException: The specified invariant name 'Server=######;Database=######;User Id=######;Password=######' wasn't found in the list of registered .NET Data Providers.
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName, Boolean throwOnError)
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       at Umbraco.Cms.Infrastructure.Persistence.DbProviderFactoryCreator.CreateFactory(String providerName)
       at Umbraco.Cms.Infrastructure.Persistence.UmbracoDatabaseFactory.get_DbProviderFactory()
       at Umbraco.Cms.Infrastructure.Persistence.UmbracoDatabaseFactory.get_CanConnect()
       at Umbraco.Cms.Infrastructure.Runtime.RuntimeState.TryDbConnect(IUmbracoDatabaseFactory databaseFactory)
       at Umbraco.Cms.Infrastructure.Runtime.RuntimeState.GetUmbracoDatabaseState(IUmbracoDatabaseFactory databaseFactory)
       --- End of inner exception stack trace ---
       at Umbraco.Cms.Infrastructure.Runtime.RuntimeState.GetUmbracoDatabaseState(IUmbracoDatabaseFactory databaseFactory)
       at Umbraco.Cms.Infrastructure.Runtime.RuntimeState.DetermineRuntimeLevel()
       at Umbraco.Cms.Infrastructure.Runtime.CoreRuntime.DetermineRuntimeLevel()","SourceContext":"Umbraco.Cms.Infrastructure.Runtime.CoreRuntime","ProcessId":16048,"ProcessName":"w3wp","ThreadId":1,"ApplicationId":"74cf166884f37301bd2c621ed34488e3f56042fb","MachineName":"######","Log4NetLevel":"ERROR"}
    

    Both the Dev version (in Visual Studio) and the deployed version access the same database, and the IIS server definitely has access to the SQL Server (many other .NET 6 sites using it), and I can't see any differences in the appsettings.json

    Any ideas? Thanks in advance

  • FlashVenom 2 posts 71 karma points
    Nov 12, 2022 @ 05:47
    FlashVenom
    0

    I am also having this same exact issue. I created the project on my Windows 11 machine with Visual Studio 2019, and published it via FTP. I'm using SQL Server 2012. I have the same exact credentials being used on other IIS websites within this server, but they're on an older netcore framework. Any help would be appreciated!

  • Ambert van Unen 175 posts 817 karma points c-trib
    Nov 14, 2022 @ 12:53
    Ambert van Unen
    0

    How is your database connection being made? It seems that it cant find the type you are using. Hence the error: ---> System.ArgumentException: The specified invariant name 'Server=######;Database=######;User Id=######;Password=######' wasn't found in the list of registered .NET Data Providers.

    Perhaps SQLCE ? https://our.umbraco.com/forum/using-umbraco-and-getting-started/108594-umbraco-v9-sqlce

  • George 32 posts 65 karma points
    Nov 14, 2022 @ 14:55
    George
    0

    Hi, I found the problem by viewing the logs! My /media folder hadn't been included in the deployment, and at startup Umbraco was failing because the /media folder wasn't there. It's a bit of a confusing error message though!

  • Ambert van Unen 175 posts 817 karma points c-trib
    Nov 14, 2022 @ 15:25
    Ambert van Unen
    0

    Hah! Glad you found it :-)

  • FlashVenom 2 posts 71 karma points
    Nov 14, 2022 @ 17:39
    FlashVenom
    0

    I'm still having the issue and I have a media folder. However, I am using SQL Server and it's looking like I may need to install a nuget package? (Why would it work in development then but not production?)

  • Mathew John 13 posts 103 karma points
    Dec 01, 2022 @ 13:46
    Mathew John
    0

    Hi,

    I'm also facing the same. Did you managed to fix it?

  • Mike 5 posts 75 karma points
    Aug 22, 2023 @ 09:26
    Mike
    0

    Just in case someone has the same issue:

    • Check the 'media' folder exists in the 'wwwroot' folder.
    • In the appsettings json files make sure that the "umbracoDbDSNProviderName" value is correct. If you see the error 'The specified invariant name ... wasn't found in the list of registered .NET Data Providers', this is most likely because it's put the full connection string in the value, it should only be the provider name e.g. "umbracoDbDSNProviderName": "Microsoft.Data.SqlClient"
Please Sign in or register to post replies

Write your reply to:

Draft