Yes, but I don't think that matters in this case.  Recall that we don't actually want to run this thing, only to confirm it doesn't exist.  I don't have easy access to a Windows machine with Rust, but I do have access to a Windows machine.

The following code snippet gives `CreateProcess` an absolute path (with a forward slash), and `CreateProcess` is correctly returning ERROR_FILE_NOT_FOUND.  So I believe this will work just fine for this rust test

```c
#include <Windows.h>
#include <stdio.h>

int main() {

    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );

    if( !CreateProcess( NULL,           // No module name (use command line)
                "/does_not_exist",      // Command line
                NULL,                   // Process handle not inheritable
                NULL,                   // Thread handle not inheritable
                FALSE,                  // Set handle inheritance to FALSE
                0,                      // No creation flags
                NULL,                   // Use parent's environment block
                NULL,                   // Use parent's starting directory
                &si,                    // Pointer to STARTUPINFO structure
                &pi )                   // Pointer to PROCESS_INFORMATION structure
      )
    {
        const DWORD err = GetLastError();
        if (err == ERROR_FILE_NOT_FOUND) {
            printf("FileNotFound\n");
        } else {
            printf( "CreateProcess failed (%d).\n", err );
        }
    }
    return;

}
```

```
d:\temp\> test.exe
FileNotFound
```

Also note that if I give a path to something that *does* exist, but also using unix-style forward slashes, CreateProcess will run the thing.  I am not sure, however, where this behavior is documented.