问题描述
在Windows 7 64位系统上安装LoadRunner 9.52补丁包过程中,遇到以下错误
---------------------------
HP LoadRunner 9.52
---------------------------
Upgrade patch cannot be installed because the program to be upgraded
may be missing, or the patch may update different version of the program.
Verify That "HP LoadRunner Software 9.51" exists on your machine.
---------------------------
问题分析
补丁包LoadRunner_952.exe在安装过程中如果需要判断是否已经安装了9.51补丁包,必然需要检查当前系统中配置。
打开Process Monitor跟踪LoadRunner_952.exe,发现补丁包执行过程中访问以下注册表键值失败:
HKLM/SOFTWARE/Mercury Interactive/LoadRunner/CurrentVersion
运行regedit,发现确实无Mercury Interactive注册表键值
这是由于windows 7 64位的注册表分为64位和32位
64位注册表通过运行Regedit.exe来进行编辑,其中32位注册表项位于HKEY_LOCAL_MACHINE/Software/WOW6432Node下
32位注册表通过%systemroot%/syswow64/regedit.exe来进行编辑
而LoadRunner的键值都是配置在32位注册表,如图
而在64位注册表中则连Mercury Interactive项都不存在
解决方案
将32位注册表中Mercury Interactive中LoadRunner项导出,然后再导入64位注册表项中,再次安装通过