我具有在啓動時加載一個C#應用程序,和日誌數據到網絡驅動器,其被安裝爲X:網絡驅動器不提供啓動
當計算機首次引導時,應用程序引發錯誤是X :\不可用。如果我重新啓動應用程序,同樣的錯誤。
但是,如果我打開Windows資源管理器並雙擊瀏覽驅動器,我就可以運行應用程序,它將連接到X:就好。
儘管被映射,網絡驅動器在啓動時是否不會自動初始化?有沒有辦法將它們設置爲自動初始化?
我具有在啓動時加載一個C#應用程序,和日誌數據到網絡驅動器,其被安裝爲X:網絡驅動器不提供啓動
當計算機首次引導時,應用程序引發錯誤是X :\不可用。如果我重新啓動應用程序,同樣的錯誤。
但是,如果我打開Windows資源管理器並雙擊瀏覽驅動器,我就可以運行應用程序,它將連接到X:就好。
儘管被映射,網絡驅動器在啓動時是否不會自動初始化?有沒有辦法將它們設置爲自動初始化?
我有完全相同的問題。我不知道是否有更好的方法,但是我在訪問映射驅動器之前將其添加到我的代碼中。
Process mapDrive = new Process();
mapDrive.StartInfo.FileName = "net.exe";
mapDrive.StartInfo.Arguments = @"use c: \\server\share";
mapDrive.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
mapDrive.Start();
這樣,無論啓動時驅動器是否可用,它都將始終可用。
+1自己映射它也應該工作。 – 2012-04-05 14:21:13
這可以工作,但是目錄的路徑需要輸入到配置文件中,然後在啓動時讀入。它可能位於網絡驅動器或本地驅動器上。在嘗試安裝之前,我需要檢查它是本地還是網絡。這有點亂。在Windows中沒有辦法自動安裝驅動器嗎? – 2012-04-05 14:43:38
「窗戶上沒有辦法自動安裝驅動器嗎?」......如果有,我也想知道。 – JimDel 2012-04-05 15:00:43
查看How Can I Access a Mapped Network Drive這裏SO上列出了要檢查的事情。我的猜測是你的用戶不存在該驅動器,或者存在訪問該驅動器的權限問題。另一項要檢查的是order in which you call Impersonate,假設你這樣做,那就是。
根據Cannot Access Files On Mapped Drive From Windows Service你不應該這樣做。請參閱接受答案中提供的Microsoft鏈接。
基於網絡連接,啓動系統時需要一段時間才能映射和連接。您可能需要增加時間或增加功能等待並檢查網絡是否已映射,並且只有在超過設定的閾值或時間時才拋出錯誤。 – 2012-04-05 13:55:03
@rs:我已經嘗試了10分鐘以上的等待,而且它似乎沒有映射過它們。 – 2012-04-05 14:16:10