Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

281 lines
8.9 KiB

@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
Set __SharedTools=Shared Tools
If Not "%PROCESSOR_ARCHITECTURE%"=="ALPHA" goto Start0
If Not Exist "%ProgramFiles(x86)%" goto Start0
Set __SharedTools=Shared Tools (x86)
:Start0
Rem #########################################################################
Rem 設定 app VendorName
SET VendorName=Microsoft
Rem #########################################################################
Rem 將校對工具路徑設定到 MS Office 2000 使用的路徑
SET ProofingPath=Proof
Rem #########################################################################
Rem 設定用來存放應用程式安裝根目錄的登錄機碼及其值
SET AppRegKey=HKLM\Software\Microsoft\Office\8.0\Common\InstallRoot
SET AppRegValue=OfficeBin
Rem #########################################################################
Rem 設定用來存放應用程式範本目錄的登錄機碼及其值
SET AppTemplatesRegKey=HKCU\Software\Microsoft\Office\8.0\Common\FileNew\LocalTemplates
SET AppTemplatesRegValue=
Rem #########################################################################
Rem 設定用來存放應用程式自訂目錄路徑名稱的登錄機碼及其值
SET AppCustomDicRegKey=HKLM\Software\Microsoft\%__SharedTools%\Proofing Tools\Custom Dictionaries
SET AppCustomDicRegValue=1
Rem #########################################################################
Rem 設定指定相關的應用程式檔案名稱及路徑名稱
SET CustomDicFile=Custom.Dic
SET AppPathName=Microsoft Project
SET AppWebPathName=Microsoft Project Web
Rem #########################################################################
Rem 設定 MS Office 2000 所使用的預設路徑
SET AppData=%RootDrive%\%APP_DATA%
SET UserTemplatesPath=%AppData%\%VendorName%\%TEMPLATES%
SET UserCustomDicPath=%AppData%\%VendorName%\%ProofingPath%
Rem #########################################################################
Rem 從登錄中取得 Project 98 安裝位置。
Rem 如果找不到,假設這個應用程式並未安裝,並顯示錯誤訊息。
Rem
..\ACRegL %Temp%\Proj98.Cmd PROJINST "%AppRegKey%" "%AppRegValue%" ""
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
..\ACRegL %Temp%\Proj98.Cmd PROJROOT "%AppRegKey%" "%AppRegValue%" "STRIPCHAR\1"
If Not ErrorLevel 1 Goto Cont01
Echo.
Echo 無法從登錄中抓取 Project 98 的安裝位置。
Echo 請確認 Project 98 是否已安裝,然後重新
Echo 執行這個指令檔。
Echo.
Pause
Goto Done
:Cont01
Call %Temp%\Proj98.Cmd
Del %Temp%\Proj98.Cmd >Nul: 2>&1
Rem #########################################################################
Rem 從登錄中取得範本路徑名稱
Rem
..\ACRegL %Temp%\Proj98.Cmd TemplatesPathName "%AppTemplatesRegKey%" "%AppTemplatesRegValue%" "STRIPPATH"
If Not ErrorLevel 1 Goto Cont02
SET TemplatesPathName=%TEMPLATES%
Goto Cont03
:Cont02
Call %Temp%\Proj98.Cmd
Del %Temp%\Proj98.Cmd >Nul: 2>&1
:Cont03
Rem #########################################################################
Rem 如果並未安裝 MS Office 97,就使用預設路徑
If Not Exist "%RootDrive%\Office97" Goto SetPathNames
Rem #########################################################################
Rem 如果已安裝 MS Office 97,就使用 MS Office 97 路徑。
Rem #########################################################################
Rem 從登錄中取得自訂字典的路徑名稱
Rem
..\ACRegL %Temp%\Proj98.Cmd AppData "%AppCustomDicRegKey%" "%AppCustomDicRegValue%" "STRIPCHAR\1"
If Not ErrorLevel 1 Goto Cont04
SET AppData=%RootDrive%\Office97
Goto Cont05
:Cont04
Call %Temp%\Proj98.Cmd
Del %Temp%\Proj98.Cmd >Nul: 2>&1
:Cont05
Rem #########################################################################
Rem 從登錄中取得範本路徑名稱
Rem
..\ACRegL %Temp%\Proj98.Cmd UserTemplatesPath "%AppTemplatesRegKey%" "%AppTemplatesRegValue%" ""
If Not ErrorLevel 1 Goto Cont06
SET UserTemplatesPath=%AppData%\%TemplatesPathName%
Goto Cont07
:Cont06
Call %Temp%\Proj98.Cmd
Del %Temp%\Proj98.Cmd >Nul: 2>&1
:Cont07
SET UserCustomDicPath=%AppData%
:SetPathNames
Rem #########################################################################
Rem 設定使用者及公用路徑名稱
SET CommonCustomDicPath=%PROJINST%
SET CommonTemplatesPath=%PROJROOT%\%TemplatesPathName%
SET UserCustomDicFileName=%UserCustomDicPath%\%CustomDicFile%
SET UserAppTemplatesPath=%UserTemplatesPath%\%AppPathName%
SET UserAppWebTemplatesPath=%UserTemplatesPath%\%AppWebPAthName%
SET CommonAppTemplatesPath=%CommonTemplatesPath%\%AppPathName%
SET CommonAppWebTemplatesPath=%CommonTemplatesPath%\%AppWebPAthName%
Rem #########################################################################
Rem
Rem 如果 Office 97 已安裝,Project 98 安裝指令檔
Rem 會將範本移動目前的使用者目錄。
Rem 將它們放在通用區域。Proj98Usr.cmd 可以將範本移回原處。
Rem
If NOT Exist "%UserAppTemplatesPath%" goto skip10
If Exist "%CommonAppTemplatesPath%" goto skip10
xcopy "%UserAppTemplatesPath%" "%CommonAppTemplatesPath%" /E /I /K > Nul: 2>&1
:skip10
If NOT Exist "%UserAppWebTemplatesPath%" goto skip11
If Exist "%CommonAppWebTemplatesPath%" goto skip11
xcopy "%UserAppWebTemplatesPath%" "%CommonAppWebTemplatesPath%" /E /I /K > Nul: 2>&1
:skip11
Rem #########################################################################
Rem
Rem 將 Global.mpt 檔案設成唯讀。
Rem 否則第一個啟動 Project 的使用者會變更 ACLs。
Rem
if Exist "%PROJINST%\Global.mpt" attrib +r "%PROJINST%\Global.mpt"
Rem #########################################################################
Rem
Rem 允許任何人讀取被 Office 97 更新過的系統 DLL。
Rem
If Exist %SystemRoot%\System32\OleAut32.Dll cacls %SystemRoot%\System32\OleAut32.Dll /E /T /G "Authenticated Users":R > NUL: 2>&1
Rem #########################################################################
Rem
Rem 建立 MsForms.Twd 檔案,它是
Rem Powerpoint 及 Excel Add-ins ([檔案] [儲存成 HTML] 等等) 的必需檔案。
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
If Exist "%COMMON_STARTUP%\Microsoft Find Fast.lnk" Del "%COMMON_STARTUP%\Microsoft Find Fast.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
..\acsr "#ROOTDRIVE#" "%RootDrive%" Template\msproj98.Key msproj98.tm1
..\acsr "#__SharedTools#" "%__SharedTools%" msproj98.tm1 msproj98.tm2
Del msproj98.tm1 >Nul: 2>&1
..\acsr "#USERCUSTOMDICFILE#" "%UserCustomDicFileName%" msproj98.tm2 msproj98.Key
Del msproj98.tm2 >Nul: 2>&1
regini msproj98.key > Nul:
Rem If original mode was execute, change back to Execute Mode.
If "%__OrigMode%" == "Exec" Change User /Execute > Nul:
Set __OrigMode=
Rem #########################################################################
Rem
Rem 更新 proj97Usr.Cmd 來反映實際的安裝目錄,
Rem 並將其加入 UsrLogn2.Cmd 指令檔。
Rem
..\acsr "#USERTEMPLATESPATH#" "%UserTemplatesPath%" ..\Logon\Template\prj98Usr.Cmd prj98Usr.tm1
..\acsr "#USERCUSTOMDICPATH#" "%UserCustomDicPath%" prj98Usr.tm1 prj98Usr.tm2
Del prj98Usr.tm1 >Nul: 2>&1
..\acsr "#COMMONTEMPLATESPATH#" "%CommonTemplatesPath%" prj98Usr.tm2 prj98Usr.tm1
Del prj98Usr.tm2 >Nul: 2>&1
..\acsr "#COMMONCUSTOMDICPATH#" "%CommonCustomDicPath%" prj98Usr.tm1 prj98Usr.tm2
Del prj98Usr.tm1 >Nul: 2>&1
..\acsr "#CUSTOMDICNAME#" "%CustomDicFile%" prj98Usr.tm2 prj98Usr.tm1
Del prj98Usr.tm2 >Nul: 2>&1
..\acsr "#APPPATHNAME#" "%AppPathName%" prj98Usr.tm1 prj98Usr.tm2
Del prj98Usr.tm1 >Nul: 2>&1
..\acsr "#APPWEBPATHNAME#" "%AppWebPathName%" prj98Usr.tm2 ..\Logon\prj98Usr.Cmd
Del prj98Usr.tm2 >Nul: 2>&1
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