mirror of https://github.com/tongzx/nt5src
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.6 KiB
281 lines
8.6 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
|
|
|