Inno setup Inno设置:显示32位组件-尽管它们不应该显示

Inno setup Inno设置:显示32位组件-尽管它们不应该显示,inno-setup,autocad,Inno Setup,Autocad,好的,安装过程中必须根据现有的注册表项显示可安装组件的列表,并且它可以以某种方式工作。 这是我的函数,用于检查每个组件的键,但会显示32位组件,尽管未安装相应的AutoCAD 32位版本。让我们以案例8为例。当前安装的AutoCAD版本为64位,在安装过程中会显示我的相应程序。案例7应检查已安装的AutoCAD 32位,并列出我的相应程序-但为什么 function CheckRegKey(GetNumber: Integer): Boolean; begin Result := Fals

好的,安装过程中必须根据现有的注册表项显示可安装组件的列表,并且它可以以某种方式工作。 这是我的函数,用于检查每个组件的键,但会显示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; 

结束

首先,在real中检查注册表中的内容。在64位Windows上打开应为64位的regedit,并检查64位节点HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.1和32位节点HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Autodesk\AutoCAD\R18.1中是否有密钥。根据您的描述,假设您正在运行32位模式的设置,这两种模式都应该存在。如果这两个键都存在,则Autodesk支持部门比我们更需要问这个问题:-谢谢!是的,两者都存在,我不知道现在该怎么办。我将查看Autodesk以了解更多信息,谢谢!:不客气!好吧,也许你可以试着检查键值的基础上。如果您幸运的话,将有一个安装ID列表,其中每个版本的唯一ID对于32位和64位版本都有所不同。如果存在这样的列表,我不知道,我找不到。我不知道AutoCAD是否是这些应用程序之一,但有时当您安装64位版本的应用程序时,它实际上会同时安装32位和64位版本,或者安装64位版本,并带有一个允许加载32位插件的层。不过,与Autodesk进行核对可能是最好的策略。