Source code of Windows XP (NT5)
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.

1192 lines
38 KiB

  1. set CABDIR=681984000
  2. if /i NOT "%_echo%" == "" echo on
  3. if /i NOT "%verbose%" == "" echo on
  4. set ThisFileName=MakeCab1.cmd
  5. set ErrorCount=0
  6. set DumpDir=Dump
  7. REM ---------- Important -------------
  8. REM ERROR FILE=%ThisFileName%.err
  9. REM LOG FILE=%ThisFileName%.log
  10. REM ---------- Important -------------
  11. REM ---------------------------------------------------------------------------
  12. REM %ThisFileName%
  13. REM
  14. REM This .cmd file will
  15. REM 1. produce the Binaries directory
  16. REM which includes \binaries\srvinf\iis.inf (iis_s.inf)
  17. REM \binaries\entinf\iis.inf (iis_e.inf)
  18. REM \binaries\dtcinf\iis.inf (iis_d.inf)
  19. REM \binaries\iis.inf (iis_w.inf)
  20. REM \binaries\perinf\iis.inf (iis_p.inf)
  21. REM and \binaries\IIS6.cab files
  22. REM ---------------------------------------------------------------------------
  23. REM
  24. REM Question: What is wrong with this?
  25. REM
  26. REM Set Somevar1=0
  27. REM Set Somevar2=0
  28. REM IF (%Somevar1%) == (0) (
  29. REM IF (%Somevar2%) == (1) (
  30. REM echo testing
  31. REM )
  32. REM )
  33. REM
  34. REM Answer: the ")" in the "(%Somevar2%)" will be interpreted as
  35. REM the ending ")" for the Somevar1 IF statement. use "%Somevar1%" instead (quotes)
  36. REM ---------------------------------------------------------------------------
  37. REM remember: this doesn't work:
  38. REM if exist (myfile.txt) (copy myfile.txt)
  39. REM should look like this:
  40. REM if exist myfile.txt (copy myfile.txt)
  41. REM
  42. REM ---------------------------------------------------------------------------
  43. REM
  44. REM Tip #1: Assign your environmental variables outside of If statements
  45. REM if "1" == "1" (
  46. REM set somewords="somewords text"
  47. REM echo %somewords%
  48. REM )
  49. REM echo The above script will echo "" nothing.
  50. REM
  51. REM Hint #1: That is why it is done thru out this code.
  52. REM
  53. REM ---------------------------------------------------------------------------
  54. REM We should be in the %DumpDir% directory
  55. REM Get into the directory before that
  56. if exist %DumpDir% (cd %DumpDir%)
  57. REM
  58. REM Create the log file
  59. REM
  60. if exist %ThisFileName%.err (del %ThisFileName%.err)
  61. rem echo start > %ThisFileName%.log
  62. rem date /T >> %ThisFileName%.log
  63. rem time /T >> %ThisFileName%.log
  64. REM ------------------------------------------
  65. REM on the iis build lab machines:
  66. REM we should be in %_nt386tree%\iis
  67. REM we should be in %_ntalphatree%\iis
  68. REM on the ntbuild lab machines:
  69. REM we should be in %_nt386tree%\iis
  70. REM we should be in %_ntalphatree%\iis
  71. REM ------------------------------------------
  72. :WhatPlatformToDo
  73. set ThePlatform=X86
  74. if /I "%PROCESSOR_ARCHITECTURE%" == "ALPHA" (set ThePlatform=ALPHA)
  75. :WhatPlatformToDo_End
  76. :StartMeUp
  77. REM ------------------------------------------------
  78. REM Remove the old build directories
  79. REM ------------------------------------------------
  80. Set MakeCabErr=0
  81. REM
  82. REM Actually remove the dirs
  83. REM
  84. :RemoveOldDir
  85. Set ErrorSection0=BeforeAnything:
  86. Set ErrorSection1=RemoveOldDir:
  87. if exist Binaries (rd /s /q Binaries)
  88. REM
  89. REM check if the dir's have actually been
  90. REM removed, if not then someone is locking and we could have a problem.
  91. REM
  92. if exist Binaries (call :SaveError "%ErrorSection0%%ErrorSection1% Unable to remove directory Binaries")
  93. :RemoveOldDir_End
  94. REM ====================================
  95. REM Do some extra stuff to ensure that
  96. REM These *.h files are copied to *.h2
  97. REM ====================================
  98. del *.h2
  99. copy ..\*.h ..\..\*.h2
  100. REM ====================================
  101. REM Do some extra stuff to ensure that
  102. REM these .class files are named with mix case (not just lower case)
  103. REM ====================================
  104. pushd ..\aspjava
  105. set TheClassFile=Application.class
  106. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  107. set TheClassFile=IApplicationObject.class
  108. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  109. set TheClassFile=IApplicationObjectDefault.class
  110. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  111. set TheClassFile=IASPError.class
  112. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  113. set TheClassFile=IReadCookie.class
  114. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  115. set TheClassFile=IReadCookieDefault.class
  116. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  117. set TheClassFile=IRequest.class
  118. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  119. set TheClassFile=IRequestDefault.class
  120. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  121. set TheClassFile=IRequestDictionary.class
  122. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  123. set TheClassFile=IRequestDictionaryDefault.class
  124. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  125. set TheClassFile=IResponse.class
  126. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  127. set TheClassFile=IResponseDefault.class
  128. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  129. set TheClassFile=IScriptingContext.class
  130. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  131. set TheClassFile=IScriptingContextDefault.class
  132. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  133. set TheClassFile=IServer.class
  134. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  135. set TheClassFile=IServerDefault.class
  136. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  137. set TheClassFile=ISessionObject.class
  138. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  139. set TheClassFile=ISessionObjectDefault.class
  140. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  141. set TheClassFile=IStringList.class
  142. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  143. set TheClassFile=IStringListDefault.class
  144. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  145. set TheClassFile=IVariantDictionary.class
  146. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  147. set TheClassFile=IVariantDictionaryDefault.class
  148. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  149. set TheClassFile=IWriteCookie.class
  150. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  151. set TheClassFile=IWriteCookieDefault.class
  152. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  153. set TheClassFile=Request.class
  154. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  155. set TheClassFile=Response.class
  156. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  157. set TheClassFile=ScriptingContext.class
  158. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  159. set TheClassFile=Server.class
  160. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  161. set TheClassFile=Session.class
  162. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  163. pushd ..\help\common
  164. set TheClassFile=DialogLayout.class
  165. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  166. set TheClassFile=Element.class
  167. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  168. set TheClassFile=ElementList.class
  169. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  170. set TheClassFile=HHCtrl.class
  171. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  172. set TheClassFile=IndexPanel.class
  173. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  174. set TheClassFile=RelatedDialog.class
  175. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  176. set TheClassFile=SitemapParser.class
  177. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  178. set TheClassFile=TreeCanvas.class
  179. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  180. set TheClassFile=TreeView.class
  181. if exist %TheClassFile% (rename %TheClassFile% %TheClassFile%)
  182. popd
  183. popd
  184. REM ====================================
  185. REM Binaries (WINNT.SRV & WINNT.WKS)
  186. REM ====================================
  187. REM
  188. REM
  189. REM PRODUCE THE CAB FILES FOR WINNT.SRV
  190. REM AND WINNT.WKS in the Binaries
  191. REM
  192. REM
  193. REM ====================================
  194. :Do_Srv
  195. Set ErrorSection0=Do_Srv:
  196. set ErrorSection1=Prelim:
  197. Set EndOfThisSection=:Do_Srv_End
  198. REM if "%DoSRV%" == "0" (goto %EndOfThisSection%)
  199. Set NewDir=Binaries
  200. Set TheType=NTS
  201. REM
  202. REM now we have all the files which we need to cab up
  203. REM 1. Let's produce the listof files we need to cab up
  204. REM into this .ddf file
  205. REM 2. Then take that .ddf file and run it thru diamond
  206. REM
  207. REM Check if our program files are there..
  208. set ErrorSection1=CHKforInfutil2:
  209. REM
  210. REM commented out the lines below, because infutil2.exe should now be in your path!!!! in mstools!!!!
  211. REM if NOT EXIST infutil2.exe (
  212. REM call :SaveError "%ErrorSection0%%ErrorSection1% infutil2.exe Does not exist" "DO: Make Sure the infutil2.exe File Exists. Problem could be the infutil2.exe was not built."
  213. REM goto :TheEnd_ShowErrs
  214. REM )
  215. REM make sure we don't try to run an old version that might have been in this dir
  216. if exist infutil2.exe (del infutil2.exe)
  217. if NOT EXIST infutil.csv (
  218. call :SaveError "%ErrorSection0%%ErrorSection1% infutil.csv Does not exist" "DO: Make Sure the infutil.csv File Exists. Problem could be the infutil.csv was not built."
  219. goto :TheEnd_ShowErrs
  220. )
  221. REM commented out the lines below, because flist.exe should now be in your path!!!! in mstools!!!!
  222. REM
  223. REM set ErrorSection1=CHKforFList:
  224. REM if NOT EXIST FList.exe (
  225. REM call :SaveError "%ErrorSection0%%ErrorSection1% FList.exe Does not exist" "DO: Make Sure the FList.exe File Exists. Problem could be the FList.exe was not built."
  226. REM goto :TheEnd_ShowErrs
  227. REM )
  228. REM make sure we don't try to run an old version that might have been in this dir
  229. if exist FList.exe (del flist.exe)
  230. REM
  231. REM Run infutil2 to Create the .inf file and .ddf file
  232. REM infutil2.log is the log file for infutil2.exe
  233. REM infutil2.err is the err file for missing files in the build which we expect to be there
  234. REM infutil2.cat is a special file which includes all the files which we install
  235. REM
  236. REM The Last Parameter should look like:
  237. REM NTS_x86
  238. REM NTW_X86
  239. REM NTS_ALPHA
  240. REM NTW_ALPHA
  241. REM
  242. set ErrorSection1=RunInfUtil2:
  243. Set TempFoundFlag=0
  244. set WhichOne=%TheType%_%ThePlatform%
  245. if /I "%WhichOne%" == "NTS_x86" (set TempFoundFlag=1)
  246. if /I "%WhichOne%" == "NTW_X86" (set TempFoundFlag=1)
  247. if /I "%WhichOne%" == "NTS_ALPHA" (set TempFoundFlag=1)
  248. if /I "%WhichOne%" == "NTW_ALPHA" (set TempFoundFlag=1)
  249. if NOT "%TempFoundFlag%" == "1" (
  250. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: Wrong input to infutil2=%WhichOne%."
  251. goto :TheEnd_ShowErrs
  252. )
  253. REM --------------------------------------
  254. REM DO FUNKY PROCESSING FOR THE DOCUMENTATION FOLDERS SINCE
  255. REM WE DON'T WANT TO STORE DUPLICATE FILES IN THE CABS
  256. REM
  257. REM 1. nts\ismcore\core\*.* and ntw\ismcore\core\*.*
  258. REM contain many files which are duplicated between them
  259. REM so this next bunch of batch file commands will do this:
  260. REM a. take the common files and stick them into a ismshare\shared
  261. REM b. take the unique to nts files and stick them some ismshare\ntsonly\*.*
  262. REM c. take the unique to ntw files and stick them some ismshare\ntwonly\*.*
  263. REM 2. infutil.csv references these newely created dirs, so they better have the stuff in them!
  264. REM --------------------------------------
  265. if exist ..\help\ismshare (rd /s /q ..\help\ismshare)
  266. compdir /o /b ..\help\nts\ismcore\core ..\help\ntw\ismcore\core > Shared.txt
  267. rem remove paths from list
  268. flist.exe -c Shared.txt > Shared_c.txt
  269. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  270. del Shared.txt
  271. compdir /o /b ..\help\nts\ismcore\misc ..\help\ntw\ismcore\misc > Shared2.txt
  272. rem remove paths from list
  273. flist -c Shared2.txt > Shared_m.txt
  274. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  275. del Shared2.txt
  276. rem ----------------------
  277. rem get only the nts stuff
  278. rem ----------------------
  279. REM DO IT FOR THE CORE DIR
  280. dir /b ..\help\nts\ismcore\core > nts_allc.txt
  281. rem remove paths from list
  282. flist -c nts_allc.txt > nts_c.txt
  283. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  284. del nts_allc.txt
  285. rem get only the nts stuff
  286. rem which are really the diff between all nts and the shared.
  287. flist -b nts_c.txt Shared_c.txt > NTSonlyc.txt
  288. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  289. del nts_c.txt
  290. REM DO IT FOR THE MISC DIR
  291. dir /b ..\help\nts\ismcore\misc > nts_allm.txt
  292. rem remove paths from list
  293. flist -c nts_allm.txt > nts_m.txt
  294. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  295. del nts_allm.txt
  296. rem get only the nts stuff
  297. rem which are really the diff between all nts and the shared.
  298. flist -b nts_m.txt Shared_m.txt > NTSonlym.txt
  299. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  300. del nts_m.txt
  301. rem ----------------------
  302. rem get only the ntw stuff
  303. rem ----------------------
  304. REM DO IT FOR THE CORE DIR
  305. dir /b ..\help\ntw\ismcore\core > ntw_allc.txt
  306. rem remove paths
  307. flist -c ntw_allc.txt > ntw_c.txt
  308. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  309. del ntw_allc.txt
  310. rem get only the ntw stuff
  311. rem which are really the diff between all ntw and the shared.
  312. flist -b ntw_c.txt Shared_c.txt > NTWonlyc.txt
  313. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  314. del ntw_c.txt
  315. REM DO IT FOR THE MISC DIR
  316. dir /b ..\help\ntw\ismcore\misc > ntw_allm.txt
  317. rem remove paths
  318. flist -c ntw_allm.txt > ntw_m.txt
  319. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  320. del ntw_allm.txt
  321. rem get only the ntw stuff
  322. rem which are really the diff between all ntw and the shared.
  323. flist -b ntw_m.txt Shared_m.txt > NTWonlym.txt
  324. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  325. del ntw_m.txt
  326. REM
  327. REM Copy the files
  328. REM
  329. md ..\help\ismshare\core\shared
  330. md ..\help\ismshare\core\ntsonly
  331. md ..\help\ismshare\core\ntwonly
  332. md ..\help\ismshare\misc\shared
  333. md ..\help\ismshare\misc\ntsonly
  334. md ..\help\ismshare\misc\ntwonly
  335. for /F %%i in (Shared_c.txt) do (
  336. copy ..\help\nts\ismcore\core\%%i ..\help\ismshare\core\shared
  337. )
  338. for /F %%i in (NTSonlyc.txt) do (
  339. copy ..\help\nts\ismcore\core\%%i ..\help\ismshare\core\ntsonly
  340. )
  341. for /F %%i in (NTWonlyc.txt) do (
  342. copy ..\help\ntw\ismcore\core\%%i ..\help\ismshare\core\ntwonly
  343. )
  344. for /F %%i in (Shared_m.txt) do (
  345. copy ..\help\nts\ismcore\misc\%%i ..\help\ismshare\misc\shared
  346. )
  347. for /F %%i in (NTSonlym.txt) do (
  348. copy ..\help\nts\ismcore\misc\%%i ..\help\ismshare\misc\ntsonly
  349. )
  350. for /F %%i in (NTWonlym.txt) do (
  351. copy ..\help\ntw\ismcore\misc\%%i ..\help\ismshare\misc\ntwonly
  352. )
  353. REM ---------------------------------------------------------------------
  354. REM
  355. REM okay so, by now we have a valid %TheType%_%ThePlatform%
  356. REM
  357. REM ---------------------------------------------------------------------
  358. REM ====================================================
  359. REM = =
  360. REM = KOOL INCREMENTAL BUILD STUFF =
  361. REM = =
  362. REM ====================================================
  363. REM check if any of the files which will go into the .cab files have been updated.
  364. REM do this by getting a list of the files from infutil2 (which uses the infutil.csv list).
  365. REM then compare the date on every file in that list, if there is one which is newer than the
  366. REM cab files, then rebuild the cabs.
  367. REM
  368. REM Check if the incremental build stuff has been implemented yet.
  369. REM do this by checking the tool that it depends upon
  370. REM
  371. infutil2.exe -v
  372. IF ERRORLEVEL 3 goto :CheckIncremental
  373. REM
  374. REM if we got here, then we don't have the incremental build capability
  375. REM bummer, go and create the cabs.
  376. goto :CreateTheCABS
  377. :CheckIncremental
  378. REM
  379. REM Check if there are any iis*.cab files?
  380. REM if there are none, then i guess we'd better recreate them!
  381. REM
  382. if NOT exist ..\..\IIS6.cab (goto :CreateTheCABS)
  383. REM
  384. REM Check if any specific files that we care about changed.
  385. REM
  386. if NOT exist makecab.lst (goto :CheckIncremental2)
  387. for /f %%a in (makecab.lst) do (
  388. infutil2.exe -4:%%a ..\..\IIS6.cab
  389. IF ERRORLEVEL 1 goto :CreateTheCABS
  390. )
  391. :CheckIncremental2
  392. if exist infutil2.cng (del infutil2.cng)
  393. if exist infutil2.cng2 (goto :UseListNum2)
  394. if exist infutil2.cng2 (del infutil2.cng2)
  395. set NeedToUpdate=0
  396. REM produce the infutil.cng file -- which has a list of files to watch for changes in.
  397. infutil2.exe -d -a infutil.csv %WhichOne%
  398. REM create infutil.cng2 from .cng file (summary dir's to watch for changes in)
  399. flist.exe -d infutil2.cng > infutil2.cng2
  400. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% flist.exe failed.")
  401. :UseListNum2
  402. REM
  403. REM check if this is the same machine!
  404. REM if it's not the same machine, then we'll have to regenerate
  405. REM the .cabs and the .lst file (since the .lst file has hard coded d:\mydir1 stuff in it)
  406. REM
  407. echo %_NTTREE% > temp.drv
  408. if exist nt5iis.drv (goto :CheckDriveName)
  409. REM nt5iis.drv doesn't exist so continue on
  410. goto :CreateTheCABS
  411. :CheckDriveName
  412. for /f %%i in (nt5iis.drv) do (
  413. if /I "%%i" == "%_NTTREE%" (goto :CheckDriveNameAfter)
  414. )
  415. REM we got here meaning that the drive letter has changed!
  416. goto :CreateTheCABS
  417. :CheckDriveNameAfter
  418. REM
  419. REM check if any of our content changed!
  420. REM
  421. set ERRORLEVEL
  422. for /f %%a in (infutil2.cng2) do (
  423. infutil2.exe -4:%%a ..\..\IIS6.cab
  424. IF ERRORLEVEL 1 goto :CreateTheCABS
  425. )
  426. REM
  427. REM skip creating the cabs since we don't need to...
  428. ECHO .
  429. ECHO . We are skipping IIS5*.cab creation since
  430. ECHO . nothing has changed in the cab's content
  431. ECHO . and there is no reason to rebuild the cabs!
  432. ECHO .
  433. goto :CABSAreCreated
  434. :CreateTheCABS
  435. if exist infutil2.cat (del infutil2.cat)
  436. REM
  437. infutil2.exe -tIIS -d infutil.csv %WhichOne%
  438. IF ERRORLEVEL 1 (call :SaveError "%ErrorSection0%%ErrorSection1% infutil2.exe failed. there are files missing from the build.")
  439. REM
  440. REM move outputed files to the dump directory for safekeeping
  441. REM
  442. REM Rename infutil2.err to missing.srv
  443. if exist missing.srv (del missing.srv)
  444. if exist infutil2.err (rename infutil2.err missing.srv)
  445. REM
  446. REM now how can we tell if this we thru?
  447. REM It should have produced infutil2.inf and infutil2.ddf
  448. REM
  449. set ErrorSection1=AfterInfUtil2:
  450. Set TempFileName=infutil2.inf
  451. if NOT EXIST %TempFileName% (
  452. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist! Or your missing INFUTIL2.EXE FROM YOUR MSTOOLS DIR!" "DO: Check your disk space. Check your disk space in %Temp% (your temp dir)."
  453. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: Or your missing INFUTIL2.EXE FROM YOUR MSTOOLS DIR!" "DO: Check if infutil2.exe exist in your mstools dir and is in the path."
  454. goto :TheEnd_ShowErrs
  455. )
  456. Set TempFileName=infutil2.ddf
  457. if NOT EXIST %TempFileName% (
  458. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space. Check your disk space in %Temp% (your temp dir)."
  459. goto :TheEnd_ShowErrs
  460. )
  461. Set TempFileName=header.ddf
  462. if NOT EXIST %TempFileName% (
  463. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Make sure %TempFileName% was built and exists."
  464. goto :TheEnd_ShowErrs
  465. )
  466. REM
  467. REM take the .ddf details and append it to the header.ddf file to produce %WhichOne%.ddf
  468. REM
  469. copy header.ddf + infutil2.ddf %WhichOne%.ddf
  470. REM
  471. REM verify that the file actually was created
  472. REM
  473. set ErrorSection1=CopyTogetherBigDDF:
  474. Set TempFileName=%WhichOne%.ddf
  475. if NOT EXIST %TempFileName% (
  476. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  477. goto :TheEnd_ShowErrs
  478. )
  479. :CallDiamond
  480. set ErrorSection1=CallDiamond:
  481. REM ---------------------------
  482. REM
  483. REM Create the CAB files
  484. REM use the %WhichOne%.ddf file!
  485. REM
  486. REM ---------------------------
  487. if exist %CABDIR% rd /s /q %CABDIR%
  488. REM
  489. REM Diamond.exe should be in the path
  490. REM if it is not then we are hosed!
  491. REM
  492. if exist iislist.inf (del iislist.inf)
  493. start /min /wait makecab.exe -F %WhichOne%.ddf
  494. REM
  495. REM OKAY, NOW WE HAVE
  496. REM iislist.inf (produced from diamond.exe)
  497. REM infutil2.inf (produced from infutil2.exe)
  498. REM
  499. set ErrorSection1=AfterDiamond:
  500. Set TempFileName=iislist.inf
  501. if NOT EXIST %TempFileName% (
  502. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space. Check your disk space in %Temp% (your temp dir)"
  503. )
  504. if NOT EXIST %TempFileName% (
  505. call :SaveError "DO: Check if diamond.exe is in your path. it should be in idw or mstools."
  506. goto :TheEnd_ShowErrs
  507. )
  508. Set TempFileName=infutil2.inf
  509. if NOT EXIST %TempFileName% (
  510. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space. Check your disk space in %Temp% (your temp dir)"
  511. goto :TheEnd_ShowErrs
  512. )
  513. REM
  514. REM Depending upon the platform, copy over the appropriate iis*.inx file
  515. REM
  516. REM check if iistop.inx exists
  517. set ErrorSection1=CopyHeaderinf:
  518. Set TempFileName=iistop.inx
  519. if NOT EXIST %TempFileName% (
  520. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: make sure the %TempFileName% exist, maybe it wasn't built."
  521. goto :TheEnd_ShowErrs
  522. )
  523. Set TempFileName=iisend.inx
  524. if NOT EXIST %TempFileName% (
  525. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: make sure the %TempFileName% exist, maybe it wasn't built."
  526. goto :TheEnd_ShowErrs
  527. )
  528. Set TempFileName=..\..\congeal_scripts\mednames.txt
  529. if NOT EXIST %TempFileName% (
  530. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: make sure the %TempFileName% exist, maybe it wasn't built."
  531. goto :TheEnd_ShowErrs
  532. )
  533. REM
  534. REM Check if ansi2uni.exe tool exists...
  535. REM
  536. REM convert ansi infutil2.inf and iislist.inf to unicode
  537. REM
  538. set ErrorSection1=ansi2uni:
  539. findstr /V /B "mkw3site.vbs mkwebsrv.js mkwebsrv.vbs" infutil2.inf > infutil2_pro.inf
  540. unitext -m -1252 infutil2.inf infutilu.inf
  541. unitext -m -1252 infutil2_pro.inf infutilu_pro.inf
  542. unitext -m -1252 iislist.inf iislistu.inf
  543. unitext -m -1252 ..\..\congeal_scripts\mednames.txt mednames_u.txt
  544. if not exist infutilu.inf (
  545. call :SaveError "%ErrorSection0%%ErrorSection1% unitext.exe failed" "DO: Call AaronL"
  546. )
  547. if exist infutilu.inf (del infutil2.inf && rename infutilu.inf infutil2.inf)
  548. if exist infutilu_pro.inf (del infutil2_pro.inf && rename infutilu_pro.inf infutil2_pro.inf)
  549. if exist iislistu.inf (del iislist.inf && rename iislistu.inf iislist.inf)
  550. REM
  551. REM Combine all of the files
  552. REM
  553. copy iistop.inx + mednames_u.txt + iisend.inx + infutil2.inf + iislist.inf iis.inx
  554. copy iistop.inx + mednames_u.txt + iisend.inx + infutil2_pro.inf + iislist.inf iis_pro.inx
  555. copy iistop.inx + mednames_u.txt + iisend.inx iis_noiis.inx
  556. set ErrorSection1=ConCatIISinf:
  557. set TempFoundFlag=0
  558. REM
  559. REM 1st Stage: Remove Product Specific Information
  560. REM
  561. if /I "%TheType%"=="nts" (
  562. prodfilt -u iis_noiis.inx iis_p.inx +p
  563. prodfilt -u iis_pro.inx iis_w.inx +w
  564. prodfilt -u iis.inx iis_s.inx +s
  565. prodfilt -u iis.inx iis_e.inx +e
  566. prodfilt -u iis.inx iis_d.inx +d
  567. set TempFoundFlag=1
  568. )
  569. if /I "%TheType%"=="ntw" (
  570. prodfilt -u iis_noiis.inx iis_p.inx +p
  571. prodfilt -u iis_pro.inx iis_w.inx +w
  572. prodfilt -u iis.inx iis_s.inx +s
  573. prodfilt -u iis.inx iis_e.inx +e
  574. prodfilt -u iis.inx iis_d.inx +d
  575. set TempFoundFlag=1
  576. )
  577. REM
  578. REM 2nd Stage: Remove Platform Specific Information
  579. REM
  580. if /I "%ThePlatform%"=="x86" (
  581. prodfilt -u iis_p.inx iis_p.inf +i
  582. prodfilt -u iis_w.inx iis_w.inf +i
  583. prodfilt -u iis_s.inx iis_s.inf +i
  584. prodfilt -u iis_e.inx iis_e.inf +i
  585. prodfilt -u iis_d.inx iis_d.inf +i
  586. set TempFoundFlag=%TempFoundFlag%2
  587. )
  588. if /I "%ThePlatform%"=="alpha" (
  589. prodfilt -u iis_p.inx iis_p.inf +m
  590. prodfilt -u iis_w.inx iis_w.inf +m
  591. prodfilt -u iis_s.inx iis_s.inf +m
  592. prodfilt -u iis_e.inx iis_e.inf +m
  593. prodfilt -u iis_d.inx iis_d.inf +m
  594. set TempFoundFlag=%TempFoundFlag%2
  595. )
  596. if NOT "%TempFoundFlag%" == "12" (
  597. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %WhichOne% does not match any of the known types" "DO: Check your disk space."
  598. goto :TheEnd_ShowErrs
  599. )
  600. rem
  601. rem check if our tool exists
  602. rem to clean up these iis_*.inf files
  603. rem and remove the control-z from the end of them
  604. rem
  605. uniutil.exe -v
  606. IF ERRORLEVEL 10 goto :DoINFUnicodeClean
  607. goto :INFUnicodeCleanFinished
  608. :DoINFUnicodeClean
  609. REM
  610. REM clean up the iis*.inf files to
  611. REM and get rid of the trailing control-z
  612. REM
  613. uniutil.exe -z iis_s.inf iis_s.inf2
  614. uniutil.exe -z iis_e.inf iis_e.inf2
  615. uniutil.exe -z iis_d.inf iis_d.inf2
  616. uniutil.exe -z iis_w.inf iis_w.inf2
  617. uniutil.exe -z iis_p.inf iis_p.inf2
  618. if exist iis_s.inf2 (del iis_s.inf && rename iis_s.inf2 iis_s.inf)
  619. if exist iis_e.inf2 (del iis_e.inf && rename iis_e.inf2 iis_e.inf)
  620. if exist iis_d.inf2 (del iis_d.inf && rename iis_d.inf2 iis_d.inf)
  621. if exist iis_w.inf2 (del iis_w.inf && rename iis_w.inf2 iis_w.inf)
  622. if exist iis_p.inf2 (del iis_p.inf && rename iis_p.inf2 iis_p.inf)
  623. :INFUnicodeCleanFinished
  624. REM
  625. REM Check if there is a infutil.NOT file
  626. REM this file is there because there is a file in the .inf
  627. REM which is not actually in the build (usually a binary file)
  628. REM usually this happens in localized builds for some reason.
  629. REM
  630. set ErrorSection1=CheckForinfutilNOT
  631. REM If there is, then tack that on to the end...
  632. if exist infutil2.NOT (
  633. goto :DoLocalizationBuildNotFile
  634. )
  635. goto :DoneLocalizationBuildNotFile
  636. :DoLocalizationBuildNotFile
  637. unitext -m -1252 infutil2.not infutil2u.not
  638. if not exist infutil2u.not (
  639. call :SaveError "%ErrorSection0%%ErrorSection1% unitext.exe failed" "DO: Call AaronL."
  640. )
  641. if exist infutil2u.not (del infutil2.not && rename infutil2u.not infutil2.not)
  642. copy iis_s.inf + infutil2.not iis_s.inf
  643. copy iis_e.inf + infutil2.not iis_e.inf
  644. copy iis_d.inf + infutil2.not iis_d.inf
  645. copy iis_w.inf + infutil2.not iis_w.inf
  646. copy iis_p.inf + infutil2.not iis_p.inf
  647. rem
  648. rem check if our tool exists
  649. rem to clean up these iis_*.inf files
  650. rem and remove the control-z from the end of them
  651. rem
  652. uniutil.exe -v
  653. IF ERRORLEVEL 10 goto :DoINFUnicodeClean2
  654. goto :INFUnicodeCleanFinished2
  655. :DoINFUnicodeClean2
  656. REM
  657. REM clean up the iis*.inf files to
  658. REM and get rid of the trailing control-z
  659. REM
  660. uniutil.exe -z iis_s.inf iis_s.inf2
  661. uniutil.exe -z iis_e.inf iis_e.inf2
  662. uniutil.exe -z iis_d.inf iis_d.inf2
  663. uniutil.exe -z iis_w.inf iis_w.inf2
  664. uniutil.exe -z iis_p.inf iis_p.inf2
  665. if exist iis_s.inf2 (del iis_s.inf && rename iis_s.inf2 iis_s.inf)
  666. if exist iis_e.inf2 (del iis_e.inf && rename iis_e.inf2 iis_e.inf)
  667. if exist iis_d.inf2 (del iis_d.inf && rename iis_d.inf2 iis_d.inf)
  668. if exist iis_w.inf2 (del iis_w.inf && rename iis_w.inf2 iis_w.inf)
  669. if exist iis_p.inf2 (del iis_p.inf && rename iis_p.inf2 iis_p.inf)
  670. :INFUnicodeCleanFinished2
  671. :DoneLocalizationBuildNotFile
  672. REM
  673. REM if there is a infutil2.not file then
  674. REM we should warn the builders that there are somemissing files from build
  675. REM when this script was run.
  676. REM
  677. if exist infutil2.NOT (
  678. call :SaveError "%ErrorSection0%%ErrorSection1% WARNING: Missing files in iis build" "DO: Check the inetsrv\dump\infutil2.NOT file for missing files."
  679. )
  680. REM ----------------------------------------------
  681. REM
  682. REM Copy everything in to a %NewDir% directory
  683. REM
  684. REM ----------------------------------------------
  685. REM
  686. REM Take Inventory of what is in the cab dir!
  687. REM
  688. if not exist %CABDIR% (
  689. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR Unable to find Diamond created dir %CABDIR%!!!" "DO: Check to see if diamond.exe is in your path. Check your disk space."
  690. goto :TheEnd_ShowErrs
  691. )
  692. if exist inCabDir.txt (del inCabDir.txt)
  693. cd %CABDIR%
  694. dir /b > ..\inCabDir.txt
  695. cd ..
  696. set ErrorSection1=CreateNewDir:
  697. md %NewDir%
  698. cd %NewDir%
  699. REM ---------------------------------------------------
  700. REM COPY OVER THE iis_*.inf files!!!
  701. REM ---------------------------------------------------
  702. copy ..\iis_s.inf
  703. copy ..\iis_e.inf
  704. copy ..\iis_d.inf
  705. copy ..\iis_w.inf
  706. copy ..\iis_p.inf
  707. REM ensure that it is there!
  708. set TempFileName=iis_s.inf
  709. if NOT EXIST %TempFileName% (
  710. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  711. )
  712. set TempFileName=iis_e.inf
  713. if NOT EXIST %TempFileName% (
  714. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  715. )
  716. set TempFileName=iis_d.inf
  717. if NOT EXIST %TempFileName% (
  718. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  719. )
  720. REM ensure that it is there!
  721. set TempFileName=iis_w.inf
  722. if NOT EXIST %TempFileName% (
  723. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  724. )
  725. REM ensure that it is there!
  726. set TempFileName=iis_p.inf
  727. if NOT EXIST %TempFileName% (
  728. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  729. )
  730. REM ---------------------------------------------------
  731. REM COPY OVER THE NEWLY CREATED .CAB FILES FROM DIAMOND
  732. REM into %NewDir%
  733. REM ---------------------------------------------------
  734. set ErrorSection1=CopyFromDiamondDir:
  735. COPY ..\%CABDIR%\*.*
  736. REM
  737. REM Verify that all the files that were in %CABDIR% got copied over
  738. REM
  739. Set TempErrorFlag=0
  740. for /F %%i in (..\inCabDir.txt) do (
  741. if not exist %%i (set TempErrorFlag=1)
  742. )
  743. if "%TempErrorFlag%"=="1" (
  744. cd ..
  745. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR cannot copy all files from %CABDIR%!!!" "DO: Check your disk space!!!!!!!!!!!"
  746. goto :TheEnd_ShowErrs
  747. )
  748. REM ---------------------------------------------------
  749. REM After the CABS have been produced from the temporary directory (ismshare)
  750. REM we can delete the ismshare directory
  751. REM ---------------------------------------------------
  752. REM
  753. REM Do not delete it yet: it is needed to create nt5iis.cat!
  754. REM
  755. REM if exist ..\..\help\ismshare (rd /s /q ..\..\help\ismshare)
  756. cd ..
  757. REM
  758. REM Remove the diamond created dir
  759. REM
  760. if exist %CABDIR% (RD /S /Q %CABDIR%)
  761. IF ERRORLEVEL 1 (sleep 5)
  762. if exist %CABDIR% (RD /S /Q %CABDIR%)
  763. REM remove error if this generated one.
  764. REM Rename any log/err files
  765. set ErrorSection1=RenameLogFiles:
  766. if exist infutil2.log (
  767. copy infutil2.log %WhichOne%.log
  768. del infutil2.log
  769. )
  770. REM if exist infutil2.inf (del infutil2.inf)
  771. REM if exist infutil2.ddf (del infutil2.ddf)
  772. REM if exist iislist.inf (del iislist.inf)
  773. :Do_Srv_End
  774. REM ====================================
  775. REM
  776. REM DO EXTRA STUFF
  777. REM
  778. REM copy these files to the retail dir:
  779. REM iis_s.inf <-- iis.inf file for server
  780. REM iis_e.inf <-- iis.inf file for enterprise
  781. REM iis_d.inf <-- iis.inf file for datacenter
  782. REM iis_w.inf <-- iis.inf file for workstation/pro
  783. REM iis_p.inf <-- iis.inf file for personal
  784. REM ====================================
  785. :ExtraStuffFor
  786. REM
  787. REM copy iis_s.inf
  788. REM
  789. if not exist ..\..\srvinf md ..\..\srvinf
  790. if exist %NewDir%\iis_s.inf copy %NewDir%\iis_s.inf ..\..\srvinf\iis.inf
  791. REM ensure that it is there!
  792. set TempFileName=..\..\srvinf\iis.inf
  793. if NOT EXIST %TempFileName% (
  794. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  795. )
  796. REM
  797. REM copy iis_e.inf
  798. REM
  799. if not exist ..\..\entinf md ..\..\entinf
  800. if exist %NewDir%\iis_e.inf copy %NewDir%\iis_e.inf ..\..\entinf\iis.inf
  801. REM ensure that it is there!
  802. set TempFileName=..\..\entinf\iis.inf
  803. if NOT EXIST %TempFileName% (
  804. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  805. )
  806. REM
  807. REM copy iis_d.inf
  808. REM
  809. if not exist ..\..\dtcinf md ..\..\dtcinf
  810. if exist %NewDir%\iis_d.inf copy %NewDir%\iis_d.inf ..\..\dtcinf\iis.inf
  811. REM ensure that it is there!
  812. set TempFileName=..\..\dtcinf\iis.inf
  813. if NOT EXIST %TempFileName% (
  814. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  815. )
  816. REM
  817. REM copy iis_p.inf
  818. REM
  819. if not exist ..\..\perinf md ..\..\perinf
  820. if exist %NewDir%\iis_p.inf copy %NewDir%\iis_p.inf ..\..\perinf\iis.inf
  821. REM ensure that it is there!
  822. set TempFileName=..\..\perinf\iis.inf
  823. if NOT EXIST %TempFileName% (
  824. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  825. )
  826. REM
  827. REM copy iis_w.inf
  828. REM
  829. if exist %NewDir%\iis_w.inf copy %NewDir%\iis_w.inf ..\..\iis.inf
  830. REM ensure that it is there!
  831. set TempFileName=..\..\iis.inf
  832. if NOT EXIST %TempFileName% (
  833. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  834. )
  835. REM
  836. REM copy the *.cab files! only
  837. REM
  838. if exist %NewDir%\IIS6.cab copy %NewDir%\IIS6.cab ..\..\IIS6.cab
  839. REM ensure that it is there!
  840. set TempFileName=..\..\IIS6.cab
  841. if NOT EXIST %TempFileName% (
  842. call :SaveError "%ErrorSection0%%ErrorSection1% SERIOUS ERROR: %TempFileName% Does not exist!" "DO: Check your disk space."
  843. )
  844. REM
  845. REM add to the .cat file someother entries.
  846. REM
  847. cd ..\..
  848. if exist inetsrv\dump\it.tmp (del inetsrv\dump\it.tmp)
  849. if exist inetsrv\dump\it.1 (del inetsrv\dump\it.1)
  850. if exist inetsrv\dump\it.2 (del inetsrv\dump\it.2)
  851. if exist inetsrv\dump\it.3 (del inetsrv\dump\it.3)
  852. if exist inetsrv\dump\it.4 (del inetsrv\dump\it.4)
  853. if exist inetsrv\dump\it.5 (del inetsrv\dump\it.5)
  854. if exist inetsrv\dump\it.6 (del inetsrv\dump\it.6)
  855. if exist inetsrv\dump\it.7 (del inetsrv\dump\it.7)
  856. if exist inetsrv\dump\it.all (del inetsrv\dump\it.all)
  857. for %%i in (IIS6.cab) do (@echo ^<HASH^>%%~fi=%%~fi > inetsrv\dump\it.tmp)
  858. copy inetsrv\dump\it.tmp inetsrv\dump\it.1
  859. del inetsrv\dump\it.tmp
  860. for /f %%i in (inetsrv\dump\hardcode.lst) do (@echo ^<HASH^>%%~fi=%%~fi >> inetsrv\dump\it.tmp)
  861. copy inetsrv\dump\it.tmp inetsrv\dump\it.2
  862. cd inetsrv\help\common\sign
  863. for %%i in (hhctrl.inf) do (@echo ^<HASH^>%%~fi=%%~fi > ..\..\..\..\inetsrv\dump\it.tmp)
  864. cd ..\..\..\..
  865. copy inetsrv\dump\it.tmp inetsrv\dump\it.5
  866. cd inetsrv\help\common\sign\alpha
  867. for %%i in (hhctrl.ocx) do (@echo ^<HASH^>%%~fi=%%~fi > ..\..\..\..\..\inetsrv\dump\it.tmp)
  868. cd ..\..\..\..\..
  869. copy inetsrv\dump\it.tmp inetsrv\dump\it.6
  870. cd inetsrv\help\common\sign\i386
  871. for %%i in (hhctrl.ocx) do (@echo ^<HASH^>%%~fi=%%~fi > ..\..\..\..\..\inetsrv\dump\it.tmp)
  872. cd ..\..\..\..\..
  873. copy inetsrv\dump\it.tmp inetsrv\dump\it.7
  874. REM
  875. copy inetsrv\dump\it.1 + inetsrv\dump\it.2 + inetsrv\dump\it.3 + inetsrv\dump\it.4 + inetsrv\dump\it.5 + inetsrv\dump\it.6 + inetsrv\dump\it.7 inetsrv\dump\it.all
  876. cd inetsrv\dump
  877. REM
  878. REM append the it.all resulting file to infutil2.cat
  879. REM
  880. if exist nt5iis.lst (del nt5iis.lst)
  881. copy infutil2.cat + it.all nt5iis.lst
  882. REM update a file with the drive contained in nt5iis.lst
  883. echo %_NTTREE% > nt5iis.drv
  884. if exist it.tmp (del it.tmp)
  885. if exist it.1 (del it.1)
  886. if exist it.2 (del it.2)
  887. if exist it.3 (del it.3)
  888. if exist it.4 (del it.4)
  889. if exist it.5 (del it.5)
  890. if exist it.6 (del it.6)
  891. if exist it.7 (del it.7)
  892. if exist it.all (del it.all)
  893. REM
  894. REM Do special stuff to Create a list of all files that the IIS
  895. REM Localization team should be localizing.
  896. REM Extra things should be appended to the list (like files that iis owns but NT setup is installing for us)
  897. REM
  898. REM use hardcoded list since stragley files are no longer generated in the infutil2.exe cabbing process...
  899. REM if exist infutil2.loc (goto :UseAloneFile)
  900. REM There must not be an alone, file so lets use the hardcoded file instead.
  901. if NOT exist hardcode.lst (goto :CABSAreCreated)
  902. copy hardcode.lst infutil2.loc
  903. :UseAloneFile
  904. REM
  905. REM in this file are all of the files that reside out side of the cabs
  906. REM which iis localization needs to localize....
  907. REM
  908. REM we need to add a couple of more entries to this file
  909. REM since there are files that iis owns but NT setup is installing for iis setup (so it won't be in this file)
  910. echo iissuba.dll >> infutil2.loc
  911. echo clusiis4.dll >> infutil2.loc
  912. echo regtrace.exe >> infutil2.loc
  913. echo iis.msc >> infutil2.loc
  914. echo iisnts.chm >> infutil2.loc
  915. echo iisntw.chm >> infutil2.loc
  916. echo iispmmc.chm >> infutil2.loc
  917. echo iissmmc.chm >> infutil2.loc
  918. echo win9xmig\pws\migrate.dll >> infutil2.loc
  919. :CABSAreCreated
  920. REM ====================================
  921. REM Display the errors
  922. REM ====================================
  923. :TheEnd_ShowErrs
  924. if /i "%ErrorCount%" == "0" goto SkipErrorReport
  925. rem msgbox16 "There are Errors in the IIS makecab script. Look at %ThisFileName%.err for details."
  926. echo.
  927. echo "There are errors in the IIS makecab script. Look at %ThisFileName%.err for details."
  928. rem echo "There are Errors in the IIS makecab script. Look at %ThisFileName%.err for details." >> %ThisFileName%.err
  929. :SkipErrorReport
  930. if /i "%ErrorCount%" == "0" (
  931. echo "NO ERRORS." >> %ThisFileName%.log
  932. goto :TheEnd_ShowErrs_Next
  933. )
  934. :TheEnd_ShowErrs_Next
  935. rem echo end >> %ThisFileName%.log
  936. rem date /T >> %ThisFileName%.log
  937. rem time /T >> %ThisFileName%.log
  938. REM if exist missing.wks start notepad missing.wks
  939. REM if exist missing.srv start notepad missing.srv
  940. :DisplayErrors_End
  941. goto :TheEnd
  942. :SaveError
  943. REM
  944. REM Echo error to the error file
  945. REM
  946. date /T >> %ThisFileName%.err
  947. time /T >> %ThisFileName%.err
  948. echo "%ThisFileName%:error:"
  949. ech "%ThisFileName%:error:" >> %ThisFileName%.err
  950. echo %1
  951. ech %1 >> %ThisFileName%.err
  952. rem start msgbox16.exe %1
  953. if not [%2] == [] (
  954. echo %2
  955. ech %2 >> %ThisFileName%.err
  956. rem start msgbox16.exe %2
  957. )
  958. if not [%3] == [] (
  959. echo %3
  960. ech %3 >> %ThisFileName%.err
  961. rem start msgbox16.exe %3
  962. )
  963. echo "DO: Re-run this Cmd file after doing this and if problems still occur Notify: AaronL"
  964. echo "DO: Re-run this Cmd file after doing this and if problems still occur Notify: AaronL" >> %ThisFileName%.err
  965. rem start msgbox16.exe "DO: Re-run this Cmd file after doing this and if problems still occur Notify: AaronL"
  966. set /a ErrorCount=%ErrorCount% + 1
  967. goto :EOF
  968. REM =========
  969. REM The End
  970. REM =========
  971. :TheEnd
  972. REM
  973. REM Remove our Temporary Binaries dir
  974. REM
  975. if exist Binaries (RD /S /Q Binaries)
  976. IF ERRORLEVEL 1 (sleep 5)
  977. if exist Binaries (RD /S /Q Binaries)
  978. IF ERRORLEVEL 1 (sleep 5)
  979. if exist Binaries (RD /S /Q Binaries)
  980. REM
  981. REM RESET THE ERRORLEVEL SINCE WE USED IT.
  982. REM
  983. if NOT EXIST %ThisFileName%.err (
  984. goto :TheEnd2
  985. )
  986. if /i NOT "%logfile%" == "" (
  987. type %ThisFileName%.err >> %logfile%
  988. )
  989. :TheEnd2