【问题标题】:How do I run Delphi 7 on Windows 7 without disabling UAC? [closed]如何在不禁用 UAC 的情况下在 Windows 7 上运行 Delphi 7? [关闭]
【发布时间】:2011-04-12 03:13:18
【问题描述】:

我有切换到 Windows 7(32 位)的坏主意,现在我的旧 Delphi 7 无法正常工作。实际上,直到昨天它都工作得很好,但是(我想)在一些 MS Windows 更新之后,如果我双击 DPR 文件,它会崩溃。但是,如果我以管理员身份运行,或者如果我在没有双击 DPR 文件(而不是加载该 DPR)的情况下启动 Delphi IDE,它就可以工作。因此,显然这是一个 UAC 问题。我真的很生气我切换到 Win 7,它与 Win XP 并没有什么不同(更好)。如果我必须关闭 UAC(以及 Win 7 带来的唯一重大改进 - 安全性),那么我将无法从 Win 7 获得任何优势。 那么,如何在不禁用 UAC 的情况下让 Delphi 工作呢?

我希望其他遇到此问题的人找到解决方案。 :)


更新:

  • 我已经尝试赋予 Delphi 写入其“c:\Program File\Borland\Delphi 文件夹”的权限。没有运气。
  • 我不想在管理员模式(包括 XP 模式)下运行它,因为它将在不同的级别运行。一些 API 调用不会失败(因为它在管理员模式下运行)。从非管理员程序拖放和其他类似功能也将不起作用。
  • 安全不是问题。我不会盲目地下载我通过电子邮件或不知名网站从随机人(阅读垃圾邮件发送者)那里获得的任何软件,这样我就不会感染病毒。哦...而且我不使用 IE 浏览 :)

【问题讨论】:

  • 所以... Wine,它甚至不能在 Windows 上运行,它运行 Delphi 7 比 Windows 7 本身更好?是的,Windows 7 具有向后兼容性,是的,是的。
  • 可能 Wine 已针对 Win XP 进行了优化。
  • 如果您可以以普通用户身份启动Delphi并毫无问题地打开DPR文件,“显然是UAC问题”如何?
  • @Rob。由于 Delphi 在管理员模式下运行,因此 UAC 必须是阻止它在非管理员模式下正常工作的那个。例如,不允许它写入 HKLM(我已经授予 Delphi 写入 Program files\borland 的权限)。无论如何,当我双击 DPR/PAS 文件时,它必须与命令行参数传递给 Delphi 的方式有关。

标签: delphi windows-7 delphi-7


【解决方案1】:

最好的解决方案是Windows 7 Professional 的XP Mode。我建议将 XP Mode VM 与 VMware Player 一起转换和使用。那么它又快又可靠。

更新:所以实际上我推荐的不是XP Mode 本身,而是附带的XP 许可证。您可以根据需要多次复制它,但(当然)一次只能使用一个实例。

【讨论】:

  • 在这种情况下,在调试器下运行的应用程序也会在 XP 下运行吗?
  • 你试过在“XP模式”下运行Delphi吗?我们试过了,这绝对是可怕的。如果不使用某种形式的演练,我不建议这样做。
  • @Jon:是的,当然!我忘了提到我在 VMware Player 中使用了转换后的 XP 模式。
  • @Gerry:抱歉,我不确定你的意思?
  • @splash 我想他是在问你是否可以在 xp 模式下从 delphi 调试 windows 7 应用程序
【解决方案2】:

尝试在 %program files% 之外安装 Delphi。对于设计时没有考虑到 UAC(或自 NT4 以来关于在何处存储用户数据的指南)的软件,这是最好的选择。

我在 Windows 7 上以这种方式运行 Delphi 5 和 7,到目前为止没有问题。

【讨论】:

  • 这个方法效果很好。我们有几个开发人员使用 Delphi 6。我们在 Vista 32 位、Win7 32 位和 Win7 64 位中使用过它,所有这些都打开了 UAC。我们安装到 C:\Programs\Borland,而不是 C:\Program Files\Borland。
  • 我已经授予 Delphi 写入程序文件的权限。我不认为这是一个问题了。但我同意你的观点,许多程序应该安装在 Program Files 以外的其他文件夹中。感谢微软带来了这一新趋势!
  • 使用 SysInternals Process Monitor 检查 IDE 在宕机前做了什么。这有点费力,但很有可能查明 UAC 问题。一方面,我会质疑您的“我授予 Delphi 写入 xxx 的权限”操作是否有效。
【解决方案3】:

解决了。这是一个 DDE 问题。 我刚刚删除了与 Delphi 项目相关的 ddeexec 键。

【讨论】:

    【解决方案4】:

    最简单的方法是以管理员身份安装它,或者如果您仍然遇到问题,则在谷歌搜索相应的文件,那么该文件夹可能设置为只读,因此您必须更改它。

    这确实有效,这就是我的工作方式

    【讨论】:

      猜你喜欢
      • 2010-10-22
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多