title: Win32Exception "The System Cannot Find the File Specified"
body: <p>This has been bugging me for 6 hours</p>
  
  <p>How on earth is it solved. I want the program to run a batch file (IP) which is both in resources and in the application path (i.e. bin/debug and /release).</p>
  
  <p>The batch file works when double clicked by itself...</p>
  
  <p>What am I doing wrong? Here is my code. I have tried everything on the internet...</p>
  
  <pre><code>**Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  Dim OK = MessageBox.Show("Are you sure you want to renew the computer's IP?", "IP Renew?", MessageBoxButtons.OKCancel)
  If OK = DialogResult.OK Then
  Dim IP As New ProcessStartInfo
  IP.FileName = Application.StartupPath &amp; "\IP.bat"
  IP.WindowStyle = ProcessWindowStyle.Hidden
  Process.Start(IP)
  End If
  End Sub**
  </code></pre>
  
  <p>This is the exception detail: </p>
  
  <pre><code>System.ComponentModel.Win32Exception was unhandled
  ErrorCode=-2147467259
  Message=The system cannot find the file specified
  NativeErrorCode=2
  Source=System
  StackTrace:
  at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
  at System.Diagnostics.Process.Start()
  at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
  at Internet_Connection_Availability.Form1.Button3_Click_1(Object sender, EventArgs e) Form1.vb:line 228
  at System.Windows.Forms.Control.OnClick(EventArgs e)
  at System.Windows.Forms.Button.OnClick(EventArgs e)
  at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
  at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)
  at System.Windows.Forms.Control.WndProc(Message&amp; m)
  at System.Windows.Forms.ButtonBase.WndProc(Message&amp; m)
  at System.Windows.Forms.Button.WndProc(Message&amp; m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
  at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp; msg)
  at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
  at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
  at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
  at System.Windows.Forms.Application.Run(ApplicationContext context)
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
  at Internet_Connection_Availability.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
  at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
  at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
  at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
  at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
  at System.Threading.ThreadHelper.ThreadStart()
  InnerException:
  </code></pre>
  
  <p>I was told this forum was the best one out there</p>