启动时网络驱动器不可用

时间:2012-04-05 13:47:35

标签: c# .net-4.0 network-drive windows-xp-embedded windows-networking

我有一个C#应用程序,它在启动时加载,并将数据记录到网络驱动器,该驱动器安装为X:

首次启动计算机时,应用程序会抛出X:\不可用的错误。如果我重新启动应用程序,同样的错误。

但是,如果我打开Windows资源管理器并双击浏览驱动器,我就可以运行该应用程序,它将连接到X:就好了。

网络驱动器是否在启动时不会自动初始化,尽管被映射?有没有办法将它们设置为自动初始化?

2 个答案:

答案 0 :(得分:2)

我有完全相同的问题。我不知道是否有更好的方法,但我在访问映射驱动器之前将其添加到我的代码中。

Process mapDrive = new Process();
mapDrive.StartInfo.FileName = "net.exe";
mapDrive.StartInfo.Arguments = @"use c: \\server\share";
mapDrive.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
mapDrive.Start();

这样,无论驱动器是否在启动时可用,它都将始终可用。

答案 1 :(得分:0)

有关要检查的事项列表,请参阅此处的How Can I Access a Mapped Network Drive。我的猜测是您的用户不存在该驱动器,或者存在访问它的权限问题。要检查的另一个项目是order in which you call Impersonate,假设您正在这样做,即。{/ p>

根据Cannot Access Files On Mapped Drive From Windows Service你根本不应该这样做。请参阅接受的答案中提供的Microsoft链接。