- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个最初在 XP 中开发的多进程应用程序,最初设计时没有考虑管理员权限。我们过去常常使用该软件配置和销售计算机。我们现在单独销售应用程序,无需硬件,安装在企业环境中的用户系统上。目前我们的软件包要求我们的用户以管理员模式运行,这使我们不受客户 IT 部门的欢迎。
我一直在努力删除明显需要管理员权限的项目(写入注册表中的 HKLM,写入 Program Files 文件夹)。但是,Windows 仍然需要管理员权限才能运行该软件。如果我拒绝这些权利,它会关闭并且没有日志。它有很多遗留代码,因此很难找到管理员访问权限的提示。
是否有一种简单的方法来查看正在访问或完成的操作是否符合 Windows 10 管理员要求?
目前我已经删除了将我可以识别的数据文件移动到 Program Data 文件夹或用户文档中。 (取决于我是否希望用户能够轻松找到它们)。
配置文件已移至用户文件夹。
注册表 key 访问权限已保留给 HKLU 或在 HKLM 中为只读。
最佳答案
谢谢大家的帮助。我最终在我们软件的基于 C# 的启动器中找到了答案,该启动器使用动词“runas”集启动所有进程:
try
{
myProcess.StartInfo.Verb = "runas";
myProcess.StartInfo.FileName = command;
myProcess.StartInfo.WorkingDirectory = workingDir;
myProcess.StartInfo.Arguments = prams;
myProcess.Start();
} catch (异常前){}
我删除了“runas”动词,现在系统不再请求对开始的代码片段的管理员权限。
当我尝试从 Program Files 目录设置调试运行并在不通过启动程序的情况下启动代码时,我找到了原因。 (在调试器中启动)系统没有请求管理权限,这让我回到了启动器。我最近让启动器在不需要管理权限的情况下运行,所以我假设问题出在其他进程中。看来我错了。
关于c++ - 如何在我的代码中查找(并删除)需要管理员权限的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56214065/
我是一名优秀的程序员,十分优秀!