如何确定阻止应用程序运行非提升的内容(非管理员)

时间:2012-11-14 23:35:52

标签: c# permissions uac administrator elevated-privileges

有没有办法检测阻止应用在非提升状态下运行的内容?当我们使用提升的权限运行我们的应用程序时,它可以正常运行在非提升状态下运行会阻止应用程序启动。

是否有任何技巧可以检测可能阻止应用运行非提升的内容?

我们的应用程序不会将数据写入受保护的文件夹,即程序文件。

2 个答案:

答案 0 :(得分:3)

您可以查看它在Windows事件查看器中抛出的异常(不是最有效的方法),或者使用显示或记录异常信息的异常处理程序包装整个程序(如果您能够使用的话,可以使用更好的方法)编辑和构建项目)。一旦你有异常,找到你没有足够权限的操作应该不会太困难。

答案 1 :(得分:1)

您应该将错误记录到文件(或控制台,或任何您喜欢的),以查看导致问题的指令。您还可以在调试中检测到错误,但是此VS不能以管理员身份运行。

无论如何,最常见的原因是您尝试写入只能使用提升权限(例如Program Files,Windows ...)写入的目录,或者除HKEY_CURRENT_USER以外的任何配置单元中的注册表项。< / p>