【发布时间】:2011-03-25 22:15:02
【问题描述】:
如果您在 D2010 中编译程序,则会自动生成清单 .res 文件。它是否默认包含在您的程序中?或者您必须自己包含它?如果是,您将获得什么级别的特权?我的程序修改了一个注册密钥,它是否能够在不修改 .res 文件的情况下这样做?如果没有我需要做哪些修改?
附带问题:是否有组件/可以像 delphi 2010 一样在我的 delphi 7 和 delphi 2007 项目中自动生成/包含 .res 文件的专家(最好是免费的)?
编辑:忘了说我没有 win7 或 vista 也没有我用过它们吗
edit2:我已经包含了一个清单文件,以防万一跟随this tutorial,但本教程只讨论Windows vista,而不是7 中的.xml(manifest) 文件本教程使我的应用程序也能够处理 win7 UAC
edit3 如果我包含我自己的清单文件并且 delphi 默认也包含它,这将生成 2 个清单文件(1 个具有管理员权限和第二个没有)这会导致任何问题/不可预测的行为
【问题讨论】:
-
为什么您的程序需要修改管理级别的注册表项?如果您的程序需要这样做,那么它在较旧的 Windows 版本上运行也会遇到问题,除非您的客户让他们的所有用户都以管理权限运行,这将是愚蠢的。此外,如果您要支持较新版本的 Windows,购买一份副本是值得的,这样您就可以在您声称支持的平台上测试您的软件。
-
@rob kennedy:情况不是你想的那样,实际上我得到了实习机会,我的第一次面试很顺利,但他们要求我提交一个演示程序,他们要求的一件事是我的程序应该能够在每次 Windows 启动时运行我的解决方案是修改“Software\Microsoft\Windows\CurrentVersion\Run”以使其在 Windows 启动时启动我担心如果他们在 windows7 上以普通用户帐户对其进行测试我软件会失败:(
-
如果您在
HKey_Current_User中修改该注册表设置,您应该没有任何问题。或者,如果您将程序的快捷方式放在“开始”菜单的“启动”文件夹中,也应该可以。我认为如果程序的其余职责不需要它,那么对您的程序要求管理员权限会更糟糕。此外,我相信您可以在提交程序时告诉他们您无法访问 Windows 7,因此您无法在那里进行测试;对于学生来说,这是一个完全可以理解的情况。他们将改为在 Windows XP 上对其进行测试。 -
“如果你修改 HKey_Current_User 中的注册表设置,你应该不会有任何问题”如果我这样做 UAC 不会弹出或者它仍然会弹出? “或者,如果您在启动文件夹中放置程序的快捷方式”之前尝试过,但每当我这样做时,我的防病毒软件说可能程序的行为就像木马一样,删除它并创建一个备份副本“我相信你可以提交程序时告诉他们您无权访问 Windows 7”,他们的另一个要求是我的程序应该在 xp、vista 和 7 上运行。
标签: delphi delphi-2010 manifest