2011-12-23 42 views
6

處理UnauthorizedAccessException在Windows應用程序我有,我做在​​註冊表中的某些變化就像是Vista的機器,其UAC提上刪除特定的關鍵,在某些測試場景一樣,我越來越System.UnauthorizedAccessException 。我的代碼看起來是這樣的:如何從用戶代碼

try 
{ 
    //delete registry keys 
} 
catch (UnauthorizedAccessException ex) 
{ 
    //handling 
} 
catch (Exception genEx) 
{ 
    //handling 
} 

但是,應用程序會依然走崩潰,沒有被catch塊處理。有什麼辦法可以處理嗎?

+0

確定導致您的應用程序崩潰的代碼位於try語句中嗎? – 2011-12-23 15:09:29

+0

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx – 2011-12-23 15:12:04

+0

您必須能夠發現此異常。也許你可以給我們更多的代碼(我的意思是至少引發異常的調用)來幫助修復它。 – ken2k 2011-12-23 15:13:21

回答

1

你可能從catch塊拋出另一個異常。 嘗試評論catch塊中的所有行,它應該工作得很好。

+0

+1請詳細說明一下,最後這是**正確**答案和@niranjan可能/應該接受它! – 2014-03-10 08:21:45

+0

我發現這個問題上張貼問題的一天,增加一條,作爲一個評論...我忘了把它標記爲回答.. :(對不起你們......如果它造成的混亂:) @Adriano:謝謝提醒..我會將此標記爲答案.. :) – Niranjan 2014-03-10 09:44:37

0

最常見和最明顯的原因是路徑/文件程序試圖訪問沒有訪問身份在其下它的運行。

在這裏閱讀更多關於MSDN

+0

爲什麼-1?有人能說出來嗎? – Baljeetsingh 2014-03-10 08:45:17

+0

+1 ..是的,這是問題。我已經添加了我的問題本身..評論雖然我沒有添加爲答案,並將其標誌:(.. – Niranjan 2014-03-10 09:40:45

+0

我沒有注意到評論,但標記可以幫助別人用戶找到正確的答案.. – Baljeetsingh 2014-03-10 10:00:23

0

你必須設置爲您的應用

的只是點擊右鍵管理員權限,並選擇屬性

,並檢查作爲管理員檢查運行和運行應用程序

以管理員身份運行所有用戶的所有用戶按鈕單擊並選擇以管理員身份運行的所有用戶,這將始終運行與所有用戶的管理權限您的應用程序

enter image description here