我正在尝试保存一些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文件。导入后导入不是对称的,这似乎很疯狂。
答案 0 :(得分:4)
正如您所发现的,这确实与注册表枚举顺序与字母顺序有关。
Delphi以枚举顺序加载包,这并不总是按字母顺序排列 我还没有找到一个显示枚举顺序的注册表编辑工具,它们似乎总是按字母顺序显示。
这尤其重要:
当您无法将BPL文件放在PATH上时,您应该按照要加载BPL文件的顺序添加注册表值(您可能需要使用相同键的多个部分来执行此操作)。
或者您应该按字母顺序排列依赖顺序(;