Tom*_*lak 5 windows windows-server-2008 uac
我有一个应用程序,Windows 2008 将始终以“管理员身份”运行(即蓝色/黄色盾牌覆盖图标始终可见)。
但是,文件属性中未设置“以管理员身份运行此程序”标志。
这个隐式标志来自哪里,我该如何摆脱它?
背景:我不想以管理员身份运行这个程序,它应该在一个非特权帐户的计划任务中运行。不过,目前 UAC 不允许运行此程序。
您可能会使用 Windows 几种启发式方法之一来确定应用程序是否需要管理权限。如果它确定应用程序需要管理权限,它将触发 UAC 提示。它并不完美,也不总是正确的,但这一切都是为了向后兼容。
最常见的一种是简单的文件名。如果文件包含安装或设置(可能还有update),那么除非通过嵌入式清单文件明确告知不要这样做,否则它将提示。这不是您可以更改的,开发人员必须进行此更改。
它可以是书面的优越位置,比如某处关闭C:/Windows
或者C:/Program Files
甚至是一个优越的注册表位置(特别是地方关闭HKEY_LOCAL_MACHINE
)。标准用户无法写入(在某些情况下甚至无法访问)这些位置,因此 Windows 必须触发 UAC 提示才能使应用程序正常运行。
您可以检查此应用程序的发布者是否提供任何更新。他们或许能够为您提供与 Windows Server 2008 兼容的更新。如果没有,也许可以尝试联系他们并询问他们是否知道任何问题,看看他们是否有解决方案。
该程序也可以列在内置兼容性数据库中,因为需要提升才能正常运行。我不确定您是否可以影响此列表,但您可能最好使用软件发行商提供的更新版本,他们已确认与 Windows Server 2008 兼容。
可能只是该应用程序很旧并且做了一些奇怪的事情,从而导致了启发式方法之一。我有一个我编写的应用程序,它在 Windows XP 上运行良好,但在 Vista 和更高版本上它触发了 UAC 提示。它没有读取或写入我之前提到的任何特权位置。不更改任何代码,只需在 Visual Studio 2010 中重新编译它(而不是最初编译它的 Visual Studio 2005)即可解决该问题。
归档时间: |
|
查看次数: |
2051 次 |
最近记录: |