如何从用户代码

问题描述:

处理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

你可能从catch块抛出另一个异常。 尝试评论catch块中的所有行,它应该工作得很好。

+0

+1请详细说明一下,最后这是**正确**答案和@niranjan可能/应该接受它! – 2014-03-10 08:21:45

+0

我发现这个问题上张贴问题的一天,增加一条,作为一个评论...我忘了把它标记为回答.. :(对不起你们......如果它造成的混乱:) @Adriano:谢谢提醒..我会将此标记为答案.. :) – Niranjan 2014-03-10 09:44:37

最常见和最明显的原因是路径/文件程序试图访问没有访问身份在其下它的运行。

在这里阅读更多关于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

你必须设置为您的应用

的只是点击右键管理员权限,并选择属性

,并检查作为管理员检查运行和运行应用程序

以管理员身份运行所有用户的所有用户按钮单击并选择以管理员身份运行的所有用户,这将始终运行与所有用户的管理权限您的应用程序

enter image description here