IBM VisualAge RPG修改密码提示注册表找不到JRE问题咨询
问题解答
FVDCWVC9.DLL的注册表匹配规则
FVDCWVC9.DLL是IBM VisualAge RPG 6.0配套的32位运行时组件,发布于2000年代初期,其JRE检索逻辑为硬编码规则,只会读取固定注册表路径:
- 64位Windows系统中,32位的FVDCWVC9.DLL会自动重定向到
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment节点读取信息 - 首先读取该节点下的
CurrentVersion值获取默认JRE版本号,再进入对应版本号的子项读取JavaHome值获取JRE安装路径 - 对注册表路径、键名的匹配完全严格,不支持自定义路径、第三方厂商自定义的注册规范
关于JRE识别范围的说明
该组件确实仅识别Sun/Oracle官方发布的JRE。开发该组件时第三方OpenJDK发行版尚未普及,也没有统一的OpenJDK注册表注册规范,所以逻辑上仅硬编码匹配JavaSoft路径下的Sun/Oracle JRE注册信息,AdoptOpenJDK、Eclipse Temurin等第三方OpenJDK发行版默认写入的是厂商自定义注册表路径,不会被该DLL识别。
另外你当前安装的是64位AdoptOpenJDK,就算路径匹配也无法被32位的FVDCWVC9.DLL加载,同样会触发找不到JRE的错误。
可行解决方案
- 安装32位的Oracle JRE 1.5/1.6版本,这两个版本是VisualAge RPG 6.0官方兼容的JRE版本,安装后会自动写入对应注册表节点,无需额外配置
- 如果不想安装旧版Oracle JRE,可以手动添加注册表映射:在
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment节点下创建对应版本的子项,填入你安装的32位AdoptOpenJDK的JavaHome路径即可 - 注意:当前你看到的Password will be disabled with next invalid attempt提示是JRE加载失败后接口异常返回导致的,和密码输入正误无关,不要反复尝试修改密码避免账号被锁。
内容的提问来源于stack exchange,提问作者M. A. Wheadon
相关产品推荐
相关产品推荐

