2009年6月11日星期四

转帖 如何通过使用 64 位版本 Windows 查看系统注册表

如何通过使用 64 位版本 Windows 查看系统注册表

本文介绍如何通过使用 64 位版本 Windows 查看 Windows 注册表。 & L, w! q+ g( E' B) E

% s! z& d+ {% |) w# {64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。64 位版...64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。
6 O$ M6 W0 p6 r! [$ F. f3 D" g5 b- d+ C
64 位版本 Windows 包含的默认 64 位版本注册表编辑器 (Regedit.exe) 可显示 64 位和 32 位的 注册表项。WOW64 注册表重定向器为 32 位程序提供了对应于 32 位程序注册表项的不同注册表项。在 64 位版本的注册表编辑器中,32 位注册表项显示在以下注册表项下:
: o8 o$ c4 w$ ~+ |, [- M% t9 _4 B+ z' A  HKEY_LOCAL_MACHINE\Software\WOW6432Node4 A: u/ I! A2 K( d

. G- `2 D6 X  w7 O  A( Y5 _; l使用默认的 64 位版本注册表编辑器,可以查看或编辑 64 位和 32 位的注册表项和项值。要查看或编辑 64 位注册表项,必须使用 64 位版本的注册表编辑器 (Regedit.exe)。还可以使用 %systemroot%\Syswow64 文件夹中的 32 位版本注册表编辑器查看或编辑 32 位注册表项和项值。在 32 位版本注册表编辑器中执行任务的方式与 64 位版本注册表编辑器没有区别。要打开 32 位版本的注册表编辑器,请按照下列步骤操作:2 A7 z6 g, z4 D% a0 G
  1、单击"开始",然后单击"运行"。+ v0 W% s3 ~6 m$ W3 t" A
  2、在"打开"框中,键入 %systemroot%\syswow64\regedit,然后单击"确定"。
1 z* ]$ r1 j. @$ h3 W+ ]6 E7 S! ~5 b$ `( ^/ x5 T0 \, G
  注意:除非使用 -m 开关启动注册表编辑器的第二个实例,否则,必须先关闭 64 位版本的注册表编辑器,然后才能打开 32 位版本的注册表编辑器(反之亦然)。例如,如果 64 位版本的注册表编辑器已经在运行,在第 2 步键入 %systemroot%\syswow64\regedit -m 可启动 32 位版本的注册表编辑器。6 U- G0 J2 o2 V+ x" \
/ i+ E% B% g1 k5 k
为了支持 32 位和 64 位 COM 注册和程序状态的共存,WOW64 为 32 位程序提供了一种备用注册表视图。32 位程序会看到与真正的 64 位 HKEY_LOCAL_MACHINE\Software 树完全分开的 32 位 HKEY_LOCAL_MACHINE\Software 树 (HKEY_LOCAL_MACHINE\Software\WOW6432Node)。这样可以隔离 HKEY_CLASSES_ROOT,因为此树的每个计算机部分驻留在以下注册表项内: 0 ~; ]6 [3 G4 S/ C4 X/ A
  HKEY_LOCAL_MACHINE\Software
) H" O: L7 G4 s! O% n9 W3 @9 r" F% V0 d, {$ F3 |
为了通过 COM 和其他机制实现 64 位/32 位程序互操作性,WOW64 使用了一个"注册表反射器"来在 64 位注册表视图和 32 位注册表视图之间镜像某些注册表项和项值。该反射器是"智能"的,因为它只反射 COM 激活数据。 5 G" A- }2 E/ O, E! M

. C* z6 j8 f+ k0 L: p7 g% a反射的注册表项, W& n  \1 v* L  L  P
WOW64 注册表反射器可能会在反射过程中修改注册表项的内容和项值,目的是为了调整路径名等。因此,32 位的内容与 64 位的内容可能会有所不同。下面的注册表项会被反射: + g. Z, m  U% Y1 @$ G
  ・HKEY_LOCAL_MACHINE\Software\Classes9 m1 J& |. {+ A, \/ _9 f; x7 e5 R
  ・HKEY_LOCAL_MACHINE\Software\COM3% W  W9 x, \& A# d% R
  ・HKEY_LOCAL_MACHINE\Software\Ole
  \7 Y5 s1 f: M% t4 K  ・HKEY_LOCAL_MACHINE\Software\EventSystem
/ c4 o4 t4 y& m" b8 p5 n* [& k$ V  ・HKEY_LOCAL_MACHINE\Software\RPC
 
2009-06-11

chenxu

转帖 修改tomcat5.0的service.bat文件

修改tomcat5.0的service.bat文件

下载的zip版的tomcat要注册为windows系统服务就要运行bin/service.bat
加载服务为
service install tomcat5
卸载服务为
service remove tomcat5

可以对service.bat文件做一些其他修改,使tomcat更加能满足我们各种不同需求时的要求

1. 如果让tomcat编译jsp文件,就在PR_CLASSPATH中加入J2SDK的tools.jar
修改前:
set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
修改后:
set PR_CLASSPATH=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar

2.要使用一个特定的JVM,就要修改jvm的参数;要使注册的windows服务的启动方式为自动,增加--Startup Automatic,这个是比较常用的;要用定制的server.xml配置文件并且传递多个参数给StartClass,要修改StartParams的值,各个值之间用分号分隔:
修改前:
"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm auto
--StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap
--StartParams start --StopParams stop
修改后:
"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm "%JAVA_HOME%\jre\bin\server\jvm.dll"
--StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap
--StartParams "-config;%CUSTOM_SERVERXML_FILE%;-nonaming;start" --StopParams stop
--Startup Automatic

3. 指定最大和最小的内存限制,要增加jvm的初始参数
修改前:
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions
"-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"
--StartMode jvm --StopMode jvm

修改后:
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions
"-Xms128M;-Xmx256M;-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"
--StartMode jvm --StopMode jvm

4.有时注册windows服务成功后,但是启动服务时显示"发生服务特定错误: 0."
就是因为jvm没有指定,修改Jvm auto为Jvm "%JAVA_HOME%\jre\bin\server\jvm.dll"后重新注册windows服务就可以启动了。

 
 
2009-06-11

chenxu