/// <summary>Called by the engine before trying to launch the preapproved executable.</summary>
        /// <param name="args">Additional arguments for this event.</param>
        protected override void OnLaunchApprovedExeBegin(Wix.LaunchApprovedExeBeginArgs args)
        {
            LogVerbose("Enter Method: OnLaunchApprovedExeBegin");
            WPFBootstrapperEventArgs <Wix.LaunchApprovedExeBeginArgs> cancelArgs = new WPFBootstrapperEventArgs <Wix.LaunchApprovedExeBeginArgs>(args);

            TryInvoke(new Action(() => { _mainWindow.OnLaunchApprovedExeBegin(cancelArgs); }));
            if (!cancelArgs.Cancel)
            {
                base.OnLaunchApprovedExeBegin(cancelArgs.Arguments);
            }
            LogVerbose("Leaving Method: OnLaunchApprovedExeBegin");
        }
        /// <summary>Called by the engine before trying to launch the preapproved executable.</summary>
        /// <param name="args">Additional arguments for this event.</param>
        protected override void OnLaunchApprovedExeBegin(Wix.LaunchApprovedExeBeginArgs args)
        {
            this.LogBootstrapperEnterEvent(args, "LaunchApprovedExeBegin");
            WPFBootstrapperEventArgs <Wix.LaunchApprovedExeBeginArgs> cancelArgs = new WPFBootstrapperEventArgs <Wix.LaunchApprovedExeBeginArgs>(args);

            this.TryInvoke(new Action(() => { this.model.OnLaunchApprovedExeBegin(cancelArgs); }));
            if (!cancelArgs.Cancel)
            {
                base.OnLaunchApprovedExeBegin(cancelArgs.Arguments);
            }
            this.LogBootstrapperLeaveEvent(null, "LaunchApprovedExeBegin");
        }
        Result IBootstrapperApplication.OnLaunchApprovedExeBegin()
        {
            LaunchApprovedExeBeginArgs args = new LaunchApprovedExeBeginArgs();
            this.OnLaunchApprovedExeBegin(args);

            return args.Result;
        }
 /// <summary>
 /// Called by the engine before trying to launch the preapproved executable.
 /// </summary>
 /// <param name="args">Additional arguments for this event.</param>
 protected virtual void OnLaunchApprovedExeBegin(LaunchApprovedExeBeginArgs args)
 {
     EventHandler<LaunchApprovedExeBeginArgs> handler = this.LaunchApprovedExeBegin;
     if (null != handler)
     {
         handler(this, args);
     }
 }