I'm creating a C# app that should use lpr.exe and pass arguments to it. I'm currently trying to do it this way: 

```
DirectoryInfo filePathDirectory = new DirectoryInfo(filePath);              
Process a = new Process();
a.StartInfo.FileName = @"C:\Windows\System32\lpr.exe";
a.StartInfo.Arguments = "-SServerName.Domain.net -Plp " + "\"" + filePathDirectory + "\"";
a.StartInfo.UseShellExecute = false;
a.Start();
a.WaitForExit();

```

But whenever I get to `a.Start();` I get an unhandled Win32 exception which states "The system cannot find the file specified". This is really confusing me becuase, at first I thought it was my arguments, but turns out, I can pass the exact same arguments from a VB app and get it to work. 

**Update 1:**

The VB code that works is: 

```
Dim RPname As String
RPname = FileName.ToString
Dim a As New Process
a.StartInfo.FileName = "C:\Windows\system32\lpr.exe"
a.StartInfo.Arguments = "-SServerName.Domain.net -Plp " & Chr(34) & RPname & Chr(34)
a.StartInfo.UseShellExecute = False
a.Start()
a.WaitForExit()

```

What's more is that my issue doesn't seem to be with the arguments statement, as I can comment it out and I still receive the error. 

**Update 2:** 

The error I get at the start of the process is: *The system cannot find the file specified.* I do not get the error if I change the FileName to "C:\Windows\System32\cmd.exe", that works fine...