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
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!
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.
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!
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?)
Check the 'media' folder exists in the 'wwwroot' folder.
In the appsettings json files make sure that the "umbracoDbDSN_ProviderName" 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. "umbracoDbDSN_ProviderName": "Microsoft.Data.SqlClient"
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:
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
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!
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
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!
Hah! Glad you found it :-)
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?)
Hi,
I'm also facing the same. Did you managed to fix it?
Just in case someone has the same issue:
appsettings json
files make sure that the"umbracoDbDSN_ProviderName"
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."umbracoDbDSN_ProviderName"
:"Microsoft.Data.SqlClient"
is working on a reply...