由于UAC而导致的应用程序阻止问题 [英] Application Blocking problem due to UAC

查看:96
本文介绍了由于UAC而导致的应用程序阻止问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

标准用户(不使用admin时,我们正面临Windows Vista中的众所周知的阻止问题权限)登录.我们在 HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \下有一个注册表项,用于每次用户登录时Windows每次都执行的应用程序.但是在Vista(标准用户)的情况下,由于UAC导致应用程序执行被阻止.在我们的案例中,关闭UAC并不是解决方案.应用程序在 HKEY_CURRENT_USER下进行一些注册表项. 删除Apllication版本信息后,便可以顺利执行.
清单文件方法也已试用,但未发生UAC提升.

现在,我们正计划在系统服务中实现相同的功能(如在多个文档中所述).一旦用户登录,该服务将创建注册表项.但是这里的问题是在Vista中不可用的Win登录通知.

Windows Vista中是否有任何方法可以获取Win登录状态(通过挂钩,通知或轮询等)?



是否还有其他方法可以解决Win登录状态?同样的问题?

在此先感谢.

致谢,
Amit Goel

HI All,

We are facing wellknow blocking problem in windows vista when a standard user (without admin rights) gets login. We have a registry entry under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ for an application which gets executed every time by the windows whenever user gets login. But in case of Vista (standard user), application execution is blocked due to the UAC. Turning off UAC is not the solution in our case. Application makes some registry entry under HKEY_CURRENT_USER. When Apllication versioning information is removed , smooth executiuon took place.
Manifest file method was also tried out but the UAC elevation is not taking place.

Now We are planning to implement the same functionality in a system service (as mentioned in several documnetation). The service will makes the registry entry once the user gets login. But here the problem is with the win logon notification which is not available in Vista.

Is there any way available in windows vista to get the win logon status (via hooking, notification or polling etc)?

or

Is there anyother way  to solve the same problem?

Thanks in Advance.

Regards,
Amit Goel

推荐答案

无视服务片刻:

Disregarding the service for a moment:

我有点困惑.您是否要在运行"键中的应用程序在不升高或不升高的情况下运行?如果您希望它在没有高程的情况下运行,则应在其上放置一个清单,声明所请求的ExecutionLevel为'asInvoker'.听起来您已经在上面放置了requireAdministrator清单.

I'm a bit confused.  Did you want your application in the Run key to run without elevation or with elevation?  If you wanted it to run without elevation, you should have put a manifest on it declaring a requestedExecutionLevel of 'asInvoker'; it sounds like you had placed a requireAdministrator manifest on it.

如果您希望它与高程一起运行,则可能不应该接触HKCU,因为标准用户高程会将用户上下文更改为管理员的上下文之一.您可能正在写其他用户的HKCU.

If you wanted it to run with elevation, it probably shouldn't be touching HKCU, as for a standard user elevation changes the user context to one of the administrator's; you would be writing to a different user's HKCU.


这篇关于由于UAC而导致的应用程序阻止问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆