随笔-1  评论-1  文章-2  trackbacks-0

最近一直在做我的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

posted on 2008-03-21 16:02 ralphwho 阅读(2128) 评论(1)  编辑  收藏 所属分类: J2ME

评论:
# re: 安装 Siemens Java MTK 需要JRE1.4, 可我只有1.6 2008-10-11 14:07 | likuntao
hgmjhljl.jfjl  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: