public abstract override void ExecShell(ExecShell action);
public virtual void ExecShell(ExecShell action) { }
public override void ExecShell(ExecShell action) { VerifyAction(typeof(ExecShell)); base.ExecShell(action); }
public override void ExecShell(ExecShell action) { string fileName = Runner.InvokeExpression<string>(action.FileName); _form.RaiseProgressChanged( String.Format(UILabels.ExecutingProcess, fileName, fileName) ); string verb = null; string arguments = null; if (action.Verb != null) verb = Runner.InvokeExpression<string>(action.Verb); if (action.Arguments != null) arguments = Runner.InvokeExpression<string>(action.Arguments); using (Process.Start(new ProcessStartInfo { FileName = fileName, Arguments = arguments, Verb = verb, WorkingDirectory = GetWorkingDirectory(), WindowStyle = Enum<System.Diagnostics.ProcessWindowStyle>.Parse(action.WindowStyle.ToString()) })) { // We do not wait for this process. } }