Process.Start上的“目录名称无效”错误?

时间:2009-05-07 16:28:37

标签: vb.net credentials start-process

我正在编写一个启动程序,当我开始启动该过程时,我得到“目录名无效”错误。以下是启动该过程的代码:

Const DEBUG_ROOT = _ 
"Z:\Kiosk_JC\KioskSignIn.root\KioskSignIn\KioskSignIn\KioskSignIn\bin\Debug"

Dim oKiosk As New System.Diagnostics.Process
oKiosk.StartInfo.UserName = oEnc.Decrypt(Username)
oKiosk.StartInfo.Password = oEnc.DecryptSecure(Password)
oKiosk.StartInfo.Domain = oEnc.Decrypt(Domain)
''// The AddBS function appends a '\' to the passed string if it is not present
oKiosk.StartInfo.WorkingDirectory = AddBS(DEBUG_ROOT)
oKiosk.StartInfo.FileName = "KioskSignIn.exe"
oKiosk.StartInfo.UseShellExecute = False
Dim proc As Process = Nothing
proc = System.Diagnostics.Process.Start(oKiosk.StartInfo)

我在另一个问题上看到我需要设置WorkingDirectory(在我开始搜索之前我收到了错误)。即使我有这个属性设置,我仍然得到错误。有什么想法吗?

更多信息

我还应该注意我的Z:\是我网络上的一个。我有一个函数可以解析UNC的路径。当我在DEBUG_ROOT上运行此函数时,我得到了同样的错误。

我尝试将应用程序移动到c:\ kiosk。结果相同。我以我模仿的用户身份登录,因此我可以访问所有共享和文件。

以下是链接,由于某种原因,URL格式化需要在指定链接后使用所有文本:

Referred Post

3 个答案:

答案 0 :(得分:2)

映射的驱动器是每个用户。您可能正在与其他用户一起开始此过程。

答案 1 :(得分:0)

听起来这个过程无法看到Z:驱动器或没有安全访问权限。该应用运行的用户上下文是什么?也许Z:驱动器在这种情况下不可用。

答案 2 :(得分:0)

我得到了和你一样的错误。很可能用于运行进程的用户无权访问指定的资源(exe文件)

尝试将您的exe移动到其他位置和/或授予您的用户对该文件的访问权限。