203 lines
6.3 KiB
Batchfile
203 lines
6.3 KiB
Batchfile
@Echo Off
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 验证 CMD 扩展名是否已启用
|
|
Rem
|
|
|
|
if "A%cmdextversion%A" == "AA" (
|
|
call cmd /e:on /c netcom40.cmd
|
|
) else (
|
|
goto ExtOK
|
|
)
|
|
goto Done
|
|
|
|
:ExtOK
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 请验证 %RootDrive% 已经过配置,并为这个脚本设置该变量。
|
|
Rem
|
|
|
|
Call "%SystemRoot%\Application Compatibility Scripts\ChkRoot.Cmd"
|
|
If "%_CHKROOT%" == "FAIL" Goto Done
|
|
Call "%SystemRoot%\Application Compatibility Scripts\SetPaths.Cmd"
|
|
If "%_SETPATHS%" == "FAIL" Goto Done
|
|
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 获取 NetScape 版本(4.5x 跟 4.0x 的不一样)
|
|
Rem
|
|
|
|
..\ACRegL "%Temp%\NS4VER.Cmd" NS4VER "HKLM\Software\Netscape\Netscape Navigator" "CurrentVersion" "STRIPCHAR(1"
|
|
If Not ErrorLevel 1 Goto Cont0
|
|
Echo.
|
|
Echo 无法从注册表检索 Netscape Communicator 4 版本。
|
|
Echo 请验证 Communicator 是否已经安装,并再次
|
|
Echo 运行这个脚本。
|
|
Echo.
|
|
Pause
|
|
Goto Done
|
|
|
|
:Cont0
|
|
Call "%Temp%\NS4VER.Cmd"
|
|
Del "%Temp%\NS4VER.Cmd" >Nul: 2>&1
|
|
|
|
|
|
if /i "%NS4VER%" LSS "4.5 " goto NS40x
|
|
|
|
Rem #########################################################################
|
|
Rem Netscape 4.5x
|
|
|
|
Rem
|
|
Rem 从注册表获取 Netscape Communicator 4.5 的安装位置。
|
|
Rem 如果找不到,则假定 Communicator 没有安装并
|
|
Rem 显示错误消息。
|
|
Rem
|
|
|
|
..\ACRegL "%Temp%\NS45.Cmd" NS40INST "HKCU\Software\Netscape\Netscape Navigator\Main" "Install Directory" "Stripchar\1"
|
|
If Not ErrorLevel 1 Goto Cont1
|
|
Echo.
|
|
Echo 无法从注册表检索 Netscape Communicator 4.5 安装位置。
|
|
Echo 请验证 Communicator 是否已经安装,并再次运行
|
|
Echo 这个脚本。
|
|
Echo.
|
|
Pause
|
|
Goto Done
|
|
|
|
:Cont1
|
|
Call "%Temp%\NS45.Cmd"
|
|
Del "%Temp%\NS45.Cmd" >Nul: 2>&1
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 更新 Com40Usr.Cmd 来反映默认 NetScape 用户目录并
|
|
Rem 将其添加到 UsrLogn2.Cmd 脚本
|
|
Rem
|
|
|
|
..\acsr "#NSUSERDIR#" "%ProgramFiles%\Netscape\Users" ..\Logon\Template\Com40Usr.Cmd ..\Logon\Com40Usr.tmp
|
|
..\acsr "#NS40INST#" "%NS40INST%" ..\Logon\Com40Usr.tmp ..\Logon\Com40Usr.tm2
|
|
..\acsr "#NS4VER#" "4.5x" ..\Logon\Com40Usr.tm2 ..\Logon\Com40Usr.Cmd
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 复制 "quick launch" 图标到 Netscape 安装目录以便
|
|
Rem 将它们复制到每个用户的配置文件目录中
|
|
Rem
|
|
|
|
If Exist "%UserProfile%\%App_Data%\Microsoft\Internet Explorer\Quick Launch\Netscape Composer.lnk" copy "%UserProfile%\%App_Data%\Microsoft\Internet Explorer\Quick Launch\Netscape Composer.lnk" "%NS40INST%"
|
|
If Exist "%UserProfile%\%App_Data%\Microsoft\Internet Explorer\Quick Launch\Netscape Messenger.lnk" copy "%UserProfile%\%App_Data%\Microsoft\Internet Explorer\Quick Launch\Netscape Messenger.lnk" "%NS40INST%"
|
|
If Exist "%UserProfile%\%App_Data%\Microsoft\Internet Explorer\Quick Launch\Netscape Navigator.lnk" copy "%UserProfile%\%App_Data%\Microsoft\Internet Explorer\Quick Launch\Netscape Navigator.lnk" "%NS40INST%"
|
|
|
|
goto DoUsrLogn
|
|
|
|
:NS40x
|
|
Rem #########################################################################
|
|
Rem Netscape 4.0x
|
|
|
|
Rem
|
|
Rem 从注册表获取 Netscape Communicator 4.5 的安装位置。
|
|
Rem 如果找不到,则假定 Communicator 没有安装并
|
|
Rem 显示错误消息。
|
|
Rem
|
|
|
|
..\ACRegL "%Temp%\NS40.Cmd" NS40INST "HKCU\Software\Netscape\Netscape Navigator\Main" "Install Directory" ""
|
|
If Not ErrorLevel 1 Goto Cont2
|
|
Echo.
|
|
Echo 无法从注册表检索 Netscape Communicator 4 安装位置。
|
|
Echo 请验证 Communicator 已经安装,并重新运行
|
|
Echo 这个脚本。
|
|
Echo.
|
|
Pause
|
|
Goto Done
|
|
|
|
:Cont2
|
|
Call "%Temp%\NS40.Cmd"
|
|
Del "%Temp%\NS40.Cmd" >Nul: 2>&1
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 将默认配置文件从管理员的主目录复制到一个
|
|
Rem 已知位置。在登录期间,这个配置文件会被复制
|
|
Rem 到每个用户的目录。如果全局默认配置文件已存在,不要将
|
|
Rem 其改写。否则,管理员可能会在以后运行这个脚本时
|
|
Rem 将所有个人信息移到全局默认配置文件。
|
|
Rem
|
|
|
|
If Exist %RootDrive%\NS40 Goto Cont3
|
|
Echo.
|
|
Echo 在 %RootDrive%\NS40 中找不到默认配置文件。请运行
|
|
Echo 用户配置文件管理器并创建一个名为 "Default" 的配置文件。
|
|
Echo 出现输入配置文件路径的提示时,请用上面显示的路径。
|
|
Echo 不要填写名称和电子邮件名称项目。如果存在别的配置文件,
|
|
Echo 则将它们删除。完成这些步骤后,重新运行
|
|
Echo 这个脚本。
|
|
Echo.
|
|
Pause
|
|
Goto Done
|
|
|
|
:Cont3
|
|
If Exist "%NS40INST%\DfltProf" Goto Cont4
|
|
Xcopy "%RootDrive%\NS40" "%NS40INST%\DfltProf" /E /I /K >NUL: 2>&1
|
|
:Cont4
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 从用户配置文件管理器的“开始”菜单快捷方式
|
|
Rem 删除用户的读取权。这防止普通用户添加新的用户
|
|
Rem 配置文件。但管理员依旧可以运行用户配置文件管理器。
|
|
Rem
|
|
|
|
If Not Exist "%COMMON_PROGRAMS%\Netscape Communicator\Utilities\User Profile Manager.Lnk" Goto Cont5
|
|
Cacls "%COMMON_PROGRAMS%\Netscape Communicator\Utilities\User Profile Manager.Lnk" /E /R "Authenticated Users" >Nul: 2>&1
|
|
Cacls "%COMMON_PROGRAMS%\Netscape Communicator\Utilities\User Profile Manager.Lnk" /E /R "Users" >Nul: 2>&1
|
|
Cacls "%COMMON_PROGRAMS%\Netscape Communicator\Utilities\User Profile Manager.Lnk" /E /R "Everyone" >Nul: 2>&1
|
|
|
|
:Cont5
|
|
|
|
If Not Exist "%COMMON_PROGRAMS%\Netscape Communicator Professional Edition\Utilities\User Profile Manager.Lnk" Goto Cont6
|
|
Cacls "%COMMON_PROGRAMS%\Netscape Communicator Professional Edition\Utilities\User Profile Manager.Lnk" /E /R "Authenticated Users" >Nul: 2>&1
|
|
Cacls "%COMMON_PROGRAMS%\Netscape Communicator Professional Edition\Utilities\User Profile Manager.Lnk" /E /R "Users" >Nul: 2>&1
|
|
Cacls "%COMMON_PROGRAMS%\Netscape Communicator Professional Edition\Utilities\User Profile Manager.Lnk" /E /R "Everyone" >Nul: 2>&1
|
|
|
|
:Cont6
|
|
|
|
Rem #########################################################################
|
|
|
|
Rem
|
|
Rem 更新 Com40Usr.Cmd 来反映实际安装目录并
|
|
Rem 将其添加到 UsrLogn2.Cmd 脚本
|
|
Rem
|
|
|
|
..\acsr "#PROFDIR#" "%NS40INST%\DfltProf" ..\Logon\Template\Com40Usr.Cmd ..\Logon\Com40Usr.tmp
|
|
..\acsr "#NS4VER#" "4.0x" ..\Logon\Com40Usr.tmp ..\Logon\Com40Usr.Cmd
|
|
|
|
:DoUsrLogn
|
|
|
|
del ..\Logon\Com40Usr.tmp >Nul: 2>&1
|
|
del ..\Logon\Com40Usr.tm2 >Nul: 2>&1
|
|
|
|
FindStr /I Com40Usr %SystemRoot%\System32\UsrLogn2.Cmd >Nul: 2>&1
|
|
If Not ErrorLevel 1 Goto Skip1
|
|
Echo Call Com40Usr.Cmd >> %SystemRoot%\System32\UsrLogn2.Cmd
|
|
:Skip1
|
|
|
|
Echo.
|
|
Echo 要保证 Netscape Communicator 的正常运行,在运行任何
|
|
Echo 应用程序之前,目前登录的用户必须先注销,再
|
|
Echo 重新登录
|
|
Echo.
|
|
Echo Netscape Communicator 4 多用户应用程序调整已结束
|
|
Pause
|
|
|
|
:done
|
|
|