/// <summary>
        /// Initializes a new instance of the <see cref="OperationRunner"/> class.
        /// </summary>
        /// <param name="progressTracker">The progress tracking instance to use to track progress.</param>
        /// <param name="owner">The owner of this runner instance.</param>
        /// <param name="logFileStream">The logging stream to write logs to.</param>
        public OperationRunner(
            OperationsProgress progressTracker,
            WizardPageBase owner,
            StreamWriter logFileStream = null)
        {
            _owner = owner;

            ProgressTracker = progressTracker;

            _logger = new OperationRunnerLogger(this, logFileStream);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="InstallerModel"/> class.
        /// </summary>
        /// <param name="mainWindow">The owning UI element.</param>
        public InstallerModel(UIElement mainWindow)
        {
            InstallationConfiguration = new InstallationConfiguration();
            Progress           = new WizardProgress();
            Page               = new WizardPage();
            OperationsProgress = new OperationsProgress();

            InstallationConfiguration.LoadConfiguration();

            ShowCrmLink = false;

            PreviousEnabled = true;
            NextEnabled     = true;

            ShowStatus   = false;
            ShowProgress = false;
            ShowPrevious = false;
            ShowNext     = true;
            ShowCancel   = true;
            ShowFinish   = false;

            InstallerAction = InstallerActionType.New;
        }