title: c# windows application launches external exe's fine in visual studio but not when installed
body: <p>I have a program which is a authoring tool for making courses. I decided to create a screen recording feature for it using camstudio. The code I used to launch the exe is:</p>
  
  <pre><code>Process process = new Process();
  process.StartInfo.FileName = "Recorder.exe";
  process.StartInfo.Arguments = "";
  process.Start();
  </code></pre>
  
  <p>When I am running the program in visual studio and step through the code it works fine and launches the recorder.exe with no errors. BUT when I make an installer for the project in visual studio 2010 and install the program, the program crashes when I press the button which should launch the recorder.exe.</p>
  
  <p>I checked the windows error log and here is what it told me:</p>
  
  <blockquote>
    <p>Application: Perform.exe Framework Version: v4.0.30319 Description:
    The process was terminated due to an     unhandled exception.
    Exception Info: System.ComponentModel.Win32Exception Stack: at
    System.Diagnostics.Process.StartWithShellExecuteEx(System.Diagnostics.ProcessStartInfo)
    at System.Diagnostics.Process.Start() at
    P2Designer.Window1.scriptUpdatePerform(System.Object,
    System.Windows.RoutedEventArgs) at
    System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object,
    System.Windows.RoutedEventArgs) at
    System.Windows.EventRoute.InvokeHandlersImpl(System.Object,
    System.Windows.RoutedEventArgs, Boolean) at
    System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject,
    System.Windows.RoutedEventArgs) at
    System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs) at
    DevComponents.WpfRibbon.ButtonDropDown.OnClick() at
    DevComponents.WpfRibbon.ButtonDropDown.x984587de9d70aaba(System.Object)
    at
    System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,
    System.Object, Int32) at
    MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,
    System.Delegate, System.Object, Int32, System.Delegate) at
    System.Windows.Threading.DispatcherOperation.InvokeImpl() at
    System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
    at
    System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,
    System.Threading.ContextCallback, System.Object, Boolean) at
    System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
    System.Threading.ContextCallback, System.Object, Boolean) at
    System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
    System.Threading.ContextCallback, System.Object) at
    System.Windows.Threading.DispatcherOperation.Invoke() at
    System.Windows.Threading.Dispatcher.ProcessQueue() at
    System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr,
    IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32,
    IntPtr, IntPtr, Boolean ByRef) at
    MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at
    System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,
    System.Object, Int32) at
    MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,
    System.Delegate, System.Object, Int32, System.Delegate) at
    System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority,
    System.TimeSpan, System.Delegate, System.Object, Int32) at
    MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
    at
    MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG
    ByRef) at
    System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
    at
    System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
    at System.Windows.Threading.Dispatcher.Run() at
    System.Windows.Application.RunDispatcher(System.Object) at
    System.Windows.Application.RunInternal(System.Windows.Window) at
    System.Windows.Application.Run(System.Windows.Window) at
    System.Windows.Application.Run() at P2Designer.App.Main()</p>
  </blockquote>
  
  <p>Found a similar unanswered question on here: <a href="https://stackoverflow.com/questions/17001085/why-im-getting-a-win32exception-once-im-starting-the-process">Why i&#39;m getting a win32exception once i&#39;m starting the Process?</a></p>
  
  <p>If more information is need please let me know and I'll provide as much as I can. I have seen similar questions on here and other forums but none have given me the answer. 
  Thanks, Jim</p>