您的位置:首页 > 编程语言 > Java开发

Java运行环境与Windows注册表

2006-12-19 19:55 295 查看
from http://blog.sina.com.cn/u/4ad4a32e0100065a

有两种Java运行环境(JRE),公有JRE (public JRE)与私有JRE(private JRE)。JDK安装程序会安装私有JRE和一个可选的公有JRE。私有JRE完全包含在JDK的安装路径下,仅对JDK可见,为JDK所用。公有JRE为系统中所有的Java程序共享,具有独立的安装程序。与私有JRE不同,公有JRE的安装程序会对系统做一些修改来与OS和浏览器建立更密切的关系,主要有以下几个方面:

控制面板中的添加/删除程序列表就会出现公有JRE

控制面板中安装一个Java的控制面板项,可用它来设置一些与公有JRE相关的参数

在%SystemRoot%/system32下会出现java.exe,javaw.exe, javaws.exe

注册表做必要的添加或调整以将公有JRE注册到系统中。

公有JRE的卸载程序会做相应的清除工作来恢复一个干净的操作环境。

由于种种原因,公有JRE卸载失败,或者有时重装JRE也不能解决问题,为了恢复以前的环境,有时需要手工将安装程序所做的修改undo回去,这时我们就需要了解安装程序对注册表做了哪些修改。

注意:

1. 在对注册表做任何修改之前备份注册表!误操作可能导致你的系统无法启动!
2. 以下是实现细节, 会随时改变. 所以仅供参考.

以下描述基于J2SE 5.0 以上或Java SE 6 :

1.卸载程序
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/
{3248F0A8-6813-11D6-A77B-
00B0D0MAJORVERSIONMINORVERSIONMICROVERSIONCOMPUPDATEVERSION}

MAJORVERSION: JRE的主版本号
MINORVERSION:JRE的次版本号
MICROVERSION:JRE的微版本号
COMPUPDATEVERSION: JRE Update版本号*10

例如:Java SE 6的版本为1.6.0, 它的键值为:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/
{3248F0A8-6813-11D6-A77B-00B0D0160000}

J2SE 5 Update 10的版本为1.5.0_10, 它的键值为:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/
{3248F0A8-6813-11D6-A77B-00B0D0150100}

2. JVM
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment
这里列出了系统安装的所有的JRE.

3. 浏览器中Applet运行环境(Java Plug-In)版本列表
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in

4. Java Web Start版本列表
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Web Start

5. Java自动更新
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Update
在控制面板中对Java Update所做的设置就存于此处。

6. Java Preferences API
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Prefs

7. 用于探测系统上所安装的Java Web Start的组件CLSID和ProgID
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/
{5852F5ED-8BF4-11D4-A245-0080C6F74284}

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/JavaWebStart*

8. IE中<applet>的支持组件
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/
{8AD9C840-044E-11D1-B3E9-00805F499D93}

9. IE中对用<object>来加载Applet的支持 HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/
{CAFEEFAC-*-*-*-*}

10. 从网上用于自动下载JRE的ActiveX的CLSID
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Code Store Database/Distribution Units/
{8AD9C840-044E-11D1-B3E9-00805F499D93}

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Code Store Database/Distribution Units/
{CAFEEFAC-*-*-*-*}

11. IE 选项中SUN Java
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/AdvancedOptions/JAVA_SUN

12. IE的Java Console菜单
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Extensions/
{08B0E5C0-4FCB-11CF-AAA5-00401C608501}

13. 与IE7 ActiveX Opt-In相关的pre-approved表
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Ext/
PreApproved/
{8AD9C840-044E-11D1-B3E9-00805F499D93}

14. Microsoft的JVM
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/
{08B0E5C0-4FCB-11CF-AAA5-00401C608500} HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/
{08B0E5C0-4FCB-11CF-AAA5-00401C608501}

注意第2个键中的TreatAs, 熟悉COM的人都应知道它的含义. 这个TreatAs与Sun JRE 有关

15. 运行*.jar
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/jarfile

16. 运行*.jnlp
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/JNLPFile

17. Java Web Start 的 App Path,方便javaws寻找它的DLLs
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/
App Paths/javaws.exe

18. Java Plug-In ProgIDs
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/JavaPlugin*

以上是HKLM中的东东, HKCU中还有一些, 以后再说吧. 要干净清除JRE, 有时还要处理HKCU.
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息