`
ralphwho
  • 浏览: 5782 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

安装 Siemens Java MTK 需要JRE1.4, 可我只有1.6

    博客分类:
  • J2ME
阅读更多

最近一直在做我的J2ME的东西,各种牌子的模拟器基本都装上了,WTK啊,S60 V3的啊,还有摩托的。今天在弄我的文件选择器组件的时候忽然想起来以前在用Siemens CX65时用过的一个软件,对我现在的程序有帮助,于是就想下载下来再运行一下研究看看。因为那个软件用了Siemens私有的类,所以只能在Siemens的机器上跑;可是现在CX65已经多时不用,就拿出硬盘准备装上SMTK模拟器。

 

说起Siemens的模拟器,也是我用的第一个手机Java模拟器,伴随了我学习J2ME的坎坷道路。这个模拟器做的还是非常不错的,速度快,模拟度很高,用起来很顺手对开发帮助确实不小。无奈Siemens Mobile被Benq收购然后又倒闭后,这个东西基本就消失了。想想那时候Siemens的东西也确实不错,唉,总觉得有点可惜。再想想现在Siemens整个Communication部门,又和Nokia搞了个NSN(弄死你),唉。。

 

打开SMTK安装程序后,却弹出了这样的错误:没有找到我的JRE

没有找到我的JRE?我机器上装的是1.6(6.0)版本的JDK,安装程序怎么不认呢。想想这种安装程序肯定是到注册表查找一个跟JRE相关的键值来确定当前的安装版本的,而且我注意到这句话里面有一个词"at least",说明程序本身可以运行在高版本的JRE上。那我就要看看它到底是查找的哪一个键值吧。

 

于是,我启动了大名鼎鼎的Sysinternals Process Monitor,开始监控这个安装程序IDriver.exe的进程事件(重新运行了一下安装程序)。

研究了每一行的输出后,发现了可疑的两行,IDriver.exe对注册表中HKLM\Software\JavaSoft\Java Runtime Enviroment\1.5和1.6两个键值进行了打开操作(RegOpenKey),但结果都是Name Not Found, 没找到。于是可以判断就是这个操作进行了JRE版本的查询,而且只查询了1.4和1.5两个版本。

 

随即我打开我的注册表的相应位置,发现这里确实只有1.6的键

 

想要安装程序通过,很简单,建立一个1.5的键,里面的值跟1.6的键值保持一致就OK。

如上图,1.5键值中的路径都是JRE1.6的。

 

之后又运行了一遍SMTK的安装程序,就没有问题了。

发现以前做IT服务留下的知识还真是很有用的啊。

 

 

Sysinternals已经被微软收购 http://technet.microsoft.com/en-us/sysinternals/default.aspx ,想学习这里面的工具可以去它的创始人Mark Russinovich 的Blog看看http://technet.microsoft.com/en-us/sysinternals/bb963890.aspx

0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics