有没有办法找出我的应用程序在Windows 7环境中运行所需的权限?
我有一个Delphi应用程序,它使用BDE和ODBC进行数据库连接。此应用程序适用于在普通用户帐户上运行Windows 7的大多数计算机。但是,在某些计算机上,它仅适用于具有管理权限的帐户,并且在普通用户帐户上无法正常工作。我怀疑这是一个许可问题。这些计算机也在Active Directory中运行。
我试图从SysInternals使用Process Monitor找到一些信息,但是我的输出太高级了。我的应用程序的两次运行的进程监视器日志(1.成功管理权限,2。正常权限不成功)有超过22k行,我在进程监视器日志(haystack)中找不到答案(针)。
如何确定我的应用在Windows 7中需要的权限?
答案 0 :(得分:6)
使用Standard User Analyzer中的Microsoft Application Compatibility Toolkit。
标准用户分析器(SUA)工具和标准用户分析器 向导(SUA向导)都可以让您测试您的应用程序和 监视API调用以检测潜在的兼容性问题 由于Windows®7中的用户帐户控制(UAC)功能 操作系统。
UAC,以前称为受限用户帐户(LUA),要求全部 用户(包括管理员组的成员)作为标准运行 用户,直到应用程序被故意提升,通过使用 安全提示对话框。但是,并非所有应用程序都能运行 由于应用程序的要求,正确使用标准用户角色 对标准不可用的位置的访问权限和权限 用户。
答案 1 :(得分:1)
Aaron Margosis有一个名为LUA Buglight的工具,旨在帮助追踪与权限相关的问题。
您可以从此博客文章下载最新版本: LUA Buglight 2.1.1 with support for Win7/2008R2 SP1
它在概念上与MS Application Verifier类似。但是,在实践中我发现LUA Buglight更容易使用和理解。与ProcessMonitor相同。它将以类似的方式监控您的流程,但仅报告作为普通用户失败但作为管理员用户成功的操作。
没有文档,但使用起来很简单。从主GUI窗口中选择你的Exe并让BugLight程序启动它。您需要在启用了UAC的管理员帐户中运行。通过您不是管理员时失败的步骤运行您的程序。完成后,单击“停止记录”按钮以查看报告,该报告列出了没有管理员权限的呼叫失败。