public abstract override void ExecWait(ExecWait action);
public virtual void ExecWait(ExecWait action) { }
public override void ExecWait(ExecWait action) { VerifyAction(typeof(ExecWait)); base.ExecWait(action); }
public override void ExecWait(ExecWait action) { string fileName = Runner.InvokeExpression<string>(action.FileName); string arguments = null; if (action.Arguments != null) arguments = Runner.InvokeExpression<string>(action.Arguments); string progressFileName = fileName; if (!String.IsNullOrEmpty(arguments)) progressFileName += " " + arguments; _form.RaiseProgressChanged( String.Format(UILabels.ExecutingProcess, progressFileName) ); using (var process = Process.Start(new ProcessStartInfo { FileName = fileName, Arguments = arguments, WindowStyle = Enum<System.Diagnostics.ProcessWindowStyle>.Parse(action.WindowStyle.ToString()), WorkingDirectory = GetWorkingDirectory() })) { process.WaitForExit(); } }