我们在Installshiled 2008 Premier Edition中开发了MSI包,项目类型为Installscript MSI,最近我们购买了2011年,并将我们的项目升级到2011年。
在早期版本中,我们曾检查Microsoft SQL Express的注册表项,其路径为
**HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerInstance NamesSQL**
现在,一个新的要求出现了,为64位O.S.创建一个包,因为O.S.是64位的,但64位SQL Express的注册表路径是
**HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftMicrosoft SQL ServerInstance NamesSQL**
注册表函数RegDBKeyExists
用于检查SQL注册表是否存在,但函数返回的负数为-2147483646,无法读取。
设置选项REGDB_OPTIONS=REGDB_OOPTIONs|REGDB_option_WOW64_64KEY
将没有帮助,因为我们没有读取与64位相关的注册表配置单元。