/// <summary>
    /// Installs database (table structure + default data).
    /// </summary>
    /// <param name="parameter">Async action param</param>
    private void InstallDatabase(object parameter)
    {
        if (!DBInstalled)
        {
            TryResetUninstallationTokens();

            var settings = new DatabaseInstallationSettings
            {
                ConnectionString = Info.ConnectionString,
                ScriptsFolder    = Info.ScriptsFullPath,
                ApplyHotfix      = true,
                DatabaseObjectInstallationErrorMessage = ResHelper.GetFileString("Installer.LogErrorCreateDBObjects"),
                DataInstallationErrorMessage           = ResHelper.GetFileString("Installer.LogErrorDefaultData"),
                Logger = Log
            };
            bool success = SqlInstallationHelper.InstallDatabase(settings);

            if (success)
            {
                LogProgressState(LogStatusEnum.Finish, ResHelper.GetFileString("Installer.DBInstallFinished"));
            }
            else
            {
                throw new Exception("[InstallDatabase]: Error during database creation.");
            }
        }
    }