How to fix the Umbraco Core Exceptions BootFailedException

Posted written by Paul Seal on August 20, 2020 Umbraco

This post shows you how you can possibly fix the BoolFailedException

Here was my scenario

I wanted to deploy my site to a new location, install umbraco to a new database and use uSync Complete to send all of the settings, content and media.

I cleared out the Umbraco.Core.ConfigurationStatus from the appSettings in the web.config file and I also deleted the database connection string.

If you do this and run the site, it will go through the install screens. This is where you can give a new database connection string. It's really handy when you are deploying your site to another server and you have uSync Complete to send the settings, media and content.

Instead of seeing the install screens as expected, I was seeing this error message instead.

1

The error message was misleading because it was saying that it couldn't see the uSync Publisher config file, but the problem was actually to do with my composers.

I hadn't set RuntimeLevel on some Compsers, and because of this they were trying to run when Umbraco was supposed to be running the Install.

So the fix was to add this to my Composers, as I only want them to run during normal Run, not at Install or any of the other Levels.

using CodeShare.Core.Services;
using Umbraco.Core;
using Umbraco.Core.Composing;

namespace CodeShare.Core.Composing
{
    [RuntimeLevel(MinLevel = RuntimeLevel.Run)] // <--- I just needed to add this
    public class RegisterServicesComposer : IUserComposer
    {
        public void Compose(Composition composition)
        {
            composition.Register<ISearchService, SearchService>(Lifetime.Request);
            composition.Register<ISiteService, SiteService>(Lifetime.Request);
            composition.Register<ISmtpService, SmtpService>(Lifetime.Singleton);
        }
    }
}

So the moral of this blog post is, don't forget to add the RuntimeLevel to your Composers.