【问题标题】:Remove elevated rights required in Delphi 5 application删除 Delphi 5 应用程序所需的提升权限
【发布时间】:2020-09-15 13:37:08
【问题描述】:

我接管了一家公司,该公司已经构建并部署了一个应用程序,但我陷入了困境。

我的 Delphi 5 应用程序需要提升权限才能运行,我不知道为什么。

我怎么知道为什么我的应用程序需要提升的权限,并且可能在没有提升权限的情况下运行应用程序,因为我的客户端不能让用户以管理员身份运行应用程序。

【问题讨论】:

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

标签: delphi-5 admin-rights


【解决方案1】:

Windows 会查看标题和版本信息,以查看“安装”、“安装”和我忘记的其他几个词是否在其中,如果有,则自动要求提升权限。

我最近在一个 Delphi XE 应用程序中发生了这种情况,其中有一个允许配置公司范围信息的模块。我在其中一个版本信息行中添加了“设置”一词,用户立即抱怨了同样的问题。一旦我把它拿出来,没有做任何其他事情,问题就消失了。

您的屏幕截图显示应用程序标题中包含“设置”一词,我敢打赌这是导致问题的原因。

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 2013-06-14
    • 2011-11-13
    • 2021-05-17
    • 2012-03-06
    • 2014-07-15
    • 2016-12-16
    • 1970-01-01
    相关资源
    最近更新 更多