【发布时间】:2020-09-15 13:37:08
【问题描述】:
我接管了一家公司,该公司已经构建并部署了一个应用程序,但我陷入了困境。
我的 Delphi 5 应用程序需要提升权限才能运行,我不知道为什么。
我怎么知道为什么我的应用程序需要提升的权限,并且可能在没有提升权限的情况下运行应用程序,因为我的客户端不能让用户以管理员身份运行应用程序。
【问题讨论】:
-
很遗憾,您迟到了 15 年,而且很难找到迁移文档。总之,您需要做的第一件事是将 asInvoker 应用程序清单添加到您的可执行文件中。这将禁用文件和注册表的虚拟化。然后,您需要调试任何后续问题。可能是您的程序写入系统和程序文件目录的地方,或注册表的受限区域 HKLM。
-
现在,如果你的程序需要提升才能工作,那么它可能已经有了一个应用程序清单。如果没有,那么虚拟化可能会拯救你。首先找出清单是什么。是 asInvoker 还是 requiresElevation。你想要作为Invoker。然后你只需要开始调试。找出失败的地方,找出原因。
-
感谢您的回复。我来自 C# 环境,所以我对 IDE 不太熟悉。如何找到清单?我在原始帖子中添加了一张图片,这是我的印象,我会看到这个。
-
Delphi 5 于 1999 年发布。当时还不存在应用程序清单。您需要添加一个。我可以在一系列 cmets 中解释如何做到这一点。但是阅读文档并了解这一点对您来说会更容易更好吗?这是一个复杂的话题。需要花时间。您需要几天的时间才能真正掌握这一点。你必须相应地设定你的期望。
-
我会给你一个指导,就是询问应用程序是否以管理员权限运行。还是你必须采取外部行动来提升。
标签: delphi-5 admin-rights