好的,必须在安装过程中根据现有的注册表项显示可安装组件的列表,并且它可以工作 - 不知何故。
这是我检查每个组件的键的功能,但是虽然没有安装相应的32位版本的AutoCAD,但会显示32位组件。我们以案例8为例。当前安装的AutoCAD版本为64位,在安装过程中会显示相应的程序。案例7应检查已安装的AutoCAD 32位,并列出了我的相应程序 - 但为什么?
function CheckRegKey(GetNumber: Integer): Boolean;
begin
Result := False;
case GetNumber of
1: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R17.0');
2: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R17.1');
3: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R17.2');
4: Result := RegKeyExists(HKLM64, 'SOFTWARE\Autodesk\AutoCAD\R17.2');
5: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R18.0');
6: Result := RegKeyExists(HKLM64, 'SOFTWARE\Autodesk\AutoCAD\R18.0');
7: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R18.1');
8: Result := RegKeyExists(HKLM64, 'SOFTWARE\Autodesk\AutoCAD\R18.1');
9: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R18.2');
10: Result := RegKeyExists(HKLM64, 'SOFTWARE\Autodesk\AutoCAD\R18.2');
11: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R19.0');
12: Result := RegKeyExists(HKLM64, 'SOFTWARE\Autodesk\AutoCAD\R19.0');
13: Result := RegKeyExists(HKLM, 'SOFTWARE\Autodesk\AutoCAD\R19.1');
14: Result := RegKeyExists(HKLM64, 'SOFTWARE\Autodesk\AutoCAD\R19.1');
end;
端;