windows-nt/Source/XPSP1/NT/termsrv/admtools/appcmpt/chs/msproj98.cmd
2020-09-26 16:20:57 +08:00

163 lines
4.3 KiB
Batchfile
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@Echo Off
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 从注册表获取 Project 98 的安装位置。如果找不到,
Rem 则假定 Project 没有安装并显示错误消息。
Rem
..\ACRegL %Temp%\Proj98.Cmd PROJINST "HKLM\Software\Microsoft\Office\8.0\Common\InstallRoot" "OfficeBin" ""
If Not ErrorLevel 1 Goto Cont0
Echo.
Echo 无法从注册表检索 Project 98 的安装位置。
Echo 请验证 Project 98 是否已经安装,并再次运行
Echo 这个脚本。
Echo.
Pause
Goto Done
:Cont0
Call %Temp%\Proj98.Cmd
Del %Temp%\Proj98.Cmd >Nul: 2>&1
Rem #########################################################################
Rem
Rem 已安装 Office 97并且 Project 98 安装脚本
Rem 已将模板移到了当前用户的目录。
Rem 将它们放在一个通用的地方。Proj98Usr.cmd 会将它们移回去。
Rem
If NOT Exist "%RootDrive%\Office97\Templates\Microsoft Project" goto skip10
If Exist "%PROJINST%\..\Templates\Microsoft Project" goto skip10
xcopy "%RootDrive%\Office97\Templates\Microsoft Project" "%PROJINST%\..\Templates\Microsoft Project" /E /I /K > Nul: 2>&1
:skip10
If NOT Exist "%RootDrive%\Office97\Templates\Microsoft Project Web" goto skip11
If Exist "%PROJINST%\..\Templates\Microsoft Project Web" goto skip11
xcopy "%RootDrive%\Office97\Templates\Microsoft Project Web" "%PROJINST%\..\Templates\Microsoft Project Web" /E /I /K > Nul: 2>&1
:skip11
Rem #########################################################################
Rem
Rem 使 Global.mpt 文件成为只读。
Rem 否则,第一个启用 Project 的用户会改变 ACL
Rem
if Exist "%PROJINST%\Global.mpt" attrib +r "%PROJINST%\Global.mpt"
Rem #########################################################################
Rem
Rem 允许 Office 97 更新的系统 DLL 上的每个人
Rem 有读取权。
Rem
If Exist %SystemRoot%\System32\OleAut32.Dll cacls %SystemRoot%\System32\OleAut32.Dll /E /T /G "Authenticated Users":R > NUL: 2>&1
Rem #########################################################################
Rem
Rem 创建 Powerpoint 和 Excel 附加项(文件/另存为 HTML等)
Rem 所需的 MsForms.Twd 文件。运行这些程序时,它们
Rem 会用含有所需数据的文件替换
Rem 相应的文件。
Rem
If Exist %systemroot%\system32\MsForms.Twd Goto Cont2
Copy Nul: %systemroot%\system32\MsForms.Twd >Nul:
Cacls %systemroot%\system32\MsForms.Twd /E /P "Authenticated Users":F > Nul: 2>&1
:Cont2
Rem #########################################################################
Rem
Rem 从所有用户的“启动”菜单删除“快速查找”。
Rem “快速查找”消耗资源,会影响系统
Rem 性能。
Rem
If Exist "%COMMON_STARTUP%\Microsoft 文件检索.lnk" Del "%COMMON_STARTUP%\Microsoft 文件检索.lnk"
Rem #########################################################################
Rem
Rem 更改注册表项,使路径指向用户特有的
Rem 目录。
Rem
Rem 如果目前不在安装模式中,请改成安装模式。
Set __OrigMode=Install
ChgUsr /query > Nul:
if Not ErrorLevel 101 Goto Begin
Set __OrigMode=Exec
Change User /Install > Nul:
:Begin
Set __SharedTools=Shared Tools
If Not "%PROCESSOR_ARCHITECTURE%"=="ALPHA" goto acsrCont1
If Not Exist "%ProgramFiles(x86)%" goto acsrCont1
Set __SharedTools=Shared Tools (x86)
:acsrCont1
..\acsr "#ROOTDRIVE#" "%RootDrive%" Template\msproj98.Key msproj98.tmp
..\acsr "#__SharedTools#" "%__SharedTools%" msproj98.tmp msproj98.Key
Del msproj98.tmp >Nul: 2>&1
regini msproj98.key > Nul:
Rem 如果原始模式是执行,请改回执行模式。
If "%__OrigMode%" == "Exec" Change User /Execute > Nul:
Set __OrigMode=
Rem #########################################################################
Rem
Rem 更新 proj97Usr.Cmd 来反映实际安装目录并
Rem 将其添加到 UsrLogn2.Cmd 脚本
Rem
..\acsr "#INSTDIR#" "%PROJINST%" ..\Logon\Template\prj98Usr.Cmd ..\Logon\prj98Usr.Cmd
FindStr /I prj98Usr %SystemRoot%\System32\UsrLogn2.Cmd >Nul: 2>&1
If Not ErrorLevel 1 Goto Skip1
Echo Call prj98Usr.Cmd >> %SystemRoot%\System32\UsrLogn2.Cmd
:Skip1
Rem #########################################################################
Echo.
Echo 要保证 Project 98 的正常运行,在运行任何
Echo 应用程序之前,目前登录的用户必须先注销,
Echo 再重新登录。
Echo.
Echo Microsoft Project 98 多用户应用程序调整已结束
Pause
:done