Sql server RegQueryStringValue不返回多个_SZ值

Sql server RegQueryStringValue不返回多个_SZ值,sql-server,installation,registry,inno-setup,Sql Server,Installation,Registry,Inno Setup,我正在为使用SQL Server的软件开发一个安装程序,因此我正在检查它是否使用以下代码安装,运行在Windows 7 x64和Inno Setup 5.5.4上(在Ansi和Unicode上测试): 函数IsSQLServerInstalled():布尔值; 变量 版本:字符串; 实例:字符串; 实例列表:TArrayOfString; i:整数; 开始 如果(不存在注册表项(HKEY\U LOCAL\U MACHINE,'SOFTWARE\Microsoft\Microsoft SQL Se

我正在为使用SQL Server的软件开发一个安装程序,因此我正在检查它是否使用以下代码安装,运行在Windows 7 x64和Inno Setup 5.5.4上(在Ansi和Unicode上测试):

函数IsSQLServerInstalled():布尔值;
变量
版本:字符串;
实例:字符串;
实例列表:TArrayOfString;
i:整数;
开始
如果(不存在注册表项(HKEY\U LOCAL\U MACHINE,'SOFTWARE\Microsoft\Microsoft SQL Server')),则开始
结果:=假;
结束
否则开始
RegQueryStringValue(HKEY\U本地\U计算机、“软件\Microsoft\Microsoft SQL Server”、“已安装状态”实例);
//代码继续。。。
这里没有一个问题,因为代码编译得很好,但是当我调试时,“instances”变量保持为空,尽管我有这个MULTI_SZ register值,其中包含我机器上安装的实例。如果它应该返回“INSTANCE1 INSTANCE2”之类的内容,那么它只会给我一个“空白”

RegKeyExists
函数执行得也很好,因此正常命中
else

我做错了什么?

我必须使用,它可以在多个SZ值上正常工作。谢谢大家