2010-11-05 76 views
1

我有一個程序啓動另一個程序。在第二個程序中,我嘗試刪除一個文件。 如果我直接運行第二個程序,沒問題,文件被刪除。但是,如果我從第一個程序開始第二個程序,我會得到一個System.UnauthorizedAccessException。啓動進程不能刪除文件

我的猜測是,第二個方案沒有得到第一個節目的所有訪問。

我試了很多建議,我發現,但沒有一次成功。
添加Process.StartInfo.Verb =「runas」沒有工作。
添加清單文件,沒有工作是(或者我沒有錯,不知道)
我設置第二個文件爲「以管理員身份運行」的.exe和它沒有工作。

現在,我該如何解決這個問題?

回答

2

第一個程序留下的文件打開,因此第二個程序無法刪除它。

您需要關閉該文件中的第一個程序。

+0

啊該死的傻我。我想這太明顯了。> – Wildhorn 2010-11-05 15:39:54

1

您可能會錯過FileStream(例如)用於訪問第一個程序中的文件的Dispose()調用。這可能會讓底層文件在該程序中被使用,儘管您認爲與它關聯的對象實例已經消失了,因爲它們超出了範圍。

後,如果你想更好的回饋一些代碼。