【发布时间】:2012-10-18 21:03:29
【问题描述】:
我正在尝试保存一些 Delphi 设置信息以加快 Delphi 安装速度,但我对注册表键值顺序行为感到非常困惑。我导出了我的 Delphi XE2 注册表项:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Known Packages
到 *.reg 文件。从注册表中删除它并重新加载 reg 文件后,Delphi 抱怨缺少 bpl。当我查看密钥列表时,它现在都是按字母顺序排列的——它不是 reg 文件中的那个顺序。我假设在包依赖于另一个包的地方,必须首先列出依赖的包。我说的对吗?
然后我使用 Inno Setup 按此顺序创建三个键值 - B、A、D。运行后,注册表显示A,B,D键顺序。
作为一个组件安装程序,我很少有依赖包。我可以使用什么方法按照我选择的顺序保留密钥?一定是做了什么,因为我有一个按照 Delphi 要求的顺序的 reg 文件。导出后导入不对称似乎很疯狂。
【问题讨论】:
-
我不这么认为.. 应用程序可以检索注册表项的最后写入时间,但我认为它与 reg 文件中的顺序不同。我发现任何排序都不重要。
-
它不应该很重要,但我也发现(在 Delphi 2007 中)顺序显然很重要。我的许多同事都遇到过同样的问题,重新创建注册表路径甚至移动 bpls 都解决了这个问题。不过,还没有找到真正的解决方案。
-
我同意@SertacAkyuz 的观点,即这不是好的行为。请您提供一份质量控制报告吗?
标签: delphi registry delphi-xe2