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.

90 lines
3.8 KiB

  1. @if "%_echo%"=="" echo off
  2. @rem
  3. @rem This script will take the checked in sd binaries (sdclient.exe and sdclient_win.exe)
  4. @rem and create sd.exe and sdwin.exe from them.
  5. @rem
  6. setlocal
  7. @rem Make sure sd.exe exists so xcopy will always work.
  8. if exist %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe goto UpdateSD
  9. copy %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdclient.exe %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe
  10. attrib +r %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe
  11. goto SD_Updated
  12. :UpdateSD
  13. @rem See if xcopy would have updated sdclient.exe over sd.exe
  14. for /f %%i in ('xcopy /ld %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdclient.exe %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe') do set _SDCHANGE=%%i
  15. if "%_SDCHANGE%" == "0" goto SD_Updated
  16. @rem Then do it (save the original as sdold.exe in case anyone needs to use it).
  17. del /f %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdold.exe
  18. ren %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe sdold.exe
  19. copy %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdclient.exe %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe
  20. attrib +r %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sd.exe
  21. :SD_Updated
  22. @rem Don't bother with sdwin for now. The new authentication scheme breaks it - BryanT/ChrisAnt 9/13/99
  23. if exist %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe del /f %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe
  24. if exist %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdold_win.exe del /f %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdold_win.exe
  25. goto SDWin_Updated
  26. @rem Same song, different verse. Update sdwin.exe using the same protocol.
  27. if exist %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe goto UpdateSDWin
  28. copy %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdclient_win.exe %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe
  29. attrib +r %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe
  30. goto SDWin_Updated
  31. :UpdateSDWin
  32. for /f %%i in ('xcopy /ld %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdclient_win.exe %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe') do set _SDWINCHANGE=%%i
  33. if "%_SDWINCHANGE%" == "0" goto SDWin_Updated
  34. del /f %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdold_win.exe
  35. ren %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe sdold_win.exe
  36. copy %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdclient_win.exe %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe
  37. attrib +r %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdwin.exe
  38. :SDWin_Updated
  39. @rem Refrain: sdapiclient.dll becomes sdapi.dll
  40. if exist %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll goto UpdateSDAPI
  41. copy %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapiclient.dll %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll
  42. attrib +r %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll
  43. goto SDAPI_Updated
  44. :UpdateSDAPI
  45. @rem See if xcopy would have updated sdapiclient.dll over sdapi.dll
  46. for /f %%i in ('xcopy /ld %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapiclient.dll %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll') do set _SDAPICHANGE=%%i
  47. if "%_SDAPICHANGE%" == "0" goto SDAPI_Updated
  48. @rem Then do it (save the original as sdapi_old.dll in case anyone needs to use it).
  49. del /f %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi_old.dll
  50. ren %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll sdapi_old.dll
  51. copy %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapiclient.dll %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll
  52. attrib +r %RazzleToolPath%\%PROCESSOR_ARCHITECTURE%\sdapi.dll
  53. :SDAPI_Updated
  54. @rem
  55. @rem INFRA is using new DNS alias names for the SD servers
  56. @rem maybe update the user's SD.INIs/SD.MAP
  57. @rem
  58. findstr /I coppermtn %SDXROOT%\sd.map >nul
  59. if "%ERRORLEVEL%" == "0" (
  60. sd -p margo:2001 sync %SDXROOT%\tools\projects.* %SDXROOT%\tools\sdx.* 2>NUL >NUL
  61. echo Updating SD.MAP/SD.INIs with new depot names...
  62. sdx repair -i -q 2>NUL >NUL
  63. )
  64. endlocal