Probably it's a permissions problem: the task scheduler runs under a privileged account and your user doesn't, so you user who runs your app may not be able to access the file at all.
To find out, get the exception code in your catch block:
Catch ex As Exception
MessageBox.Show("Could not start process: " & ex.Message)
And use the debugger to look at both the message and other info it contains.