NSIS:查找带有通配符的注册表项

NSIS:查找带有通配符的注册表项,nsis,Nsis,我的问题的背景是,我正试图从Windows Installer系统转移到NSIS。 在安装过程中,会向用户显示“我的软件”的已安装版本列表,其中应包括以前使用Windows Installer系统进行的安装(然后可以决定并行安装或更换版本) 现在,基于Windows Installer的安装的注册表项处于 HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\MySoftware12.18.12345 特别是最后一部分18.12345

我的问题的背景是,我正试图从Windows Installer系统转移到NSIS。 在安装过程中,会向用户显示“我的软件”的已安装版本列表,其中应包括以前使用Windows Installer系统进行的安装(然后可以决定并行安装或更换版本)

现在,基于Windows Installer的安装的注册表项处于

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\MySoftware12.18.12345
特别是最后一部分
18.12345
取决于安装的是我的软件的早期版本。 所以我试图找到所有以MySoftware12开头的键。 这是可能的还是我的做法不对

干杯
Markus可用于枚举密钥:

StrCpy $0 0 ; Registry key index
enumunkey:
    EnumRegKey $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" $0
    IntOp $0 $0 + 1
    StrCmp $1 "" done
    StrCpy $2 $1 10 ; 10 is length of "MySoftware"
    StrCmp $2 "MySoftware" 0 enumunkey
    MessageBox MB_OK "Found:$1"
    Goto enumunkey
done:
如果还需要检测64位版本,则在调用
SetRegView 64
后,还必须使用另一个循环(请记住在循环后将其还原)