lucidanime

HFSLIP

Apr 10th, 2012
1,374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Winbatch 270.36 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  3. SET T1=TommyP's 2K3/XP/W2K/IE Hotfix Slipstreamer
  4. TITLE %T1%
  5.  
  6. REM ----------------------------------------------------------------------------------
  7. SET HFSVER=120405
  8. SET HFSVERFULL=1.7.10J v8, build %HFSVER%
  9. SET PREP=%~dp0
  10. SET COMPMEM=21
  11. SET MCEROLLUP=KB900325
  12. SET MCEMP10CUM=KB913800
  13. SET SW1=/quiet /norestart
  14. SET SW2=/Q:A /R:N
  15. IF EXIST HFTOOLS\HFANSWER.INI FOR /F "DELIMS=" %%I IN ('FINDSTR/R "=" HFTOOLS\HFANSWER.INI') DO SET %%I
  16.  
  17.  
  18. ECHO ========TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER LICENSING AGREEMENT=========
  19. ECHO.
  20. Echo You are free
  21. echo    (1) to Share - to copy, distribute and transmit HFSLIP (the work)
  22. echo    (2) to Remix - to adapt the work
  23. echo.
  24. echo Under the following conditions:
  25. echo (1) Attribution. You must attribute the work in the manner specified by the
  26. echo     author or licensor (but not in any way that suggests that they endorse
  27. echo     you or your use of the work).
  28. echo (2) Noncommercial. You may not use this work for commercial purposes.
  29. echo (3) Share Alike. If you alter, transform, or build upon this work, you may
  30. echo     distribute the resulting work only under the same or similar license to
  31. echo     this one.
  32. echo.
  33. echo For any reuse or distribution, you must make clear to others the license
  34. echo terms of this work. The best way to do this is with a link to
  35. echo http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en
  36. echo Any of the above conditions can be waived if you get permission from the
  37. echo copyright holder.
  38. ECHO ==================== Copyright (C) 2005-2010 TommyP ==========================
  39. ECHO.
  40. ECHO After reading the above disclaimer and CCPL License agreement.....
  41. ECHO.
  42. PAUSE
  43. IF "%RELEASE%"=="N" GOTO :START
  44. IF "%RELEASE%"=="AUTORUN" CALL :FOLDERINIT&CALL :AHTESTEXP&GOTO :START
  45. CLS
  46. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  47. ECHO.
  48. ECHO This program slipstreams updates into an installable source.
  49. ECHO Windows 2000 SP4: IE6 SP1, DX9, WMP9, MDAC 2.8 SP1, WUA30, Critical Updates
  50. ECHO Windows XP SP3: IE7, IE8, WMP10/11, WUA30, Critical Updates
  51. ECHO Windows Server 2003 SP2: DX9, WUA30, Critical Updates
  52. ECHO.
  53. ECHO HFSLIP IS PROVIDED UNDER THE TERMS OF THE CREATIVE COMMONS PUBLIC LICENSE
  54. ECHO ("CCPL" OR "LICENSE"). HFSLIP IS PROTECTED BY COPYRIGHT AND/OR OTHER
  55. ECHO APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS
  56. ECHO LICENSE OR COPYRIGHT LAW IS PROHIBITED.
  57. echo.  
  58. ECHO.
  59. ECHO.
  60. ECHO Please read the CCPL License for more details.
  61. ECHO.
  62. ECHO.
  63. echo.
  64. echo.
  65. ECHO.
  66. ECHO ==================== Copyright (C) 2005-2010 TommyP ==========================
  67. ECHO.
  68. ECHO After reading the above disclaimer and CCPL License agreement.....
  69. PAUSE
  70. CALL :FOLDERINIT
  71. CLS
  72. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  73. ECHO.
  74. ECHO Please read all of the instructions on how to
  75. ECHO 1) Fill the folders with the proper contents
  76. ECHO 2) Read about any issues the program may have
  77. ECHO 3) How to report Windows Update issues
  78. ECHO 4) Run this program
  79. ECHO.
  80. SETLOCAL DISABLEDELAYEDEXPANSION
  81. ECHO                       USE THIS CMD FILE AT YOUR OWN RISK!
  82. SETLOCAL ENABLEDELAYEDEXPANSION
  83. ECHO              THE AUTHORS TAKE NO RESPONSIBILITY FOR YOUR SYSTEM.
  84. ECHO.
  85. ECHO     Failure on YOUR part to properly set up key files and set up the folder
  86. ECHO                structure will result in a FAILED installation.
  87. ECHO.
  88. ECHO       Comments/News at http://www.msfn.org/board/index.php?showforum=129
  89. ECHO                     Help and how-to's at http://hfslip.org
  90. ECHO.
  91. ECHO    Thanks to antonio_king, Bilou Gateux, boooggy, CEoCEo, fenyo, Fred Vorck
  92. ECHO       (FDV), Ga$h, EmRoD, ivans2605, Jazkal, Kiki, Kramy, Lupo, Oleg II,
  93. ECHO     Super-Magician, TAiN, the_guy, Tomcat76, Wendy (os2fan2), whitehorses,
  94. ECHO    XibaD, Yzowl, and countless others for their input, comments and testing
  95. ECHO                                of this script.
  96. ECHO.
  97. ECHO ==============================================================================
  98. PAUSE
  99. CLS
  100. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  101. ECHO.
  102. ECHO   ************   Refer to http://hfslip.org/ for more details  ************
  103. ECHO.
  104. ECHO File and Folder Format:
  105. ECHO FDVFILES      - FDV's Fileset
  106. ECHO HF            - Non-renamed hotfix and critical updates files
  107. ECHO HF            - The Service Pack installer
  108. ECHO HFAAO         - Application Addons (SVCPACK.INF and SYSOC.INF types)
  109. ECHO HFCABS        - CAB Files: IE6 (Win2K), LegitCheckControl, Flash Player
  110. ECHO HFGUIRUNONCE  - MSI files and silent EXEs to be installed at 1st GUI logon
  111. ECHO HFSVCPACK     - Switchless installers (installed at T-13)
  112. ECHO HFSVCPACK     - REG files, INF files and CMD files (installed at T-13)
  113. ECHO HFSVCPACK_SW1 - MSI files (installed at T-13 with /qn /norestart switch)
  114. ECHO HFSVCPACK_SW1 - EXEs that need a /quiet /norestart switch (installed at T-13)
  115. ECHO HFSVCPACK_SW2 - EXEs that need a /Q:A /R:N switch (installed at T-13)
  116. ECHO HFTOOLS       - HFSLIP Tools
  117. ECHO HFTOOLS          -CMDOW.EXE or cWnd.exe (hide DOS box that pops up at T-13)
  118. ECHO HFTOOLS          -HFANSWER.INI (optional HFSLIP answer file)
  119. ECHO HFTOOLS          -modifyPE.exe
  120. ECHO REPLACE       - To add files to the SOURCESS folder (see instructions)
  121. ECHO SOURCE        - Dump your installation CD source here including the root files
  122. ECHO.
  123. ECHO ==============================================================================
  124. PAUSE
  125. CLS
  126. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  127. ECHO.
  128. ECHO   ************   Refer to http://hfslip.org/ for more details  ************
  129. ECHO.
  130. ECHO Refer to http://hfslip.org/advanced.html for the slipstreaming of:
  131. ECHO * audio and video codecs
  132. ECHO * alternate programs such as Media Player Classic
  133. ECHO * additional files to your %%Windir%% folder and subfolders
  134. ECHO * additional files to your Program Files folder and subfolders
  135. ECHO * files to the %%Windir%%\GRE and %%Windir%%\BIN folders
  136. ECHO * drivers including storage drivers
  137. ECHO.
  138. ECHO HFTOOLS folder: make an ISO image of the new source and burn to CD or DVD
  139. ECHO.
  140. ECHO HFCLEANUP folder: reduce your source (at your own risk)
  141. ECHO.
  142. ECHO.
  143. ECHO  * * * * * * * * * * * * * * * ERROR REPORTING * * * * * * * * * * * * * * *
  144. ECHO.
  145. ECHO If Windows Update or Microsoft Update complains about missing hotfixes or
  146. ECHO if errors occur during installation, refer to http://hfslip.org/support.html
  147. ECHO where you can find the preferred course of action to get help.
  148. ECHO.
  149. ECHO ==============================================================================
  150. PAUSE
  151. IF NOT DEFINED AHTEST1 (
  152. CLS
  153. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  154. ECHO.
  155. ECHO.
  156. ECHO   **********   HFSLIP IS GEARED TOWARD INSTALLATIONS FROM A CD.  **********
  157. ECHO.
  158. ECHO.
  159. ECHO   *******************   HFSLIP IS FOR PERSONAL USE ONLY   ********************
  160. ECHO.
  161. ECHO.
  162. ECHO.
  163. ECHO.
  164. ECHO   ********************   HFSLIP IS NOT FOR CORPORATE USE  ********************
  165. ECHO.
  166. ECHO.
  167. ECHO.
  168. ECHO        By continuing, you affirm that you have read the instructions at
  169. ECHO.
  170. ECHO                               http://hfslip.org/
  171. ECHO.
  172. ECHO.
  173. ECHO        Type in the words I HAVE READ THE INSTRUCTIONS and press Enter...
  174. ECHO.
  175. ECHO.
  176. ECHO ==============================================================================
  177. SET /P AHTEST1=
  178. )
  179. CALL :AHTESTEXP
  180. IF DEFINED DRIVERCOMP GOTO :BINCOMPSLICE
  181. CLS
  182. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  183. echo.
  184. ECHO What driver compression level do you want?  
  185. ECHO.  
  186. ECHO A.  Merge into single DRIVER.CAB, highest compression:
  187. echo     * Slow compress time, fast txtmode copy, slow extract
  188. echo.
  189. echo B.  Merge into single DRIVER.CAB, medium compression:
  190. echo     * Moderate compress time, moderate txtmode copy, moderate extract
  191. echo.
  192. echo C.  Merge into single DRIVER.CAB, low compression:
  193. echo     * Fast compress time, slow txtmode copy, fast extract
  194. echo.
  195. ECHO D.  No merge, creates SPX.CAB, highest compression:
  196. echo     * Slow compress time, fast txtmode copy, slow extract
  197. echo.
  198. echo E.  No merge, creates SPX.CAB, medium compression:
  199. echo     * Moderate compress time, moderate txtmode copy, moderate extract
  200. echo.
  201. echo F.  No merge, creates SPX.CAB, low compression:
  202. echo     * Fast compress time, slow txtmode copy, fast extract
  203. echo.
  204. ECHO Enter A, B, C, D, E or F for your desired driver compression.  Default is A
  205. ECHO ==============================================================================
  206. SET /P DRIVERCOMP=
  207. :BINCOMPSLICE
  208. IF /I "%DRIVERCOMP%"=="B" SET COMPMEM=20
  209. IF /I "%DRIVERCOMP%"=="C" SET COMPMEM=18
  210. IF /I "%DRIVERCOMP%"=="D" SET MULTICAB=ON
  211. IF /I "%DRIVERCOMP%"=="E" SET MULTICAB=ON&SET COMPMEM=20
  212. IF /I "%DRIVERCOMP%"=="F" SET MULTICAB=ON&SET COMPMEM=18
  213. IF DEFINED MBOOTPATH GOTO :DELCATS
  214. IF "%SBOOTPATH%"=="1" GOTO :DELCATS
  215. CLS
  216. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  217. ECHO.
  218. ECHO If you are making a multiboot CD, what folder/pathname will this OS reside in
  219. ECHO on your new CD?
  220. ECHO.
  221. ECHO The format to enter is: ^<subfolder^>\
  222. ECHO.
  223. ECHO Example: Pro\
  224. ECHO.
  225. ECHO Note: You must type in the \ at the end if you enter a multiboot path.
  226. ECHO.
  227. ECHO.
  228. ECHO If you are not going to make a multiboot CD, simply press Enter to bypass the
  229. ECHO multiboot installation CD mode.
  230. ECHO.
  231. ECHO.
  232. SETLOCAL DISABLEDELAYEDEXPANSION
  233. ECHO IMPORTANT!
  234. SETLOCAL ENABLEDELAYEDEXPANSION
  235. ECHO It is not possible to use the new source made by HFSLIP both in the context
  236. ECHO of a CD with a single OS and in the context of a multiboot CD.  It's either
  237. ECHO one or the other.
  238. ECHO.
  239. ECHO.
  240. ECHO Enter your pathname in the format shown above or press Enter to bypass.
  241. ECHO ==============================================================================
  242. SET /P MBOOTPATH=
  243. :DELCATS
  244. IF "%DELCATS%"=="0" GOTO :START
  245. IF "%DELCATS%"=="1" GOTO :START
  246. IF EXIST FDVFILES\SFC.DL_ IF EXIST FDVFILES\SFCFILES.DL_ SET SFCFIX=1
  247. IF EXIST REPLACE\I386\SFC* SET SFCFIX=1
  248. IF EXIST HFEXPERT\APPREPLACEMENT\SFC* SET SFCFIX=1
  249. IF EXIST SOURCE\cdromsp5.tst SET SFCFIX=1
  250. IF EXIST HF\w2ksp5* SET SFCFIX=1
  251. IF NOT DEFINED SFCFIX GOTO :START
  252. CLS
  253. ECHO ==================TommyP's 2K3/XP/W2K/IE HOTFIX SLIPSTREAMER==================
  254. ECHO.
  255. ECHO.
  256. ECHO Security catalog files are used to make the System File Protection feature
  257. ECHO aware of the fact that a version of one or more files which is different
  258. ECHO from the original on the installation CD needs to be installed and that it
  259. ECHO should be accepted.
  260. ECHO.
  261. ECHO.
  262. ECHO A custom version of sfc.dll, sfc_os.dll or sfcfiles.dll or a copy of USP5
  263. ECHO disabling System File Protection was detected.  This means that the Catalog
  264. ECHO files which come with the hotfixes and application addons you include are
  265. ECHO no longer required.  Additionally, removing them may speed up the Windows
  266. ECHO installation procedure.
  267. ECHO.
  268. ECHO.
  269. ECHO Should HFSLIP remove the *.CAT files from the SVCPACK folder?
  270. ECHO.
  271. ECHO Pressing 'Y' will delete the *.CAT files
  272. ECHO.
  273. ECHO Pressing Enter will leave them alone
  274. ECHO.
  275. ECHO.
  276. ECHO ==============================================================================
  277. SET /P THACATS=
  278. IF /I "%THACATS%"=="Y" SET DELCATS=1
  279.  
  280. :START
  281. :: Native time calculator / Part 1 / Tomcat76.
  282. SET SDATE=%DATE%
  283. SET STIME=%TIME%
  284.  
  285. CLS
  286. FOR %%I IN (MAKECAB.EXE FINDSTR.EXE FIND.EXE EXPAND.EXE XCOPY.EXE) DO IF NOT EXIST %%~$PATH:I (ECHO Your system does not have %%I&PAUSE&EXIT)
  287.  
  288. :: Find host OS - based on code posted by YzΓΆwl on MSFN.org
  289. SET HostOS=Unknown
  290. FOR /F "DELIMS=" %%I IN ('NET CONFIG WORK^|FIND /I " Windows "') DO (
  291.     ECHO %%I|FIND "2000">NUL 2>&1&&(SET HostOS=2000&GOTO :HOSD)
  292.     ECHO %%I|FIND "2002">NUL 2>&1&&(SET HostOS=XP&GOTO :HOSD)
  293.     ECHO %%I|FIND "XP">NUL 2>&1&&(SET HostOS=XP&GOTO :HOSD)
  294.     ECHO %%I|FIND "2003">NUL 2>&1&&(SET HostOS=2003&GOTO :HOSD)
  295.     ECHO %%I|FIND /I "Vista">NUL 2>&1&&(SET HostOS=Vista&GOTO :HOSD)
  296.     ECHO %%I|FIND /I "7">NUL 2>&1&&(SET HostOS=7&GOTO :HOSD)
  297. )
  298.  
  299. :HOSD
  300. IF NOT "%HostOS%"=="Vista" (
  301.     REGEDIT/S/E ADMIN1.TXT "HKEY_USERS\.DEFAULT\Software\Microsoft\NetDDE"
  302.     IF EXIST ADMIN1.TXT (DEL/Q/F ADMIN1.TXT) ELSE (ECHO You are advised to run HFSLIP with administrative privileges.&PAUSE)
  303. )
  304. CALL :CHECKWINVER
  305. IF EXIST HF\IE7*.EXE (
  306.     IF "%VERSION%"=="2003" (SET MPEREQ=1) ELSE IF "%VERSION%"=="XP" (
  307.         IF NOT DEFINED IE7SVCPACK IF NOT DEFINED IE7GUILOGON IF NOT DEFINED CDTAG SET MPEREQ=1
  308.         IF DEFINED IE7SVCPACK (SET MPEREQ=1) ELSE IF DEFINED IE7GUILOGON (SET MPEREQ=1)
  309.     )
  310. )
  311. IF EXIST HFCABS\OPUC*.CAB SET MPEREQ=1
  312. IF EXIST HFEXPERT\CODECS SET MPEREQ=1
  313. IF EXIST HFEXPERT\APPREPLACEMENT SET MPEREQ=1
  314. IF EXIST HFEXPERT\WIN SET MPEREQ=1
  315. IF DEFINED MPEREQ (
  316.     IF NOT "%HostOS%"=="Vista" (IF NOT EXIST HFTOOLS\MODIFYPE.EXE ECHO You do not have modifype.exe.&ECHO.&ECHO Press any key to close HFSLIP.&PAUSE >NUL&EXIT) ELSE (
  317.         ECHO HFSLIP has detected that you need modifyPE.exe for your setup. However,&ECHO modifyPE.exe doesn't work on Windows Vista.
  318.         ECHO It is strongly suggested you either remove the items requiring modifyPE.exe,&ECHO or change to an operating system that is explicitly supported by HFSLIP.
  319.         ECHO HFSLIP will abort now.&ECHO.&ECHO Press any key to close HFSLIP.&PAUSE >NUL&EXIT
  320.     )
  321. )
  322. CALL :FOLDERPREP
  323. CALL :CHECKSOURCE
  324. IF "%VERSION%"=="2000" (
  325.     SET T1=TommyP's HFSLIP W2K/IE6/DX9/WUA30/WMP9/Hotfix Slipstreamer
  326.     TITLE %T1%
  327.     SET OSNAME=Windows 2000&SET SHORTOSNAME=win2k&SET OSLEVEL=14&SET BDACAB=BDANT&SET DXNT=1&SET IERNONCE=1
  328.     IF NOT DEFINED VERSIONIE (
  329.         SET VERSIONIE=2KIE5
  330.         IF EXIST HFCABS\IEW2K_1.CAB SET VERSIONIE=2KIE6&SET IE6SLIP=PASS
  331.         IF EXIST HFCABS\_IE6_HFSLIP.CAB SET VERSIONIE=2KIE6&SET IE6SLIP=PASS
  332.     )
  333.     IF EXIST HFTOOLS\REG.EXE (
  334.         SET REGEXE=HFTOOLS\REG
  335.     ) ELSE IF EXIST HFEXPERT\WIN\SYSTEM32\REG.EXE (
  336.         SET REGEXE=HFEXPERT\WIN\SYSTEM32\REG
  337.     ) ELSE IF EXIST %SYSTEMROOT%\SYSTEM32\REG.EXE (
  338.         SET REGEXE=REG
  339.     ) ELSE IF EXIST SOURCE\SUPPORT\TOOLS\SUPPORT.CAB (
  340.         MD WORK\SUPPCAB&EXPAND SOURCE\SUPPORT\TOOLS\SUPPORT.CAB -F:* WORK\SUPPCAB >NUL&SET REGEXE=WORK\SUPPCAB\REG
  341.     )
  342.     IF DEFINED REGEXE (
  343.         :: Adds 48-bit LBA support - Thanks to Wendy/os2fan2 for the tip.
  344.         COPY SOURCE\I386\SETUPREG.HIV SOURCESS\I386
  345.         !REGEXE! load HKLM\HFSLIP "%PREP%SOURCESS\I386\SETUPREG.HIV"
  346.         !REGEXE! add HKLM\HFSLIP\ControlSet001\Services\atapi\Parameters /v EnableBigLba /t reg_dword /d 00000001 /f
  347.         !REGEXE! unload HKLM\HFSLIP
  348.         ATTRIB SOURCESS\I386\SETUPREG.HIV.LOG -H&DEL/Q/F SOURCESS\I386\SETUPREG.HIV.LOG
  349.     )
  350.     IF EXIST FDVFILES\WIN2K IF EXIST HFCLEANUP\* IF NOT DEFINED FDVT (
  351.         ECHO.&ECHO Do you want to overwrite and clean out FDV's INF files with HFCLEANUP files?
  352.         ECHO.&ECHO Press Y to overwrite and N to not overwrite.  Default is N.
  353.         ECHO.&SET /P FDVT=
  354.         )
  355.     IF EXIST FDVFILES\WIN2K COPY FDVFILES\*.* WORK\FDV >NUL
  356.     IF EXIST FDVFILES\WIN2K SET VERSIONIE=FDV
  357. )
  358. IF "%VERSION%"=="XP" (
  359.     SET T1=TommyP's HFSLIP XP/IE8/WMP11/WUA30/Hotfix Slipstreamer
  360.     TITLE %T1%
  361.     SET OSNAME=Windows XP&SET OSLEVEL=2%SP%
  362.     IF "%SP%"=="3" (
  363.         SET SHORTOSNAME=winxpsp3&SET MPLEVEL=33
  364.     ) ELSE IF "%SP%"=="2" (
  365.         SET SHORTOSNAME=winxpsp2
  366.         IF EXIST SOURCE\I386\wmlaunch.ex* (SET MPLEVEL=41) ELSE (SET MPLEVEL=31)
  367.     ) ELSE IF %SP% LSS 2 (
  368.         SET BDACAB=BDAXP&SET DXNT=1&SET SHORTOSNAME=winxp&SET MPLEVEL=21
  369.     )
  370.     IF EXIST SOURCE\CMPNENTS\MEDIACTR\I386 SET XPMCE=1
  371.     IF EXIST SOURCE\CMPNENTS\NETFX\I386 SET XPNETFX=1
  372.     IF EXIST HF\IE7-WindowsX* FOR /F %%I IN ('DIR/B HF\IE7-WindowsXP-x*') DO SET IE7EXE=%%I&SET VERSIONIE=IE7
  373.     IF EXIST HF\IE8-WindowsX* FOR /F %%I IN ('DIR/B HF\IE8-WindowsXP-x*') DO SET IE8EXE=%%I&SET DefExcHF=%DefExcHF% \-win IE8   &SET VERSIONIE=IE8
  374.     IF EXIST FDVFILES\WINXP COPY FDVFILES\*.* WORK\FDV >NUL
  375.     IF EXIST FDVFILES\WINXP SET VERSIONIE=FDV
  376.  
  377.     IF EXIST FDVFILES\WINXP IF EXIST HFCLEANUP\* IF NOT DEFINED FDVT (
  378.         ECHO.&ECHO Do you want to overwrite and clean out FDV's INF files with HFCLEANUP files?
  379.         ECHO.&ECHO Press Y to overwrite and N to not overwrite.  Default is N.
  380.         ECHO.&SET /P FDVT=
  381.         )
  382. )
  383. IF "%VERSION%"=="2003" (
  384.     SET T1=TommyP's HFSLIP 2003/WUA30/Hotfix Slipstreamer
  385.     TITLE %T1%
  386.     SET OSNAME=Windows Server 2003&SET SHORTOSNAME=srv2k3&SET OSLEVEL=3%SP%
  387.     IF "%SP%"=="2" (SET MPLEVEL=42&SET DXNT=1) ELSE IF "%SP%"=="1" (SET MPLEVEL=41&SET DXNT=1) ELSE IF "%SP%"=="0" (SET MPLEVEL=31)
  388.     IF EXIST HF\IE7-WindowsS* FOR /F %%I IN ('DIR/B HF\IE7-WindowsServer2003-x*') DO SET IE7EXE=%%I
  389.     IF EXIST FDVFILES\WIN2K3 COPY FDVFILES\*.* WORK\FDV >NUL
  390.     IF EXIST FDVFILES\WIN2K3 SET VERSIONIE=FDV
  391.  
  392. )
  393. SET /A SPCNT=%SP%+1
  394. SET SPUPDATE=SP%SPCNT%
  395. CALL :SLIPSTREAM
  396. RD/Q/S WORK
  397. CLS
  398. ECHO YOU DIDN'T READ THE INSTRUCTIONS.  YOU DIDN'T FILL THE SOURCE FOLDER.&ECHO.&ECHO COPY THE WINDOWS SOURCE TO THE SOURCE FOLDER AND RE-RUN HFSLIP.&PAUSE&EXIT
  399.  
  400. REM ======================SLIPSTREAM======================================================
  401. :SLIPSTREAM
  402. CLS
  403. SET CMDHIDE=
  404. IF EXIST HFEXPERT\WIN\SYSTEM32\CMDOW.EXE SET CMDHIDE=CMDOW @ /HID
  405. IF EXIST HFTOOLS\CMDOW.EXE (
  406.     SET CMDHIDE=CMDOW @ /HID
  407.     COPY/Y HFTOOLS\CMDOW.EXE WORK\I386E >NUL
  408. )
  409. IF EXIST HFEXPERT\WIN\SYSTEM32\cWnd.exe SET CMDHIDE=cWnd.exe /hide @
  410. IF EXIST HFTOOLS\cWnd.exe (
  411.     SET CMDHIDE=cWnd.exe /hide @
  412.     COPY/Y HFTOOLS\cWnd.exe WORK\I386E >NUL
  413. )
  414. CALL :GETLANG
  415. IF "%VERSION%"=="XP" IF "%SP%"=="3" (
  416.     IF EXIST HFCABS\wbemoc.cab (CALL :WBEMFIX) ELSE (
  417.         ECHO.&ECHO ERROR:&ECHO With SP3 in, you need a fix for wbemoc.inf.
  418.         ECHO Please get wbemoc.cab and put it in HFCABS.
  419.         ECHO Press any key to quit...&RD/Q/S SOURCESS WORK&PAUSE >NUL&EXIT
  420.     )
  421. )
  422. CALL :SYSOC_INIT
  423. CALL :TXTSETUP_INIT
  424. CALL :DOSNET_INIT
  425. CALL :HFSLIP_INIT
  426. CALL :UPDATE_INIT
  427. IF "%XPNETFX%"=="1" IF EXIST HF\NDP1*.EXE (
  428.     ECHO Expanding NETFX.CAB...&MD SOURCESS\CMPNENTS\NETFX\I386 WORK\MCE\NETFX10
  429.     EXPAND SOURCE\CMPNENTS\NETFX\I386\NETFX.CAB -F:* WORK\MCE\NETFX10 >NUL
  430. )
  431. IF "%VERSION%"=="XP" IF EXIST HF\*%MCEROLLUP%*.EXE (
  432.     FOR /F %%I IN ('DIR/B HF\*%MCEROLLUP%*.EXE') DO IF /I "%%I"=="%MCEROLLUP%.EXE" (DEL/Q/F HF\%%I) ELSE (SET MCERUEXE=%%I&START/WAIT HF\%%I /Q /X:HF)
  433.     IF NOT EXIST HF\wmfdist95.exe (MOVE HF\bin\wmfdist95.exe HF >NUL&ECHO>>WORK\FILESTODEL.TXT HF\wmfdist95.exe)
  434.     IF "%XPMCE%"=="1" (
  435.         IF EXIST HF\WMP11* DEL/Q/F HF\bin\*Media10*
  436.         IF EXIST HF\*912024*.exe IF EXIST HF\bin\*888795* DEL/Q/F HF\bin\*888795*
  437.         FOR /F %%I IN ('DIR/B HF\bin\*%MCEROLLUP%*') DO COPY/Y HF\bin\%%I WORK\MCERU1.EXE >NUL
  438.         DEL/Q/F HF\bin\*%MCEROLLUP%*
  439.         FOR /F %%I IN ('DIR/B HF\bin\*KB*') DO (XCOPY/Y HF\bin\%%I HF&ECHO>>WORK\FILESTODEL.TXT HF\%%I)
  440.     )
  441.     RD/Q/S HF\bin
  442. )
  443. CLS
  444. SET HFSLP=99
  445. IF EXIST HF\WindowsXP-KB905474*Standalone.exe FOR /F %%I IN ('DIR/B HF\WindowsXP-KB905474*Standalone.exe') DO (
  446.     START/WAIT HF\%%I /Q /T:"%PREP%HF" /C&REN HF\WGANOT~1.EXE WindowsZ-wga.exe&ECHO>>WORK\FILESTODEL.TXT HF\WindowsZ-wga.exe
  447. )
  448. IF EXIST HF\*891861*.EXE FOR /F %%I IN ('DIR/B HF\*891861*.EXE') DO (
  449.     SET HF=%%I&CALL :HF1EXTRACT
  450.     IF "%SERVER%"=="SERVER" (
  451.         FOR /F %%I IN ('DIR/B/A-D/S HF\*899591*.EXE') DO SET DELRDPWD=1
  452.         IF DEFINED DELRDPWD DEL/Q/F WORK\I386E\rdpwd.sys
  453.     )
  454. )
  455. IF NOT DEFINED IE7EXE (SET IE7SLIPSTREAM=&SET IE7SVCPACK=&SET IE7GUILOGON=) ELSE (
  456.     IF NOT DEFINED IE7SVCPACK IF NOT DEFINED IE7GUILOGON SET IE7SLIPSTREAM=1
  457.         REM *** BLOCK FOR 2K3 SLIPSTREAMING / REMOVE IF NO LONGER NECESSARY ***
  458.         IF "%VERSION%"=="2003" (SET IE7SLIPSTREAM=&IF NOT DEFINED IE7GUILOGON SET IE7SVCPACK=1)
  459. )
  460. IF "%IE7SLIPSTREAM%"=="1" IF NOT DEFINED CDTAG (
  461.     ECHO.&ECHO ***WARNING***&ECHO You want to slipstream IE7 but no valid CD tag was found in the SOURCE folder.
  462.     ECHO HFSLIP will instead create a new package which will be installed separately&ECHO during Windows setup.
  463.     ECHO Press any key to continue...&ECHO.&PAUSE >NUL&SET IE7SVCPACK=1&SET IE7SLIPSTREAM=
  464. )
  465. IF "%IE7SLIPSTREAM%"=="1" (SET IE7GUILOGON=&SET IE7SVCPACK=) ELSE IF "%IE7SVCPACK%"=="1" (SET IE7GUILOGON=&SET IE7SLIPSTREAM=)
  466. IF "%VERSION%"=="2000" (IF "%IE6SLIP%"=="PASS" CALL :IE6SLIP) ELSE (IF DEFINED IE7EXE IF NOT DEFINED IE7SLIPSTREAM CALL :IE7INT)
  467. CALL :WMSLIP
  468. IF DEFINED MPLEVEL (
  469. REM ADDED MPFLDRD  
  470.     IF "%MPLEVEL%"=="31" SET MPFLDRA=WMP9&SET MPFLDRB=WMP9NL&SET MPFLDRC=WM9NL&SET MPFLDRD=WM9
  471.     IF "%MPLEVEL%"=="32" SET MPFLDRA=WMP9&SET MPFLDRB=WMP9L&SET MPFLDRC=WM9L&SET MPFLDRD=WM9
  472. REM CHANGE LINE IF "%MPLEVEL%"=="33" SET MPLEVEL= TO BELOW TP 12/23/08
  473.     IF "%MPLEVEL%"=="33" SET MPFLDRD=WM9&SET MPLEVEL=
  474.     IF "%MPLEVEL%"=="41" SET MPFLDRA=WMP10&SET MPFLDRB=WMP10NL&SET MPFLDRC=WM10NL
  475.     IF "%MPLEVEL%"=="42" SET MPFLDRA=WMP10&SET MPFLDRB=WMP10L&SET MPFLDRC=WM10L
  476.     IF "%MPLEVEL%"=="43" SET MPFLDRA=EMERALD
  477.     IF "%MPLEVEL%"=="51" SET MPFLDRA=WMP11&SET MPFLDRC=WM11
  478. )
  479. SET HFSLP=199
  480. IF EXIST HF\*898461*.exe (
  481.     FOR /F %%I IN ('DIR/B/OD HF\*898461*.exe') DO SET PKGINST=%%I
  482.     ECHO !PKGINST!&MD TEMP&START/WAIT HF\!PKGINST! /Q /X:TEMP
  483.     FOR /F "TOKENS=2,3 DELIMS==" %%I IN ('FINDSTR/I PkgInstallerVer TEMP\UPDATE\update_SP2QFE.inf') DO SET TXTDIR00=%%I
  484.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Preinstall","Path",0x20000,"%%SYSTEMROOT%%\system32\PreInstall"
  485.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB898461","Installed",0x10001,1
  486.     COPY TEMP\UPDATE\UPDATE.EXE TEMP\update.ref >NUL&COPY TEMP\UPDATE\UPDSPAPI.DLL TEMP\updspapi.ref >NUL
  487.     COPY TEMP\UPDATE\SPCUSTOM.DLL TEMP\spcustom.ref >NUL&MOVE/Y TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
  488.     XCOPY/DY TEMP WORK\I386E&RD/Q/S TEMP&ECHO.
  489. )
  490. IF EXIST HF\*952155*.exe (
  491.     FOR /F %%I IN ('DIR/B/OD HF\*952155*.exe') DO SET TSCINST=%%I
  492. ) ELSE IF EXIST HF\*925876*.exe IF NOT "%OSLEVEL%"=="23" (
  493.     FOR /F %%I IN ('DIR/B/OD HF\*925876*.exe') DO SET TSCINST=%%I
  494. )
  495. IF DEFINED TSCINST (
  496.     ECHO %TSCINST%&MD TEMP&START/WAIT HF\%TSCINST% /Q /X:TEMP
  497.     IF NOT EXIST TEMP\SP%SP%QFE (REN TEMP\SP2QFE SP%SP%QFE&REN "TEMP\UPDATE\update_SP2QFE.inf" update_SP%SP%QFE.inf)
  498.     FINDSTR/VI "HKCU" TEMP\UPDATE\update_SP%SP%QFE.inf>TSC.INF&MOVE/Y TSC.INF TEMP\UPDATE\update_SP%SP%QFE.inf >NUL
  499.     COPY/Y TEMP\update\tscupdatecustom.dll TEMP\TSCUPDC.DLL >NUL
  500.     CALL :MIDHF1CALLER
  501. )
  502. IF EXIST HF\*.EXE CALL :HF
  503. IF EXIST HF\BASIC\*.EXE (
  504.     SET HFDEEP=1&DIR/B HF\BASIC\*.EXE>WORK\HFBASIC0.TXT&FINDSTR/VIR "IE7 DX9\-" WORK\HFBASIC0.TXT>WORK\HFBASIC.TXT
  505.     FOR /F %%I IN (WORK\HFBASIC.TXT) DO (SET HF=%%I&IF DEFINED HF CALL :HFBASIC)
  506. )
  507. IF EXIST HF\NOREG\*.EXE (
  508.     SET HFDEEP=1&DIR/B HF\NOREG\*.EXE>WORK\HFNOREG0.TXT&FINDSTR/VIR "IE7 DX9\-" WORK\HFNOREG0.TXT>WORK\HFNOREG.TXT
  509.     FOR /F %%I IN (WORK\HFNOREG.TXT) DO (SET HF=%%I&IF DEFINED HF CALL :HFNOREG)
  510. )
  511. IF "%IE7SLIPSTREAM%"=="1" SET /A HFSLP=!HFSLP!+1&CALL :IE7SLIP
  512. IF DEFINED IE8EXE SET HFSLP=900&CALL :IE8SLIP
  513. IF EXIST HF\*WindowsUpdateAgent*-x86.exe CALL :WUA
  514. IF "%HostOS%"=="XP" IF EXIST HF\WindowsXP-KB942288-*-x86.exe CALL :MSI45 XP sp3qfe
  515. IF "%HostOS%"=="2003" IF EXIST HF\WindowsServer2003-KB942288-*-x86.exe CALL :MSI45 Server2003 sp2qfe
  516. IF EXIST HFCABS\*.CAB CALL :PROCESSCABS
  517. IF EXIST HF\MSXML*.* CALL :MSXML
  518. IF "%VERSION%"=="2000" IF EXIST HF\gdiplus*.exe IF EXIST HFTOOLS\7ZA.EXE (
  519.     MD WORK\GDI2K&FOR /F %%I IN ('DIR/B HF\gdiplus*.exe') DO START/WAIT HF\%%I /Q /T:"%PREP%WORK" /C
  520.     HFTOOLS\7ZA x WORK\gdiplus.exe -o"%PREP%WORK\GDI2K" -r >NUL&XCOPY/DY WORK\GDI2K\gdiplus.dll WORK\I386E
  521. )
  522. IF EXIST HF\directx*redist.exe FOR /F %%I IN ('DIR/B/ON HF\directx*redist.exe') DO SET DX9REDIST=%%I
  523. IF DEFINED DX9REDIST IF "%DX9REDIST%"=="directx_9c_redist.exe" IF EXIST HFCABS\_DX9core_%VERSION%SP%SP%_HFSLIP.CAB SET DX9REDIST=
  524. IF DEFINED DX9REDIST (
  525.     TITLE %T1% - Processing DirectX9 Redist
  526.     ECHO.&ECHO Processing DirectX9 Redistributable ^(%DX9REDIST%^)
  527.     MD WORK\DXREDIST&START/WAIT HF\%DX9REDIST% /Q /T:"%PREP%WORK\DXREDIST" /C
  528.     ECHO Checking if DX9 core files need to be copied into HFCABS...
  529.     IF EXIST HFCABS\_DX9core_%VERSION%SP%SP%_HFSLIP.CAB (
  530.         ECHO  _DX9core_%VERSION%SP%SP%_HFSLIP.CAB already exists
  531.     ) ELSE (
  532.         IF NOT DEFINED BDACAB (IF NOT DEFINED DXNT ECHO  Not applicable) ELSE (
  533.             IF NOT EXIST HFCABS\%BDACAB%.cab COPY WORK\DXREDIST\%BDACAB%.cab HFCABS >NUL&ECHO  %BDACAB%.cab&ECHO>>WORK\FILESTODEL.TXT HFCABS\%BDACAB%.cab
  534.         )
  535.         IF DEFINED DXNT IF NOT EXIST HFCABS\dxnt.cab COPY WORK\DXREDIST\dxnt.cab HFCABS >NUL&ECHO  dxnt.cab&ECHO>>WORK\FILESTODEL.TXT HFCABS\dxnt.cab
  536.     )
  537.     IF EXIST WORK\DXREDIST\*x86.cab (
  538.         ECHO Checking if extra DX9 packages need to be copied into HFCABS...
  539.         DEL/Q/F WORK\DXREDIST\*MDX*&IF NOT DEFINED BDACAB DEL/Q/F WORK\DXREDIST\dxdllreg*
  540.         FOR /F %%I IN ('DIR/B/ON WORK\DXREDIST\*x86.cab') DO IF NOT EXIST HFCABS\%%I (
  541.             COPY WORK\DXREDIST\%%I HFCABS >NUL&ECHO  %%I&ECHO>>WORK\FILESTODEL.TXT HFCABS\%%I
  542.         )
  543.     )
  544. )
  545. IF DEFINED DXNT IF EXIST HFCABS\*DX*.CAB CALL :DX9C
  546. CALL :DX9EXTRA
  547. IF EXIST HFAAO\* CALL :HFAAO
  548. IF "%INSTALLRC%"=="1" ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%HFSLIP%%winnt32.exe START/WAIT %%HFSLIP%%winnt32.exe /cmdcons /unattend
  549. CALL :POSTHFX
  550. IF EXIST WORK\HFSLIPCMDP1.TXT (
  551.     IF NOT EXIST HFSVCPACK\*.exe (TYPE WORK\HFSLIPCMDP1.TXT>>SOURCESS\I386\SVCPACK\HFSLIP.CMD) ELSE (
  552.         ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD IF EXIST %%SYSTEMROOT%%\HFSLIP.TMP GOTO :PART2
  553.         ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO/^>%%SYSTEMROOT%%\HFSLIP.TMP
  554.         TYPE WORK\HFSLIPCMDP1.TXT>>SOURCESS\I386\SVCPACK\HFSLIP.CMD
  555.         ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD GOTO :EOF
  556.         ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD :PART2      
  557.     )
  558. )
  559. CALL :SVCPACK_1STLOGON_INST
  560. IF EXIST HFEXPERT FOR /F %%I IN ('DIR/B HFEXPERT') DO SET HFEXPERTFILES=1
  561. IF DEFINED HFEXPERTFILES CALL :HFEXPERT
  562. TITLE %T1% - Copying Source
  563. XCOPY/DE SOURCE SOURCESS
  564. IF EXIST SOURCE\I386\SFCFILES.DL_ IF EXIST SOURCE\I386\SFCFILES.DLL DEL/Q/F SOURCESS\I386\SFCFILES.DLL
  565. IF EXIST HFTOOLS\HFSLIP_PRE*.CMD FOR /F %%I IN ('DIR/B/ON HFTOOLS\HFSLIP_PRE*.CMD') DO CALL HFTOOLS\%%I
  566. CALL :INTEGRATE
  567. CALL :SVCPACK
  568. IF "%MULTICAB%"=="ON" (CALL :SPXCAB) ELSE (CALL :CABEXPAND)
  569. IF EXIST HFEXPERT\STORAGE\*.SYS CALL :HFSTOR
  570. CALL :CLOSURE
  571. IF EXIST HF\XPIZE* CALL :XPIZE
  572. IF NOT "%MULTICAB%"=="ON" (
  573.     ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [SourceDisksFiles]
  574.     ECHO/>>SOURCESS\I386\DOSNET.INF&ECHO>>SOURCESS\I386\DOSNET.INF [Files]
  575.     IF EXIST HFCLEANUP\* CALL :HFCLEANUP
  576.     IF EXIST HFEXPERT\DRIVERCAB CALL :HFEDRVCAB
  577.     IF DEFINED DRVPASS CALL :CABCOMPACT
  578. )
  579. IF EXIST HFCLEANUP\*.EXT CALL :DELBIN
  580. IF EXIST HFEXPERT\WIN\* CALL :HFEWIN
  581. IF EXIST HFEXPERT\PROGRAMFILES\* CALL :HFEPRG
  582. IF "!VERSIONIE!"=="FDV" COPY/Y WORK\FDV\*.* SOURCESS\I386 >NUL&CALL :FDVFILESCLEANUP
  583. ECHO/>REPLACE\DUMMYDUMMYDUMMY.TXT
  584. FOR /F "DELIMS=" %%I IN ('DIR/B/A-D/S REPLACE') DO IF NOT "%%~nI"=="DUMMYDUMMYDUMMY" SET REPLACEFILES=1
  585. DEL/Q/F REPLACE\DUMMYDUMMYDUMMY.TXT
  586. IF DEFINED REPLACEFILES ECHO.&XCOPY/SHRY REPLACE SOURCESS
  587. ECHO.
  588. IF EXIST HFTOOLS\HFSLIP_POST*.CMD FOR /F %%I IN ('DIR/B/ON HFTOOLS\HFSLIP_POST*.CMD') DO CALL HFTOOLS\%%I
  589. IF EXIST HFBACKUP\I386 RD/Q/S SOURCE&&REN HFBACKUP SOURCE
  590. IF EXIST WORK\FILESTODEL.TXT FOR /F "DELIMS=" %%I IN (WORK\FILESTODEL.TXT) DO IF EXIST %%I DEL/Q/F %%I
  591. IF NOT "%RELEASE%"=="N" RD/Q/S WORK
  592. CALL :ERRORREPORT
  593. IF NOT "%NOLOGCOPY%"=="1" COPY HFSLIP.LOG SOURCESS >NUL
  594. CALL :MAKEISO
  595. CLS
  596. TITLE %T1% - Slipstreaming Complete
  597. ECHO.&ECHO All hotfixes integrated into a folder called SOURCESS.
  598. ECHO.&ECHO Remember to reboot your machine after installing
  599. ECHO from the SOURCESS folder.
  600. echo.&echo *******HFSLIP is for PERSONAL use******  
  601. echo.&echo If you like HFSLIP, do not forget to donate.  
  602.  
  603. CALL :TIMECALC&PAUSE&EXIT
  604. REM ======================================================================================
  605.  
  606. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  607.  
  608. REM ======================IE6 SLIPSTREAMER================================================
  609. :IE6SLIP
  610. TITLE %T1% - Extracting IE6SP1
  611. echo.&echo Processing Internet Explorer 6 SP1&echo.
  612. MD WORK\IE6EXP2 WORK\OE6EXP
  613. IF EXIST HFCABS\_IE6_HFSLIP.CAB IF EXIST HFCABS\_IE6b_HFSLIP.CAB IF EXIST HFCABS\_OE6_HFSLIP.CAB SET IE6CCABS=OK
  614. IF NOT "%IE6CCABS%"=="OK" (CALL :IE6_EXPAND) ELSE (
  615.     ECHO Expanding custom IE6 cabs...
  616.     EXPAND HFCABS\_IE6_HFSLIP.CAB -F:* WORK\IE6EXP >NUL
  617.     EXPAND HFCABS\_IE6b_HFSLIP.CAB -F:* WORK\IE6EXP2 >NUL
  618.     EXPAND HFCABS\_OE6_HFSLIP.CAB -F:* WORK\OE6EXP >NUL
  619. )
  620. SET /A HFSLP=!HFSLP!+1
  621. MOVE WORK\IE6EXP\IEEXCEP.INF WORK\INFS\%HFSLP%.INF
  622. CALL :HFSLIPINFCREATOR1
  623. SET /A HFSLP=!HFSLP!+1
  624. MOVE WORK\OE6EXP\MSOE50.INF WORK\INFS\%HFSLP%.INF
  625. CALL :HFSLIPINFCREATOR1
  626. SET /A HFSLP=!HFSLP!+1
  627. MOVE WORK\OE6EXP\WAB50.INF WORK\INFS\%HFSLP%.INF
  628. CALL :HFSLIPINFCREATOR1
  629. SET /A HFSLP=!HFSLP!+1
  630. MOVE WORK\OE6EXP\OEEXCEP.INF WORK\INFS\%HFSLP%.INF
  631. CALL :HFSLIPINFCREATOR1
  632. SET /A HFSLP=!HFSLP!+1
  633. IF EXIST HFCABS\SCRIP*.CAB IF NOT EXIST HF\SCRIP*.EXE IF NOT EXIST HF\*SCRIPT56*.EXE (
  634.     EXPAND HFCABS\SCRIP*.CAB -F:* WORK\IE6EXP >NUL
  635.     MOVE WORK\IE6EXP\SCRIP*.INF WORK\INFS\%HFSLP%.INF
  636.     CALL :HFSLIPINFCREATOR1
  637.     SET /A HFSLP=!HFSLP!+1
  638. )
  639. CALL :IEBRANDING&ECHO.
  640. ECHO>>WORK\HFSDST.TXT PFIE=16422,"Internet Explorer"&ECHO>>WORK\HFS_PFIE.TXT dw15.exe
  641. IF DEFINED LCIDD IF NOT EXIST HFCLEANUP\ZZ_TommyP_IEGARBAGE.* (
  642.     SET DWINTLREN=1&ECHO>>WORK\HFSDST.TXT PFIELCID=16422,"Internet Explorer\%LCIDD%"&ECHO>>WORK\HFS_PFIELCID.TXT dwintl.dll,dwil%LCIDD%.dll
  643. )
  644. MOVE/Y WORK\IE6EXP\*.CAT WORK\SVCPACK
  645. MOVE/Y WORK\OE6EXP\*.CAT WORK\SVCPACK
  646. MOVE/Y WORK\IE6EXP\*.* WORK\I386E
  647. MOVE/Y WORK\OE6EXP\*.* WORK\I386E
  648. MOVE/Y WORK\IEBRAND\*.* WORK\I386E
  649. XCOPY/DY WORK\IE6EXP2 WORK\I386E
  650. ECHO.
  651. GOTO :EOF
  652.  
  653. :IE6_EXPAND
  654. ECHO Expanding IE6 cabs...
  655. EXPAND HFCABS\IEW2K_1.CAB -F:* WORK\IE6EXP >NUL
  656. EXPAND HFCABS\IEW2K_2.CAB -F:* WORK\IE6EXP >NUL
  657. EXPAND HFCABS\IEW2K_3.CAB -F:* WORK\IE6EXP >NUL
  658. EXPAND HFCABS\IEW2K_4.CAB -F:* WORK\IE6EXP >NUL
  659. MOVE/Y WORK\IE6EXP\comctl32.dll WORK\IE6EXP2
  660. MOVE/Y WORK\IE6EXP\corpol.dll WORK\IE6EXP2
  661. MOVE/Y WORK\IE6EXP\cryptdlg.dll WORK\IE6EXP2
  662. MOVE/Y WORK\IE6EXP\csseqchk.dll WORK\IE6EXP2
  663. MOVE/Y WORK\IE6EXP\dhtmled.ocx WORK\IE6EXP2
  664. MOVE/Y WORK\IE6EXP\dw15.exe WORK\IE6EXP2
  665. MOVE/Y WORK\IE6EXP\dwintl.dll WORK\IE6EXP2
  666. MOVE/Y WORK\IE6EXP\html32.cnv WORK\IE6EXP2
  667. MOVE/Y WORK\IE6EXP\msconv97.dll WORK\IE6EXP2
  668. MOVE/Y WORK\IE6EXP\msencode.dll WORK\IE6EXP2
  669. MOVE/Y WORK\IE6EXP\msxml3.dll WORK\IE6EXP2
  670. MOVE/Y WORK\IE6EXP\msxml3r.dll WORK\IE6EXP2
  671. MOVE/Y WORK\IE6EXP\tdc.ocx WORK\IE6EXP2
  672. DEL/Q/F WORK\IE6EXP\dummy.cat WORK\IE6EXP\fixie.inf WORK\IE6EXP\iew2kuni.inf WORK\IE6EXP\msxml.inf
  673. DEL/Q/F WORK\IE6EXP\msxml3a.dll WORK\IE6EXP\removbak.inf WORK\IE6EXP\setupwbv.dll WORK\IE6EXP\w2kexcp.exe
  674. EXPAND HFCABS\MAILNEWS.CAB -F:* WORK\OE6EXP >NUL
  675. EXPAND HFCABS\OEEXCEP.CAB -F:* WORK\OE6EXP >NUL
  676. EXPAND HFCABS\WAB.CAB -F:* WORK\OE6EXP >NUL
  677. FINDSTR/VBIR "\[DefaultInstall RequiredEngine CopyFiles AddReg BackupReg DelReg RegisterOCXs CustomDestination ComponentName ComponentVersion" WORK\OE6EXP\oeexcep.inf>oeexcep.inf
  678. FINDSTR/VI "DisplayName" WORK\OE6EXP\msoe50.inf>msoe50.inf
  679. MOVE/Y oeexcep.inf WORK\OE6EXP >NUL
  680. MOVE/Y msoe50.inf WORK\OE6EXP >NUL
  681. DEL/Q/F WORK\OE6EXP\9xmig.dll
  682. IF NOT "%HostOS%"=="2000" (
  683.     IF NOT EXIST MAKECAB.EXE IF EXIST SOURCE\I386\MAKECAB.EX_ EXPAND SOURCE\I386\MAKECAB.EX_ "%PREP%makecab.exe" >NUL&SET DELMCAB=1
  684.     IF NOT EXIST MAKECAB.EXE GOTO :EOF
  685. )
  686. ECHO.&ECHO Creating custom source cabs for future use...
  687. FOR %%I IN (IE6 IE6b OE6) DO IF EXIST HFCABS\_%%I_HFSLIP.CAB DEL/Q/F HFCABS\_%%I_HFSLIP.CAB
  688. CALL :UNICAB1
  689. ECHO>>UC.DDF .Set CabinetNameTemplate=_IE6_HFSLIP.CAB
  690. ECHO>>UC.DDF .Set DiskDirectory1=HFCABS
  691. FOR /F %%I IN ('DIR/B WORK\IE6EXP') DO ECHO>>UC.DDF WORK\IE6EXP\%%I
  692. CALL :UNICAB2
  693. CALL :UNICAB1
  694. ECHO>>UC.DDF .Set CabinetNameTemplate=_IE6b_HFSLIP.CAB
  695. ECHO>>UC.DDF .Set DiskDirectory1=HFCABS
  696. FOR /F %%I IN ('DIR/B WORK\IE6EXP2') DO ECHO>>UC.DDF WORK\IE6EXP2\%%I
  697. CALL :UNICAB2
  698. CALL :UNICAB1
  699. ECHO>>UC.DDF .Set CabinetNameTemplate=_OE6_HFSLIP.CAB
  700. ECHO>>UC.DDF .Set DiskDirectory1=HFCABS
  701. FOR /F %%I IN ('DIR/B WORK\OE6EXP') DO ECHO>>UC.DDF WORK\OE6EXP\%%I
  702. CALL :UNICAB2
  703. IF DEFINED DELMCAB DEL/Q/F MAKECAB.EXE
  704. GOTO :EOF
  705. REM ======================================================================================
  706.  
  707. REM ======================IE7 SLIPSTREAMER================================================
  708. :IE7SLIP
  709. TITLE %T1% - Processing Internet Explorer 7
  710. echo.&echo Processing Internet Explorer 7&echo.
  711. MD WORK\IE7&START/WAIT HF\%IE7EXE% /Q /X:WORK\IE7
  712. FINDSTR/I "MuiCultureDirectory" WORK\IE7\UPDATE\update.inf>WORK\muicult.txt
  713. FOR /F "TOKENS=2 DELIMS== " %%I IN ('FINDSTR/VIR "\." WORK\muicult.txt') DO SET MUICD=%%~I
  714. COPY WORK\IE7\UPDATE\EULA.RTF WORK\IE7\IE7Eula.rtf >NUL
  715. FOR /F %%I IN ('DIR/B WORK\IE7\UPDATE\*.INF') DO (COPY WORK\IE7\UPDATE\%%I "WORK\INFS\!HFSLP!.INF" >NUL&CALL :HFSLIPINFCREATOR1)
  716. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF     ProductIDCode               = "%IE7PIDCODE%"
  717. SET TXTDIR05=1&SET TXTDIR31=1&SET TXTDIR32=1&SET TXTDIR33=1&SET TXTDIR34=1&SET CUSTSATSDF=1
  718. IF "%VERSION%"=="XP" IF "%SP%"=="3" (
  719.     DEL/Q/F WORK\IE7\browseui.dll WORK\IE7\html.iec WORK\IE7\ieencode.dll
  720.     DEL/Q/F WORK\IE7\msls31.dll WORK\IE7\shdocvw.dll WORK\IE7\shlwapi.dll
  721.     DEL/Q/F WORK\IE7\jscript.dll WORK\IE7\vbscript.dll
  722. )
  723. ECHO>>WORK\HFSDST.TXT PFIE=16422,"Internet Explorer"
  724. ECHO>>WORK\HFSDST.TXT PFIELG4=16422,"Internet Explorer\%MUICD%"
  725. ECHO>>WORK\HFS_PFIE.TXT custsat.dll
  726. ECHO>>WORK\HFSSDF.TXT ieproxy.dll=1&ECHO>>WORK\HFS_PFIE.TXT ieproxy.dll
  727. ECHO>>WORK\HFSSDF.TXT hmmapi.mui=1&ECHO>>WORK\HFS_PFIELG4.TXT hmmapi.dll.mui,hmmapi.mui
  728. ECHO>>WORK\HFSSDF.TXT iedw.mui=1&ECHO>>WORK\HFS_PFIELG4.TXT iedw.exe.mui,iedw.mui
  729. ECHO>>WORK\HFSSDF.TXT iexplore.mui=1&ECHO>>WORK\HFS_PFIELG4.TXT iexplore.exe.mui,iexplore.mui
  730. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","100",0,"%%11%%\regsvr32 /s """%%16422%%\Internet Explorer\ieproxy.dll""""
  731. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","101",0,"%%11%%\regsvr32 /s /i /n """%%11%%\ieframe.dll""""
  732. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","102",0,"%%11%%\regsvr32 /s """%%11%%\actxprxy.dll""""
  733. ECHO>>SOURCESS\I386\TXTSETUP.SIF ieproxy.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,ieproxy.dll
  734. ECHO>>SOURCESS\I386\TXTSETUP.SIF hmmapi.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,hmmapi.mui
  735. ECHO>>SOURCESS\I386\TXTSETUP.SIF iedw.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iedw.mui
  736. ECHO>>SOURCESS\I386\TXTSETUP.SIF iexplore.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iexplore.mui
  737. ECHO>>SOURCESS\I386\TXTSETUP.SIF advpack.mui = 1,,,,,,,2,0,0,advpack.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,advpack.mui
  738. ECHO>>SOURCESS\I386\TXTSETUP.SIF ieframe.mui = 1,,,,,,,2,0,0,ieframe.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,ieframe.mui
  739. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsbs.dll = 1,,,,,,,2,0,0,msfeedsbs.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsbs.dll
  740. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsync.exe = 1,,,,,,,2,0,0,msfeedssync.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsync.exe
  741. ECHO>>SOURCESS\I386\TXTSETUP.SIF wfxdocob.exe = 1,,,,,,,2,0,0,WinFXDocObj.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,wfxdocob.exe
  742. FOR /F "TOKENS=1,2 DELIMS=," %%I IN ('FINDSTR/I "wav...8" WORK\IE7\UPDATE\UPDATE.INF') DO (
  743.     IF NOT DEFINED %%~JDONE FOR /F "TOKENS=* DELIMS= " %%A IN ('ECHO %%I') DO (
  744.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%~J = 1,,,,,,,26,0,0,%%A&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%~J
  745.     )
  746.     SET %%~JDONE=1
  747. )
  748. ECHO>>SOURCESS\I386\TXTSETUP.SIF htmliec.mui = 1,,,,,,,1005,0,0,html.iec.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,htmliec.mui
  749. ECHO>>SOURCESS\I386\TXTSETUP.SIF inetcpl.mui = 1,,,,,,,1005,0,0,inetcpl.cpl.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,inetcpl.mui
  750. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsbs.mui = 1,,,,,,,1005,0,0,msfeedsbs.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsbs.mui
  751. ECHO>>SOURCESS\I386\TXTSETUP.SIF wfxdocob.mui = 1,,,,,,,1005,0,0,WinFXDocObj.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,wfxdocob.mui
  752. FOR /F "DELIMS=." %%I IN ('DIR/B WORK\IE7\*DLL.MUI') DO IF /I NOT "%%I"=="msfeedsbs" (
  753.     ECHO>>WORK\IE7DLL.TXT %%I
  754.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I.mui = 1,,,,,,,1005,0,0,%%I.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I.mui
  755. )
  756. FOR /F "DELIMS=." %%I IN ('DIR/B WORK\IE7\*EXE.MUI') DO IF /I NOT "%%I"=="WinFXDocObj" (
  757.     ECHO>>WORK\IE7EXE.TXT %%I
  758.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I.mui = 1,,,,,,,1005,0,0,%%I.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I.mui
  759. )
  760. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsbs.mof = 1,,,,,,,1031,0,0,msfeedsbs.mof&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsbs.mof
  761. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfeeds.mof = 1,,,,,,,1031,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfeeds.mof
  762. ECHO>>SOURCESS\I386\TXTSETUP.SIF webcheck.ini = 1,,,,,,,1032,0,0,desktop.ini&ECHO>>SOURCESS\I386\DOSNET.INF d1,webcheck.ini
  763. ECHO>>SOURCESS\I386\TXTSETUP.SIF occache.ini = 1,,,,,,,1033,0,0,desktop.ini&ECHO>>SOURCESS\I386\DOSNET.INF d1,occache.ini
  764. FOR /F %%I IN ('DIR/B WORK\IE7\*.IEM') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,1034,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  765. CALL :IE7_FIXES
  766. XCOPY/DY WORK\IE7\UPDATE\*.CAT WORK\SVCPACK >NUL
  767. MOVE/Y WORK\IE7\*.* WORK\I386E
  768. ECHO.
  769. IF EXIST HF\IE7*-KB*.exe FOR /F %%I IN ('DIR/B HF\IE7*-KB*.exe') DO (SET HF=%%I&SET IE7HFX=TRUE&CALL :HF1EXTRACT)
  770. IF EXIST HF\BASIC\IE7*-KB*.exe FOR /F %%I IN ('DIR/B HF\BASIC\IE7*-KB*.exe') DO (SET HF=%%I&SET IE7HFX=TRUE&CALL :HFBASIC)
  771. IF EXIST HF\NOREG\IE7*-KB*.exe FOR /F %%I IN ('DIR/B HF\NOREG\IE7*-KB*.exe') DO (SET HF=%%I&SET IE7HFX=TRUE&CALL :HFNOREG)
  772. SET HF=
  773. IF EXIST HFCABS\BRANDING.CAB CALL :IEBRANDING
  774. IF DEFINED MOREBRAND XCOPY/DY WORK\IEBRAND WORK\I386E >NUL
  775. EXPAND SOURCE\I386\IEACCESS.IN_ -R WORK >NUL
  776. FINDSTR/L "[ShowIE]" WORK\IEACCESS.INF >NUL
  777. IF ERRORLEVEL 1 (
  778.     ECHO>>IEACCESS.CMD @ECHO OFF
  779.     ECHO>>IEACCESS.CMD SET IEACCESS=
  780.     ECHO>>IEACCESS.CMD FIND /V /I "[Show" WORK\IEACCESS.INF^>WORK\IEACCESS1.INF
  781.     ECHO>>IEACCESS.CMD FIND /V /I "[Hide" WORK\IEACCESS1.INF^>WORK\IEACCESS2.INF
  782.     ECHO>>IEACCESS.CMD FIND /V /I "Commandline" WORK\IEACCESS2.INF^>WORK\IEACCESS3.INF
  783.     ECHO>>IEACCESS.CMD FIND /V /I "TickCount" WORK\IEACCESS3.INF^>WORK\IEACCESS4.INF
  784.     ECHO>>IEACCESS.CMD FOR /F "DELIMS=" %%%%I IN ^('FIND /V /I "----------" WORK\IEACCESS4.INF'^) DO ^(
  785.     ECHO>>IEACCESS.CMD IF DEFINED IEACCESS ECHO^>^>WORK\I386E\ieaccess.inf %%%%I
  786.     ECHO>>IEACCESS.CMD SET IEACCESS=1
  787.     ECHO>>IEACCESS.CMD ^)
  788.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf [ShowIE]
  789.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf Commandline="%%%%11%%%%\ie4uinit.exe -show"
  790.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf TickCount=500
  791.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf [HideIE]
  792.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf Commandline="%%%%11%%%%\ie4uinit.exe -hide"
  793.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf TickCount=500
  794.     CMD/U/C "IEACCESS.CMD"
  795.     DEL/Q/F IEACCESS.CMD
  796. ) ELSE (
  797.     FINDSTR/VIBR "\[Show \[Hide Commandline TickCount" WORK\IEACCESS.INF>WORK\I386E\ieaccess.inf
  798.     ECHO>>WORK\I386E\ieaccess.inf [ShowIE]
  799.     ECHO>>WORK\I386E\ieaccess.inf Commandline="%%11%%\ie4uinit.exe -show"
  800.     ECHO>>WORK\I386E\ieaccess.inf TickCount=500
  801.     ECHO>>WORK\I386E\ieaccess.inf [HideIE]
  802.     ECHO>>WORK\I386E\ieaccess.inf Commandline="%%11%%\ie4uinit.exe -hide"
  803.     ECHO>>WORK\I386E\ieaccess.inf TickCount=500
  804. )
  805. MD TEMP&START/WAIT WORK\IE7\UPDATE\idndl.exe /Q /X:TEMP&CALL :HF1COMMON_B
  806. MD TEMP&START/WAIT WORK\IE7\UPDATE\nlsdl.exe /Q /X:TEMP&CALL :HF1COMMON_B
  807. IF NOT "%OSLEVEL%"=="23" MD TEMP&START/WAIT WORK\IE7\UPDATE\xmllitesetup.exe /Q /X:TEMP&CALL :HF1COMMON_A&CALL :HF1COMMON_B
  808. GOTO :EOF
  809. REM ======================================================================================
  810.  
  811. REM ======================IE7 INTEGRATOR==================================================
  812. :IE7INT
  813. echo.&echo Processing Internet Explorer 7&echo.
  814. IF EXIST HFCABS\BRANDING.CAB CALL :IEBRANDING
  815. TITLE %T1% - Processing IE7 and updates
  816. SET IE7INFINST=0&SET IE7FCNT=0&ECHO Extracting MSIE7
  817. MD WORK\IE7&START/WAIT HF\%IE7EXE% /Q /X:WORK\IE7
  818. SET IE7HFX=TRUE
  819. IF EXIST HF\IE7*-KB*.EXE ECHO Integrating MSIE7 hotfixes from HF folder&FOR /F %%I IN ('DIR/B/ON HF\IE7*-KB*.EXE') DO (
  820.     ECHO  %%I&MD TEMP&START/WAIT HF\%%I /Q /X:TEMP&CALL :IE7INTCOPY
  821.     SET /A IE7INFINST=!IE7INFINST!+1
  822.     ECHO>WORK\IE7\UPDATE!IE7INFINST!.INF [Version]&ECHO>>WORK\IE7\UPDATE!IE7INFINST!.INF Signature="$WINDOWS NT$"
  823.     IF EXIST TEMP\UPDATE\updHFSLP.inf (TYPE TEMP\UPDATE\updHFSLP.inf>>WORK\IE7\UPDATE!IE7INFINST!.INF) ELSE (
  824.         FOR /F %%I IN ('DIR/B TEMP\UPDATE\*.INF') DO TYPE TEMP\UPDATE\%%I>>WORK\IE7\UPDATE!IE7INFINST!.INF
  825.     )
  826.     ECHO>>WORK\IE7UPDINF.TXT rundll32.exe %%SYSTEMROOT%%\SYSTEM32\advpack.dll,LaunchINFSection UPDATE!IE7INFINST!.INF,ProductInstall.GlobalRegistryChanges.Install
  827.     RD/Q/S TEMP
  828. )
  829. IF EXIST HF\BASIC\IE7*-KB*.EXE ECHO Integrating MSIE7 hotfixes from HF\BASIC folder&FOR /F %%I IN ('DIR/B/ON HF\BASIC\IE7*-KB*.EXE') DO (
  830.     ECHO  %%I&MD TEMP&START/WAIT HF\BASIC\%%I /Q /X:TEMP&CALL :IE7INTCOPY
  831.     SET HF=%%I&CALL :PARSE_KB&RD/Q/S TEMP
  832. )
  833. IF EXIST HF\NOREG\IE7*-KB*.EXE ECHO Integrating MSIE7 hotfixes from HF\NOREG folder&FOR /F %%I IN ('DIR/B/ON HF\NOREG\IE7*-KB*.EXE') DO (
  834.     ECHO  %%I&MD TEMP&START/WAIT HF\NOREG\%%I /Q /X:TEMP&CALL :IE7INTCOPY
  835.     RD/Q/S TEMP
  836. )
  837. SET IE7HFX=
  838. CALL :IE7_FIXES
  839. IF DEFINED MOREBRAND ECHO Adding extra IEAK files&XCOPY/DY WORK\IEBRAND WORK\IE7 >NUL
  840. ECHO Creating updated MSIE7 installer
  841. IF DEFINED IE7SVCPACK (SET IE7INSTSW=quiet&SET IE7TARGET=\SVCPACK) ELSE (SET IE7INSTSW=passive)
  842. IF "%IE7BACKUP%"=="0" (SET IE7BKPSW= /nobackup)
  843. CALL :UNICAB1
  844. ECHO>>UC.DDF .Set CabinetNameTemplate=UPDATE.CAB
  845. ECHO>>UC.DDF .Set DiskDirectory1=WORK\IE7
  846. FOR /F %%I IN ('DIR/B WORK\IE7\update') DO ECHO>>UC.DDF WORK\IE7\update\%%I
  847. CALL :UNICAB2
  848. ECHO>WORK\IE7\SETUP.CMD @ECHO OFF
  849. IF DEFINED CMDHIDE ECHO>>WORK\IE7\SETUP.CMD %CMDHIDE%
  850. ECHO>>WORK\IE7\SETUP.CMD MD update
  851. ECHO>>WORK\IE7\SETUP.CMD EXPAND UPDATE.CAB -F:* update ^>NUL
  852. ECHO>>WORK\IE7\SETUP.CMD update\iesetup.exe /%IE7INSTSW% /norestart /update-no%IE7BKPSW%
  853. IF EXIST WORK\IE7UPDINF.TXT TYPE WORK\IE7UPDINF.TXT>>WORK\IE7\SETUP.CMD
  854. IF EXIST WORK\IE7\ieframe2.dll (
  855.     ECHO>>WORK\IE7\SETUP.CMD COPY/Y ieframe2.dll %%SYSTEMROOT%%\SYSTEM32
  856.     ECHO>>WORK\IE7\SETUP.CMD %%SYSTEMROOT%%\SYSTEM32\REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /t REG_EXPAND_SZ /v ZZZieframe1 /d "CMD /C REN %%SYSTEMROOT%%\SYSTEM32\ieframe.dll ieframe.old&REN %%SYSTEMROOT%%\SYSTEM32\ieframe2.dll ieframe.dll" /f
  857.     ECHO>>WORK\IE7\SETUP.CMD %%SYSTEMROOT%%\SYSTEM32\REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /t REG_EXPAND_SZ /v ZZZieframe2 /d "CMD /C %%SYSTEMROOT%%\SYSTEM32\REG ADD """HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce""" /t REG_EXPAND_SZ /v ieframeold /d """CMD /C DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\ieframe.old""" /f" /f
  858. )
  859. ECHO>>WORK\IE7\SETUP.CMD EXIT
  860. ECHO>IE7.SED [Version]
  861. ECHO>>IE7.SED Class=IEXPRESS
  862. ECHO>>IE7.SED SEDVersion=3
  863. ECHO>>IE7.SED [Options]
  864. ECHO>>IE7.SED PackagePurpose=InstallApp
  865. ECHO>>IE7.SED ShowInstallProgramWindow=0
  866. ECHO>>IE7.SED HideExtractAnimation=0
  867. ECHO>>IE7.SED UseLongFileName=1
  868. ECHO>>IE7.SED InsideCompressed=0
  869. ECHO>>IE7.SED CAB_FixedSize=0
  870. ECHO>>IE7.SED CAB_ResvCodeSigning=0
  871. ECHO>>IE7.SED RebootMode=N
  872. ECHO>>IE7.SED TargetName=%%TargetName%%
  873. ECHO>>IE7.SED FriendlyName=%%FriendlyName%%
  874. ECHO>>IE7.SED AppLaunched=%%AppLaunched%%
  875. ECHO>>IE7.SED PostInstallCmd=%%PostInstallCmd%%
  876. ECHO>>IE7.SED SourceFiles=SourceFiles
  877. ECHO>>IE7.SED [Strings]
  878. ECHO>>IE7.SED TargetName=%~dp0SOURCESS\I386%IE7TARGET%\IE7_INST.EXE
  879. ECHO>>IE7.SED FriendlyName=Windows Internet Explorer 7
  880. ECHO>>IE7.SED AppLaunched=SETUP.CMD
  881. ECHO>>IE7.SED PostInstallCmd=^<None^>
  882. FOR /F %%I IN ('DIR/B/A-D WORK\IE7') DO (
  883.     ECHO>>IE7.SED FILE!IE7FCNT!="%%I"
  884.     ECHO>>IE7b.TXT %%FILE!IE7FCNT!%%=
  885.     SET /A IE7FCNT=!IE7FCNT!+1
  886. )
  887. ECHO>>IE7.SED [SourceFiles]
  888. ECHO>>IE7.SED SourceFiles0=%~dp0WORK\IE7\
  889. ECHO>>IE7.SED [SourceFiles0]
  890. TYPE IE7b.TXT>>IE7.SED
  891. IEXPRESS /N /Q /M IE7.SED
  892. DEL/Q/F IE7.SED IE7b.TXT
  893. HFTOOLS\MODIFYPE.EXE SOURCESS\I386%IE7TARGET%\IE7_INST.EXE -c
  894. ECHO.
  895. GOTO :EOF
  896.  
  897. :IE7INTCOPY
  898. CALL :MID_BA_51&COPY TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
  899. REM * Fix for bug with the new ieframe.dll binary
  900. IF "%IE7GUILOGON%"=="1" IF EXIST TEMP\ieframe.dll REN TEMP\ieframe.dll ieframe2.dll
  901. REM * Temp fix for file creation date issue with Oct'07 IE7 installer
  902. REM * Upd. Nov 11 - if HFX with ieframe.dll.mui: ieframe.dll.mui force-copied, others replace existing ones if newer
  903. REM *             - if HFX without ieframe.dll.mui: files newer than 8-Mar-2007 replace existing ones
  904. IF EXIST TEMP\ieframe.dll.mui (MOVE/Y TEMP\ieframe.dll.mui WORK\IE7&XCOPY/DHY TEMP WORK\IE7 >NUL) ELSE (XCOPY/HY /D:03-08-2007 TEMP WORK\IE7 >NUL)
  905. GOTO :EOF
  906. REM ======================================================================================
  907.  
  908.  
  909.  
  910.  
  911. REM ======================IE8 SLIPSTREAMER================================================
  912. :IE8SLIP
  913. TITLE %T1% - Processing Internet Explorer 8
  914. echo.&echo Processing Internet Explorer 8&echo.
  915. MD WORK\IE7&START/WAIT HF\%IE8EXE% /Q /X:WORK\IE7
  916. FINDSTR/I "MuiCultureDirectory" WORK\IE7\UPDATE\update.inf>WORK\muicult.txt
  917. FOR /F "TOKENS=2 DELIMS== " %%I IN ('FINDSTR/VIR "\." WORK\muicult.txt') DO SET MUICD=%%~I
  918. COPY WORK\IE7\UPDATE\EULA.RTF WORK\IE7\IE8Eula.rtf >NUL
  919. FOR /F %%I IN ('DIR/B WORK\IE7\UPDATE\*.INF') DO (COPY WORK\IE7\UPDATE\%%I "WORK\INFS\!HFSLP!.INF" >NUL&CALL :HFSLIPINFCREATOR1)
  920. SET TXTDIR05=1&SET TXTDIR31=1&SET TXTDIR32=1&SET TXTDIR33=1&SET TXTDIR34=1
  921. IF "%VERSION%"=="XP" IF "%SP%"=="3" (
  922.     DEL/Q/F WORK\IE7\browseui.dll WORK\IE7\html.iec WORK\IE7\ieencode.dll
  923.     DEL/Q/F WORK\IE7\msls31.dll WORK\IE7\shdocvw.dll WORK\IE7\shlwapi.dll
  924. )
  925. ECHO>>WORK\HFSDST.TXT PFIE=16422,"Internet Explorer"
  926. ECHO>>WORK\HFSDST.TXT PFIELG4=16422,"Internet Explorer\%MUICD%"
  927. ECHO>>WORK\HFSSDF.TXT ieproxy.dll=1&ECHO>>WORK\HFS_PFIE.TXT ieproxy.dll
  928. ECHO>>WORK\HFSSDF.TXT hmmapi.mui=1&ECHO>>WORK\HFS_PFIELG4.TXT hmmapi.dll.mui,hmmapi.mui
  929. ECHO>>WORK\HFSSDF.TXT iexplore.mui=1&ECHO>>WORK\HFS_PFIELG4.TXT iexplore.exe.mui,iexplore.mui
  930. REN "WORK\IE7\ExtExport.exe" extexpor.exe
  931. REN "WORK\IE7\ie8props.propdesc" ie8props.pro
  932. REN "WORK\IE7\jsdebuggeride.dll" jsdbride.dll
  933. REN "WORK\IE7\jsdebuggeride.dll.mui" jsdbride.mui
  934. REN "WORK\IE7\JSProfilerCore.dll" jspfcore.dll
  935. REN "WORK\IE7\jsprofilerui.dll" jspfiler.dll
  936. ECHO>>WORK\HFS_PFIE.TXT ie8props.propdesc,ie8props.pro&ECHO>>WORK\HFSSDF.TXT ie8props.pro=1
  937. ECHO>>WORK\HFS_PFIE.TXT iexplore.exe.mui,iexplore.mui&ECHO>>WORK\HFSSDF.TXT iexplore.mui=1
  938. ECHO>>WORK\HFS_PFIE.TXT iecompat.dll&ECHO>>WORK\HFSSDF.TXT iecompat.dll=1
  939. ECHO>>WORK\HFS_PFIE.TXT iedvtool.dll&ECHO>>WORK\HFSSDF.TXT iedvtool.dll=1
  940. ECHO>>WORK\HFS_PFIE.TXT jsdbgui.dll&ECHO>>WORK\HFSSDF.TXT jsdbgui.dll=1
  941. ECHO>>WORK\HFS_PFIE.TXT jsdebuggeride.dll,jsdbride.dll&ECHO>>WORK\HFSSDF.TXT jsdbride.dll=1
  942. ECHO>>WORK\HFS_PFIE.TXT JSProfilerCore.dll,jspfcore.dll&ECHO>>WORK\HFSSDF.TXT jspfcore.dll=1
  943. ECHO>>WORK\HFS_PFIE.TXT jsprofilerui.dll,jspfiler.dll&ECHO>>WORK\HFSSDF.TXT jspfiler.dll=1
  944. ECHO>>WORK\HFS_PFIE.TXT pdm.dll&ECHO>>WORK\HFSSDF.TXT pdm.dll=1
  945. ECHO>>WORK\HFS_PFIE.TXT sqmapi.dll&ECHO>>WORK\HFSSDF.TXT sqmapi.dll=1
  946. ECHO>>WORK\HFS_PFIE.TXT xpshims.dll&ECHO>>WORK\HFSSDF.TXT xpshims.dll=1
  947. ECHO>>SOURCESS\I386\TXTSETUP.SIF ieproxy.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,ieproxy.dll
  948. ECHO>>SOURCESS\I386\TXTSETUP.SIF hmmapi.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,hmmapi.mui
  949. ECHO>>SOURCESS\I386\TXTSETUP.SIF iexplore.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iexplore.mui
  950. ECHO>>SOURCESS\I386\TXTSETUP.SIF extexpor.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,extexpor.exe
  951. ECHO>>SOURCESS\I386\TXTSETUP.SIF ie8props.pro = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,ie8props.pro
  952. ECHO>>SOURCESS\I386\TXTSETUP.SIF iecompat.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iecompat.dll
  953. ECHO>>SOURCESS\I386\TXTSETUP.SIF iedvtool.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iedvtool.dll
  954. ECHO>>SOURCESS\I386\TXTSETUP.SIF jsdbgui.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jsdbgui.dll
  955. ECHO>>SOURCESS\I386\TXTSETUP.SIF jsdbride.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jsdbride.dll
  956. ECHO>>SOURCESS\I386\TXTSETUP.SIF jspfcore.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jspfcore.dll
  957. ECHO>>SOURCESS\I386\TXTSETUP.SIF jspfiler.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jspfiler.dll
  958. ECHO>>SOURCESS\I386\TXTSETUP.SIF pdm.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,pdm.dll
  959. ECHO>>SOURCESS\I386\TXTSETUP.SIF sqmapi.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,sqmapi.dll
  960. ECHO>>SOURCESS\I386\TXTSETUP.SIF xpshims.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,xpshims.dll
  961. REN "WORK\IE7\JSProfilerCore.dll.mui" jspfcore.mui
  962. REN "WORK\IE7\jsprofilerui.dll.mui" jspfiler.mui
  963. ECHO>>WORK\HFS_PFIELG4.TXT iedvtool.dll.mui,iedvtool.mui&ECHO>>WORK\HFSSDF.TXT iedvtool.mui=1
  964. ECHO>>WORK\HFS_PFIELG4.TXT jsdbgui.dll.mui,jsdbgui.mui&ECHO>>WORK\HFSSDF.TXT jsdbgui.mui=1
  965. ECHO>>WORK\HFS_PFIELG4.TXT jsdebuggeride.dll.mui,jsdbride.mui&ECHO>>WORK\HFSSDF.TXT jsdbride.mui=1
  966. ECHO>>WORK\HFS_PFIELG4.TXT JSProfilerCore.dll.mui,jspfcore.mui&ECHO>>WORK\HFSSDF.TXT jspfcore.mui=1
  967. ECHO>>WORK\HFS_PFIELG4.TXT jsprofilerui.dll.mui,jspfiler.mui&ECHO>>WORK\HFSSDF.TXT jspfiler.mui=1
  968. ECHO>>SOURCESS\I386\TXTSETUP.SIF iedvtool.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iedvtool.mui
  969. ECHO>>SOURCESS\I386\TXTSETUP.SIF jsdbgui.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jsdbgui.mui
  970. ECHO>>SOURCESS\I386\TXTSETUP.SIF jsdbride.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jsdbride.mui
  971. ECHO>>SOURCESS\I386\TXTSETUP.SIF jspfcore.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jspfcore.mui
  972. ECHO>>SOURCESS\I386\TXTSETUP.SIF jspfiler.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,jspfiler.mui
  973. ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{6E32070A-766D-4EE6-879C-DC1FA91D2FC3}\iexplore\AllowedDomains\microsoft.com",,,
  974. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","100",0,"%%11%%\regsvr32 /s """%%16422%%\Internet Explorer\ieproxy.dll""""
  975. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","101",0,"%%11%%\regsvr32 /s /i /n """%%11%%\ieframe.dll""""
  976. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","102",0,"%%11%%\regsvr32 /s """%%11%%\actxprxy.dll""""
  977. ECHO>>SOURCESS\I386\TXTSETUP.SIF advpack.mui = 1,,,,,,,2,0,0,advpack.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,advpack.mui
  978. ECHO>>SOURCESS\I386\TXTSETUP.SIF ieframe.mui = 1,,,,,,,2,0,0,ieframe.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,ieframe.mui
  979. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsbs.dll = 1,,,,,,,2,0,0,msfeedsbs.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsbs.dll
  980. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsync.exe = 1,,,,,,,2,0,0,msfeedssync.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsync.exe
  981. ECHO>>SOURCESS\I386\TXTSETUP.SIF wfxdocob.exe = 1,,,,,,,2,0,0,WinFXDocObj.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,wfxdocob.exe
  982. ECHO>>SOURCESS\I386\TXTSETUP.SIF ie4uinit.mui = 1,,,,,,,2,0,0,ie4uinit.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,ie4uinit.mui
  983. ECHO>>SOURCESS\I386\TXTSETUP.SIF iedkcs32.mui = 1,,,,,,,2,0,0,iedkcs32.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,iedkcs32.mui
  984. ECHO>>SOURCESS\I386\TXTSETUP.SIF msdbg2.dll = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,msdbg2.dll
  985. ECHO>>SOURCESS\I386\TXTSETUP.SIF mshta.mui = 1,,,,,,,2,0,0,mshta.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,mshta.mui
  986. ECHO>>SOURCESS\I386\TXTSETUP.SIF msrating.mui = 1,,,,,,,2,0,0,msrating.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,msrating.mui
  987. FOR /F "TOKENS=1,2 DELIMS=," %%I IN ('FINDSTR/I "wav...8" WORK\IE7\UPDATE\UPDATE.INF') DO (
  988.     IF NOT DEFINED %%~JDONE FOR /F "TOKENS=* DELIMS= " %%A IN ('ECHO %%I') DO (
  989.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%~J = 1,,,,,,,26,0,0,%%A&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%~J
  990.     )
  991.     SET %%~JDONE=1
  992. )
  993. ECHO>>SOURCESS\I386\TXTSETUP.SIF htmliec.mui = 1,,,,,,,1005,0,0,html.iec.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,htmliec.mui
  994. ECHO>>SOURCESS\I386\TXTSETUP.SIF inetcpl.mui = 1,,,,,,,1005,0,0,inetcpl.cpl.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,inetcpl.mui
  995. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsbs.mui = 1,,,,,,,1005,0,0,msfeedsbs.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsbs.mui
  996. ECHO>>SOURCESS\I386\TXTSETUP.SIF wfxdocob.mui = 1,,,,,,,1005,0,0,WinFXDocObj.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,wfxdocob.mui
  997. FOR /F "DELIMS=." %%I IN ('DIR/B WORK\IE7\*DLL.MUI') DO IF /I NOT "%%I"=="msfeedsbs" IF /I NOT "%%I"=="jsdebuggeride" IF /I NOT "%%I"=="JSProfilerCore" IF /I NOT "%%I"=="jsprofilerui" (
  998.     ECHO>>WORK\IE7DLL.TXT %%I
  999.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I.mui = 1,,,,,,,1005,0,0,%%I.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I.mui
  1000. )
  1001. FOR /F "DELIMS=." %%I IN ('DIR/B WORK\IE7\*EXE.MUI') DO IF /I NOT "%%I"=="WinFXDocObj" (
  1002.     ECHO>>WORK\IE7EXE.TXT %%I
  1003.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I.mui = 1,,,,,,,1005,0,0,%%I.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I.mui
  1004. )
  1005. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfdsbs.mof = 1,,,,,,,1031,0,0,msfeedsbs.mof&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfdsbs.mof
  1006. ECHO>>SOURCESS\I386\TXTSETUP.SIF msfeeds.mof = 1,,,,,,,1031,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,msfeeds.mof
  1007. ECHO>>SOURCESS\I386\TXTSETUP.SIF webcheck.ini = 1,,,,,,,1032,0,0,desktop.ini&ECHO>>SOURCESS\I386\DOSNET.INF d1,webcheck.ini
  1008. ECHO>>SOURCESS\I386\TXTSETUP.SIF occache.ini = 1,,,,,,,1033,0,0,desktop.ini&ECHO>>SOURCESS\I386\DOSNET.INF d1,occache.ini
  1009. FOR /F %%I IN ('DIR/B WORK\IE7\*.IEM') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,1034,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  1010. SET IE7SLIPSTREAM=1
  1011. CALL :IE7_FIXES
  1012. SET IE7SLIPSTREAM=
  1013. XCOPY/DY WORK\IE7\UPDATE\*.CAT WORK\SVCPACK >NUL
  1014. MOVE/Y WORK\IE7\*.* WORK\I386E
  1015. echo.&echo Processing Internet Explorer 8 Hotfixes&echo.
  1016. IF EXIST HF\IE8*-KB*.exe FOR /F %%I IN ('DIR/B HF\IE8*-KB*.exe') DO (SET HF=%%I&SET IE7HFX=TRUE&CALL :HF1EXTRACT)
  1017. IF EXIST HF\BASIC\IE8*-KB*.exe FOR /F %%I IN ('DIR/B HF\BASIC\IE8*-KB*.exe') DO (SET HF=%%I&SET IE7HFX=TRUE&CALL :HFBASIC)
  1018. IF EXIST HF\NOREG\IE8*-KB*.exe FOR /F %%I IN ('DIR/B HF\NOREG\IE8*-KB*.exe') DO (SET HF=%%I&SET IE7HFX=TRUE&CALL :HFNOREG)
  1019. SET HF=
  1020. IF EXIST HFCABS\BRANDING.CAB CALL :IEBRANDING
  1021. IF DEFINED MOREBRAND XCOPY/DY WORK\IEBRAND WORK\I386E >NUL
  1022. EXPAND SOURCE\I386\IEACCESS.IN_ -R WORK >NUL
  1023. FINDSTR/L "[ShowIE]" WORK\IEACCESS.INF >NUL
  1024. IF ERRORLEVEL 1 (
  1025.     ECHO>>IEACCESS.CMD @ECHO OFF
  1026.     ECHO>>IEACCESS.CMD SET IEACCESS=
  1027.     ECHO>>IEACCESS.CMD FIND /V /I "[Show" WORK\IEACCESS.INF^>WORK\IEACCESS1.INF
  1028.     ECHO>>IEACCESS.CMD FIND /V /I "[Hide" WORK\IEACCESS1.INF^>WORK\IEACCESS2.INF
  1029.     ECHO>>IEACCESS.CMD FIND /V /I "Commandline" WORK\IEACCESS2.INF^>WORK\IEACCESS3.INF
  1030.     ECHO>>IEACCESS.CMD FIND /V /I "TickCount" WORK\IEACCESS3.INF^>WORK\IEACCESS4.INF
  1031.     ECHO>>IEACCESS.CMD FOR /F "DELIMS=" %%%%I IN ^('FIND /V /I "----------" WORK\IEACCESS4.INF'^) DO ^(
  1032.     ECHO>>IEACCESS.CMD IF DEFINED IEACCESS ECHO^>^>WORK\I386E\ieaccess.inf %%%%I
  1033.     ECHO>>IEACCESS.CMD SET IEACCESS=1
  1034.     ECHO>>IEACCESS.CMD ^)
  1035.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf [ShowIE]
  1036.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf Commandline="%%%%11%%%%\ie4uinit.exe -show"
  1037.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf TickCount=500
  1038.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf [HideIE]
  1039.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf Commandline="%%%%11%%%%\ie4uinit.exe -hide"
  1040.     ECHO>>IEACCESS.CMD ECHO^>^>WORK\I386E\ieaccess.inf TickCount=500
  1041.     CMD/U/C "IEACCESS.CMD"
  1042.     DEL/Q/F IEACCESS.CMD
  1043. ) ELSE (
  1044.     FINDSTR/VIBR "\[Show \[Hide Commandline TickCount" WORK\IEACCESS.INF>WORK\I386E\ieaccess.inf
  1045.     ECHO>>WORK\I386E\ieaccess.inf [ShowIE]
  1046.     ECHO>>WORK\I386E\ieaccess.inf Commandline="%%11%%\ie4uinit.exe -show"
  1047.     ECHO>>WORK\I386E\ieaccess.inf TickCount=500
  1048.     ECHO>>WORK\I386E\ieaccess.inf [HideIE]
  1049.     ECHO>>WORK\I386E\ieaccess.inf Commandline="%%11%%\ie4uinit.exe -hide"
  1050.     ECHO>>WORK\I386E\ieaccess.inf TickCount=500
  1051. )
  1052. IF EXIST SOURCE\I386\xmllite.dl* DEL/Q/F WORK\IE7\support\xmllite.dll
  1053.     XCOPY/DY WORK\IE7\support WORK\I386E
  1054. GOTO :EOF
  1055. REM ======================================================================================
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062. REM ======================IE BRANDING.CAB=================================================
  1063. :IEBRANDING
  1064. MD WORK\IEBRAND
  1065. EXPAND HFCABS\BRANDING.CAB -F:* WORK\IEBRAND >NUL
  1066. FOR %%I IN (INSTALL SETUP) DO IF EXIST WORK\IEBRAND\%%I.INF DEL/Q/F WORK\IEBRAND\%%I.INF
  1067. IF EXIST WORK\IEBRAND\*.INF FOR /F %%I IN ('DIR/B/ON WORK\IEBRAND\*.INF') DO (SET IEAKINF=%%I&CALL :IEAKINFS)
  1068. FOR /F %%I IN ('DIR/B WORK\IEBRAND') DO SET MOREBRAND=1
  1069. GOTO :EOF
  1070.  
  1071. :IEAKINFS
  1072. SET /A HFSLP=!HFSLP!+1
  1073. FINDSTR/VI "RequiredEngine" WORK\IEBRAND\%IEAKINF%>>SOURCESS\I386\HFSLP%HFSLP%.INF&DEL/Q/F WORK\IEBRAND\%IEAKINF%
  1074. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZA","%HFSLP%",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLP%HFSLP%.INF,DefaultInstall"
  1075. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLP%HFSLP%.INF = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLP%HFSLP%.INF
  1076. GOTO :EOF
  1077. REM ======================================================================================
  1078.  
  1079. REM ======================IE7 FIXES=======================================================
  1080. :IE7_FIXES
  1081. FINDSTR/VIR "Welcome PhishingFilter RunOnceHasShown RunOnceLastShown RunOnceComplete UseClearType" WORK\IE7\ieuinit.inf>ieuinit.inf
  1082. MOVE/Y ieuinit.inf WORK\IE7 >NUL
  1083. IF "%VERSION%"=="XP" IF NOT DEFINED IE7SLIPSTREAM GOTO :EOF
  1084. ECHO>MKSDINF.CMD @ECHO OFF
  1085. ECHO>>MKSDINF.CMD ECHO^>SOURCESS\I386\HFSLIPSD.INF [Version]
  1086. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF Signature="$WINDOWS NT$"
  1087. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [Optional Components]
  1088. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF ShowDesktop
  1089. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [ShowDesktop]
  1090. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF CopyFiles=Copy.ShowDesktop
  1091. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF OptionDesc="%%%%ShowDesktop%%%%"
  1092. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF Tip="%%%%ShowDesktop%%%%"
  1093. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF Modes=0,1,2,3
  1094. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [SourceDisksNames]
  1095. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF 1="Windows CD","%CDTAG%",,"\I386"
  1096. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [SourceDisksFiles]
  1097. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF sdesktop.scf=1
  1098. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [DestinationDirs]
  1099. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF Copy.ShowDesktop=53,"%%%%ApplicationData%%%%\%%%%QuickLaunchDir%%%%"
  1100. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [Copy.ShowDesktop]
  1101. ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF %%%%ShowDesktop%%%%,sdesktop.scf
  1102. EXPAND SOURCE\I386\SHELL.IN_ -R WORK >NUL
  1103. FINDSTR/L "ShowDesktop" WORK\SHELL.INF >NUL
  1104. IF ERRORLEVEL 1 (
  1105.     IF DEFINED NOIE7STRNGSRCH (ECHO>>MKSDINF.CMD TYPE WORK\SHELL.INF^>^>SOURCESS\I386\HFSLIPSD.INF) ELSE (
  1106.         ECHO>>MKSDINF.CMD ECHO^>^>SOURCESS\I386\HFSLIPSD.INF [Strings]
  1107.         ECHO>>MKSDINF.CMD FOR /F "DELIMS=" %%%%I IN ^('FIND /I "ShowDesktop" WORK\SHELL.INF'^) DO ^(
  1108.         ECHO>>MKSDINF.CMD IF DEFINED SHOWD1 ECHO^>^>SOURCESS\I386\HFSLIPSD.INF %%%%I
  1109.         ECHO>>MKSDINF.CMD SET SHOWD1=1
  1110.         ECHO>>MKSDINF.CMD ^)
  1111.         ECHO>>MKSDINF.CMD FOR /F "DELIMS=" %%%%I IN ^('FIND /I "QuickLaunch" WORK\SHELL.INF'^) DO ^(
  1112.         ECHO>>MKSDINF.CMD IF DEFINED SHOWD2 ECHO^>^>SOURCESS\I386\HFSLIPSD.INF %%%%I
  1113.         ECHO>>MKSDINF.CMD SET SHOWD2=1
  1114.         ECHO>>MKSDINF.CMD ^)
  1115.     )
  1116.     ECHO>>MKSDINF.CMD FOR /F "TOKENS=2 DELIMS=\" %%%%I IN ^('FIND /I "U_SHELL_FOLDERS_APPDATA=" SOURCE\I386\HIVEDEF.INF'^) DO ^(
  1117.     ECHO>>MKSDINF.CMD IF DEFINED SHOWD3 ECHO^>^>SOURCESS\I386\HFSLIPSD.INF ApplicationData     = "%%%%I
  1118.     ECHO>>MKSDINF.CMD SET SHOWD3=1
  1119.     ECHO>>MKSDINF.CMD ^)
  1120.     CMD/U/C "MKSDINF.CMD"
  1121. ) ELSE (
  1122.     CALL MKSDINF.CMD
  1123.     ECHO>>SOURCESS\I386\HFSLIPSD.INF [Strings]
  1124.     FOR /F "TOKENS=2 DELIMS=\" %%I IN ('FINDSTR/BIR "U_SHELL_FOLDERS_APPDATA=" SOURCE\I386\HIVEDEF.INF') DO (
  1125.         ECHO>>SOURCESS\I386\HFSLIPSD.INF ApplicationData     = "%%I
  1126.     )
  1127.     FINDSTR/BIR "ShowDesktop QuickLaunch" WORK\SHELL.INF>>SOURCESS\I386\HFSLIPSD.INF
  1128. )
  1129. DEL/Q/F MKSDINF.CMD
  1130. ECHO>SOURCESS\I386\sdesktop.scf [Shell]&ECHO>>SOURCESS\I386\sdesktop.scf Command=2&ECHO>>SOURCESS\I386\sdesktop.scf IconFile=explorer.exe,3
  1131. ECHO>>SOURCESS\I386\sdesktop.scf [Taskbar]&ECHO>>SOURCESS\I386\sdesktop.scf Command=ToggleDesktop
  1132. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLIPSD.INF = 1,,,,,,,20,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLIPSD.INF
  1133. ECHO>>SOURCESS\I386\TXTSETUP.SIF sdesktop.scf = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,sdesktop.scf
  1134. GOTO :EOF
  1135. REM ======================================================================================
  1136.  
  1137. REM ======================WINDOWS MEDIA===================================================
  1138. :WMSLIP
  1139. TITLE %T1% - Processing Windows Media
  1140. echo.&echo Processing Windows Media&echo.
  1141. SET DefWMPReg=reg.devices,Reg.Codecs,V9Reg.Core,V9Reg.Core.AddOnly,V9Reg.Univ,V9.RegPUI,WMPAddReg.PUI,WMPAddReg.OSPUI,WMP.ARP
  1142. IF "%VERSION%"=="2000" (
  1143.     SET DefWMPReg=AddReg.CDRW,%DefWMPReg%
  1144.     IF EXIST HF\MPSetup.exe (SET MPLEVEL=31&ECHO Processing MPSetup.exe...&MD TEMP&START/WAIT HF\MPSetup.exe /Q /T:"%PREP%TEMP" /C)
  1145.     IF EXIST HF\WindowsMedia9-KB891122*.exe IF NOT EXIST HF\wmfdist.exe FOR /F %%I IN ('DIR/B HF\WindowsMedia9-KB891122*.exe') DO (
  1146.         MD WORK\WMFD&START/WAIT HF\%%I /Q /X:WORK\WMFD&MOVE WORK\WMFD\wmfdist.exe HF >NUL&ECHO>>WORK\FILESTODEL.TXT HF\wmfdist.exe
  1147.     )
  1148.     IF EXIST HF\wmfdist.exe (
  1149.         SET MPLEVEL=32&ECHO Processing wmfdist.exe...&MD TEMP\WMPCOD&START/WAIT HF\wmfdist.exe /Q /T:"%PREP%TEMP\WMPCOD" /C
  1150.         IF EXIST TEMP\setup_wm.exe DEL/Q/F TEMP\WMPCOD\setup_wm.exe
  1151.         XCOPY/DHY TEMP\WMPCOD TEMP >NUL&RD/Q/S TEMP\WMPCOD
  1152.     )
  1153.     IF EXIST HF\wmp6cdcs.exe (
  1154.         ECHO Processing wmp6cdcs.exe...&MD TEMP\MP6CDCS&START/WAIT HF\wmp6cdcs.exe /Q /T:"%PREP%TEMP\MP6CDCS" /C
  1155.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32","msacm.msaudio1",,"msaud32.acm"
  1156.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","msaud32.acm",,"Windows Media Audio Codec"
  1157.         IF NOT EXIST TEMP\MP4SDMOD.DLL (
  1158.             ECHO>>WORK\HHIVADD.TXT HKCR,"Windows Media\WMSDK\VideoDecode\MP4S","DllName",,"mp4sdmod.dll"
  1159.             ECHO>>WORK\HHIVADD.TXT HKCR,"Windows Media\WMSDK\VideoDecode\M4S2","DllName",,"mp4sdmod.dll"
  1160.         )
  1161.         ECHO>TEMP\WMV9VCM.inf [Version]&ECHO>>TEMP\WMV9VCM.inf Signature="$WINDOWS NT$"
  1162.         FINDSTR/VBIR "\[Version Signature Advanced Required CopyFiles" TEMP\MP6CDCS\WMV9VCM.inf>>TEMP\WMV9VCM.inf
  1163.         DEL/Q/F TEMP\MP6CDCS\*.inf TEMP\MP6CDCS\*.txt&XCOPY/DHY TEMP\MP6CDCS TEMP >NUL&RD/Q/S TEMP\MP6CDCS
  1164.     )
  1165. ) ELSE (
  1166.     SET DefWMPReg=%DefWMPReg%,reg.wmdm.autoplay,V9Reg.XP,WMP.SPAD,WMP.Reg.IEHard,Reg.WMDMHandler,Fraunhofer.Reg,Reg.Version,Reg.WPD,Reg.UMWDF
  1167.     IF EXIST HF\WMP11*.exe IF NOT EXIST HF\WMP11\*.exe (
  1168.         IF EXIST HF\WMP11 RD/Q/S HF\WMP11
  1169.         if exist hf\wmp11*.exe SET RDWMP11DIR=1&MD HF\WMP11&FOR /F %%I IN ('DIR/B HF\WMP11*.exe') DO (ECHO Extracting %%I...&START/WAIT HF\%%I /Q /T:"%PREP%HF\WMP11" /C)
  1170.     )
  1171.     IF NOT EXIST HF\WMP11\*.exe (IF DEFINED MPLEVEL CALL :LEGACYWMP) ELSE (
  1172.         IF "%XPMCE%"=="1" IF EXIST HF\*%MCEMP10CUM%*.exe (
  1173.             MD TEMP\MP10CUM&FOR /F %%I IN ('DIR/B HF\*%MCEMP10CUM%*.exe') DO START/WAIT HF\%%I /Q /X:TEMP\MP10CUM
  1174.             MOVE/Y TEMP\MP10CUM\update\*.CAT WORK\SVCPACK >NUL&MOVE/Y TEMP\MP10CUM\EasyCDBlock.inf WORK\I386E >NUL
  1175.             MOVE/Y TEMP\MP10CUM\wpdtrace.dll TEMP >NUL&RD/Q/S TEMP\MP10CUM
  1176.         )
  1177.         SET MPLEVEL=51&ECHO Extracting WMP11 components...
  1178.         MD TEMP\APPC TEMP\UMDF TEMP\MSC&if exist hf\wmp11\mymusic.inf COPY HF\WMP11\mymusic.inf TEMP >NUL&COPY HF\WMP11\*.W* TEMP >NUL
  1179.         if exist hf\wmp11\wmp11.exe START/WAIT HF\WMP11\wmp11.exe /Q /X:TEMP
  1180.         IF NOT "%OSLEVEL%"=="23" (
  1181.             if exist HF\WMP11\wmpappcompat.exe (
  1182.         START/WAIT HF\WMP11\wmpappcompat.exe /Q /X:TEMP\APPC
  1183.         COPY TEMP\APPC\SP2QFE\* TEMP >NUL
  1184.         COPY TEMP\APPC\UPDATE\update_*.INF TEMP\APPC.INF >NUL
  1185.         MOVE/Y TEMP\APPC\UPDATE\*.CAT WORK\SVCPACK >NUL
  1186.         )
  1187.         )
  1188.         if exist HF\WMP11\umdf.exe START/WAIT HF\WMP11\umdf.exe /Q /X:TEMP\UMDF
  1189.     if exist HF\WMP11\*MSComp*.* FOR /F %%I IN ('DIR/B HF\WMP11\*MSComp*') DO START/WAIT HF\WMP11\%%I /Q /X:TEMP\MSC
  1190.     if exist HF\WMP11\wmfdist11.exe MD TEMP\WMPCOD&START/WAIT HF\WMP11\wmfdist11.exe /Q /X:TEMP\WMPCOD & echo Processed WMFDIST11.EXE
  1191.     IF DEFINED RDWMP11DIR RD/Q/S HF\WMP11
  1192.     COPY TEMP\UMDF\* TEMP >NUL&COPY TEMP\MSC\i386\* TEMP >NUL&DEL/Q/F TEMP\WMPCOD\wpdinstallutil.dll
  1193.     if exist TEMP\WMPCOD\LOCBIN\*.* COPY TEMP\WMPCOD\LOCBIN\wpdshextres.dll.%LG3% TEMP\wpdshextres.dll >NUL&XCOPY/DHY TEMP\WMPCOD\*.* TEMP >NUL
  1194.     if exist TEMP\UPDATE\*.CAT MOVE/Y TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL&MOVE/Y TEMP\UMDF\UPDATE\*.CAT WORK\SVCPACK >NUL
  1195.     if exist TEMP\MSC\UPDATE\*.CAT MOVE/Y TEMP\MSC\UPDATE\*.CAT WORK\SVCPACK >NUL&MOVE/Y TEMP\WMPCOD\UPDATE\*.CAT WORK\SVCPACK >NUL
  1196.     if exist TEMP\UPDATE\update.inf FINDSTR/VI "UninstallString" TEMP\UPDATE\update.inf>TEMP\WMP11b.INF
  1197.     if exist TEMP\UMDF\UPDATE\*.INF COPY TEMP\UMDF\UPDATE\*.INF TEMP\UMDF.INF >NUL
  1198.     if exist TEMP\MSC\UPDATE\*.INF COPY TEMP\MSC\UPDATE\*.INF TEMP\MSC.INF >NUL
  1199.     if exist temp\wmpcod\update\*.inf COPY TEMP\WMPCOD\UPDATE\*.INF TEMP\WMFD.INF >NUL
  1200.     RD/Q/S TEMP\UPDATE TEMP\APPC TEMP\UMDF TEMP\MSC TEMP\WMPCOD&DEL/Q/F TEMP\wudfcusto*.dll TEMP\*.bmp TEMP\*.jpg TEMP\*.png
  1201.     )
  1202. )
  1203. IF NOT EXIST TEMP GOTO :EOF
  1204. SET HFSLP=150
  1205. ECHO>>WORK\HFSDST.TXT PFWMP=16422,"Windows Media Player"
  1206. IF EXIST TEMP\custsat.dll SET CUSTSATSDF=1
  1207. IF EXIST TEMP\*.LNG FOR /F "TOKENS=2 DELIMS=Mm." %%I IN ('DIR/B TEMP\*.LNG') DO (SET WMLNG=%%I&SET DWINTLREN=1)
  1208. IF EXIST TEMP\wmburn.exe DEL/Q/F TEMP\wmpband.dll TEMP\unicows.dll TEMP\9xmigrat.dll TEMP\migrate.dll TEMP\w95*.dll
  1209. IF EXIST TEMP\advpack.dll DEL/Q/F TEMP\advpack.dll
  1210. IF EXIST TEMP\msoobci.dll (
  1211.     ECHO>>SOURCESS\I386\TXTSETUP.SIF msoobci.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,msoobci.dll
  1212.     ECHO>>WORK\HFSSDF.TXT msoobci.dll=1&ECHO>>WORK\HFS_PFWMP.TXT msoobci.dll&MOVE/Y TEMP\msoobci.dll WORK\I386E
  1213. )
  1214. DIR/B TEMP\*.DLL>>WORK\NSFREGt.TXT
  1215. IF EXIST TEMP\wmsetsdk.exe (
  1216.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmsetsdk.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmsetsdk.exe
  1217.     ECHO>>WORK\HFSSDF.TXT wmsetsdk.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmsetsdk.exe
  1218. )
  1219. IF EXIST TEMP\eula.txt (
  1220.     REN TEMP\eula.txt wmp_eula.txt&ECHO>>WORK\HFSSDF.TXT wmp_eula.txt=1&ECHO>>WORK\HFS_PFWMP.TXT eula.txt,wmp_eula.txt
  1221.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmp_eula.txt = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmp_eula.txt
  1222. )
  1223. :: THE OLD LOOKS
  1224. IF "%INCALLSKINS%"=="1" (
  1225.     FOR %%I IN (Atomic Bluesky Canvas Classic Goo Heart Iconic Optik Pyrite Radio Roundlet Rusty Splat Toothy) DO IF EXIST SOURCE\I386\%%I.WM* (
  1226.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I.wmz
  1227.         ECHO>>WORK\HFSSDF.TXT %%I.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT %%I.wmz&SET SKINSADDED=1
  1228.     )
  1229.     IF EXIST SOURCE\I386\HEADSP~1.WM* (
  1230.         ECHO>>SOURCESS\I386\TXTSETUP.SIF HEADSP~1.WMZ = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,HEADSP~1.WMZ
  1231.         ECHO>>WORK\HFSSDF.TXT HEADSP~1.WMZ=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Headspace.wmz,HEADSP~1.WMZ&SET SKINSADDED=1
  1232.     )
  1233.     IF EXIST SOURCE\I386\MINIPL~1.WM* (
  1234.         ECHO>>SOURCESS\I386\TXTSETUP.SIF MINIPL~1.WMZ = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,MINIPL~1.WMZ
  1235.         ECHO>>WORK\HFSSDF.TXT MINIPL~1.WMZ=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Miniplayer.wmz,MINIPL~1.WMZ&SET SKINSADDED=1
  1236.     )
  1237.     IF EXIST SOURCE\I386\pro.wm* (
  1238.         ECHO>>SOURCESS\I386\TXTSETUP.SIF pro.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,pro.wmz
  1239.         ECHO>>WORK\HFSSDF.TXT pro.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Windows Classic.wmz,pro.wmz&SET SKINSADDED=1
  1240.     )
  1241.     IF EXIST SOURCE\I386\personal.wm* (
  1242.         ECHO>>SOURCESS\I386\TXTSETUP.SIF personal.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,personal.wmz
  1243.         ECHO>>WORK\HFSSDF.TXT personal.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Windows XP.wmz,personal.wmz&SET SKINSADDED=1
  1244.     )
  1245. ) ELSE IF "%INCWMPCSKIN%"=="1" IF EXIST SOURCE\I386\CLASSIC.WM* (
  1246.     ECHO>>SOURCESS\I386\TXTSETUP.SIF Classic.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,Classic.wmz
  1247.     ECHO>>WORK\HFSSDF.TXT Classic.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Classic.wmz&SET SKINSADDED=1
  1248. )
  1249. IF EXIST TEMP\wmplayer.exe SET SKINSADDED=1
  1250. IF DEFINED SKINSADDED ECHO>>WORK\HFSDST.TXT PFWMPSKINS=16422,"Windows Media Player\Skins"
  1251. IF "%VERSION%"=="2000" (
  1252.     IF EXIST TEMP\drm.inf DEL/Q/F TEMP\drm.inf TEMP\fhg.inf
  1253.     IF EXIST HFCLEANUP\*dowsMed* SET NOWMPLOGPI=1
  1254.     IF EXIST HFCLEANUP\*WMP* SET NOWMPLOGPI=1
  1255.     IF DEFINED NOWMPLOGPI (DEL/Q/F TEMP\setup_wm.exe) ELSE (
  1256.         ECHO>>SOURCESS\I386\TXTSETUP.SIF setup_wm.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,setup_wm.exe
  1257.         ECHO>>WORK\HFSSDF.TXT setup_wm.exe=1&ECHO>>WORK\HFS_PFWMP.TXT setup_wm.exe
  1258.         IF EXIST TEMP\blackbox.dll (
  1259.             IF EXIST FDVFILES\TXTSETUP.SIF (
  1260.                 SET NOWMPLOGPI=1
  1261.                 FINDSTR/BIR "laprxy\.dll logagent\.exe" FDVFILES\TXTSETUP.SIF>WORK\FDVLAPLOG.TXT
  1262.                 FOR /F "DELIMS==     " %%I IN (WORK\FDVLAPLOG.TXT) DO (
  1263.                     ECHO>>WORK\HFSSDF.TXT %%I=1&ECHO>>WORK\HFS_SYS32.TXT %%I
  1264.                     IF "%%I"=="logagent.exe" SET NOWMPLOGPI=
  1265.                 )
  1266.             ) ELSE (
  1267.                 ECHO>>WORK\HFSSDF.TXT laprxy.dll=1&ECHO>>WORK\HFS_SYS32.TXT laprxy.dll
  1268.                 ECHO>>WORK\HFSSDF.TXT logagent.exe=1&ECHO>>WORK\HFS_SYS32.TXT logagent.exe
  1269.             )
  1270.         )
  1271.     )
  1272. )
  1273. :: WMP9 CORE
  1274. IF EXIST TEMP\wmburn.exe (
  1275.     IF "%ForceWMP9Streaming%"=="1" ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\MediaPlayer\Preferences","ForceOnline",0x10001,1
  1276.     IF "%LCIDD%"=="1031" (
  1277.         DEL/Q/F TEMP\dwintl.dll
  1278.         IF NOT EXIST WORK\I386E\dwintl.dll (COPY SOURCE\I386\dwintl.dll WORK\I386E >NUL 2>&1||EXPAND SOURCE\I386\dwintl.dl_ -R WORK\I386E >NUL)
  1279.     )
  1280.     ECHO>>WORK\HFSDST.TXT PFWMPLCID=16422,"Windows Media Player\%WMLNG%"&ECHO>>WORK\HFS_PFWMPLCID.TXT dwintl.dll,dwil%WMLNG%.dll
  1281.     COPY/Y TEMP\wmp.inf WORK\I386E >NUL
  1282.     DEL/Q/F TEMP\iexpress.inf TEMP\setup_wm.inf TEMP\skins*.inf TEMP\9SeriesDefault.wmz TEMP\wmexpack.*
  1283.     IF EXIST TEMP\QuickSilver.wmz DEL/Q/F TEMP\QuickSilver.wmz
  1284.     REN "TEMP\9SeriesDefault_.wmz" 9SeriesD.wmz
  1285.     REN TEMP\PidGen.dll WMPidGen.dll
  1286.     ECHO>>WORK\HHIVADD.TXT HKCR,"Windows Media\WMSDK\AudioDecode\85","DllName",,"l3codeca.acm"
  1287.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","110",0,"%%11%%\regsvr32 /s """%%16422%%\Windows Media Player\mpvis.dll""""
  1288.     ECHO>>SOURCESS\I386\TXTSETUP.SIF 9SeriesD.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,9SeriesD.wmz
  1289.     ECHO>>SOURCESS\I386\TXTSETUP.SIF Compact.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,Compact.wmz
  1290.     ECHO>>SOURCESS\I386\TXTSETUP.SIF Revert.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,Revert.wmz
  1291.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmplayer.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmplayer.exe
  1292.     ECHO>>SOURCESS\I386\TXTSETUP.SIF migrate.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,migrate.exe
  1293.     ECHO>>SOURCESS\I386\TXTSETUP.SIF npdrmv2.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,npdrmv2.dll
  1294.     ECHO>>SOURCESS\I386\TXTSETUP.SIF npdrmv2.zip = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,npdrmv2.zip
  1295.     ECHO>>SOURCESS\I386\TXTSETUP.SIF WMPidGen.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,WMPidGen.dll
  1296.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpns.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpns.dll
  1297.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpns.jar = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpns.jar
  1298.     ECHO>>SOURCESS\I386\TXTSETUP.SIF mpvis.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mpvis.dll
  1299.     ECHO>>WORK\HFSSDF.TXT 9SeriesD.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT 9SeriesDefault.wmz,9SeriesD.wmz
  1300.     ECHO>>WORK\HFSSDF.TXT Compact.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Compact.wmz
  1301.     ECHO>>WORK\HFSSDF.TXT Revert.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Revert.wmz
  1302.     ECHO>>WORK\HFSSDF.TXT wmplayer.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmplayer.exe
  1303.     ECHO>>WORK\HFS_PFWMP.TXT custsat.dll
  1304.     ECHO>>WORK\HFS_PFWMP.TXT dw15.exe
  1305.     ECHO>>WORK\HFSSDF.TXT migrate.exe=1&ECHO>>WORK\HFS_PFWMP.TXT migrate.exe
  1306.     ECHO>>WORK\HFSSDF.TXT npdrmv2.dll=1&ECHO>>WORK\HFS_PFWMP.TXT npdrmv2.dll
  1307.     ECHO>>WORK\HFSSDF.TXT npdrmv2.zip=1&ECHO>>WORK\HFS_PFWMP.TXT npdrmv2.zip
  1308.     ECHO>>WORK\HFSSDF.TXT WMPidGen.dll=1&ECHO>>WORK\HFS_PFWMP.TXT PidGen.dll,WMPidGen.dll
  1309.     ECHO>>WORK\HFSSDF.TXT wmpns.dll=1&ECHO>>WORK\HFS_PFWMP.TXT wmpns.dll
  1310.     ECHO>>WORK\HFSSDF.TXT wmpns.jar=1&ECHO>>WORK\HFS_PFWMP.TXT wmpns.jar
  1311.     ECHO>>WORK\HFSSDF.TXT mpvis.dll=1&ECHO>>WORK\HFS_PFWMP.TXT mpvis.dll
  1312.     :: ROXY... OH...
  1313.     ECHO>>WORK\HFSDST.TXT PFWMPROX=16422,"Windows Media Player\Roxio"
  1314.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmburn.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmburn.exe
  1315.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmburn.rxc = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmburn.rxc
  1316.     ECHO>>SOURCESS\I386\TXTSETUP.SIF rsl.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,rsl.dll
  1317.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wm%WMLNG%.lng = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wm%WMLNG%.lng
  1318.     ECHO>>SOURCESS\I386\TXTSETUP.SIF engsetup.exe = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,engsetup.exe
  1319.     ECHO>>WORK\HFSSDF.TXT wmburn.exe=1&ECHO>>WORK\HFS_PFWMPROX.TXT wmburn.exe
  1320.     ECHO>>WORK\HFSSDF.TXT wmburn.rxc=1&ECHO>>WORK\HFS_PFWMPROX.TXT wmburn.rxc
  1321.     ECHO>>WORK\HFSSDF.TXT rsl.dll=1&ECHO>>WORK\HFS_PFWMPROX.TXT rsl.dll
  1322.     ECHO>>WORK\HFSSDF.TXT wm%WMLNG%.lng=1&ECHO>>WORK\HFS_PFWMPROX.TXT wm%WMLNG%.lng
  1323.     :: MS SCREWUPS
  1324.     FINDSTR/VIR "\[WMP\. \,5 49452" TEMP\roxio.inf>WORK\roxio.inf
  1325.     ECHO>>WORK\roxio.inf [WMP.Destination]&ECHO>>WORK\roxio.inf 49000,49001,49002=ProgramFilesDir,5&ECHO>>WORK\roxio.inf 49450,49451,49452=WMPDirectory,5
  1326.     ECHO>>WORK\roxio.inf 49500,49501,49502=RoxioDirectory,5&ECHO>>WORK\roxio.inf 49600,49601,49602=RoxioOldWMBurnDir,5
  1327.     MOVE/Y WORK\roxio.inf TEMP
  1328.     REN TEMP\roxio.inf zroxio.inf >NUL
  1329. )
  1330. :: WMP10 CORE
  1331. IF EXIST TEMP\QuickSi.wmz (
  1332.     COPY/Y TEMP\WMP10.inf WORK\I386E >NUL
  1333.     DEL/Q/F TEMP\*.PNG
  1334.     ECHO>>SOURCESS\I386\TXTSETUP.SIF 9SeriesD.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,9SeriesD.wmz
  1335.     ECHO>>SOURCESS\I386\TXTSETUP.SIF QuickSi.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,QuickSi.wmz
  1336.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmlaunch.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmlaunch.exe
  1337.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpenc.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpenc.exe
  1338.     ECHO>>WORK\HFSSDF.TXT 9SeriesD.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT 9SeriesDefault.wmz,9SeriesD.wmz
  1339.     ECHO>>WORK\HFSSDF.TXT QuickSi.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT QuickSilver.wmz,QuickSi.wmz
  1340.     ECHO>>WORK\HFSSDF.TXT wmlaunch.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmlaunch.exe
  1341.     ECHO>>WORK\HFSSDF.TXT wmpenc.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmpenc.exe
  1342.     IF "%OSLEVEL%"=="23" DEL/Q/F TEMP\custsat.dll
  1343.     IF "%VERSION%"=="XP" IF "%SP%"=="1" (
  1344.         ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","110",0,"%%11%%\regsvr32 /s """%%16422%%\Windows Media Player\mpvis.dll""""
  1345.         ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","111",0,"%%11%%\regsvr32 /s """%%16422%%\Windows Media Player\wmpband.dll""""
  1346.         ECHO>>SOURCESS\I386\TXTSETUP.SIF Revert.wmz = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,Revert.wmz
  1347.         ECHO>>SOURCESS\I386\TXTSETUP.SIF migrate.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,migrate.exe
  1348.         ECHO>>SOURCESS\I386\TXTSETUP.SIF mpvis.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mpvis.dll
  1349.         ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpband.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpband.dll
  1350.         ECHO>>WORK\HFSSDF.TXT Revert.wmz=1&ECHO>>WORK\HFS_PFWMPSKINS.TXT Revert.wmz
  1351.         ECHO>>WORK\HFSSDF.TXT migrate.exe=1&ECHO>>WORK\HFS_PFWMP.TXT migrate.exe
  1352.         ECHO>>WORK\HFS_PFWMP.TXT custsat.dll
  1353.         ECHO>>WORK\HFSSDF.TXT mpvis.dll=1&ECHO>>WORK\HFS_PFWMP.TXT mpvis.dll
  1354.         ECHO>>WORK\HFSSDF.TXT wmpband.dll=1&ECHO>>WORK\HFS_PFWMP.TXT wmpband.dll
  1355.         :: NEW TO OLD
  1356.         COPY TEMP\mpvis.dll TEMP\wmpvis.dll >NUL
  1357.     )
  1358. )
  1359. :: WMP11 MAIN
  1360. IF EXIST TEMP\wmpeffects.dll (
  1361.     SET DefWMPReg=%DefWMPReg%,Product.Add.Reg,Reg.FSDKVersion,HideReg.WMP10.Qfe,UmdfInstall_Add_Reg,Info_AddReg,Hide.WMC20.Uninstall
  1362.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","111",0,"%%11%%\regsvr32 /s """%%16422%%\Windows Media Player\wmpband.dll""""
  1363.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","112",0,"%%11%%\regsvr32 /s """%%16422%%\Windows Media Player\wmpnssci.dll""""
  1364.     IF NOT EXIST SOURCE\I386\wmlaunch.ex* ECHO>>WORK\HFSLIPCMDP1.TXT "%%PROGRAMFILES%%\Windows Media Player\WMPEnc.exe" /RegServer
  1365.     ECHO>>WORK\HFSLIPCMDP1.TXT "%%PROGRAMFILES%%\Windows Media Player\WMPNetwk.exe" install
  1366.     ECHO>>WORK\HFSLIPCMDP1.TXT %%SYSTEMROOT%%\inf\unregmp2.exe /Shortcuts /RegExts /ObfuscateSyncPlaylists /MigrateWMC
  1367.     COPY/Y TEMP\wmp11.inf WORK\I386E >NUL
  1368.     ::CORE
  1369.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\wmpeffects.dll" wmpeffex.dll
  1370.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\wmdbexport.exe" wmdbxprt.exe
  1371.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\LegitLibM.dll" LegitLbM.dll
  1372.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpeffex.dll = 1,,,,,,,2,0,0,wmpeffects.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpeffex.dll
  1373.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmdbxprt.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmdbxprt.exe
  1374.     IF NOT EXIST SOURCE\I386\wmlaunch.ex* (
  1375.         ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpenc.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpenc.exe
  1376.         ECHO>>SOURCESS\I386\TXTSETUP.SIF wmlaunch.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmlaunch.exe
  1377.         ECHO>>WORK\HFSSDF.TXT wmpenc.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmpenc.exe
  1378.         ECHO>>WORK\HFSSDF.TXT wmlaunch.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmlaunch.exe
  1379.     )
  1380.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpnetwk.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpnetwk.exe
  1381.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpnscfg.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpnscfg.exe
  1382.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpnssci.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpnssci.dll
  1383.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmpshare.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmpshare.exe
  1384.     ECHO>>SOURCESS\I386\TXTSETUP.SIF LegitLbM.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,LegitLbM.dll
  1385.     ECHO>>WORK\HFSSDF.TXT wmdbxprt.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmdbexport.exe,wmdbxprt.exe
  1386.     ECHO>>WORK\HFSSDF.TXT wmpnetwk.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmpnetwk.exe
  1387.     ECHO>>WORK\HFSSDF.TXT wmpnscfg.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmpnscfg.exe
  1388.     ECHO>>WORK\HFSSDF.TXT wmpnssci.dll=1&ECHO>>WORK\HFS_PFWMP.TXT wmpnssci.dll
  1389.     ECHO>>WORK\HFSSDF.TXT wmpshare.exe=1&ECHO>>WORK\HFS_PFWMP.TXT wmpshare.exe
  1390.     ECHO>>WORK\HFSSDF.TXT LegitLbM.dll=1&ECHO>>WORK\HFS_PFWMP.TXT LegitLibM.dll,LegitLbM.dll
  1391.     ::WMC
  1392.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\connectionmanager.xml" connman.xml
  1393.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\contentdirectory.xml" contdir.xml
  1394.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\mediareceiverregistrar.xml" mrecreg.xml
  1395.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\connectionmanager_stub.xml" connmans.xml
  1396.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\contentdirectory_stub.xml" contdirs.xml
  1397.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\mediareceiverregistrar_stub.xml" mrecregs.xml
  1398.     ECHO>>WORK\HFSDST.TXT PFWMPNWS=16422,"Windows Media Player\Network Sharing"
  1399.     ECHO>>WORK\HFSDST.TXT PFWMC2=16422,"Windows Media Connect 2"
  1400.     ECHO>>SOURCESS\I386\TXTSETUP.SIF connman.xml = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,connman.xml
  1401.     ECHO>>SOURCESS\I386\TXTSETUP.SIF contdir.xml = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,contdir.xml
  1402.     ECHO>>SOURCESS\I386\TXTSETUP.SIF mrecreg.xml = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mrecreg.xml
  1403.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmccds.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmccds.exe
  1404.     ECHO>>SOURCESS\I386\TXTSETUP.SIF WMCCFG.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,WMCCFG.exe
  1405.     ECHO>>SOURCESS\I386\TXTSETUP.SIF WMCCPL.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,WMCCPL.dll
  1406.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wmcsci.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,wmcsci.dll
  1407.     ECHO>>SOURCESS\I386\TXTSETUP.SIF connmans.xml = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,connmans.xml
  1408.     ECHO>>SOURCESS\I386\TXTSETUP.SIF contdirs.xml = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,contdirs.xml
  1409.     ECHO>>SOURCESS\I386\TXTSETUP.SIF mrecregs.xml = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mrecregs.xml
  1410.     ECHO>>WORK\HFSSDF.TXT connman.xml=1&ECHO>>WORK\HFS_PFWMPNWS.TXT connectionmanager.xml,connman.xml
  1411.     ECHO>>WORK\HFSSDF.TXT contdir.xml=1&ECHO>>WORK\HFS_PFWMPNWS.TXT contentdirectory.xml,contdir.xml
  1412.     ECHO>>WORK\HFSSDF.TXT mrecreg.xml=1&ECHO>>WORK\HFS_PFWMPNWS.TXT mediareceiverregistrar.xml,mrecreg.xml
  1413.     ECHO>>WORK\HFSSDF.TXT wmccds.exe=1&ECHO>>WORK\HFS_PFWMC2.TXT wmccds.exe
  1414.     ECHO>>WORK\HFSSDF.TXT WMCCFG.exe=1&ECHO>>WORK\HFS_PFWMC2.TXT WMCCFG.exe
  1415.     ECHO>>WORK\HFSSDF.TXT WMCCPL.dll=1&ECHO>>WORK\HFS_PFWMC2.TXT WMCCPL.dll
  1416.     ECHO>>WORK\HFSSDF.TXT wmcsci.dll=1&ECHO>>WORK\HFS_PFWMC2.TXT wmcsci.dll
  1417.     ECHO>>WORK\HFSSDF.TXT connmans.xml=1&ECHO>>WORK\HFS_PFWMC2.TXT connectionmanager.xml,connmans.xml
  1418.     ECHO>>WORK\HFSSDF.TXT contdirs.xml=1&ECHO>>WORK\HFS_PFWMC2.TXT contentdirectory.xml,contdirs.xml
  1419.     ECHO>>WORK\HFSSDF.TXT mrecregs.xml=1&ECHO>>WORK\HFS_PFWMC2.TXT mediareceiverregistrar.xml,mrecregs.xml
  1420.     ::EXTRA
  1421.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\WUDFCoinstaller.dll" wudfcoin.dll
  1422.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\WudfPlatform.dll" wudfplat.dll
  1423.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wudfcoin.dll = 1,,,,,,,2,0,0,WUDFCoinstaller.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,wudfcoin.dll
  1424.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wudfplat.dll = 1,,,,,,,2,0,0,WudfPlatform.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,wudfplat.dll
  1425. )
  1426.     ::CODECS
  1427.   if exist hf\wmp11\wmfdist11.exe (
  1428.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\PortableDeviceApi.dll" PDvApi.dll
  1429.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\PortableDeviceClassExtension.dll" PDvClass.dll
  1430.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\PortableDeviceTypes.dll" PDvTypes.dll
  1431.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\PortableDeviceWiaCompat.dll" PDvWiaCm.dll
  1432.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\PortableDeviceWMDRM.dll" PDvWMDRM.dll
  1433.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\wpdshextautoplay.exe" wpdshext.exe
  1434.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\wpdshextres.dll" wpdshext.res
  1435.     ECHO>>WORK\RENAME.CMD REN "WORK\I386E\WPDShServiceObj.dll" wpdshsrv.dll
  1436.     ECHO>>SOURCESS\I386\TXTSETUP.SIF PDvApi.dll = 1,,,,,,,2,0,0,PortableDeviceApi.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,PDvApi.dll
  1437.     ECHO>>SOURCESS\I386\TXTSETUP.SIF PDvClass.dll = 1,,,,,,,2,0,0,PortableDeviceClassExtension.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,PDvClass.dll
  1438.     ECHO>>SOURCESS\I386\TXTSETUP.SIF PDvTypes.dll = 1,,,,,,,2,0,0,PortableDeviceTypes.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,PDvTypes.dll
  1439.      ECHO>>SOURCESS\I386\TXTSETUP.SIF PDvWiaCm.dll = 1,,,,,,,2,0,0,PortableDeviceWiaCompat.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,PDvWiaCm.dll
  1440.     ECHO>>SOURCESS\I386\TXTSETUP.SIF PDvWMDRM.dll = 1,,,,,,,2,0,0,PortableDeviceWMDRM.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,PDvWMDRM.dll
  1441.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wpdshext.exe = 1,,,,,,,2,0,0,wpdshextautoplay.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,wpdshext.exe
  1442.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wpdshext.res = 1,,,,,,,2,0,0,wpdshextres.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,wpdshext.res
  1443.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wpdshsrv.dll = 1,,,,,,,2,0,0,WPDShServiceObj.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,wpdshsrv.dll
  1444.     IF NOT EXIST SOURCE\I386\wpdmtpdr.dl* (
  1445.       SET TXTDIR04=1&ECHO>>SOURCESS\I386\TXTSETUP.SIF wpdmtpdr.dll = 1,,,,,,,1004,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,wpdmtpdr.dll
  1446.     )
  1447.   )
  1448. IF EXIST TEMP\*.WPL FOR /F %%I IN ('DIR/B TEMP\*.WPL') DO IF NOT EXIST SOURCE\I386\%%~nI.WP* DEL/Q/F TEMP\%%I
  1449. IF EXIST TEMP\control.xml DEL/Q/F TEMP\control.xml
  1450. IF EXIST TEMP\mymusic.inf DEL/Q/F TEMP\mymusic.inf
  1451. IF EXIST TEMP\wpdmtp*.inf MOVE/Y TEMP\wpdmtp*.inf WORK\I386E
  1452. IF EXIST TEMP\*.CAT MOVE/Y TEMP\*.CAT WORK\SVCPACK >NUL
  1453.  
  1454. IF EXIST TEMP\*.INF FOR /F %%I IN ('DIR/B/ON TEMP\*.INF') DO (
  1455.     SET /A HFSLP=!HFSLP!+1
  1456.     SET HFSLP2=%%I
  1457.     CALL :WMPINFCREATOR
  1458.     DEL/Q/F TEMP\%%I
  1459. )
  1460. XCOPY/DHY TEMP WORK\I386E
  1461. RD/Q/S TEMP
  1462. ECHO.
  1463. GOTO :EOF
  1464.  
  1465. :LEGACYWMP
  1466. IF EXIST HF\MP10Setup.exe IF %MPLEVEL% LSS 41 (
  1467.     SET MPLEVEL=42&ECHO Processing MP10Setup.exe...&MD TEMP&START/WAIT HF\MP10Setup.exe /Q /T:"%PREP%TEMP" /C
  1468. )
  1469. IF EXIST HF\*%MCEMP10CUM%*.exe IF %MPLEVEL% GEQ 41 (
  1470.     SET MPLEVEL=43&ECHO Processing %MCEMP10CUM%...&MD TEMP\MP10CUM&FOR /F %%I IN ('DIR/B HF\*%MCEMP10CUM%*.exe') DO START/WAIT HF\%%I /Q /X:TEMP\MP10CUM
  1471.     MOVE/Y TEMP\MP10CUM\update\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\MP10CUM\empty.cat TEMP\MP10CUM\%MCEMP10CUM%.exe TEMP\MP10CUM\spu*
  1472.     XCOPY/DY TEMP\MP10CUM TEMP >NUL
  1473. )
  1474. IF EXIST HF\WindowsMedia-KB891122*.exe IF %MPLEVEL% LSS 42 IF NOT EXIST HF\wmfdist95.exe FOR /F %%I IN ('DIR/B HF\WindowsMedia-KB891122*.exe') DO (
  1475.     MD WORK\WMFD&START/WAIT HF\%%I /Q /X:WORK\WMFD&MOVE WORK\WMFD\wmfdist95.exe HF >NUL&ECHO>>WORK\FILESTODEL.TXT HF\wmfdist95.exe
  1476. )
  1477. IF EXIST HF\wmfdist95.exe IF %MPLEVEL% LSS 43 (
  1478.     ECHO Processing wmfdist95.exe...&MD WORK\WMFD2&START/WAIT HF\wmfdist95.exe /Q /T:"%PREP%WORK\WMFD2" /C
  1479.     IF EXIST WORK\WMFD2\MFPLAT.DLL (SET MPLEVEL=43) ELSE (
  1480.         IF %MPLEVEL% GEQ 42 GOTO :LEGACYWMP2
  1481.         SET MPLEVEL=42
  1482.     )
  1483.     MD TEMP\X&XCOPY/DY WORK\WMFD2 TEMP >NUL
  1484. )
  1485. IF NOT EXIST TEMP\*.INF GOTO :EOF
  1486. :LEGACYWMP2
  1487. IF "%VERSION%"=="XP" IF %SP% GEQ 2 (
  1488.     IF EXIST TEMP\codecs10.inf DEL/Q/F TEMP\codecs10.inf
  1489.     IF "%XPMCE%"=="1" FOR %%I IN (WMDM10 WMFSDK10 WPD10 wpdmtp) DO DEL/Q/F TEMP\%%I.inf
  1490. )
  1491. FOR %%I IN (DRM10 MPCD10 MPPRE10 MPSTUB10 skins skinsmui WMSET10 wmsetsdk) DO IF EXIST TEMP\%%I.inf DEL/Q/F TEMP\%%I.inf
  1492. IF EXIST TEMP\EasyCDBlock.inf MOVE/Y TEMP\EasyCDBlock.inf WORK\I386E >NUL
  1493. GOTO :EOF
  1494. REM ======================================================================================
  1495.  
  1496. REM ======================HOTFIXES========================================================
  1497. :HF
  1498. SET IGNORESP=889101 891861 835935 914961 936929 W2KSP xpsp
  1499. SET IGNORETZ=912475 918093 928388 929120 931836 933360 938977 940427 942763 943000
  1500. SET DefExcHF=%IGNORESP% %IGNORETZ% Center2005 %MCEMP10CUM% 898461 891122 926139 926140 888111 840374 832483 913433 923789 914798 925876 952155 942288 dowsSearch wmp11\-win IE7\- IE8\- DX9\- NDP1 directx_ dotnet rights gdiplus MPSetup MP1.Setup WM9Codecs wmp6cdcs wmfdist gdidet wmcsetup cdwizard xpize dateAgent StepByStep supporttools 905474\-...\-x86\-Standalone 968930
  1501. DIR/B/A-D/OGN/ON HF\*.EXE>HF.TXT
  1502. FINDSTR/LI /C:WINDOWS HF.TXT>HFT1.TXT
  1503. FINDSTR/VIR "%DefExcHF% 817787 833989 917344\-56 Script56" HFT1.TXT>HF1.TXT
  1504. FINDSTR/IR "888111 MDAC253 MDAC281 Q......_WXP_SP._ W2K_SP5 scrip...\.exe" HF.TXT>>HF1.TXT
  1505. IF "%XPNETFX%"=="1" FINDSTR/BIR "NDP1" HF.TXT>>HF1.TXT
  1506. FOR /F %%I IN (HF1.TXT) DO SET T1HF=1
  1507. IF DEFINED T1HF (FINDSTR/VBI /G:HF1.TXT HF.TXT>HFT2.TXT) ELSE (TYPE HF.TXT>HFT2.TXT)
  1508. FINDSTR/VIR "%DefExcHF% WXP_SP2 msxml.\- msxml....\-" HFT2.TXT>HF2.TXT
  1509. DEL/Q/F HF.TXT HFT1.TXT HFT2.TXT
  1510. SET HF=
  1511. FOR /F %%I IN (HF1.TXT) DO (SET HF=%%I&IF DEFINED HF CALL :HF1EXTRACT)
  1512. SET HF=
  1513. FOR /F %%I IN (HF2.TXT) DO (SET HF=%%I&IF DEFINED HF CALL :HF2EXTRACT)
  1514. DEL/Q/F HF1.TXT HF2.TXT
  1515. GOTO :EOF
  1516. REM ======================================================================================
  1517.  
  1518. REM ======================TYPE 1 HOTFIXES=================================================
  1519. :HF1EXTRACT
  1520. TITLE %T1% - Processing %HF%
  1521. ECHO %HF%
  1522. MD TEMP&START/WAIT HF\%HF% /Q /X:TEMP
  1523. :MIDHF1CALLER
  1524. IF EXIST TEMP\ntdsa.dll IF NOT "%SERVER%"=="SERVER" (FINDSTR/VI "SDPROP" TEMP\UPDATE\update.inf>TEMP\UPDATE\updHFSLP.inf)
  1525. IF EXIST TEMP\createcab.cmd (FINDSTR/VIR "createcab\.cmd" TEMP\UPDATE\update.inf>TEMP\UPDATE\updHFSLP.inf)
  1526. CALL :HF1COMMON_A
  1527. IF EXIST TEMP\UPDATE\*.INF CALL :HFINFS
  1528. CALL :HF1COMMON_B
  1529. GOTO :EOF
  1530.  
  1531. :HFINFS
  1532. DIR/B TEMP\UPDATE\*.INF>TSINF.TXT
  1533. IF EXIST TEMP\UPDATE\*HFSLP.INF FOR /F %%I IN ('FINDSTR/VI "HFSLP" TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1534. IF EXIST TEMP\UPDATE\*SP%SP%QFE*.INF FOR /F %%I IN ('FINDSTR/VI "SP%SP%QFE" TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1535. IF EXIST TEMP\UPDATE\*SP%SP%GDR*.INF FOR /F %%I IN ('FINDSTR/VI "SP%SP%GDR" TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1536. IF EXIST TEMP\UPDATE\*RTMQFE*.INF FOR /F %%I IN ('FINDSTR/VI "RTMQFE" TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1537. IF EXIST TEMP\UPDATE\*RTMGDR*.INF FOR /F %%I IN ('FINDSTR/VI "RTMGDR" TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1538. IF EXIST TEMP\UPDATE\update_*.INF FOR /F %%I IN ('FINDSTR/VIR "update_" TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1539. IF EXIST TEMP\UPDATE\update.INF FOR /F %%I IN ('FINDSTR/VIR "update\." TSINF.TXT') DO IF EXIST TEMP\UPDATE\%%I DEL/Q/F TEMP\UPDATE\%%I
  1540. DEL/Q/F TSINF.TXT
  1541. FOR /F %%I IN ('DIR/B/ON TEMP\UPDATE\*.INF') DO SET HFXINF=%%I
  1542. IF NOT DEFINED HFXINF GOTO :EOF
  1543. SET /A HFSLP=!HFSLP!+1
  1544. COPY TEMP\UPDATE\%HFXINF% "WORK\INFS\!HFSLP!.INF" >NUL
  1545. CALL :HFSLIPINFCREATOR1
  1546. SET HFXINF=
  1547. GOTO :EOF
  1548.  
  1549. :HFBASIC
  1550. TITLE %T1% - Processing %HF%
  1551. ECHO %HF%
  1552. MD TEMP&START/WAIT HF\BASIC\%HF% /Q /X:TEMP
  1553. CALL :PARSE_KB&CALL :HF1COMMON_A&CALL :HF1COMMON_B
  1554. GOTO :EOF
  1555.  
  1556. :HFNOREG
  1557. TITLE %T1% - Processing %HF%
  1558. ECHO %HF%
  1559. MD TEMP&START/WAIT HF\NOREG\%HF% /Q /X:TEMP
  1560. CALL :HF1COMMON_A&CALL :HF1COMMON_B
  1561. GOTO :EOF
  1562.  
  1563. :PARSE_KB
  1564. FOR /F "TOKENS=2,3 DELIMS=-" %%I IN ('ECHO %HF%') DO SET KBNUMBER=%%I&SET KBNUMBERB=%%J
  1565. FOR /F "DELIMS=Ww" %%I IN ('ECHO %KBNUMBER%') DO IF /I "%%I"=="indo" SET KBNUMBER=%KBNUMBERB%
  1566. ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\%KBNUMBER%","Installed",0x10001,1
  1567. SET KBNUMBER=&SET KBNUMBERB=
  1568. GOTO :EOF
  1569. REM ======================================================================================
  1570.  
  1571. REM ======================COMMON HF1 SLIP=================================================
  1572. :HF1COMMON_A
  1573. IF EXIST TEMP\UPDATE\*898543* IF NOT "%LNG%"=="ENU" FOR /F %%I IN ('DIR/B TEMP\SP%SP%QFE') DO IF /I NOT "%%I"=="msobmain.dll" DEL/Q/F TEMP\SP%SP%QFE\%%I
  1574. IF "%VERSION%"=="2000" (
  1575.     CALL :BANDAID2K
  1576.     IF EXIST TEMP\DX9 IF "%DX9%"=="Slipstreamed" MOVE/Y TEMP\DX9\* TEMP >NUL
  1577. rem bandaid for WMP hotfix 12/13/08 next two lines
  1578.     IF EXIST TEMP\WM41 MOVE/Y TEMP\WM41\* TEMP >NUL
  1579. rem IF EXIST TEMP\WM9L MOVE/Y TEMP\WM9L\* TEMP >NUL
  1580. REM OCT 16 2009
  1581.     IF EXIST TEMP\WM8 MOVE/Y TEMP\WM8\* TEMP >NUL
  1582.     IF EXIST TEMP\WM9 MOVE/Y TEMP\WM9\* TEMP >NUL
  1583.     IF EXIST TEMP\WM9L MOVE/Y TEMP\WM9L\* TEMP >NUL
  1584.    
  1585.    
  1586.     IF EXIST TEMP\ARA_mmc.exe.mui (
  1587.         ECHO>>WORK\HFSDST.TXT MUIfall=10,"MUI\fallback"
  1588.         FOR /F "TOKENS=1,2 DELIMS=_" %%I IN ('DIR/B TEMP\*.exe.mui') DO (
  1589.             ECHO>>WORK\RENAME.CMD REN "WORK\I386E\%%I_%%J" %%I_mmc.mui&SET LNGALL=%%I&CALL :SETHEX4ALL&CALL :PROCESSMMCEXE
  1590.         )
  1591.         FOR /F "TOKENS=1,2 DELIMS=_" %%I IN ('DIR/B TEMP\*.dll.mui') DO (
  1592.             ECHO>>WORK\RENAME.CMD REN "WORK\I386E\%%I_%%J" %%I_mmcm.mui&SET LNGALL=%%I&CALL :SETHEX4ALL&CALL :PROCESSMMCDLL
  1593.         )
  1594.     )
  1595. ) ELSE IF "%VERSION%"=="XP" (
  1596.     IF EXIST TEMP\*K3.INF DEL/Q/F TEMP\*K3.INF
  1597.     IF EXIST TEMP\*2003.INF DEL/Q/F TEMP\*2003.INF
  1598.     IF EXIST TEMP\UPDATE\*K3.INF DEL/Q/F TEMP\UPDATE\*K3.INF
  1599.     IF EXIST TEMP\UPDATE\*2003.INF DEL/Q/F TEMP\UPDATE\*2003.INF
  1600.     IF EXIST TEMP\UPDATE\*NET.CAT DEL/Q/F TEMP\UPDATE\*NET.CAT
  1601.     IF EXIST TEMP\UPDATE\*2k3.CAT DEL/Q/F TEMP\UPDATE\*2k3.CAT
  1602.     CALL :BANDAIDXP2K3
  1603.     IF EXIST TEMP\UPDATE\*928470* IF "%SUBTAG%"=="ic" (
  1604.         FOR /F %%I IN ('DIR/B/A-D/S TEMP\windowsupdatepkg') DO MOVE/Y "%%I" TEMP >NUL
  1605.         FOR /F "TOKENS=2 DELIMS=," %%I IN ('FINDSTR/IR "\.Files=11," TEMP\UPDATE\updHFSLP.inf') DO SET TXTDIR06=%%~I
  1606.     )
  1607. ) ELSE (
  1608.     IF EXIST TEMP\*XP.INF DEL/Q/F TEMP\*XP.INF
  1609.     IF EXIST TEMP\UPDATE\*XP.INF DEL/Q/F TEMP\UPDATE\*XP.INF
  1610.     IF EXIST TEMP\UPDATE\*XP.CAT DEL/Q/F TEMP\UPDATE\*XP.CAT
  1611.     CALL :BANDAIDXP2K3
  1612.     IF EXIST TEMP\mscorees.dll FOR /F "TOKENS=3 DELIMS=." %%I IN ('FINDSTR/BIR "\[CopyAlways\.Mui\." TEMP\UPDATE\updHFSLP.inf') DO SET TXTDIR08=%%I
  1613. )
  1614. REM ADD LINE BELOW 12/23/08
  1615. IF DEFINED MPFLDRD IF EXIST TEMP\%MPFLDRD% MOVE/Y TEMP\%MPFLDRD%\*.* TEMP >NUL
  1616. IF DEFINED MPFLDRA IF EXIST TEMP\%MPFLDRA% MOVE/Y TEMP\%MPFLDRA%\*.* TEMP >NUL
  1617. IF DEFINED MPFLDRB IF EXIST TEMP\%MPFLDRB% MOVE/Y TEMP\%MPFLDRB%\*.* TEMP >NUL
  1618. IF DEFINED MPFLDRC IF EXIST TEMP\%MPFLDRC% MOVE/Y TEMP\%MPFLDRC%\*.* TEMP >NUL
  1619.  
  1620. IF EXIST TEMP\ROOT XCOPY/SEHY TEMP\ROOT WORK\CDROOT
  1621. IF EXIST TEMP\createcab.cmd DEL/Q/F TEMP\createcab.cmd
  1622. FOR %%I IN (files commonfiles %SHORTOSNAME%) DO IF EXIST TEMP\%%I MOVE/Y TEMP\%%I\* TEMP >NUL
  1623. IF EXIST TEMP\WM8\mpg4ds32.ax MOVE/Y TEMP\WM8\mpg4ds32.ax TEMP >NUL
  1624. DIR/B/AD TEMP>TSDIR.TXT
  1625. FOR /F %%I IN ('FINDSTR/I "GDR QFE" TSDIR.TXT') DO IF EXIST TEMP\%%I RD/Q/S TEMP\%%I
  1626. FOR /F %%I IN ('FINDSTR/BI "win2k winxp srv2k3 SP ip ic is ia id ib xp pconfig files common symbols Emerald WMP WM9 WM1 wind 56bit dx root" TSDIR.TXT') DO IF EXIST TEMP\%%I RD/Q/S TEMP\%%I
  1627. DEL/Q/F TSDIR.TXT
  1628. GOTO :EOF
  1629.  
  1630. :HF1COMMON_B
  1631. IF "%VERSION%"=="2000" (
  1632.     IF EXIST TEMP\UPDATE\*896358* IF NOT "%LNG%"=="ENU" IF EXIST WORK\I386E\itss.dll DEL/Q/F WORK\I386E\itss.dll WORK\I386E\itircl.dll
  1633.     IF EXIST TEMP\UPDATE\SP5.CAT (
  1634.         COPY TEMP\EMPTY.CAT WORK\SVCPACK\oem0.CAT >NUL
  1635.         IF EXIST HF\MDAC_TYP.EXE DEL/Q/F TEMP\ODBC32.DLL TEMP\ODBCBCP.DLL TEMP\ODBCCP32.DLL TEMP\SQLSRV32.DLL
  1636.     )
  1637. ) ELSE IF "%VERSION%"=="2003" (
  1638.     IF EXIST TEMP\w03*3%LG3%.dll IF NOT EXIST TEMP\w03a3409.dll REN TEMP\w03*3%LG3%.dll w03a3409.dll
  1639.     IF EXIST TEMP\w03*2%LG3%.dll IF NOT EXIST TEMP\w03a2409.dll REN TEMP\w03*2%LG3%.dll w03a2409.dll
  1640. ) ELSE IF "%VERSION%"=="XP" (
  1641.     IF EXIST TEMP\spru0*.dll REN TEMP\spru0*.dll xpsp3res.dll
  1642.     IF EXIST TEMP\sprs0*.dll REN TEMP\sprs0*.dll xpsp3res.dll
  1643.     IF "%SP%"=="1" (
  1644.     IF DEFINED MPFLDRA (IF EXIST TEMP\UPDATE\*828026* DEL/Q/F TEMP\wmp*.dll) ELSE (IF EXIST TEMP\wmpcore8.dll REN TEMP\wmpcore8.dll wmpcore.dll)
  1645.     IF EXIST TEMP\ivfsrc.ax FOR /F %%I IN ('DIR/B/A-D TEMP') DO ECHO>>WORK\NSFREGNOT.TXT %%I
  1646.     )
  1647. )
  1648. IF EXIST TEMP\UPDATE\*.CAT XCOPY/DY TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
  1649. IF EXIST TEMP\*.CAT XCOPY/DY TEMP\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\*.CAT
  1650. IF EXIST TEMP\UPDATE RD/Q/S TEMP\UPDATE
  1651.  
  1652.     REM * Temp fix for file creation date issue with Oct'07 IE7 installer
  1653.     REM * Upd. Nov 11 - if HFX with ieframe.dll.mui: ieframe.dll.mui force-copied, others replace existing ones if newer
  1654.     REM *             - if HFX without ieframe.dll.mui: files newer than 8-Mar-2007 replace existing ones
  1655.     IF "%IE7HFX%"=="TRUE" (
  1656.         IF NOT EXIST TEMP\ieframe.dll.mui (XCOPY/HY /D:03-08-2007 TEMP WORK\I386E) ELSE (
  1657.             ECHO  Force-copied TEMP\ieframe.dll.mui&MOVE/Y TEMP\ieframe.dll.mui WORK\I386E&XCOPY/DHY TEMP WORK\I386E
  1658.         )
  1659.         SET IE7HFX=&RD/Q/S TEMP&ECHO.&GOTO :EOF
  1660.     )
  1661.  
  1662. XCOPY/DEHY TEMP WORK\I386E
  1663. RD/Q/S TEMP
  1664. ECHO.
  1665. GOTO :EOF
  1666.  
  1667. :PROCESSMMCEXE
  1668. ECHO>>WORK\HFSSDF.TXT %LNGALL%_mmc.mui=1&ECHO>>WORK\HFS_MUIfall.TXT %HEX4ALL%\mmc.exe.mui,%LNGALL%_mmc.mui
  1669. ECHO>>SOURCESS\I386\TXTSETUP.SIF %LNGALL%_mmc.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,%LNGALL%_mmc.mui
  1670. GOTO :EOF
  1671.  
  1672. :PROCESSMMCDLL
  1673. ECHO>>WORK\HFSSDF.TXT %LNGALL%_mmcm.mui=1&ECHO>>WORK\HFS_MUIfall.TXT %HEX4ALL%\mmcndmgr.dll.mui,%LNGALL%_mmcm.mui
  1674. ECHO>>SOURCESS\I386\TXTSETUP.SIF %LNGALL%_mmcm.mui = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,%LNGALL%_mmcm.mui
  1675. GOTO :EOF
  1676. REM ======================================================================================
  1677.  
  1678. REM ======================TYPE 2 HOTFIXES=================================================
  1679. :HF2EXTRACT
  1680. TITLE %T1% - Processing %HF%
  1681. ECHO %HF%
  1682. MD TEMP&START/WAIT HF\%HF% /Q /T:"%PREP%TEMP" /C
  1683. IF EXIST TEMP\mdacxpak.cab GOTO :DA28
  1684. IF EXIST TEMP\ADVPACK.DLL DEL/Q/F TEMP\ADVPACK.DLL
  1685. IF EXIST TEMP\SETUP.* DEL/Q/F TEMP\SETUP.*
  1686. IF EXIST TEMP\*INST.EXE DEL/Q/F TEMP\*INST.EXE
  1687. IF EXIST TEMP\INSTMSI*.EXE DEL/Q/F TEMP\INSTMSI*.EXE
  1688. IF EXIST TEMP\*QFE.INF DEL/Q/F TEMP\*QFE.INF
  1689. IF EXIST TEMP\UPDATEBR.INF DEL/Q/F TEMP\UPDATEBR.INF
  1690. IF EXIST TEMP\*_D.INF DEL/Q/F TEMP\*_D.INF
  1691. IF EXIST TEMP\*prereq.INF DEL/Q/F TEMP\*prereq.INF
  1692. IF EXIST TEMP\*DLvl.inf DEL/Q/F TEMP\*DLvl.inf
  1693. IF EXIST TEMP\fontinst.* DEL/Q/F TEMP\fontinst.*
  1694. IF EXIST TEMP\*WinME.* DEL/Q/F TEMP\*WinME.*
  1695. IF EXIST TEMP\KB832414* DEL/Q/F TEMP\KB832414*.INF
  1696. IF NOT "!VERSION!"=="2000" IF EXIST TEMP\*2K.* DEL/Q/F TEMP\*2K.*
  1697. IF NOT "!VERSION!"=="XP" (
  1698.     IF EXIST TEMP\*XP.* DEL/Q/F TEMP\*XP.*
  1699.     IF EXIST TEMP\*XPx.* DEL/Q/F TEMP\*XPx.*
  1700. )
  1701. IF NOT "!VERSION!"=="2003" (
  1702.     IF EXIST TEMP\*K3.* DEL/Q/F TEMP\*K3.*
  1703.     IF EXIST TEMP\*003.* DEL/Q/F TEMP\*003.*
  1704.     IF EXIST TEMP\*NET.* DEL/Q/F TEMP\*NET.*
  1705. )
  1706. IF EXIST TEMP\*.INF FOR /F %%I IN ('DIR/B TEMP\*.INF') DO (
  1707.     SET /A HFSLP=!HFSLP!+1
  1708.     COPY TEMP\%%I "WORK\INFS\%%I" >NUL
  1709.     SET HFSLP2=%%I
  1710.     CALL :HFSLIPINFCREATOR2
  1711. )
  1712. IF EXIST TEMP\*.CAT XCOPY/DY TEMP\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\*.CAT
  1713. IF EXIST TEMP\*.INF DEL/Q/F TEMP\*.INF
  1714. XCOPY/DEHY TEMP WORK\I386E
  1715. RD/Q/S TEMP
  1716. ECHO.
  1717. GOTO :EOF
  1718. REM ======================================================================================
  1719.  
  1720. REM ======================BANDAID2K HOTFIXES==============================================
  1721. :BANDAID2K
  1722. REM -------------------------------------------------
  1723. REM BAND AID FIX FOR BAND AID MSFT HOTFIX
  1724. IF EXIST TEMP\*XP.INF DEL/Q/F TEMP\*XP.INF
  1725. IF EXIST TEMP\*K3.INF DEL/Q/F TEMP\*K3.INF
  1726. IF EXIST TEMP\*2003.INF DEL/Q/F TEMP\*2003.INF
  1727. IF EXIST TEMP\UPDATE\*XP.INF DEL/Q/F TEMP\UPDATE\*XP.INF
  1728. IF EXIST TEMP\UPDATE\*XP_*.INF DEL/Q/F TEMP\UPDATE\*XP_*.INF
  1729. IF EXIST TEMP\UPDATE\*K3.INF DEL/Q/F TEMP\UPDATE\*K3.INF
  1730. IF EXIST TEMP\UPDATE\*2003.INF DEL/Q/F TEMP\UPDATE\*2003.INF
  1731. IF EXIST TEMP\UPDATE\*NET.CAT DEL/Q/F TEMP\UPDATE\*NET.CAT
  1732. IF EXIST TEMP\UPDATE\*XP.CAT DEL/Q/F TEMP\UPDATE\*XP.CAT
  1733. IF EXIST TEMP\UPDATE\*2k3.CAT DEL/Q/F TEMP\UPDATE\*2k3.CAT
  1734. IF "!VERSIONIE!"=="2KIE6" (
  1735.     IF EXIST TEMP\RTMQFE (
  1736.         XCOPY/EHY TEMP\RTMQFE\*.* TEMP >NUL
  1737.         IF EXIST TEMP\UPDATE\*RTMQFE.INF REN TEMP\UPDATE\*RTMQFE.INF updHFSLP.inf
  1738.     ) ELSE IF EXIST TEMP\RTMGDR (
  1739.         XCOPY/EHY TEMP\RTMGDR\*.* TEMP >NUL
  1740.         IF EXIST TEMP\UPDATE\*RTMGDR.INF REN TEMP\UPDATE\*RTMGDR.INF updHFSLP.inf
  1741.     )
  1742.     IF EXIST TEMP\xpsp2_binarydrop MOVE/Y TEMP\xpsp2_binarydrop\*.* TEMP >NUL
  1743. )
  1744. IF "!VERSIONIE!"=="FDV" (
  1745.     IF EXIST HFCABS\IEW2K_1.CAB (
  1746.         IF EXIST TEMP\xpsp2_binarydrop MOVE/Y TEMP\xpsp2_binarydrop\*.* TEMP >NUL
  1747.     ) ELSE IF EXIST HFCABS\_IE6_HFSLIP.CAB (
  1748.         IF EXIST TEMP\xpsp2_binarydrop MOVE/Y TEMP\xpsp2_binarydrop\*.* TEMP >NUL
  1749.     )
  1750. )
  1751. GOTO :EOF
  1752. REM ======================================================================================
  1753.  
  1754. REM ======================BANDAIDXP and 2003 HOTFIXES=====================================
  1755. :BANDAIDXP2K3
  1756. REM -------------------------------------------------
  1757. REM BAND AID FIX FOR BAND AID MSFT HOTFIX
  1758. IF EXIST TEMP\*2K.INF DEL/Q/F TEMP\*2K.INF
  1759. IF EXIST TEMP\UPDATE\*2K.INF DEL/Q/F TEMP\UPDATE\*2K.INF
  1760. IF EXIST TEMP\UPDATE\*2K_*.INF DEL/Q/F TEMP\UPDATE\*2K_*.INF
  1761. IF EXIST TEMP\UPDATE\*2K.CAT DEL/Q/F TEMP\UPDATE\*2K.CAT
  1762. :MID_BA_51
  1763. IF "%IE7HFX%"=="TRUE" IF "%SP%"=="3" IF NOT EXIST TEMP\SP3QFE IF EXIST TEMP\SP2QFE (
  1764.     XCOPY/EHY TEMP\SP2QFE\*.* TEMP >NUL
  1765.     REN TEMP\UPDATE\*SP2QFE*.inf updHFSLP.inf
  1766. )
  1767. IF %SP% GEQ 1 IF NOT EXIST TEMP\UPDATE\update_SP%SP%*.inf IF EXIST TEMP\UPDATE\update_%SPUPDATE%QFE.inf (
  1768.     IF EXIST TEMP\%SPUPDATE%QFE REN TEMP\%SPUPDATE%QFE SP%SP%QFE
  1769.     REN TEMP\UPDATE\update_%SPUPDATE%QFE.inf update_SP%SP%QFE.inf
  1770. )
  1771. IF EXIST TEMP\UPDATE\*SP%SP%QFE*.inf (
  1772.     IF EXIST TEMP\SP%SP%QFE XCOPY/EHY TEMP\SP%SP%QFE\*.* TEMP >NUL
  1773.     REN TEMP\UPDATE\*SP%SP%QFE*.inf updHFSLP.inf
  1774. ) ELSE IF EXIST TEMP\UPDATE\*SP%SP%GDR*.inf (
  1775.     IF EXIST TEMP\SP%SP%GDR XCOPY/EHY TEMP\SP%SP%GDR\*.* TEMP >NUL
  1776.     REN TEMP\UPDATE\*SP%SP%GDR*.inf updHFSLP.inf
  1777. ) ELSE IF EXIST TEMP\UPDATE\*RTMQFE*.inf (
  1778.     IF EXIST TEMP\RTMQFE XCOPY/DHY TEMP\RTMQFE\*.* TEMP >NUL
  1779.     REN TEMP\UPDATE\*RTMQFE*.inf updHFSLP.inf
  1780. ) ELSE IF EXIST TEMP\UPDATE\*RTMGDR*.inf (
  1781.     IF EXIST TEMP\RTMGDR XCOPY/DHY TEMP\RTMGDR\*.* TEMP >NUL
  1782.     REN TEMP\UPDATE\*RTMGDR*.inf updHFSLP.inf
  1783. )
  1784. IF EXIST TEMP\%SUBTAG%\*.* XCOPY/DHY TEMP\%SUBTAG%\*.* TEMP >NUL
  1785. IF EXIST TEMP\%SPUPDATE% XCOPY/DEHY TEMP\%SPUPDATE%\*.* TEMP >NUL
  1786. GOTO :EOF
  1787. REM ======================================================================================
  1788.  
  1789. REM ======================MDAC 2.8 GOLD AND SP1 - FOR 2K AND XPSP1========================
  1790. :DA28
  1791. echo.&echo Processing MDAC&echo.
  1792. ECHO>M.inf [Version]&ECHO>>M.inf Signature="$Windows NT$"&ECHO>>M.inf [DefaultInstall]&ECHO>>M.inf AddReg=MDAC,BIDInt
  1793. IF "%VERSION%"=="2000" ECHO>>M.inf RunPostSetupCommands=RunPost:1
  1794. ECHO>>M.inf [MDAC]&ECHO>>M.inf HKLM,"%%VROOT3%%","/MSADC",0x00020002,"%%16427%%\System\msadc,,5"&FINDSTR/BIR "HKLM" TEMP\sqlnet.inf>>M.inf
  1795. ECHO>>M.inf [BIDInt]&ECHO>>M.inf HKLM,"Software\Microsoft\BidInterface",,2
  1796. ECHO>>M.inf [BIDInt.security]&ECHO>>M.inf "D:P(A;OICI;GR;;;BU)(A;OICI;GR;;;PU)(A;OICI;GA;;;BA)(A;OICI;GA;;;CO)(A;OICI;GA;;;SY)"
  1797. IF "%VERSION%"=="2000" ECHO>>M.inf [RunPost]&ECHO>>M.inf %%10%%\mui\muisetup.exe /$_fromMDAC_$
  1798. ECHO>>M.inf [Strings]&FINDSTR/BIR "VROOT3" TEMP\mdacxpak.inf>>M.inf&FINDSTR/BIR "VIAKey" TEMP\sqlnet.inf>>M.inf
  1799. SET /A HFSLP=!HFSLP!+1
  1800. MOVE M.inf SOURCESS\I386\HFSLP%HFSLP%.INF >NUL
  1801. CALL :TYPE2ROROE
  1802. DEL/Q/F TEMP\*m.cat TEMP\d* TEMP\j* TEMP\msv* TEMP\mt* TEMP\se*
  1803. MD TEMP\MDAC TEMP\MDACx
  1804. EXPAND TEMP\mdacxpak.cab -F:* TEMP\MDACx >NUL&DEL/Q/F TEMP\mdacxpak.cab
  1805. FOR /F %%I IN ('DIR/B TEMP\*.CAB') DO EXPAND TEMP\%%I -F:* TEMP\MDAC >NUL
  1806. MOVE/Y TEMP\MDACx\* TEMP\MDAC >NUL
  1807. FINDSTR/VBI "Copyfiles" TEMP\MDAC\bidintrx.inf>WORK\I386E\bidintrx.inf
  1808. DEL/Q/F TEMP\MDAC\bidintrx.inf TEMP\MDAC\msxml3a.dll TEMP\MDAC\oledb32a.dll
  1809. IF "%VERSION%"=="2000" MOVE TEMP\muisetup.exe TEMP\MDAC >NUL
  1810. XCOPY/DY TEMP\*.cat WORK\SVCPACK >NUL
  1811. XCOPY/DY TEMP\MDAC WORK\I386E
  1812. RD/Q/S TEMP
  1813. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mdacreadme.htm mdacrdme.htm
  1814. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mtxoci7x_win2k.reg mtx7x_2k.reg
  1815. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mtxoci7x_winnt.reg mtx7x_nt.reg
  1816. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mtxoci80_win2k.reg mtx80_2k.reg
  1817. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mtxoci80_winnt.reg mtx80_nt.reg
  1818. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mtxoci81_win2k.reg mtx81_2k.reg
  1819. ECHO>>WORK\RENAME.CMD REN WORK\I386E\mtxoci81_winnt.reg mtx81_nt.reg
  1820. ECHO>>WORK\HFSLPGUI.TXT %%WINDIR%%\system32\secedit.exe /configure /cfg %%WINDIR%%\inf\bidintrx.inf /db %%WINDIR%%\inf\bidintrx.sdb
  1821. ECHO>>WORK\HFSDST.TXT CFAdo=16427,"System\ado"&ECHO>>WORK\HFSDST.TXT CFOle=16427,"System\Ole DB"
  1822. ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","120",0,"%%11%%\regsvr32 /s """%%11%%\odbcconf.dll""""
  1823. IF "%VERSION%"=="2000" (
  1824.     ECHO>>WORK\TXTNTDIR.TXT 123 = mui
  1825.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","121",0,"%%11%%\regsvr32 /s """%%16427%%\System\OLE DB\sqlxmlx.dll""""
  1826.     ECHO>>SOURCESS\I386\TXTSETUP.SIF cliconf.chm = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,cliconf.chm
  1827.     ECHO>>SOURCESS\I386\TXTSETUP.SIF msado25.tlb = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,msado25.tlb
  1828.     ECHO>>SOURCESS\I386\TXTSETUP.SIF msado26.tlb = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,msado26.tlb
  1829.     ECHO>>SOURCESS\I386\TXTSETUP.SIF msdaorar.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,msdaorar.dll
  1830.     ECHO>>SOURCESS\I386\TXTSETUP.SIF msdatl3.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,msdatl3.dll
  1831.     ECHO>>SOURCESS\I386\TXTSETUP.SIF muisetup.exe = 1,,,,,,,123,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,muisetup.exe
  1832.     ECHO>>SOURCESS\I386\TXTSETUP.SIF sqloledb.rll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,sqloledb.rll
  1833.     ECHO>>SOURCESS\I386\TXTSETUP.SIF sqlsodbc.chm = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,sqlsodbc.chm
  1834.     ECHO>>SOURCESS\I386\TXTSETUP.SIF sqlsoldb.chm = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,sqlsoldb.chm
  1835.     ECHO>>SOURCESS\I386\TXTSETUP.SIF sqlxmlx.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,sqlxmlx.dll
  1836.     ECHO>>SOURCESS\I386\TXTSETUP.SIF sqlxmlx.rll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,sqlxmlx.rll
  1837.     ECHO>>WORK\HFSSDF.TXT msado25.tlb=1&ECHO>>WORK\HFS_CFAdo.TXT msado25.tlb
  1838.     ECHO>>WORK\HFSSDF.TXT msado26.tlb=1&ECHO>>WORK\HFS_CFAdo.TXT msado26.tlb
  1839.     ECHO>>WORK\HFSSDF.TXT msdaorar.dll=1&ECHO>>WORK\HFS_CFOle.TXT msdaorar.dll
  1840.     ECHO>>WORK\HFSSDF.TXT msdatl3.dll=1&ECHO>>WORK\HFS_CFOle.TXT msdatl3.dll
  1841.     ECHO>>WORK\HFSSDF.TXT sqloledb.rll=1&ECHO>>WORK\HFS_CFOle.TXT sqloledb.rll
  1842.     ECHO>>WORK\HFSSDF.TXT sqlsoldb.chm=1&ECHO>>WORK\HFS_CFOle.TXT sqlsoldb.chm
  1843.     ECHO>>WORK\HFSSDF.TXT sqlxmlx.dll=1&ECHO>>WORK\HFS_CFOle.TXT sqlxmlx.dll
  1844.     ECHO>>WORK\HFSSDF.TXT sqlxmlx.rll=1&ECHO>>WORK\HFS_CFOle.TXT sqlxmlx.rll
  1845. )
  1846. ECHO>>SOURCESS\I386\TXTSETUP.SIF msado27.tlb = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,msado27.tlb
  1847. ECHO>>SOURCESS\I386\TXTSETUP.SIF mtx7x_2k.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mtx7x_2k.reg
  1848. ECHO>>SOURCESS\I386\TXTSETUP.SIF mtx7x_nt.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mtx7x_nt.reg
  1849. ECHO>>SOURCESS\I386\TXTSETUP.SIF mtx80_2k.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mtx80_2k.reg
  1850. ECHO>>SOURCESS\I386\TXTSETUP.SIF mtx80_nt.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mtx80_nt.reg
  1851. ECHO>>SOURCESS\I386\TXTSETUP.SIF mtx81_2k.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mtx81_2k.reg
  1852. ECHO>>SOURCESS\I386\TXTSETUP.SIF mtx81_nt.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,mtx81_nt.reg
  1853. ECHO>>SOURCESS\I386\TXTSETUP.SIF newudl.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,newudl.reg
  1854. ECHO>>SOURCESS\I386\TXTSETUP.SIF nonewudl.reg = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,nonewudl.reg
  1855. ECHO>>WORK\HFSSDF.TXT msado27.tlb=1&ECHO>>WORK\HFS_CFAdo.TXT msado27.tlb
  1856. ECHO>>WORK\HFSSDF.TXT mtx7x_2k.reg=1&ECHO>>WORK\HFS_CFOle.TXT mtxoci7x_win2k.reg,mtx7x_2k.reg
  1857. ECHO>>WORK\HFSSDF.TXT mtx7x_nt.reg=1&ECHO>>WORK\HFS_CFOle.TXT mtxoci7x_winnt.reg,mtx7x_nt.reg
  1858. ECHO>>WORK\HFSSDF.TXT mtx80_2k.reg=1&ECHO>>WORK\HFS_CFOle.TXT mtxoci80_win2k.reg,mtx80_2k.reg
  1859. ECHO>>WORK\HFSSDF.TXT mtx80_nt.reg=1&ECHO>>WORK\HFS_CFOle.TXT mtxoci80_winnt.reg,mtx80_nt.reg
  1860. ECHO>>WORK\HFSSDF.TXT mtx81_2k.reg=1&ECHO>>WORK\HFS_CFOle.TXT mtxoci81_win2k.reg,mtx81_2k.reg
  1861. ECHO>>WORK\HFSSDF.TXT mtx81_nt.reg=1&ECHO>>WORK\HFS_CFOle.TXT mtxoci81_winnt.reg,mtx81_nt.reg
  1862. ECHO>>WORK\HFSSDF.TXT newudl.reg=1&ECHO>>WORK\HFS_CFOle.TXT newudl.reg
  1863. ECHO>>WORK\HFSSDF.TXT nonewudl.reg=1&ECHO>>WORK\HFS_CFOle.TXT nonewudl.reg
  1864. ECHO.
  1865. GOTO :EOF
  1866. REM ======================================================================================
  1867.  
  1868. REM ======================WINDOWSUPDATE AGENT=============================================
  1869. :WUA
  1870. TITLE %T1% - Processing Windows Update Agent
  1871. ECHO.&MD TEMP\WUA
  1872. echo.&echo Processing Windows Update Agent&echo.
  1873. echo.
  1874. FOR /F %%I IN ('DIR/B/ON HF\*WindowsUpdateAgent*-x86.exe') DO SET WUAHFX=%%I
  1875. START/WAIT HF\%WUAHFX% /Q /X:TEMP
  1876. REM CLEAR OUT THE JUNK
  1877. DEL/Q/F TEMP\*.INF TEMP\%LG%\eula.rtf
  1878. IF EXIST HF\*891861*.EXE DEL/Q/F TEMP\MSXML3.DLL TEMP\%LG%\MSXML3R.DLL
  1879. IF "%VERSION%"=="2000" (IF EXIST WORK\I386E\WINHTTP.DLL DEL/Q/F TEMP\WINHTTP.DLL) ELSE (
  1880.     DEL/Q/F TEMP\WINHTTP.DLL TEMP\MSXML3.DLL TEMP\%LG%\MSXML3R.DLL
  1881. )
  1882. IF EXIST TEMP\IUENGINE.DLL (DEL/Q/F TEMP\*MUI* TEMP\%LG%\wusetupr.dll) ELSE (
  1883.     REN TEMP\wuauhelp.chm_%LG% wuauhelp.chm
  1884.     REN TEMP\wuapi.dll.mui_%LG% wuapi.mui
  1885.     REN TEMP\wuaucpl.cpl.mui_%LG% wuaucpl.mui
  1886.     REN TEMP\wuaueng.dll.mui_%LG% wuaueng.mui
  1887.     REN TEMP\wucltui.dll.mui_%LG% wucltui.mui
  1888.     DEL/Q/F TEMP\*.CAB TEMP\*CHM_* TEMP\*MUI_* TEMP\%LG%\*MUI*
  1889. )
  1890. SET BASEWUA=wuapi wuau\.a wuauserv wucltui wups wuweb wuauhelp
  1891. IF EXIST TEMP\IUENGINE.DLL (
  1892.     FINDSTR/VR "%BASEWUA% wuaucpl\.cpl[^.] wuauclt wuaueng" SOURCESS\I386\TXTSETUP.SIF>TXTSETUP.SIF
  1893.     FINDSTR/VR "%BASEWUA% wuaucpl\.cpl[^.] wuauclt wuaueng" SOURCESS\I386\DOSNET.INF>DOSNET.INF
  1894. ) ELSE (
  1895.     FINDSTR/VR "%BASEWUA% wuaucpl\.cpl[^.] wuauclt\. wuaueng\." SOURCESS\I386\TXTSETUP.SIF>TXTSETUP.SIF
  1896.     FINDSTR/VR "%BASEWUA% wuaucpl\.cpl[^.] wuauclt\. wuaueng\." SOURCESS\I386\DOSNET.INF>DOSNET.INF
  1897.     ECHO>>TXTSETUP.SIF wuapi.mui = 1,,,,,,,2,0,0,wuapi.dll.mui&ECHO>>DOSNET.INF d1,wuapi.mui
  1898.     ECHO>>TXTSETUP.SIF wuaucpl.mui = 1,,,,,,,2,0,0,wuaucpl.cpl.mui&ECHO>>DOSNET.INF d1,wuaucpl.mui
  1899.     ECHO>>TXTSETUP.SIF wuaueng.mui = 1,,,,,,,2,0,0,wuaueng.dll.mui&ECHO>>DOSNET.INF d1,wuaueng.mui
  1900.     ECHO>>TXTSETUP.SIF wucltui.mui = 1,,,,,,,2,0,0,wucltui.dll.mui&ECHO>>DOSNET.INF d1,wucltui.mui
  1901. )
  1902. MOVE/Y TXTSETUP.SIF SOURCESS\I386
  1903. MOVE/Y DOSNET.INF SOURCESS\I386
  1904. MOVE/Y TEMP\*.CAT WORK\SVCPACK
  1905. MOVE/Y TEMP\*.* TEMP\WUA >NUL
  1906. MOVE/Y TEMP\%LG%\*.* TEMP\WUA >NUL
  1907. DIR/B TEMP\WUA\*.DLL>>WORK\NSFREGt.TXT
  1908. XCOPY/DHY TEMP\WUA WORK\I386E
  1909. RD/Q/S TEMP
  1910. REM * NULLIFYING AU.INF
  1911. COPY SOURCE\I386\AU.INF WORK >NUL 2>&1||EXPAND SOURCE\I386\AU.IN_ -R WORK >NUL
  1912. TYPE WORK\AU.INF>WORK\AU2.INF
  1913. FINDSTR/R "[;=[]" WORK\AU2.INF>WORK\AU3.INF
  1914. FINDSTR/VR "11,," WORK\AU3.INF>WORK\I386E\AU.INF
  1915. GOTO :EOF
  1916. REM ======================================================================================
  1917.  
  1918. REM ====================Microsoft Installer 4.5===========================================
  1919. :MSI45
  1920. TITLE %T1% - Processing Microsoft Installer 4.5
  1921. echo.&echo Processing Microsoft Installer 4.5&echo.
  1922. FOR /F %%I IN ('DIR/B/ON HF\Windows%1-KB942288*-x86.exe') DO SET MSIHFX=%%I&SET TXTDIR09=1
  1923. START/WAIT HF\%MSIHFX% /Q /X:TEMP
  1924.  
  1925. REN TEMP\%2\msimsg.dll.%LG%-*.mui msimsg.mui
  1926.  
  1927. REM SPECIAL LANGUAGE FIXES
  1928. IF NOT EXIST TEMP\%2\msimsg.mui (
  1929.  IF "%LG%"=="PTBR" REN TEMP\%2\msimsg.dll.pt-br.mui msimsg.mui
  1930.  IF "%LG%"=="ZHTW" REN TEMP\%2\msimsg.dll.zh-tw.mui msimsg.mui
  1931.  IF "%LG%"=="ZHCN" REN TEMP\%2\msimsg.dll.zh-cn.mui msimsg.mui
  1932.  IF "%LG%"=="ZHHK" REN TEMP\%2\msimsg.dll.zh-hk.mui msimsg.mui
  1933. )
  1934.  
  1935. DEL/Q/F TEMP\%2\msimsg.dll.*-*.MUI
  1936.  
  1937. ECHO>>SOURCESS\I386\TXTSETUP.SIF msimsg.mui = 1,,,,,,,1009,0,0,msimsg.dll.mui &ECHO>>SOURCESS\I386\DOSNET.INF d1,msimsg.mui
  1938.  
  1939. XCOPY/DHY TEMP\%2 WORK\I386E
  1940. RD/Q/S TEMP
  1941.  
  1942. GOTO :EOF
  1943. REM ======================================================================================
  1944.  
  1945. REM ======================BASIC CABS======================================================
  1946. :PROCESSCABS
  1947. TITLE %T1% - Processing basic CAB files
  1948. ECHO.&MD WORK\CABS&DIR/B HFCABS>WORK\CABS.TXT
  1949. FOR /F %%I IN ('FINDSTR/I "MUWEB MUCAT OPUC LEGIT OGA IEAWSDC SWFLASH" WORK\CABS.TXT') DO EXPAND HFCABS\%%I -F:* WORK\CABS >NUL
  1950. IF EXIST WORK\CABS\legitcheck*.dll IF EXIST HF\*905474*.exe (XCOPY/DHY WORK\CABS\legitcheck*.dll WORK\I386E&DEL/Q/F WORK\CABS\legitcheck*.dll)
  1951. IF EXIST WORK\CABS\flash*.ocx CALL :FLASHIT
  1952. IF EXIST WORK\CABS\*.DLL DIR/B WORK\CABS\*.DLL>>WORK\NSFREGt.TXT
  1953. IF EXIST WORK\CABS\*.CAT MOVE/Y WORK\CABS\*.CAT WORK\SVCPACK
  1954. IF EXIST WORK\CABS\opuc.dll HFTOOLS\MODIFYPE.EXE WORK\CABS\opuc.dll -c
  1955. IF EXIST WORK\CABS\*.DLL XCOPY/DHY WORK\CABS\*.DLL WORK\I386E
  1956. IF EXIST WORK\CABS\FP_AX_CAB_INSTALLER.exe (
  1957.     IF NOT EXIST HFSVCPACK\FP_AX_CAB_INSTALLER.exe ECHO>>WORK\FILESTODEL.TXT HFSVCPACK\FP_AX_CAB_INSTALLER.exe
  1958.     XCOPY/DHY WORK\CABS\FP_AX_CAB_INSTALLER.exe HFSVCPACK
  1959. )
  1960. GOTO :EOF
  1961. REM ======================================================================================
  1962.  
  1963. REM ======================FLASH PLAYER====================================================
  1964. :FLASHIT
  1965. TITLE %T1% - Processing Flash Player
  1966. echo.&echo Processing Flash Player&echo.
  1967. SET TXTDIR03=1
  1968. IF EXIST SOURCE\I386\FLASH.OC* (SET FLASHOCX=flash.ocx) ELSE (SET FLASHOCX=swflash.ocx)
  1969. FOR /F %%I IN ('DIR/B WORK\CABS\flash*.ocx') DO SET FLASHOCXN=%%I&MOVE/Y WORK\CABS\%%I WORK\I386E\%FLASHOCX%
  1970. FOR /F %%I IN ('DIR/B WORK\CABS\*flash.inf') DO FINDSTR/VI "Copy DelF waveF" WORK\CABS\%%I>WORK\I386E\swflash.inf
  1971. IF "%VERSION%"=="XP" (
  1972.     FINDSTR/VBIR "flash\.ocx swflash\.ocx" SOURCESS\I386\TXTSETUP.SIF>TXTSETUP.SIF&MOVE/Y TXTSETUP.SIF SOURCESS\I386 >NUL
  1973. ) ELSE (
  1974.     ECHO>>WORK\ROROEWU.TXT ;SWFLASH
  1975.     ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZCSWF,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\swflash.inf,DefaultInstall"
  1976.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.inf = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.inf
  1977. )
  1978. IF EXIST WORK\CABS\FlashUt*.exe FOR /F %%I IN ('DIR/B WORK\CABS\FlashUt*.exe') DO (
  1979.     MOVE/Y WORK\CABS\%%I WORK\I386E\swflash.exe
  1980.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.exe = 1,,,,,,,1003,0,0,%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.exe
  1981. )
  1982. IF EXIST WORK\CABS\FlashUt*.dll FOR /F %%I IN ('DIR/B WORK\CABS\FlashUt*.dll') DO (
  1983.     MOVE/Y WORK\CABS\%%I WORK\I386E\swflash.dll
  1984.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.dll = 1,,,,,,,1003,0,0,%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.dll
  1985. )
  1986. IF EXIST WORK\CABS\FlashPlayerUpdateService.exe FOR /F %%I IN ('DIR/B WORK\CABS\FlashPlayerUpdateService.exe') DO (
  1987.     MOVE/Y WORK\CABS\%%I WORK\I386E\swflash.svc
  1988.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.svc = 1,,,,,,,1003,0,0,%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.svc
  1989. )
  1990. IF EXIST WORK\CABS\mms.cfg FOR /F %%I IN ('DIR/B WORK\CABS\mms.cfg') DO (
  1991.     MOVE/Y WORK\CABS\%%I WORK\I386E\swflash.cfg
  1992.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.cfg = 1,,,,,,,1003,0,0,%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.cfg
  1993. )
  1994. IF EXIST WORK\CABS\Flash*.cpl FOR /F %%I IN ('DIR/B WORK\CABS\Flash*.cpl') DO (
  1995.     MOVE/Y WORK\CABS\%%I WORK\I386E\swflash.cpl
  1996.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.cpl = 1,,,,,,,2,0,0,%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.cpl
  1997. )
  1998. IF EXIST WORK\CABS\FlashPlayerApp.exe FOR /F %%I IN ('DIR/B WORK\CABS\FlashPlayerApp.exe') DO (
  1999.     MOVE/Y WORK\CABS\%%I WORK\I386E\swflcpl.exe
  2000.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflcpl.exe = 1,,,,,,,2,0,0,%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflcpl.exe
  2001. )
  2002. IF EXIST WORK\CABS\*.job FOR /F "delims=" %%I IN ('DIR/B WORK\CABS\*.job') DO (
  2003.        SET TXTDIR37=1
  2004.     MOVE/Y "WORK\CABS\%%I" WORK\I386E\swflash.job
  2005.     ECHO>>SOURCESS\I386\TXTSETUP.SIF swflash.job = 1,,,,,,,1037,0,0,"%%I"&ECHO>>SOURCESS\I386\DOSNET.INF d1,swflash.job
  2006. )
  2007.  
  2008. ECHO>>SOURCESS\I386\TXTSETUP.SIF %FLASHOCX% = 1,,,,,,,1003,0,0,%FLASHOCXN%&IF NOT "%VERSION%"=="XP" ECHO>>SOURCESS\I386\DOSNET.INF d1,%FLASHOCX%
  2009. GOTO :EOF
  2010. REM ======================================================================================
  2011.  
  2012. REM ======================MSXML FILES=====================================================
  2013. :MSXML
  2014. TITLE %T1% - Processing MSXML
  2015. echo.&echo Processing MSXML&echo.
  2016. ECHO.&COPY HF\MSXML*.* WORK\MSXML >NUL&CD WORK\MSXML&MD EX OUT
  2017. IF EXIST *6-kb88* (
  2018.     REN *6-kb88* XML2UP.EXE&START/WAIT XML2UP.EXE /QUIET /X:EX
  2019.     COPY/Y EX\FILES\* OUT >NUL&COPY/Y EX\UPDATE\*.cat %PREP%WORK\SVCPACK >NUL
  2020. )
  2021. IF EXIST MS*.EXE FOR /F %%I IN ('DIR/B MS*.EXE') DO START/WAIT %%I /QUIET /X:"%PREP%WORK\MSXML"
  2022. IF EXIST MSXML*.MSI (
  2023.     FOR /F %%I IN ('DIR/B *.MSI') DO START/WAIT MSIEXEC /A %%I TARGETDIR="%PREP%WORK\MSXML\EX" /QN
  2024.     XCOPY/DHY EX\SYSTEM\*.dll OUT >NUL&IF EXIST EX\SYSTEM\*.cat COPY/Y EX\SYSTEM\*.cat %PREP%WORK\SVCPACK >NUL
  2025. )
  2026. IF EXIST OUT\*a.dll DEL/Q/F OUT\*a.dll
  2027. CD %PREP%
  2028. XCOPY/DY WORK\MSXML\OUT\* WORK\I386E
  2029. GOTO :EOF
  2030. REM ======================================================================================
  2031.  
  2032. REM ======================DX9C============================================================
  2033. :DX9C
  2034. TITLE %T1% - Processing DirectX9c
  2035. echo.&echo Processing DirectX&echo.
  2036. IF EXIST HFCABS\_DX9core_%VERSION%SP%SP%_HFSLIP.CAB (
  2037.     ECHO Expanding custom DX9core source cab...
  2038.     MD WORK\DX9HFSLP&EXPAND HFCABS\_DX9core_%VERSION%SP%SP%_HFSLIP.CAB -F:* WORK\DX9HFSLP >NUL
  2039. ) ELSE (
  2040.     IF %OSLEVEL% GEQ 31 (CALL :DX9C_PREP) ELSE (GOTO :DX9C_BASIC)
  2041. )
  2042. ::THE REAL STUFF
  2043. ECHO Processing DirectX9c core components...
  2044. IF %OSLEVEL% GEQ 31 (
  2045.     SET DX9=Updated&DIR/B WORK\DX9HFSLP\*.DLL>>WORK\NSFREGt.TXT
  2046.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\DirectPlay\Service Providers\Internet TCP/IP Connection For DirectPlay","NATHelp",,"dpnhupnp.dll"
  2047.     ECHO>>WORK\ROROEWU.TXT ;DX9C
  2048.     ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ600,,"rundll32.exe %%11%%\advpack.Dll,LaunchINFSection %%10%%\INF\dmusic.inf,DefaultInstall"
  2049.     ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ601,,"rundll32.exe %%11%%\advpack.Dll,LaunchINFSection %%10%%\INF\dsound.inf,DefaultInstall"
  2050. )
  2051. ECHO.&MOVE/Y WORK\DX9HFSLP\*.CAT WORK\SVCPACK&XCOPY/DHY WORK\DX9HFSLP WORK\I386E
  2052. GOTO :EOF
  2053.  
  2054. :DX9C_PREP
  2055. IF DEFINED BDACAB IF EXIST HFCABS\%BDACAB%.cab ECHO Expanding %BDACAB%.cab...&EXPAND HFCABS\%BDACAB%.cab -F:* WORK\DX9 >NUL
  2056. IF DEFINED DXNT IF EXIST HFCABS\dxnt.cab ECHO Expanding dxnt.cab...&EXPAND HFCABS\dxnt.cab -F:* WORK\DX9 >NUL
  2057. MD WORK\DX9HFSLP
  2058. IF %OSLEVEL% GEQ 31 (
  2059.     DEL/Q/F WORK\DX9\ksreg.inf&MOVE WORK\DX9\dm* WORK\DX9HFSLP >NUL&MOVE WORK\DX9\dsound.inf WORK\DX9HFSLP >NUL
  2060.     MOVE WORK\DX9\dswave.dll WORK\DX9HFSLP >NUL&MOVE WORK\DX9\dxnetsrv.cat WORK\DX9HFSLP >NUL
  2061.     MOVE WORK\DX9\ks*.inf WORK\DX9HFSLP >NUL&MOVE WORK\DX9\ksolay.ax WORK\DX9HFSLP >NUL
  2062. )
  2063. ECHO Creating custom DX9core source cab for future use...
  2064. IF NOT "%HostOS%"=="2000" IF NOT EXIST MAKECAB.EXE (
  2065.     IF "%VERSION%"=="2000" IF EXIST SOURCE\I386\MAKECAB.EX_ EXPAND SOURCE\I386\MAKECAB.EX_ "%PREP%makecab.exe" >NUL&ECHO>>WORK\FILESTODEL.TXT makecab.exe
  2066. )
  2067. CALL :UNICAB1
  2068. ECHO>>UC.DDF .Set CabinetNameTemplate=_DX9core_%VERSION%SP%SP%_HFSLIP.CAB
  2069. ECHO>>UC.DDF .Set DiskDirectory1=HFCABS
  2070. FOR /F %%I IN ('DIR/B WORK\DX9HFSLP') DO ECHO>>UC.DDF WORK\DX9HFSLP\%%I
  2071. CALL :UNICAB2
  2072. GOTO :EOF
  2073.  
  2074. :DX9C_BASIC
  2075. IF "!VERSION!"=="2000" (EXPAND HFCABS\BDANT.CAB -F:* WORK\DX9) ELSE (EXPAND HFCABS\BDAXP.CAB -F:* WORK\DX9)
  2076. EXPAND HFCABS\DXNT.CAB -F:* WORK\DX9
  2077.  
  2078. :: ABORT IF CAB BROKEN
  2079. IF NOT EXIST WORK\DX9\KS.SYS (
  2080.     ECHO.&ECHO WARNING: One or more of the DirectX 9 cabs is corrupt.&ECHO HFSLIP will abort slipstreaming of DirectX 9.
  2081.     ECHO.&ECHO Press any key to continue...&PAUSE >NUL&ECHO.&GOTO :EOF
  2082. )
  2083.  
  2084. :: MAIN DX9 INSTALL INF
  2085. ECHO>SOURCESS\I386\HFSLIPDX.INF [version]
  2086. ECHO>>SOURCESS\I386\HFSLIPDX.INF signature="$WINDOWS NT$"
  2087. ECHO/>>SOURCESS\I386\HFSLIPDX.INF
  2088. ECHO>>SOURCESS\I386\HFSLIPDX.INF [DefaultInstall]
  2089. ECHO>>SOURCESS\I386\HFSLIPDX.INF AddReg=add.reg
  2090. ECHO>>SOURCESS\I386\HFSLIPDX.INF DelReg=keys.del,Product.Del.Reg
  2091. ECHO/>>SOURCESS\I386\HFSLIPDX.INF
  2092.  
  2093. IF "!VERSION!"=="2000" (
  2094.     REN WORK\DX9\dx9w2k.cat dxnt.CAT&REN WORK\DX9\DX9BDA.CAT DXBDA.CAT
  2095.     DEL/Q/F WORK\DX9\D3D8THK.DLL WORK\DX9\MSPQM.SYS WORK\DX9\MSVIDCTL.DLL WORK\DX9\QUARTZ.DLL
  2096.     REN WORK\DX9\joy.w2k joy.cpl
  2097.     FOR /F %%I IN ('DIR/B WORK\DX9\*.W2K') DO REN WORK\DX9\%%~nI.w2k %%~nI.dll
  2098.     FINDSTR/VIR "DefaultInstall quartz\.w2k" WORK\DX9\dxntunp.inf>>SOURCESS\I386\HFSLIPDX.INF
  2099.     :: W2KROLLUP SHIT
  2100.     IF EXIST WORK\I386E\dplayx.dll DEL/Q/F WORK\I386E\dplayx.dll
  2101.     IF EXIST WORK\I386E\dpwsockx.dll DEL/Q/F WORK\I386E\dpwsockx.dll
  2102. ) ELSE (
  2103.     DEL/Q/F WORK\DX9\d3dim.dll WORK\DX9\d3dpmesh.dll WORK\DX9\d3dramp.dll WORK\DX9\d3drm.dll WORK\DX9\d3dxof.dll WORK\DX9\diactfrm.dll
  2104.     DEL/Q/F WORK\DX9\dimap.dll WORK\DX9\dinput.dll WORK\DX9\dinput8.dll WORK\DX9\dsound.vxd WORK\DX9\dxapi.sys WORK\DX9\gcdef.dll
  2105.     DEL/Q/F WORK\DX9\pid.dll WORK\DX9\dx9w2k.cat
  2106. )
  2107. IF "!VERSION!"=="XP" (
  2108.     REN WORK\DX9\dxapi.xpg dxapi.sys&REN WORK\DX9\joy.xpg joy.cpl
  2109.     FOR /F %%I IN ('DIR/B WORK\DX9\*.XPG') DO REN WORK\DX9\%%~nI.xpg %%~nI.dll
  2110.     FINDSTR/VI "DefaultInstall" WORK\DX9\dxxp.inf>>SOURCESS\I386\HFSLIPDX.INF
  2111. ) ELSE (
  2112.     DEL/Q/F WORK\DX9\dxxp.cat
  2113. )
  2114.  
  2115. :: SPECIAL DX9 FIX FIX
  2116. IF EXIST WORK\I386E\QUARTZ.DLL DEL/Q/F WORK\I386E\QUARTZ.DLL
  2117.  
  2118. :: NO NEED TO REGISTER MSHTML AGAIN.....
  2119. REN WORK\DX9\DXBDA.INF DXBD_.INF
  2120. FINDSTR/VIR /C:"MSHTML\.DLL" WORK\DX9\DXBD_.INF>WORK\I386E\dxbda.inf
  2121.  
  2122. IF EXIST WORK\I386E\MSDMO.DLL DEL/Q/F WORK\I386E\MSDMO.DLL
  2123. DEL/Q/F WORK\DX9\DXBD_.INF WORK\DX9\dxntunp.inf WORK\DX9\dxxp.inf WORK\DX9\dxnetsrv.inf WORK\DX9\*.W2K WORK\DX9\*.XPG WORK\DX9\dxnetsrv.cat
  2124. DEL/Q/F WORK\DX9\*.CHM WORK\DX9\*.FON WORK\DX9\*.HLP WORK\DX9\*.INI WORK\DX9\*.PNG WORK\DX9\dxnt.inf WORK\DX9\dimaps.inf
  2125. REN "WORK\DX9\Mpeg2Data.ax" mpg2data.ax
  2126.  
  2127. MOVE/Y WORK\DX9\*.CAT WORK\SVCPACK
  2128. XCOPY/DEHY WORK\DX9 WORK\I386E
  2129.  
  2130. REM * FINAL DX9 INSTALL INF
  2131. ECHO>SOURCESS\I386\HFSLIPDY.INF [version]
  2132. ECHO>>SOURCESS\I386\HFSLIPDY.INF signature="$WINDOWS NT$"
  2133. ECHO>>SOURCESS\I386\HFSLIPDY.INF ;FINALIZES THE DX9 INSTALLATION
  2134. ECHO/>>SOURCESS\I386\HFSLIPDY.INF
  2135. ECHO>>SOURCESS\I386\HFSLIPDY.INF [DefaultInstall]
  2136. ECHO>>SOURCESS\I386\HFSLIPDY.INF AddReg=add.reg
  2137. ECHO>>SOURCESS\I386\HFSLIPDY.INF DelReg=keys.del,Product.Del.Reg
  2138. ECHO/>>SOURCESS\I386\HFSLIPDY.INF
  2139. ECHO>>SOURCESS\I386\HFSLIPDY.INF [add.reg]
  2140. IF "!VERSION!"=="2000" (
  2141. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",010,,"RUNDLL32.exe streamci,StreamingDeviceSetup {97ebaacc-95bd-11d0-a3ea-00a0c9223196},{53172480-4791-11D0-A5D6-28DB04C10000},{53172480-4791-11D0-A5D6-28DB04C10000}"
  2142. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",020,,"RUNDLL32.exe streamci,StreamingDeviceSetup {DDF4358E-BB2C-11D0-A42F-00A0C9223196},{97EBAACB-95BD-11D0-A3EA-00A0C9223196},{97EBAACB-95BD-11D0-A3EA-00A0C9223196}"
  2143. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",030,,"RUNDLL32.exe streamci,StreamingDeviceSetup {96E080C7-143C-11D1-B40F-00A0C9223196},{3C0D501A-140B-11D1-B40F-00A0C9223196},{3C0D501A-140B-11D1-B40F-00A0C9223196}"
  2144. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",040,,"rundll32.exe streamci,StreamingDeviceSetup {8E60217D-A2EE-47f8-B0C5-0F44C55F66DC},GLOBAL,{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0},%%10%%\inf\mpe.inf,BDAcodec"
  2145. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",050,,"rundll32.exe streamci,StreamingDeviceSetup {D84D449B-62FB-4ebb-B969-5183ED3DFB51},GLOBAL,{71985F4A-1CA1-11d3-9CC8-00C04F7971E0},%%10%%\inf\streamip.inf,BDAcodec"
  2146. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",060,,"rundll32.exe streamci,StreamingDeviceSetup {03884CB6-E89A-4deb-B69E-8DC621686E6A},GLOBAL,{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0},%%10%%\inf\slip.inf,VBIcodec"
  2147. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",070,,"rundll32.exe streamci,StreamingDeviceSetup {562370a8-f8dd-11d2-bc64-00a0c95ec22e},GLOBAL,{07DAD660-22F1-11d1-A9F4-00C04FBBDE8F},%%10%%\inf\CCDECODE.inf,CCDECODE.Interface.Install"
  2148. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",080,,"rundll32.exe streamci,StreamingDeviceSetup {07DAD662-22F1-11d1-A9F4-00C04FBBDE8F},GLOBAL,{07DAD660-22F1-11d1-A9F4-00C04FBBDE8F},%%10%%\inf\NABTSFEC.inf,NABTSFEC.Interface.Install"
  2149. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",090,,"rundll32.exe streamci,StreamingDeviceSetup {70BC06E0-5666-11d3-A184-00105AEF9F33},GLOBAL,{07DAD660-22F1-11d1-A9F4-00C04FBBDE8F},%%10%%\inf\WSTCODEC.inf,WSTCODEC.Interface.Install"
  2150. )
  2151. ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",100,,"%%11%%\dxdllreg.exe"
  2152.  
  2153. ECHO>>WORK\ROROEWU.TXT ;DX9C
  2154. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ600,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLIPDX.INF,DefaultInstall"
  2155. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ602,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxver.inf,DefaultInstall"
  2156. IF "!VERSION!"=="2000" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ603,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\diactfrm.inf,DefaultInstall"
  2157. IF NOT "!VERSION!"=="2000" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ604,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dpvoice.inf,DefaultInstall"
  2158. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ605,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dmusic.inf,DefaultInstall"
  2159. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ606,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dsound.inf,DefaultInstall"
  2160. IF "!VERSION!"=="2000" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ607,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dinput.inf,Win2KRegInstall"
  2161. IF "!VERSION!"=="XP" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ607,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dinput.inf,WinXPRegInstall"
  2162. IF "!VERSION!"=="2000" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ608,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\ksreg.inf,KS.Registration"
  2163. IF "!VERSION!"=="2000" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ609,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dplay.inf,GameVoice"
  2164. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ610,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dplay.inf,DPlayNAT"
  2165. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ611,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxdllreg.inf,DirectShow"
  2166. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ612,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxdllreg.inf,DirectSound"
  2167. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ613,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxdllreg.inf,DirectPlay"
  2168. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ614,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxdllreg.inf,DxDiag"
  2169. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ615,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxdllreg.inf,DX8RetailDLLs"
  2170. IF "!VERSION!"=="2000" ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ616,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dxbda.inf,BDADllRegister"
  2171. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ617,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dsound.inf,DefaultInstall"
  2172. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZZ618,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\INF\dmusic.inf,DefaultInstall"
  2173. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ9","101",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLIPDY.INF,DefaultInstall"
  2174.  
  2175. FOR /F %%I IN ('DIR/B WORK\DX9') DO ECHO>>WORK\NSFREGNOT.TXT %%I
  2176. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLIPDX.INF = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLIPDX.INF
  2177. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLIPDY.INF = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLIPDY.INF
  2178. ECHO>>SOURCESS\I386\TXTSETUP.SIF mpg2data.ax = 1,,,,,,,2,0,0,mpeg2data.ax&ECHO>>SOURCESS\I386\DOSNET.INF d1,mpg2data.ax
  2179. IF "!VERSION!"=="2000" (
  2180. FINDSTR/VBI "ksolay\.ax ksproxy\.ax kstvtune\.ax ksuser\.dll kswdmcap\.ax ksxbar\.ax msyuv\.dll pid\.dll ccdecode\.sys msdv\.sys mskssrv\.sys mspclock\.sys mstee\.sys" SOURCESS\I386\TXTSETUP.SIF>WORK\TXTSDX9.TXT
  2181. MOVE/Y WORK\TXTSDX9.TXT SOURCESS\I386\TXTSETUP.SIF
  2182. ECHO>>SOURCESS\I386\TXTSETUP.SIF ksolay.ax = 1,,,,,,,2,0,0
  2183. ECHO>>SOURCESS\I386\TXTSETUP.SIF ksproxy.ax = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,ksproxy.ax
  2184. ECHO>>SOURCESS\I386\TXTSETUP.SIF kstvtune.ax = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,kstvtune.ax
  2185. ECHO>>SOURCESS\I386\TXTSETUP.SIF ksuser.dll = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,ksuser.dll
  2186. ECHO>>SOURCESS\I386\TXTSETUP.SIF kswdmcap.ax = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,kswdmcap.ax
  2187. ECHO>>SOURCESS\I386\TXTSETUP.SIF ksxbar.ax = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,ksxbar.ax
  2188. ECHO>>SOURCESS\I386\TXTSETUP.SIF mciqtz32.dll = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,mciqtz32.dll
  2189. ECHO>>SOURCESS\I386\TXTSETUP.SIF msyuv.dll = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,msyuv.dll
  2190. ECHO>>SOURCESS\I386\TXTSETUP.SIF pid.dll = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,pid.dll
  2191. ECHO>>SOURCESS\I386\TXTSETUP.SIF ccdecode.sys = 1,,,,,,,4,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,ccdecode.sys
  2192. ECHO>>SOURCESS\I386\TXTSETUP.SIF msdv.sys = 1,,,,,,,4,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,msdv.sys
  2193. ECHO>>SOURCESS\I386\TXTSETUP.SIF mskssrv.sys = 1,,,,,,,4,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,mskssrv.sys
  2194. ECHO>>SOURCESS\I386\TXTSETUP.SIF mspclock.sys = 1,,,,,,,4,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,mspclock.sys
  2195. ECHO>>SOURCESS\I386\TXTSETUP.SIF mstee.sys = 1,,,,,,,4,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,mstee.sys
  2196. ECHO>>SOURCESS\I386\DOSNET.INF d1,stream.sys
  2197. ECHO>>SOURCESS\I386\DOSNET.INF d1,swenum.sys
  2198. )
  2199. ECHO.&SET DX9=Slipstreamed
  2200. IF EXIST HF\*-DX9-*.EXE FOR /F %%I IN ('DIR/B HF\*-DX9-*.EXE') DO (SET HF=%%I&CALL :HF1EXTRACT)
  2201. IF EXIST HF\BASIC\*-DX9-*.EXE FOR /F %%I IN ('DIR/B HF\BASIC\*-DX9-*.EXE') DO (SET HF=%%I&CALL :HFBASIC)
  2202. IF EXIST HF\NOREG\*-DX9-*.EXE FOR /F %%I IN ('DIR/B HF\NOREG\*-DX9-*.EXE') DO (SET HF=%%I&CALL :HFNOREG)
  2203.  
  2204. IF EXIST HF\*-DirectX9-*.EXE FOR /F %%I IN ('DIR/B HF\*-DirectX9-*.EXE') DO (SET HF=%%I&CALL :HF1EXTRACT)
  2205. IF EXIST HF\BASIC\*-DirectX9-*.EXE FOR /F %%I IN ('DIR/B HF\BASIC\*-DirectX9-*.EXE') DO (SET HF=%%I&CALL :HFBASIC)
  2206. IF EXIST HF\NOREG\*-DirectX9-*.EXE FOR /F %%I IN ('DIR/B HF\NOREG\*-DirectX9-*.EXE') DO (SET HF=%%I&CALL :HFNOREG)
  2207.  
  2208.  
  2209. GOTO :EOF
  2210. REM ======================================================================================
  2211.  
  2212. REM ======================DX9 EXTRA=======================================================
  2213. :DX9EXTRA
  2214. TITLE %T1% - Processing DirectX9c Extras
  2215. echo.&echo Processing DirectX9c Extras&echo.
  2216. SET HFDX=130
  2217. IF EXIST HFCABS\*d3d*_x86.cab FOR /F %%I IN ('DIR/B/A-D/ON HFCABS\*d3d*_x86.cab') DO EXPAND HFCABS\%%I -F:* WORK\DX9EXTRA >NUL
  2218. IF EXIST HFCABS\*xinput_x86.cab FOR /F %%I IN ('DIR/B/A-D/ON HFCABS\*xinput_x86.cab') DO EXPAND HFCABS\%%I -F:* WORK\DX9EXTRA >NUL
  2219. IF EXIST HFCABS\*XAudio_x86.cab FOR /F %%I IN ('DIR/B/A-D/ON HFCABS\*XAudio_x86.cab') DO EXPAND HFCABS\%%I -F:* WORK\DX9EXTRA >NUL
  2220. IF EXIST SOURCESS\I386\HFSLIPDY.INF IF EXIST HFCABS\dxdllreg_x86.cab (
  2221.     EXPAND HFCABS\dxdllreg_x86.cab -F:* WORK\DX9EXTRA >NUL
  2222.     ECHO>>SOURCESS\I386\HFSLIPDY.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",110,,"%%11%%\dxdllreg.exe -PATCH"
  2223. )
  2224. IF EXIST HFCABS\*XACT_x86.cab FOR /F %%I IN ('DIR/B/A-D/ON HFCABS\*XACT_x86.cab') DO (
  2225.     EXPAND HFCABS\%%I -F:* WORK\DX9EXTRA >NUL
  2226.     IF EXIST WORK\DX9EXTRA\x3da* (XCOPY/DHY WORK\DX9EXTRA\x3da* WORK\DX9_X3DA >NUL&DEL/Q/F WORK\DX9EXTRA\x3da*)
  2227. )
  2228. IF EXIST HFCABS\*X3DAudio_x86.cab FOR /F %%I IN ('DIR/B/A-D/ON HFCABS\*X3DAudio_x86.cab') DO (
  2229.     EXPAND HFCABS\%%I -F:* WORK\DX9EXTRA >NUL
  2230.     XCOPY/DHY WORK\DX9EXTRA\x3da* WORK\DX9_X3DA >NUL&DEL/Q/F WORK\DX9EXTRA\x3da*
  2231. )
  2232. IF EXIST WORK\DX9EXTRA\d3dx10_* FOR /F "TOKENS=2* DELIMS=_" %%I IN ('DIR/B/A-D/ON WORK\DX9EXTRA\d3dx10_*.dll') DO (
  2233.     REN WORK\DX9EXTRA\d3dx10_%%I d3d10_%%I
  2234.     ECHO>>SOURCESS\I386\TXTSETUP.SIF d3d10_%%I = 1,,,,,,,2,0,0,d3dx10_%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,d3d10_%%I
  2235. )
  2236. IF EXIST WORK\DX9EXTRA\d3dcompiler* FOR /F "TOKENS=2* DELIMS=_" %%I IN ('DIR/B/A-D/ON WORK\DX9EXTRA\d3dcompiler*.dll') DO (
  2237.     REN WORK\DX9EXTRA\d3dcompiler_%%I d3dco_%%I
  2238.     ECHO>>SOURCESS\I386\TXTSETUP.SIF d3dco_%%I = 1,,,,,,,2,0,0,d3dcompiler_%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,d3dco_%%I
  2239. )
  2240. IF EXIST WORK\DX9EXTRA\d3dcsx* FOR /F "TOKENS=2* DELIMS=_" %%I IN ('DIR/B/A-D/ON WORK\DX9EXTRA\d3dcsx*.dll') DO (
  2241.    REN WORK\DX9EXTRA\d3dcsx_%%I d3dcsx_%%I
  2242.    ECHO>>SOURCESS\I386\TXTSETUP.SIF d3dcsx_%%I = 1,,,,,,,2,0,0,d3dcsx_%%I&ECHO>>SOURCESS\I386\DOSNET.INF d1,d3dcsx_%%I
  2243. )
  2244. IF EXIST WORK\DX9EXTRA\xinput9_1_0.dll (
  2245.     REN "WORK\DX9EXTRA\xinput9_1_0.dll" xinp1_0.dll
  2246.     ECHO>>SOURCESS\I386\TXTSETUP.SIF xinp1_0.dll = 1,,,,,,,2,0,0,xinput9_1_0.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,xinp1_0.dll
  2247. )
  2248. IF EXIST WORK\DX9EXTRA\xinput*.dll FOR /F "TOKENS=1,2* DELIMS=ut" %%I IN ('DIR/B/ON WORK\DX9EXTRA\xinput*.dll') DO (
  2249.     REN "WORK\DX9EXTRA\%%Iut%%J" %%I%%J
  2250.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I%%J = 1,,,,,,,2,0,0,%%Iut%%J&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I%%J
  2251. )
  2252. IF EXIST WORK\DX9EXTRA\xact*.dll FOR /F "TOKENS=1,2* DELIMS=gine" %%I IN ('DIR/B/ON WORK\DX9EXTRA\xact*.dll') DO (
  2253.     REN "WORK\DX9EXTRA\%%Iengine%%J" %%I%%J&ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I%%J = 1,,,,,,,2,0,0,%%Iengine%%J&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I%%J
  2254.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","!HFDX!",0,"%%11%%\regsvr32 /s """%%11%%\%%Iengine%%J""""
  2255.     SET /A HFDX=!HFDX!+1
  2256. )
  2257. IF EXIST WORK\DX9EXTRA\XAPOFX*.dll FOR /F "TOKENS=1,2 DELIMS=_" %%I IN ('DIR/B/ON/L WORK\DX9EXTRA\XAPOFX*.dll') DO (
  2258.     REN "WORK\DX9EXTRA\%%I_%%J" %%I%%J
  2259.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I%%J = 1,,,,,,,2,0,0,%%I_%%J&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I%%J
  2260. )
  2261. IF EXIST WORK\DX9EXTRA\XAudio*.dll FOR /F "TOKENS=1,2* DELIMS=io" %%I IN ('DIR/B/ON WORK\DX9EXTRA\XAudio*.dll') DO (
  2262.     REN "WORK\DX9EXTRA\%%Iio%%J" %%I%%J
  2263.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I%%J = 1,,,,,,,2,0,0,%%Iio%%J&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I%%J
  2264.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","!HFDX!",0,"%%11%%\regsvr32 /s """%%11%%\%%Iio%%J""""
  2265.     SET /A HFDX=!HFDX!+1
  2266. )
  2267. IF EXIST WORK\DX9EXTRA\*.inf DEL/Q/F WORK\DX9EXTRA\*.inf
  2268. IF EXIST WORK\DX9EXTRA\*.cat MOVE/Y WORK\DX9EXTRA\*.cat WORK\SVCPACK
  2269. IF EXIST WORK\DX9EXTRA\*.dll XCOPY/DHY WORK\DX9EXTRA WORK\I386E
  2270. IF EXIST WORK\DX9_X3DA\*.dll (
  2271.     IF EXIST WORK\DX9_X3DA\*.inf DEL/Q/F WORK\DX9_X3DA\*.inf
  2272.     IF EXIST WORK\DX9_X3DA\*.cat MOVE/Y WORK\DX9_X3DA\*.cat WORK\SVCPACK
  2273.     FOR /F "TOKENS=1,2,3* DELIMS=uo" %%I IN ('DIR/B/ON WORK\DX9_X3DA') DO (
  2274.         REN "WORK\DX9_X3DA\%%Iu%%Jo%%K" %%I%%K
  2275.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I%%K = 1,,,,,,,2,0,0,%%Iu%%Jo%%K&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I%%K
  2276.     )
  2277.     XCOPY/DHY WORK\DX9_X3DA WORK\I386E
  2278. )
  2279. GOTO :EOF
  2280. REM ======================================================================================
  2281.  
  2282. REM ======================POST HFX HANDLING===============================================
  2283. :POSTHFX
  2284. TITLE %T1% - Processing Hotfix Binaries
  2285. echo.&echo Processing Hotfix Binaries&echo.
  2286. FOR %%I IN (7 8 9) DO IF EXIST WORK\I386E\wmpcore%%I.dll DEL/Q/F WORK\I386E\wmpcore%%I.dll
  2287. IF EXIST WORK\SVCPACK\EMPTY.CAT DEL/Q/F WORK\SVCPACK\EMPTY.CAT
  2288. IF EXIST WORK\SVCPACK\DUMMY.CAT DEL/Q/F WORK\SVCPACK\DUMMY.CAT
  2289. IF EXIST WORK\SVCPACK\*_ME.CAT DEL/Q/F WORK\SVCPACK\*_ME.CAT
  2290. IF EXIST WORK\I386E\W95INF*.DLL DEL/Q/F WORK\I386E\W95INF*.DLL
  2291. IF EXIST WORK\I386E\IECUSTOM.DLL DEL/Q/F WORK\I386E\IECUSTOM.DLL
  2292. IF EXIST WORK\I386E\*UNINSTALL.DLL DEL/Q/F WORK\I386E\*UNINSTALL.DLL
  2293. IF EXIST WORK\I386E\UPDCUSTOM.DLL DEL/Q/F WORK\I386E\UPDCUSTOM.DLL
  2294. IF EXIST WORK\I386E\EULA.TXT DEL/Q/F WORK\I386E\EULA.TXT
  2295. IF EXIST WORK\I386E\xpsp1hfm.exe DEL/Q/F WORK\I386E\xpsp1hfm.exe
  2296. IF EXIST WORK\I386E\spad0*.chm DEL/Q/F WORK\I386E\spad0*.chm
  2297. IF EXIST WORK\I386E\DAHOTFIX.* DEL/Q/F WORK\I386E\DAHOTFIX.*
  2298. IF EXIST WORK\I386E\DASETUP.* DEL/Q/F WORK\I386E\DASETUP.*
  2299. IF EXIST WORK\I386E\cstupd*.dll DEL/Q/F WORK\I386E\cstupd*.dll
  2300. IF EXIST WORK\I386E\fsdkreboot.exe DEL/Q/F WORK\I386E\fsdkreboot.exe
  2301. IF EXIST WORK\I386E\sprecovr.exe DEL/Q/F WORK\I386E\sprecovr.exe
  2302. IF EXIST WORK\I386E\*description.xml DEL/Q/F WORK\I386E\*description.xml
  2303. IF EXIST WORK\I386E\*_custom.dll DEL/Q/F WORK\I386E\*_custom.dll
  2304. IF EXIST WORK\I386E\kb*rg.inf DEL/Q/F WORK\I386E\kb*rg.inf
  2305. IF EXIST WORK\I386E\mrtstub.exe DEL/Q/F WORK\I386E\mrtstub.exe
  2306. IF EXIST WORK\I386E\ftpsvc2.dll REN WORK\I386E\ftpsvc2.dll ftpsv251.dll
  2307. IF EXIST WORK\RENAME.CMD CALL WORK\RENAME.CMD
  2308. IF "%VERSION%"=="2000" (CALL :POSTHANDLING_2K) ELSE (
  2309.     IF EXIST WORK\I386E\tscupdc.dll IF NOT EXIST SOURCE\I386\lhmstsc.ex* (
  2310.     SET TXTDIR05=1&SET TXTDIR35=1
  2311.     IF NOT DEFINED MUICD FOR /F "TOKENS=2 DELIMS==" %%I IN ('FINDSTR/BI "LH_TSC_LANGDIR" WORK\I386E\lhtsc.inf') DO SET MUICD=%%~I
  2312.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","TSClientMSIUninstaller",,"CMD /C ""cscript %%SYSTEMROOT%%\Installer\TSClientMsiTrans\tscuinst.vbs"""
  2313.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","TSCSH",0,"%%11%%\rundll32 %%10%%\HFSLIP\tscupdc.dll,ProcessShortcuts %%11%%\!MUICD!\mstsc.exe.mui"
  2314.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\lhmstsc.exe %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\mstsc.exe
  2315.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\mstsc.exe
  2316.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\lhmstsc.exe mstsc.exe
  2317.     ECHO>>SOURCESS\I386\TXTSETUP.SIF tscupdc.dll = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,tscupdc.dll
  2318.     ECHO>>SOURCESS\I386\TXTSETUP.SIF aaclient.mui = 1,,,,,,,1005,0,0,aaclient.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,aaclient.mui
  2319.     ECHO>>SOURCESS\I386\TXTSETUP.SIF lhmstsc.mui = 1,,,,,,,1005,0,0,mstsc.exe.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,lhmstsc.mui
  2320.     ECHO>>SOURCESS\I386\TXTSETUP.SIF lhmstscx.mui = 1,,,,,,,1005,0,0,mstscax.dll.mui&ECHO>>SOURCESS\I386\DOSNET.INF d1,lhmstscx.mui
  2321.     ECHO>>SOURCESS\I386\TXTSETUP.SIF tscinst.vbs = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,tscinst.vbs
  2322.     ECHO>>SOURCESS\I386\TXTSETUP.SIF tscuinst.vbs = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,tscuinst.vbs
  2323.     ECHO>>SOURCESS\I386\TXTSETUP.SIF w2k3rd.mst = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,w2k3rd.mst
  2324.     ECHO>>SOURCESS\I386\TXTSETUP.SIF w2k3s1rd.mst = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,w2k3s1rd.mst
  2325.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wxprd.mst = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,wxprd.mst
  2326.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wxpsp1rd.mst = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,wxpsp1rd.mst
  2327.     ECHO>>SOURCESS\I386\TXTSETUP.SIF wxpsp2rd.mst = 1,,,,,,,1035,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,wxpsp2rd.mst
  2328.     REN WORK\I386E\lhmstscx.dll mstscax.dll
  2329.     )
  2330.     IF EXIST WORK\I386E\polprocl.mof (
  2331.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {376B771D-8C14-4AFF-874B-677C3423F8F8} /quiet
  2332.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {5A01A639-CF6C-441D-9EF3-B59C4375FF87} /quiet
  2333.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {337240B1-42C2-4384-AAFF-D347A6D2CC5E} /quiet
  2334.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {362C838B-54FF-4197-847B-8927FF1742EE} /quiet
  2335.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {E606D790-404B-46F7-8DE6-C1FAE06CAC67} /quiet
  2336.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {4583EB96-6167-4B87-8F0E-A12A128B3EB0} /quiet
  2337.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {200B6216-5FA0-4DAA-BC41-500CE1ADCF97} /quiet
  2338.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {B01ED954-EB4F-401F-9CDE-98895FE6F367} /quiet
  2339.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {2765750D-7888-4D77-AD27-A71EC00AFF53} /quiet
  2340.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT MSIEXEC /x {D787C24E-809D-4C48-BF53-EC5C76689A13} /quiet
  2341.     ECHO>>WORK\HFSLIPCMDP1.TXT START/WAIT %%SYSTEMROOT%%\system32\wbem\mofcomp.exe %%SYSTEMROOT%%\system32\wbem\polprocl.mof
  2342.     )
  2343.     IF "%VERSION%"=="XP" (CALL :POSTHANDLING_XP) ELSE (CALL :POSTHANDLING_2K3)
  2344. )
  2345. IF EXIST WORK\I386E\spuninst.exe DEL/Q/F WORK\I386E\spuninst.exe
  2346. IF EXIST WORK\I386E\spupdsvc.exe DEL/Q/F WORK\I386E\spupdsvc.exe
  2347. IF EXIST WORK\I386E\hscupd.cmd MOVE WORK\I386E\hscupd.cmd WORK >NUL&MOVE WORK\I386E\hscupd.cab SOURCESS\I386 >NUL
  2348. IF EXIST WORK\I386E\capicom*.msi FOR /F %%I IN ('DIR/B WORK\I386E\capicom*.msi') DO (
  2349.     XCOPY/DY WORK\I386E\%%I HFSVCPACK_SW1 >NUL&ECHO>>WORK\FILESTODEL.TXT HFSVCPACK_SW1\%%I&DEL/Q/F WORK\I386E\%%I
  2350. )
  2351. IF EXIST WORK\I386E\msi3*.dll (
  2352.     IF NOT EXIST WORK\I386E\msi.dll (MOVE/Y WORK\I386E\msi3*.dll WORK\I386E\msi.dll >NUL) ELSE (
  2353.         XCOPY/DY WORK\I386E\msi3*.dll WORK\I386E\msi.dll >NUL&DEL/Q/F WORK\I386E\msi3*.dll
  2354.     )
  2355. )
  2356. IF EXIST WORK\I386E\LegitCheckControl.dll (
  2357.     REN "WORK\I386E\LegitCheckControl.dll" LCC.dll
  2358.     ECHO>>SOURCESS\I386\TXTSETUP.SIF LCC.dll = 1,,,,,,,2,0,0,LegitCheckControl.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,LCC.dll
  2359. )
  2360. IF EXIST WORK\I386E\OGACheckControl.dll (
  2361.     REN "WORK\I386E\OGACheckControl.dll" OGA.dll
  2362.     ECHO>>SOURCESS\I386\TXTSETUP.SIF OGA.dll = 1,,,,,,,2,0,0,OGACheckControl.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,OGA.dll
  2363. )
  2364. IF EXIST WORK\I386E\MicrosoftUpdateCatalogWebControl.dll (
  2365.     REN "WORK\I386E\MicrosoftUpdateCatalogWebControl.dll" MUCtlgWC.dll
  2366.     ECHO>>SOURCESS\I386\TXTSETUP.SIF MUCtlgWC.dll = 1,,,,,,,2,0,0,MicrosoftUpdateCatalogWebControl.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,MUCtlgWC.dll
  2367. )
  2368. IF EXIST WORK\I386E\easycdblock.inf (
  2369.     SET /A HFSLP=!HFSLP!+1
  2370.     REN "WORK\I386E\easycdblock.inf" ezcdblck.inf >NUL
  2371.     ECHO>>SOURCESS\I386\TXTSETUP.SIF ezcdblck.inf = 1,,,,,,,20,0,0,easycdblock.inf&ECHO>>SOURCESS\I386\DOSNET.INF d1,ezcdblck.inf
  2372.     ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZA","!HFSLP!",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%17%%\easycdblock.inf,EZCDBlockInstall"
  2373. )
  2374. IF EXIST WORK\I386E\acadproc.dll ECHO>>SOURCESS\I386\TXTSETUP.SIF acadproc.dll = 1,,,,,,,60,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,acadproc.dll
  2375. IF EXIST WORK\I386E\bits*.exe IF EXIST WORK\I386E\qmgr.dll (
  2376.     COPY WORK\I386E\qmgr.dll WORK\I386E\qmgr2.dll >NUL
  2377.     SET TXTDIR07=1&ECHO>>SOURCESS\I386\TXTSETUP.SIF qmgr2.dll = 1,,,,,,,1007,0,0,qmgr.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,qmgr2.dll
  2378. )
  2379. IF EXIST WORK\I386E\custsat.dll IF NOT EXIST SOURCE\I386\CUSTSAT.DL_ (
  2380.     ECHO>>SOURCESS\I386\TXTSETUP.SIF custsat.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,custsat.dll
  2381. )
  2382. IF EXIST HFCABS\MUWEB*.CAB (
  2383.     ECHO>>WORK\ADDLNK.TXT setup.ini,progman.groups,,"SMRoot=""..\"""
  2384.     ECHO>>WORK\ADDLNK.TXT setup.ini,SMRoot,,"""Microsoft Update"",""%%11%%\rundll32.exe %%11%%\muweb.dll,LaunchMUSite"",""%%11%%\muweb.dll"",0,,"%%11%%""
  2385.     IF EXIST HFCABS\MUAuth.cab (
  2386.     MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX HFCABS\MUAuth.cab /L SOURCESS\I386 >NUL
  2387.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Policies\Microsoft\Internet Explorer","Windows Update Menu Text",0,"Microsoft Update"
  2388.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services","DefaultService",0,"7971f918-a847-4430-9279-4a52d1efe18d"
  2389.     ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971f918-a847-4430-9279-4a52d1efe18d","AuthorizationCab",0,"muauth.cab"
  2390.     ECHO>>SOURCESS\I386\TXTSETUP.SIF MUAuth.cab = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,MUAuth.cab
  2391.     ECHO>>WORK\HFSSDF.TXT MUAuth.cab=1&ECHO>>WORK\HFS_SOFTDIST.TXT AuthCabs\7971f918-a847-4430-9279-4a52d1efe18d\MUAuth.cab,MUAuth.cab
  2392.     )
  2393. )
  2394. IF EXIST WORK\I386E\updroots.exe (
  2395.     REN WORK\I386E\authroots.sst authroot.sst
  2396.     ECHO>>SOURCESS\I386\TXTSETUP.SIF authroot.sst = 1,,,,,,,998,0,0,authroots.sst&ECHO>>SOURCESS\I386\DOSNET.INF d1,authroot.sst
  2397.     ECHO>>SOURCESS\I386\TXTSETUP.SIF delroots.sst = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,delroots.sst
  2398.     ECHO>>SOURCESS\I386\TXTSETUP.SIF roots.sst = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,roots.sst
  2399.     ECHO>>SOURCESS\I386\TXTSETUP.SIF updroots.exe = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,updroots.exe
  2400.     ECHO>>SOURCESS\I386\TXTSETUP.SIF updroots.sst = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,updroots.sst
  2401.     ECHO>>WORK\HFSLIPCMDP1.TXT %%SYSTEMROOT%%\HFSLIP\updroots.exe %%SYSTEMROOT%%\HFSLIP\authroots.sst
  2402.     ECHO>>WORK\HFSLIPCMDP1.TXT %%SYSTEMROOT%%\HFSLIP\updroots.exe %%SYSTEMROOT%%\HFSLIP\updroots.sst
  2403.     ECHO>>WORK\HFSLIPCMDP1.TXT %%SYSTEMROOT%%\HFSLIP\updroots.exe -l %%SYSTEMROOT%%\HFSLIP\roots.sst
  2404.     ECHO>>WORK\HFSLIPCMDP1.TXT %%SYSTEMROOT%%\HFSLIP\updroots.exe -d %%SYSTEMROOT%%\HFSLIP\delroots.sst
  2405. )
  2406. :: ADDREG
  2407. ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\GdiDetectionTool","GDITool",0x10001,1
  2408. SET SFTACTX=HKLM,"SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility
  2409. IF "%HFDEEP%"=="1" CALL :POSTHANDLING_DEEP
  2410. IF NOT DEFINED IE7EXE (
  2411.     IF NOT DEFINED 890046KILLBIT ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}","Compatibility Flags",0x10001,0x400
  2412. ) ELSE (
  2413.     ::MUWEB-MUCATWEB-OPUC-OFFICE11-OFFICE12
  2414.     ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{6E32070A-766D-4EE6-879C-DC1FA91D2FC3}\iexplore","Flags",0x10001,4
  2415.     ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{5AE58FCF-6F6A-49B2-B064-02492C66E3F4}\iexplore","Flags",0x10001,4
  2416.     ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{C7DB51B4-BCF7-4923-8874-7F1A0DC92277}\iexplore","Flags",0x10001,4
  2417.     ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{4453D895-F2A1-4A38-A285-1EF9BD3F6D5D}\iexplore","Flags",0x10001,4
  2418.     ECHO>>WORK\HFREGWU.TXT HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{C9712B19-838B-45A5-ABF2-9A315DDDED50}\iexplore","Flags",0x10001,4
  2419. )
  2420. IF /I NOT "%NoKillBits%"=="YES" (
  2421.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{22FD7C0A-850C-4A53-9821-0B0915C96139}","Compatibility Flags",0x10001,0x400
  2422.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{314111B8-A502-11D2-BBCA-00C04F8EC294}","Compatibility Flags",0x10001,0x400
  2423.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{314111C6-A502-11D2-BBCA-00C04F8EC294}","Compatibility Flags",0x10001,0x400
  2424.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{5F810AFC-BB5F-4416-BE63-E01DD117BD6C}","Compatibility Flags",0x10001,0x400
  2425.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{3BEE4890-4FE9-4A37-8C1E-5E7E12791C1F}","Compatibility Flags",0x10001,0x400
  2426.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{40F23EB7-B397-4285-8F3C-AACE4FA40309}","Compatibility Flags",0x10001,0x400
  2427.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{47206204-5ECA-11D2-960F-00C04F8EE628}","Compatibility Flags",0x10001,0x400
  2428.     ECHO>>WORK\HFREGWU.TXT %SFTACTX%\{0002E510-0000-0000-C000-000000000046}","Compatibility Flags",0x10001,0x400
  2429.  
  2430. )
  2431. :: NEW BINARIES
  2432. FOR /F "TOKENS=1 DELIMS==    " %%I IN ('FINDSTR ",,," SOURCESS\I386\TXTSETUP.SIF') DO ECHO>>WORK\FULLSRC.TXT %%I
  2433. FINDSTR/BIR "[^=]*\." SOURCE\I386\DRVINDEX.INF>>WORK\DRV.TXT
  2434. TYPE WORK\DRV.TXT>>WORK\FULLSRC.TXT
  2435. IF NOT "%VERSION%"=="2000" (
  2436.     ECHO>>WORK\FULLSRC.TXT unattend.txt&ECHO>>WORK\FULLSRC.TXT usetup.exe&ECHO>>WORK\FULLSRC.TXT winnt32.exe
  2437.     ECHO>>WORK\FULLSRC.TXT winnt32u.dll&ECHO>>WORK\FULLSRC.TXT winnt32.hlp&ECHO>>WORK\FULLSRC.TXT dosnet.inf
  2438.     ECHO>>WORK\FULLSRC.TXT setupacc.txt&ECHO>>WORK\FULLSRC.TXT winnt32.msi&ECHO>>WORK\FULLSRC.TXT winnt32i.msi
  2439.     ECHO>>WORK\FULLSRC.TXT bootfix.bin&ECHO>>WORK\FULLSRC.TXT setupldr.bin&ECHO>>WORK\FULLSRC.TXT winnt.exe
  2440.     ECHO>>WORK\FULLSRC.TXT winnt32a.dll&ECHO>>WORK\FULLSRC.TXT hwcomp.dat&ECHO>>WORK\FULLSRC.TXT filelist.dat
  2441.     ECHO>>WORK\FULLSRC.TXT setupldr.exe&ECHO>>WORK\FULLSRC.TXT startrom.com&ECHO>>WORK\FULLSRC.TXT startrom.n12
  2442.     ECHO>>WORK\FULLSRC.TXT oschoice.exe&ECHO>>WORK\FULLSRC.TXT ristndrd.sif&ECHO>>WORK\FULLSRC.TXT rinorprt.sif
  2443.     ECHO>>WORK\FULLSRC.TXT osc.cab&ECHO>>WORK\FULLSRC.TXT dbg.exe&ECHO>>WORK\FULLSRC.TXT mdmssys.inf
  2444.     ECHO>>WORK\FULLSRC.TXT comsdupd.exe&ECHO>>WORK\FULLSRC.TXT faxpatch.exe&ECHO>>WORK\FULLSRC.TXT HWDB.DLL
  2445.     ECHO>>WORK\FULLSRC.TXT scripto.dll&ECHO>>WORK\FULLSRC.TXT RUNW32.BAT&ECHO>>WORK\FULLSRC.TXT SYSPARSE.EXE
  2446.     ECHO>>WORK\FULLSRC.TXT WINNTBBA.DLL&ECHO>>WORK\FULLSRC.TXT WSDU.DLL&ECHO>>WORK\FULLSRC.TXT WSDUENG.DLL
  2447.     ECHO>>WORK\FULLSRC.TXT tscupdc.dll
  2448. )
  2449. DIR/B/A-D WORK\I386E>WORK\NSFALL.TXT
  2450. FINDSTR/VIB /G:WORK\FULLSRC.TXT WORK\NSFALL.TXT>WORK\NSFALLt.TXT
  2451. FINDSTR/VIR "bitsinst\.exe ris\.vbs \.xml" WORK\NSFALLt.TXT>WORK\NSFALL1.TXT
  2452. FOR /F %%I IN (WORK\NSFALL1.TXT) DO ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  2453. FOR /F %%I IN ('FINDSTR/VIER "\.SYS \.INF \.ADM \.CHM \.CHQ \.TTF \.HTT \.HLP \.MFL \.MOF" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,2,0,0
  2454. FOR /F %%I IN ('FINDSTR/IER "\.SYS" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,4,0,0
  2455. FOR /F %%I IN ('FINDSTR/IER "\.INF \.ADM" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,20,0,0
  2456. FOR /F %%I IN ('FINDSTR/IER "\.CHM \.CHQ \.HLP" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,21,0,0
  2457. FOR /F %%I IN ('FINDSTR/IER "\.TTF" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,22,0,0
  2458. FOR /F %%I IN ('FINDSTR/IER "\.HTT" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,31,0,0
  2459. FOR /F %%I IN ('FINDSTR/IER "\.MFL \.MOF" WORK\NSFALL1.TXT') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,35,0,0
  2460. IF EXIST WORK\NSFREGt.TXT FINDSTR/VIB /G:WORK\FULLSRC.TXT WORK\NSFREGt.TXT>WORK\NSFREGt1.TXT
  2461. FINDSTR/IR "\.AX \.ACM \.OCX msxml.\.dll" WORK\NSFALL1.TXT>>WORK\NSFREG0.TXT
  2462. FOR /F %%I IN (WORK\NSFREG0.TXT) DO SET NSFREG0=1
  2463. IF NOT DEFINED NSFREG0 IF NOT EXIST WORK\NSFREGt1.TXT GOTO :EOF
  2464. IF EXIST WORK\NSFREGt1.TXT (
  2465.     IF NOT DEFINED NSFREG0 (TYPE WORK\NSFREGt1.TXT>>WORK\NSFREG0.TXT) ELSE (
  2466.         FINDSTR/VIB /G:WORK\NSFREG0.TXT WORK\NSFREGt1.TXT>WORK\NSFREGt2.TXT&TYPE WORK\NSFREGt2.TXT>>WORK\NSFREG0.TXT
  2467.     )
  2468. )
  2469. ECHO>>WORK\NSFREGNOT.TXT asferror.dll&ECHO>>WORK\NSFREGNOT.TXT wmpcd.dll&ECHO>>WORK\NSFREGNOT.TXT wmpcore.dll&ECHO>>WORK\NSFREGNOT.TXT wmploc.DLL
  2470. ECHO>>WORK\NSFREGNOT.TXT WdfApi.dll&ECHO>>WORK\NSFREGNOT.TXT wmerror.dll&ECHO>>WORK\NSFREGNOT.TXT msdmo.dll&ECHO>>WORK\NSFREGNOT.TXT wmidx.dll
  2471. ECHO>>WORK\NSFREGNOT.TXT wpdmtpdr.dll&ECHO>>WORK\NSFREGNOT.TXT wpdtrace.dll&ECHO>>WORK\NSFREGNOT.TXT wpd_ci.dll&ECHO>>WORK\NSFREGNOT.TXT mcwmadrm.dll
  2472. ECHO>>WORK\NSFREGNOT.TXT sncmaud.dll&ECHO>>WORK\NSFREGNOT.TXT sncmsplt.dll&ECHO>>WORK\NSFREGNOT.TXT wpdshextres.dll
  2473. ECHO>>WORK\NSFREGNOT.TXT npdrmv2.dll&ECHO>>WORK\NSFREGNOT.TXT WMPidGen.dll&ECHO>>WORK\NSFREGNOT.TXT wmpns.dll&ECHO>>WORK\NSFREGNOT.TXT mpvis.dll
  2474. ECHO>>WORK\NSFREGNOT.TXT rsl.dll&ECHO>>WORK\NSFREGNOT.TXT wmpband.dll&ECHO>>WORK\NSFREGNOT.TXT msnp.ax
  2475. ECHO>>WORK\NSFREGNOT.TXT WUDFCoinstaller.dll&ECHO>>WORK\NSFREGNOT.TXT WudfPlatform.dll
  2476. ECHO>>WORK\NSFREGNOT.TXT custsat.dll&ECHO>>WORK\NSFREGNOT.TXT legitlibm.dll&ECHO>>WORK\NSFREGNOT.TXT spmsg.dll
  2477. FINDSTR/VIB /G:WORK\NSFREGNOT.TXT WORK\NSFREG0.TXT>WORK\NSFREG.TXT
  2478. FOR /F %%I IN (WORK\NSFREG.TXT) DO SET NSFREG=1
  2479. IF NOT DEFINED NSFREG GOTO :EOF
  2480. SET HFSLP=200
  2481. FOR /F %%I IN (WORK\NSFREG.TXT) DO (
  2482.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZB","!HFSLP!",0,"%%11%%\regsvr32 /s """%%11%%\%%I""""
  2483.     SET /A HFSLP=!HFSLP!+1
  2484. )
  2485. GOTO :EOF
  2486. REM ======================================================================================
  2487.  
  2488. REM ======================POST HFX HANDLING (SUBSECTIONS)=================================
  2489. :POSTHANDLING_2K
  2490. IF EXIST WORK\I386E\WMS (
  2491.     IF EXIST SOURCE\I386\WMS4.CAB (
  2492.     ECHO.&ECHO Updating WMS4.CAB&ECHO Please wait
  2493.     MD WORK\WMS&EXPAND SOURCE\I386\WMS4.CAB -F:* WORK\WMS >NUL&XCOPY/DY WORK\I386E\WMS WORK\WMS >NUL
  2494.     CALL :UNICAB1&ECHO>>UC.DDF .Set CabinetNameTemplate=WMS4.CAB&ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  2495.     FOR /F %%I IN ('DIR/B/ON WORK\WMS') DO ECHO>>UC.DDF WORK\WMS\%%I
  2496.     CALL :UNICAB2
  2497.     )
  2498.     RD/Q/S WORK\I386E\WMS
  2499. )
  2500. IF EXIST HF\*891861*.EXE IF EXIST WORK\I386E\nscm.exe (
  2501.     SET TXTDIR01=1&SET TXTDIR02=1
  2502.     ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Updates\DataAccess\Q832483","ProductVersion",0,"2.53.6200.1"
  2503.     ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Control\HAL","14140000FFFFFFFF",0x10001,16
  2504.     ECHO>>SOURCESS\I386\TXTSETUP.SIF nscm.exe = 1,,,,,,,1001,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,nscm.exe
  2505.     ECHO>>SOURCESS\I386\TXTSETUP.SIF nsiislog.dll = 1,,,,,,,1001,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,nsiislog.dll
  2506.     ECHO>>SOURCESS\I386\TXTSETUP.SIF nsisapi.exe = 1,,,,,,,1001,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,nsisapi.exe
  2507.     ECHO>>SOURCESS\I386\TXTSETUP.SIF nspmon.exe = 1,,,,,,,1001,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,nspmon.exe
  2508.     ECHO>>SOURCESS\I386\TXTSETUP.SIF netmon.exe = 1,,,,,,,1002,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,netmon.exe
  2509.     ECHO>>WORK\HFSLPGUI.TXT %%WINDIR%%\system32\secedit.exe /configure /cfg %%WINDIR%%\inf\hfsecper.inf /db %%WINDIR%%\security\templates\hfsecper.sdb /log %%WINDIR%%\security\logs\hfsecper.log
  2510.     ECHO>>WORK\HFSLPGUI.TXT %%WINDIR%%\system32\secedit.exe /configure /cfg %%WINDIR%%\inf\hfsecupd.inf /db %%WINDIR%%\security\templates\hfsecupd.sdb /log %%WINDIR%%\security\logs\hfsecupd.log
  2511. )
  2512. IF EXIST WORK\I386E\dw15.exe (
  2513.     ECHO>>WORK\HFSSDF.TXT dw15.exe=1&ECHO>>SOURCESS\I386\TXTSETUP.SIF dw15.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,dw15.exe
  2514. )
  2515. IF DEFINED DWINTLREN (
  2516.     IF %SP% LSS 5 IF "%VERSIONIE%"=="2KIE6" IF NOT EXIST HFCLEANUP\ZZ_TommyP_IEGARBAGE.* (
  2517.     COPY WORK\I386E\dwintl.dll WORK\I386E\dwil%LCIDD%.dll >NUL&ECHO>>WORK\HFSSDF.TXT dwil%LCIDD%.dll=1
  2518.     ECHO>>SOURCESS\I386\TXTSETUP.SIF dwil%LCIDD%.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,dwil%LCIDD%.dll
  2519.     )
  2520.     IF DEFINED WMLNG IF NOT EXIST WORK\I386E\dwil%WMLNG%.dll (
  2521.     COPY WORK\I386E\dwintl.dll WORK\I386E\dwil%WMLNG%.dll >NUL&ECHO>>WORK\HFSSDF.TXT dwil%WMLNG%.dll=1
  2522.     ECHO>>SOURCESS\I386\TXTSETUP.SIF dwil%WMLNG%.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,dwil%WMLNG%.dll
  2523.     )
  2524.     IF NOT "%LCIDD%"=="1031" DEL/Q/F WORK\I386E\dwintl.dll
  2525. )
  2526. IF EXIST WORK\I386E\rdpwd.sys IF NOT "%SERVER%"=="SERVER" DEL/Q/F WORK\I386E\rdpwd.sys
  2527. IF "%VERSIONIE%"=="2KIE6" IF EXIST WORK\I386E\danim.dll (
  2528.     REN WORK\I386E\danim.dll danim2.dll
  2529.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\danim.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\danim.dll
  2530.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\danim2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\danim.dll
  2531.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\danim.dll
  2532.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\danim2.dll danim.dll
  2533. )
  2534. IF NOT "%LNG%"=="ENU" IF EXIST WORK\I386E\webvw.dll (
  2535.     REN WORK\I386E\webvw.dll webvw2.dll
  2536.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\WEBVW.DLL DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\webvw.dll
  2537.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\webvw2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\webvw.dll
  2538.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\webvw.dll
  2539.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\webvw2.dll webvw.dll
  2540. )
  2541. IF NOT "%V3%"=="Server" (
  2542.     :: ROLLUP FILES FOR ADV AND DTC ONLY; EXCLUDE PRO AND SVR
  2543.     IF EXIST WORK\I386E\cluscfg.exe DEL/Q/F WORK\I386E\cluscfg.exe
  2544.     IF EXIST WORK\I386E\clussvc.exe DEL/Q/F WORK\I386E\clussvc.exe
  2545.     IF EXIST WORK\I386E\cluster.inf DEL/Q/F WORK\I386E\cluster.inf
  2546.     IF EXIST WORK\I386E\mqclus.dll DEL/Q/F WORK\I386E\mqclus.dll
  2547. )
  2548. IF EXIST WORK\I386E\nntp* (
  2549.     :: ROLLUP FILES FOR SERVERS ONLY; EXCLUDE PRO
  2550.     IF NOT "%SERVER%"=="SERVER" (DEL/Q/F WORK\I386E\nntp*) ELSE (
  2551.     ECHO.&ECHO Updating INS.CAB&ECHO Please wait
  2552.     MD WORK\SVRINS&EXPAND SOURCE\I386\INS.CAB -F:* WORK\SVRINS >NUL
  2553.     FOR /F %%I IN ('DIR/B WORK\I386E\nntp*') DO REN WORK\I386E\%%I "nntp_%%I"
  2554.     FOR /F %%I IN ('DIR/B WORK\I386E\nntp_*') DO XCOPY/DYQ WORK\I386E\%%I WORK\SVRINS >NUL
  2555.     CALL :UNICAB1&ECHO>>UC.DDF .Set CabinetNameTemplate=INS.CAB&ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  2556.     FOR /F %%I IN ('DIR/B/ON WORK\SVRINS') DO ECHO>>UC.DDF WORK\SVRINS\%%I
  2557.     CALL :UNICAB2&DEL/Q/F WORK\I386E\nntp_*
  2558.     )
  2559. )
  2560. IF EXIST WORK\SVCPACK\*911280* IF EXIST SOURCE\SUPPORT\TOOLS\SUPPORT.CAB (MD WORK\SUPPCABNEW&MOVE/Y WORK\I386E\netdiag.exe WORK\SUPPCABNEW)
  2561. GOTO :EOF
  2562.  
  2563. :POSTHANDLING_XP
  2564. IF EXIST WORK\I386E\bthport.sys (
  2565.     ECHO>>WORK\HFSLIPCMDP1.TXT IF NOT EXIST %%SYSTEMROOT%%\system32\drivers\bthport.sys IF EXIST "%%HFSLIP%%bthport.sy_" ^(
  2566.     ECHO>>WORK\HFSLIPCMDP1.TXT  EXPAND -R "%%HFSLIP%%bthport.sy_" %%SYSTEMROOT%%\system32\drivers
  2567.     ECHO>>WORK\HFSLIPCMDP1.TXT ^)
  2568. )
  2569. IF NOT "%OSLEVEL%"=="23" (
  2570.     IF EXIST WORK\I386E\lhmstsc.chm REN WORK\I386E\lhmstsc.chm mstsc.chm
  2571.     IF EXIST WORK\I386E\lhrdesk.chm REN WORK\I386E\lhrdesk.chm rdsktpw.chm
  2572. )
  2573. IF %SP% GEQ 3 SET 890046KILLBIT=1
  2574. IF %SP% GEQ 2 (
  2575.     IF EXIST HFCABS\Legit*.cab ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ext\CLSID","{17492023-C23A-453E-A040-C7C580BBF700}",,"1"
  2576. ) ELSE (
  2577.     IF EXIST HF\*833987*.exe ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB833987","Type",0,"Update"
  2578.     ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults","shell",0x10001,0
  2579.     IF EXIST WORK\I386E\bitsinst.exe (
  2580.     ECHO>>SOURCESS\I386\TXTSETUP.SIF bitsinst.exe = 1,,,,,,,2,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,bitsinst.exe
  2581.     ECHO>>WORK\ROROEWU.TXT ;BITS&ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZxpsp1","bitsupdate",0,"CMD /C """%%SYSTEMROOT%%\SYSTEM32\bitsinst.exe /setbackupfilter""""
  2582.     )
  2583.     IF EXIST WORK\I386E\sql*20.dll (
  2584.     ECHO>>WORK\TXTNTDIR.TXT 181 = PeerNet
  2585.     FOR /F %%I IN ('DIR/B WORK\I386E\sql*20.dll') DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,181,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  2586.     )
  2587. )
  2588. IF EXIST WORK\SVCPACK\*896344* (
  2589.     ECHO>>SOURCESS\I386\TXTSETUP.SIF archvapp.inf = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,archvapp.inf
  2590.     ECHO>>SOURCESS\I386\TXTSETUP.SIF cobramsg.dll = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,cobramsg.dll
  2591.     ECHO>>SOURCESS\I386\TXTSETUP.SIF guitrna.dll = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,guitrna.dll
  2592.     ECHO>>SOURCESS\I386\TXTSETUP.SIF migisma.dll = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,migisma.dll
  2593.     ECHO>>SOURCESS\I386\TXTSETUP.SIF migwiza.exe = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,migwiza.exe
  2594.     ECHO>>SOURCESS\I386\TXTSETUP.SIF scripta.dll = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,scripta.dll
  2595.     ECHO>>SOURCESS\I386\TXTSETUP.SIF sysmoda.dll = 1,,,,,,,111,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,sysmoda.dll
  2596. )
  2597. IF DEFINED TXTDIR00 (
  2598.     COPY WORK\I386E\spmsg.dll WORK\I386E\spmsg.ref >NUL&REN WORK\I386E\spuninst.exe spuninst.ref&REN WORK\I386E\spupdsvc.exe spupdsvc.ref
  2599.     ECHO>>SOURCESS\I386\TXTSETUP.SIF spcustom.ref = 1,,,,,,,1000,0,0,spcustom.dll.ref&ECHO>>SOURCESS\I386\DOSNET.INF d1,spcustom.ref
  2600.     ECHO>>SOURCESS\I386\TXTSETUP.SIF spmsg.ref = 1,,,,,,,1000,0,0,spmsg.dll.ref&ECHO>>SOURCESS\I386\DOSNET.INF d1,spmsg.ref
  2601.     ECHO>>SOURCESS\I386\TXTSETUP.SIF spuninst.ref = 1,,,,,,,1000,0,0,spuninst.exe.ref&ECHO>>SOURCESS\I386\DOSNET.INF d1,spuninst.ref
  2602.     ECHO>>SOURCESS\I386\TXTSETUP.SIF spupdsvc.ref = 1,,,,,,,1000,0,0,spupdsvc.exe.ref&ECHO>>SOURCESS\I386\DOSNET.INF d1,spupdsvc.ref
  2603.     ECHO>>SOURCESS\I386\TXTSETUP.SIF update.ref = 1,,,,,,,1000,0,0,update.exe.ref&ECHO>>SOURCESS\I386\DOSNET.INF d1,update.ref
  2604.     ECHO>>SOURCESS\I386\TXTSETUP.SIF updspapi.ref = 1,,,,,,,1000,0,0,updspapi.dll.ref&ECHO>>SOURCESS\I386\DOSNET.INF d1,updspapi.ref
  2605. )
  2606. IF DEFINED TXTDIR06 (
  2607.     REN WORK\I386E\plutilsmanaged.dll plutmngd.dll&REN WORK\I386E\plcertmgrmanaged.dll plcmmngd.dll
  2608.     ECHO>>SOURCESS\I386\TXTSETUP.SIF plutmngd.dll = 1,,,,,,,2,0,0,plutilsmanaged.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,plutmngd.dll
  2609.     ECHO>>SOURCESS\I386\TXTSETUP.SIF plcmmngd.dll = 1,,,,,,,2,0,0,plcertmgrmanaged.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,plcmmngd.dll
  2610.     FOR /F "TOKENS=1 DELIMS=." %%I IN ('DIR/B WORK\I386E\pl*.resources.dll') DO (
  2611.     REN WORK\I386E\%%I.resources.dll %%I.res
  2612.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I.res = 1,,,,,,,1006,0,0,%%I.resources.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I.res
  2613.     )
  2614. )
  2615. IF EXIST WORK\I386E\xpnetdg.exe (
  2616.     SET TXTDIR30=1&SET CUSTSATSDF=1
  2617.     ECHO>>SOURCESS\I386\TXTSETUP.SIF xpnetdg.exe = 1,,,,,,,1030,0,0,xpnetdiag.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,xpnetdg.exe
  2618.     ECHO>>SOURCESS\I386\TXTSETUP.SIF xpnetdg.xsl = 1,,,,,,,1030,0,0,xpnetdiag.xsl&ECHO>>SOURCESS\I386\DOSNET.INF d1,xpnetdg.xsl
  2619.     ECHO>>WORK\HFSDST.TXT NDIAG=10,"Network Diagnostic"&ECHO>>WORK\HFS_NDIAG.TXT custsat.dll
  2620. )
  2621. IF EXIST WORK\I386E\msmsgs.exe (
  2622.     ECHO.&ECHO Updating MMSSETUP.CAB with newer msmsgs.exe binary&ECHO Please wait
  2623.     MD WORK\MMSSETUP&EXPAND SOURCE\I386\MMSSETUP.CAB -F:* WORK\MMSSETUP >NUL
  2624.     XCOPY/DYQ WORK\I386E\msmsgs.exe WORK\MMSSETUP >NUL
  2625.     CALL :UNICAB1&ECHO>>UC.DDF .Set CabinetNameTemplate=MMSSETUP.CAB&ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  2626.     FOR /F %%I IN ('DIR/B/ON WORK\MMSSETUP') DO ECHO>>UC.DDF WORK\MMSSETUP\%%I
  2627.     CALL :UNICAB2&DEL/Q/F WORK\I386E\msmsgs.exe
  2628. )
  2629. IF EXIST WORK\IE7DLL.TXT (
  2630.     REN "WORK\I386E\msfeedsbs.dll" msfdsbs.dll
  2631.     REN "WORK\I386E\msfeedssync.exe" msfdsync.exe
  2632.     REN "WORK\I386E\WinFXDocObj.exe" wfxdocob.exe
  2633.     REN "WORK\I386E\msfeedsbs.mof" msfdsbs.mof
  2634.     REN "WORK\I386E\inetcpl.cpl.mui" inetcpl.mui
  2635.     REN "WORK\I386E\html.iec.mui" htmliec.mui
  2636.     REN "WORK\I386E\msfeedsbs.dll.mui" msfdsbs.mui
  2637.     REN "WORK\I386E\WinFXDocObj.exe.mui" wfxdocob.mui
  2638.     FOR /F %%I IN (WORK\IE7DLL.TXT) DO REN "WORK\I386E\%%I.DLL.MUI" %%I.mui
  2639.     FOR /F %%I IN (WORK\IE7EXE.TXT) DO REN "WORK\I386E\%%I.EXE.MUI" %%I.mui
  2640.     REN WORK\I386E\iesetup.dll iesetup2.dll
  2641.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\iesetup.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\iesetup.dll
  2642.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\iesetup2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\iesetup.dll
  2643.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\iesetup.dll
  2644.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\iesetup2.dll iesetup.dll
  2645.     REN WORK\I386E\mshtml.dll mshtml2.dll
  2646.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\mshtml.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\mshtml.dll
  2647.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\mshtml2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\mshtml.dll
  2648.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\mshtml.dll
  2649.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\mshtml2.dll mshtml.dll
  2650.     REN WORK\I386E\msrating.dll msratng2.dll
  2651.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\msrating.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\msrating.dll
  2652.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\msratng2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\msrating.dll
  2653.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\msrating.dll
  2654.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\msratng2.dll msrating.dll
  2655.     REN WORK\I386E\inseng.dll inseng2.dll
  2656.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\inseng.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\inseng.dll
  2657.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\inseng2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\inseng.dll
  2658.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\inseng.dll
  2659.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\inseng2.dll inseng.dll
  2660.     REN WORK\I386E\webcheck.dll webchck2.dll
  2661.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\webcheck.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\webcheck.dll
  2662.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\webchck2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\webcheck.dll
  2663.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\webcheck.dll
  2664.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\webchck2.dll webcheck.dll
  2665.     REN WORK\I386E\imgutil.dll imgutil2.dll
  2666.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\imgutil.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\imgutil.dll
  2667.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\imgutil2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\imgutil.dll
  2668.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\imgutil.dll
  2669.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\imgutil2.dll imgutil.dll
  2670.     REN WORK\I386E\inetcpl.cpl inetcpl2.cpl
  2671.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\inetcpl.cpl DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\inetcpl.cpl
  2672.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\inetcpl2.cpl %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\inetcpl.cpl
  2673.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\inetcpl.cpl
  2674.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\inetcpl2.cpl inetcpl.cpl
  2675.     REN WORK\I386E\pngfilt.dll pngfilt2.dll
  2676.     ECHO>>WORK\HFSLIPCMDP1.TXT IF EXIST %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\pngfilt.dll DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\pngfilt.dll
  2677.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\SYSTEM32\pngfilt2.dll %%SYSTEMROOT%%\SYSTEM32\DLLCACHE\pngfilt.dll
  2678.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\SYSTEM32\pngfilt.dll
  2679.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\SYSTEM32\pngfilt2.dll pngfilt.dll
  2680. )
  2681. IF DEFINED IE8EXE (
  2682. rem part of rhadamants slipstream
  2683.     REN WORK\I386E\dxtmsft.dll dxtmsft2.dll
  2684.     REN WORK\I386E\dxtrans.dll dxtrans2.dll
  2685.     REN WORK\I386E\mshtmled.dll mshtmld2.dll
  2686.     REN WORK\I386E\mstime.dll mstime2.dll
  2687.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\system32\dxtmsft2.dll %%SYSTEMROOT%%\system32\dllcache\dxtmsft.dll
  2688.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\system32\dxtmsft.dll
  2689.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\dxtmsft2.dll dxtmsft.dll
  2690.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\system32\dxtrans2.dll %%SYSTEMROOT%%\system32\dllcache\dxtrans.dll
  2691.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\system32\dxtrans.dll
  2692.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\dxtrans2.dll dxtrans.dll
  2693.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\system32\mshtmld2.dll %%SYSTEMROOT%%\system32\dllcache\mshtmled.dll
  2694.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\system32\mshtmled.dll
  2695.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\mshtmld2.dll mshtmled.dll
  2696.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\system32\mstime2.dll %%SYSTEMROOT%%\system32\dllcache\mstime.dll
  2697.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\system32\mstime.dll
  2698.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\mstime2.dll mstime.dll
  2699.     REN WORK\I386E\iepeers.dll iepeers2.dll
  2700.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\system32\iepeers2.dll %%SYSTEMROOT%%\system32\dllcache\iepeers.dll
  2701.     ECHO>>WORK\HFSLIPCMDP1.TXT DEL/Q/F %%SYSTEMROOT%%\system32\iepeers.dll
  2702.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\iepeers2.dll iepeers.dll
  2703.     :: Problem with wininet.dll in IE7 for Server 2003 and in IE8 - Replace at T-13
  2704.     REN WORK\I386E\wininet.dll wininet3.dll
  2705.     ECHO>>WORK\HFSLIPCMDP1.TXT COPY/Y %%SYSTEMROOT%%\system32\wininet3.dll %%SYSTEMROOT%%\system32\dllcache\wininet.dll
  2706.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\wininet.dll wininet.old
  2707.     ECHO>>WORK\HFSLIPCMDP1.TXT REN %%SYSTEMROOT%%\system32\wininet3.dll wininet.dll
  2708.         :: Delaying replacement of wininet.dll requires delaying replacement of iertutil.dll and urlmon.dll - Replace from SYSOC.INF
  2709.     REN WORK\I386E\urlmon.dll urlmon3.dll
  2710.     ECHO>>WORK\HFS_SYS32.TXT iertutil.dll&ECHO>>WORK\HFSSDF.TXT iertutil.dll=1
  2711.     ECHO>>WORK\HFS_SYS32.TXT urlmon.dll,urlmon3.dll&ECHO>>WORK\HFSSDF.TXT urlmon3.dll=1
  2712.     ECHO>>SOURCESS\I386\TXTSETUP.SIF iertutil.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,iertutil.dll
  2713.     ECHO>>SOURCESS\I386\TXTSETUP.SIF urlmon3.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,urlmon3.dll
  2714.     )
  2715.  
  2716. IF "%XPNETFX%"=="1" IF EXIST HF\NDP1.0sp3*.exe (
  2717.     SET TXTDIR36=1&REN WORK\I386E\netfxupdate.exe netfxupd.exe
  2718.     ECHO>>SOURCESS\I386\TXTSETUP.SIF gacutil.exe = 1,,,,,,,1036,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,gacutil.exe
  2719.     ECHO>>SOURCESS\I386\TXTSETUP.SIF netfxupd.exe = 1,,,,,,,1036,0,0,netfxupdate.exe&ECHO>>SOURCESS\I386\DOSNET.INF d1,netfxupd.exe
  2720.     ECHO>>SOURCESS\I386\TXTSETUP.SIF SetRegNI.exe = 1,,,,,,,1036,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,SetRegNI.exe
  2721.     ECHO>>SOURCESS\I386\TXTSETUP.SIF ToGac.exe = 1,,,,,,,1036,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,ToGac.exe
  2722.     FOR /F %%I IN ('DIR/B WORK\MCE\NETFX10') DO IF EXIST WORK\I386E\%%I (
  2723.     XCOPY/DY WORK\I386E\%%I WORK\MCE\NETFX10 >NUL&DEL/Q/F WORK\I386E\%%I&SET NETFX10=1
  2724.     )
  2725.     IF DEFINED NETFX10 (
  2726.     ECHO.&ECHO Updating NETFX.CAB&ECHO Please wait
  2727.     CALL :UNICAB1&ECHO>>UC.DDF .Set CabinetNameTemplate=NETFX.CAB&ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\CMPNENTS\NETFX\I386
  2728.     FOR /F %%I IN ('DIR/B/ON WORK\MCE\NETFX10') DO ECHO>>UC.DDF WORK\MCE\NETFX10\%%I
  2729.     CALL :UNICAB2
  2730.     )
  2731. )
  2732. GOTO :EOF
  2733.  
  2734. :POSTHANDLING_2K3
  2735. IF EXIST SOURCE\I386\NETFX.CAB (
  2736.     ECHO.&ECHO Processing NETFX.CAB&ECHO Please wait
  2737.     MD WORK\NETFX11&EXPAND SOURCE\I386\NETFX.CAB -F:* WORK\NETFX11 >NUL
  2738.     FOR /F %%I IN ('DIR/B WORK\NETFX11') DO IF EXIST WORK\I386E\%%I (XCOPY/DY WORK\I386E\%%I WORK\NETFX11 >NUL&DEL/Q/F WORK\I386E\%%I&SET NETFX11=1)
  2739.     IF DEFINED NETFX11 (
  2740.     CALL :UNICAB1&ECHO>>UC.DDF .Set CabinetNameTemplate=NETFX.CAB&ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  2741.     FOR /F %%I IN ('DIR/B/ON WORK\NETFX11') DO ECHO>>UC.DDF WORK\NETFX11\%%I
  2742.     CALL :UNICAB2
  2743.     )
  2744. )
  2745. IF EXIST SOURCE\I386\WMS.CAB (
  2746.     ECHO.&ECHO Processing WMS.CAB&ECHO Please wait
  2747.     MD WORK\WMS&EXPAND SOURCE\I386\WMS.CAB -F:* WORK\WMS >NUL
  2748.     FOR /F %%I IN ('DIR/B WORK\WMS') DO IF EXIST WORK\I386E\%%I (XCOPY/DY WORK\I386E\%%I WORK\WMS >NUL&DEL/Q/F WORK\I386E\%%I&SET WMSNEW=1)
  2749.     IF DEFINED WMSNEW (
  2750.     CALL :UNICAB1&ECHO>>UC.DDF .Set CabinetNameTemplate=WMS.CAB&ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  2751.     FOR /F %%I IN ('DIR/B/ON WORK\WMS') DO ECHO>>UC.DDF WORK\WMS\%%I
  2752.     CALL :UNICAB2
  2753.     )
  2754. )
  2755. IF EXIST WORK\I386E\lhmstsc.chm REN WORK\I386E\lhmstsc.chm mstscs.chm
  2756. IF EXIST WORK\I386E\lhrdesks.chm REN WORK\I386E\lhrdesks.chm rdsktps.chm
  2757. IF EXIST WORK\I386E\w03a3409.dll IF NOT EXIST SOURCE\I386\w03a3409.dl_ ECHO>>SOURCESS\I386\TXTSETUP.SIF w03a3409.dll = 1,,,,,,,2,0,0,,1,2&ECHO>>SOURCESS\I386\DOSNET.INF d1,w03a3409.dll
  2758. IF EXIST WORK\I386E\w03a2409.dll IF NOT EXIST SOURCE\I386\w03a2409.dl_ ECHO>>SOURCESS\I386\TXTSETUP.SIF w03a2409.dll = 1,,,,,,,2,0,0,,1,2&ECHO>>SOURCESS\I386\DOSNET.INF d1,w03a2409.dll
  2759. IF EXIST WORK\I386E\ws03res.dll IF NOT EXIST SOURCE\I386\ws03res.dl_ ECHO>>SOURCESS\I386\TXTSETUP.SIF ws03res.dll = 1,,,,,,,2,0,0,,1,2&ECHO>>SOURCESS\I386\DOSNET.INF d1,ws03res.dll
  2760. IF DEFINED TXTDIR08 IF EXIST WORK\I386E\mscorees.dll ECHO>>SOURCESS\I386\TXTSETUP.SIF mscorees.dll = 1,,,,,,,1008,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,mscorees.dll
  2761. IF %SP% GEQ 2 (SET 890046KILLBIT=1) ELSE (
  2762.     IF EXIST WORK\SVCPACK\*908981* (
  2763.     ECHO>>WORK\HFSDST.TXT PFILES4=65620,"microsoft shared\web server extensions\50\bin"
  2764.     ECHO>>WORK\HFSDST.TXT PFILES5=65620,"microsoft shared\web server extensions\50\isapi"
  2765.     ECHO>>SOURCESS\I386\TXTSETUP.SIF cfgwiz.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,cfgwiz.exe
  2766.     ECHO>>SOURCESS\I386\TXTSETUP.SIF fp5avss.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,fp5avss.dll
  2767.     ECHO>>SOURCESS\I386\TXTSETUP.SIF fpexedll.dll = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,fpexedll.dll
  2768.     ECHO>>SOURCESS\I386\TXTSETUP.SIF owsrmadm.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,owsrmadm.exe
  2769.     ECHO>>SOURCESS\I386\TXTSETUP.SIF fpcount.exe = 1,,,,,,,,3,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,fpcount.exe
  2770.     ECHO>>WORK\HFSSDF.TXT cfgwiz.exe=1&ECHO>>WORK\HFSPF4.TXT cfgwiz.exe
  2771.     ECHO>>WORK\HFSSDF.TXT fp5avss.dll=1&ECHO>>WORK\HFSPF4.TXT fp5avss.dll
  2772.     ECHO>>WORK\HFSSDF.TXT fpexedll.dll=1&ECHO>>WORK\HFSPF4.TXT fpexedll.dll
  2773.     ECHO>>WORK\HFSSDF.TXT owsrmadm.exe=1&ECHO>>WORK\HFSPF4.TXT owsrmadm.exe
  2774.     ECHO>>WORK\HFSSDF.TXT fpcount.exe=1&ECHO>>WORK\HFSPF5.TXT fpcount.exe
  2775.     )
  2776.     IF "%SP%"=="1" IF NOT "%SUBTAG%"=="is" IF NOT "%SUBTAG%"=="ib" ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\Clussvc","EventMessageFile",0x20008,";%%SYSTEMROOT%%\system32\ws03res.dll;%%SYSTEMROOT%%\system32\w03a2409.dll"
  2777. )
  2778. ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscDomains\microsoft.com\update","http",0x10001,2
  2779. ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscDomains\windowsupdate.com\download","http",0x10001,2
  2780. GOTO :EOF
  2781.  
  2782. :POSTHANDLING_DEEP
  2783. IF NOT "%VERSION%"=="2003" (
  2784.     IF EXIST WORK\I386E\msxml3.dll (
  2785.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f22-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2786.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f1b-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2787.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f1c-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2788.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f1d-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2789.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f1e-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2790.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f21-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2791.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f1f-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2792.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f20-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2793.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f28-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2794.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f29-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2795.         ECHO>>WORK\HHIVADD.TXT %SFTACTX%\{f5078f26-c551-11d3-89b9-0000f81fe221}","Compatibility Flags",0x10001,0x400
  2796.     )
  2797.     IF EXIST WORK\I386E\shell32.dll (
  2798.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{1cdb2949-8f65-4355-8456-263e7c208a5d} {000214e6-0000-0000-c000-000000000046}",0x10003,0x1
  2799.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{1e9b04fb-f9e5-4718-997b-b8da88302a47} {000214e8-0000-0000-c000-000000000046}",0x10003,0x1
  2800.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{1e9b04fb-f9e5-4718-997b-b8da88302a48} {000214e8-0000-0000-c000-000000000046}",0x10003,0x1
  2801.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{750FDF0E-2A26-11D1-A3EA-080036587F03} {000214E8-0000-0000-C000-000000000046}",0x10003,0x1
  2802.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{A4DF5659-0801-4A60-9607-1C48695EFDA9} {000214E6-0000-0000-C000-000000000046}",0x10003,0x1
  2803.     )
  2804. )
  2805. IF "%VERSION%"=="2000" (
  2806.     ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","BufferPolicyReads",0x10001,1
  2807.     IF "%SERVER%"=="SERVER" IF EXIST WORK\I386E\ntdsa.dll ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Directory Service\NTDS SDPROP","EventMessageFile",0x20020,"%%SYSTEMROOT%%\system32\ntdsmsg.dll;%%SYSTEMROOT%%\system32\sp3res.dll"
  2808.     IF EXIST WORK\I386E\kerberos.dll ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\Kerberos","EventMessageFile",0x20000,"%%SYSTEMROOT%%\system32\kerberos.dll;%%SYSTEMROOT%%\system32\sp3res.dll"
  2809.     IF EXIST WORK\I386E\localspl.dll ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\Eventlog\System\Print","EventMessageFile",0x20000,"%%SYSTEMROOT%%\system32\localspl.dll;%%SYSTEMROOT%%\system32\sp3res.dll"
  2810.     IF EXIST WORK\I386E\ipsec.sys ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\IPSec","NoDefaultExempt",0x10003,1
  2811. ) ELSE IF "%VERSION%"=="XP" (
  2812.     IF EXIST WORK\I386E\p2p*.dll (
  2813.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP",,0x10
  2814.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP\IPV6-Global",,0x10
  2815.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP\IPV6-Global\Global_",,0x10
  2816.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP\IPV6-Global","SeedServer",0x0,"pnrpv2.ipv6.microsoft.com;pnrpv21.ipv6.microsoft.com"
  2817.         ECHO>>WORK\HHIVADD.TXT HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP\IPV6-Global\Global_","SeedServer",0x0,"pnrpv2.ipv6.microsoft.com;pnrpv21.ipv6.microsoft.com"
  2818.     )
  2819.     IF EXIST WORK\I386E\usb*.sys (
  2820.         ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnIdleEndPointSupportEx",0x10001,0x1
  2821.         ECHO>>WORK\HHIVADD.TXT HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnableIdleTimer",0x10001,0x1
  2822.     )
  2823. )
  2824. GOTO :EOF
  2825. REM ======================================================================================
  2826.  
  2827. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2828.  
  2829. REM ======================FDV CLEANUP UTILITY=============================================
  2830. :FDVFILESCLEANUP
  2831. TITLE %T1% - FDV Cleanup&ECHO.&ECHO FDV Cleanup
  2832. ECHO>>SOURCESS\I386\HFSLIPWU.INF ;FDV
  2833. ECHO>>SOURCESS\I386\HFSLIPWU.INF HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",990,0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\inf\ie.inf,FDVPATCH"
  2834. ECHO>>SOURCESS\I386\HFSLIPWU.INF HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",991,0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\inf\shell.inf,FDVPATCH"
  2835. ECHO>>SOURCESS\I386\HFSLIPWU.INF HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZZ",992,0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\inf\axant5.inf,FDVPATCH"
  2836.  
  2837. ECHO.&ECHO FDV Cleanup
  2838. IF EXIST FDVFILES\TXTSETUP.SIF (
  2839.     ECHO Gathering data to edit setup information files...
  2840.     FINDSTR/B ";" FDVFILES\TXTSETUP.SIF>>WORK\FDVTXT1.TXT&FINDSTR ",,," WORK\FDVTXT1.TXT>>WORK\FDVTXT2.TXT
  2841.     FOR /F "TOKENS=1 DELIMS=;= " %%I IN (WORK\FDVTXT2.TXT) DO ECHO>>WORK\FDVTXT.TXT %%I
  2842.     ECHO Deleting from setup information files:
  2843.     FOR /F %%I IN (WORK\FDVTXT.TXT) DO (
  2844.         ECHO %%I
  2845.         FINDSTR/VI "%%I" SOURCESS\I386\HFSLIPWU.INF>HFSLIPWU.INF&MOVE/Y HFSLIPWU.INF SOURCESS\I386
  2846.         FINDSTR/VBI "%%I" SOURCESS\I386\TXTSETUP.SIF>TXTSETUP.SIF&MOVE/Y TXTSETUP.SIF SOURCESS\I386
  2847.         IF EXIST SOURCESS\I386\DOSNET.INF (FINDSTR/VEI "%%I" SOURCESS\I386\DOSNET.INF>DOSNET.INF&MOVE/Y DOSNET.INF SOURCESS\I386)
  2848.     )
  2849. )
  2850. IF EXIST FDVFILES\DELFILES.TXT (
  2851.     ECHO Removing files from new source...
  2852.     FOR /F %%I IN (FDVFILES\DELFILES.TXT) DO (
  2853.         IF EXIST "SOURCESS\I386\%%I" (ECHO SOURCESS\I386\%%I&DEL/Q/F "SOURCESS\I386\%%I")
  2854.         SET FDVFILEEXT=%%~xI
  2855.         IF NOT DEFINED FDVFILEEXT (
  2856.             IF EXIST "SOURCESS\I386\%%I._" (ECHO SOURCESS\I386\%%I._&DEL/Q/F "SOURCESS\I386\%%I._")
  2857.         ) ELSE IF EXIST "SOURCESS\I386\%%I_" (
  2858.             ECHO SOURCESS\I386\%%I_&DEL/Q/F "SOURCESS\I386\%%I_"
  2859.         ) ELSE (
  2860.             SET FDVFILEEXT=!FDVFILEEXT:~0,-1!
  2861.             IF EXIST "SOURCESS\I386\%%~nI!FDVFILEEXT!_" (
  2862.                 ECHO SOURCESS\I386\%%~nI!FDVFILEEXT!_&DEL/Q/F "SOURCESS\I386\%%~nI!FDVFILEEXT!_"
  2863.             )
  2864.         )
  2865.         SET FDVFILEEXT=
  2866.     )
  2867. )
  2868. GOTO :EOF
  2869. REM ======================================================================================
  2870.  
  2871. REM ======================HFCLEANUP=======================================================
  2872. :HFCLEANUP
  2873. TITLE %T1% - Reducing Installation Source
  2874. echo.&echo HFCLEANUP Reduce Your Source&echo.
  2875. REM ---------------------------------
  2876. REM FILES
  2877. REM RDV=REMOVE DRIVERS
  2878. REM     LIST OF FILES WITH 2 CHARACTER EXTENTION, EX DRIVER.SYS SHOULD BE DRIVER.SY
  2879. REM     FILES LISTED HERE ARE DELETED FROM EXTRACTED DRIVER CAB AND I386 FOLDER
  2880. REM     ENTRIES ARE REMOVED FROM TXTSETUP.SIF, DOSNET.INF, LAYOUT.SIF, SYSSETUP.INF, SYCOC.
  2881. REM     HFSLIP AUTOMATICALLY GENERATES THE DRIVER.INF FILE
  2882. REM
  2883. REM REM=REMOVE FILES
  2884. REM     LIST OF FILES WITH 2 CHARACTER EXTENTION, EX DRIVER.SYS SHOULD BE DRIVER.SY
  2885. REM     FILES LISTED HERE ARE DELETED FROM I386 FOLDER
  2886. REM     ENTRIES ARE REMOVED FROM TXTSETUP.SIF, DOSNET.INF, LAYOUT.SIF, SYSSETUP.INF, SYCOC.
  2887. REM
  2888. REM RIN=REMOVE INF SECTION FILES
  2889. REM     SEMICOLON DELIMITED LIST
  2890. REM     EXAMPLE OF A LINE:     INFNAME.IN;TEXT_TO_REMOVE
  2891. REM         INFNAME.IN....      NOTE IT IS .IN, NOT .INF
  2892. REM         TEXT_TO_REMOVE..... THE INF IS OPENED AND THE TEXT_TO_REMOVE LINE IS REMOVED FROM THE INF FILE
  2893. REM     NAME_OF_RIN_FILE SHOULD BE SAME AS NAME_OF_REM FILE
  2894. REM     HFSLIP WILL REMOVE ANY ENTRIES FROM THE NAME_OF_REM FILE FROM THE INFNAME.INF FILE
  2895. REM ---------------------------------
  2896.  
  2897. REM PREP IF USER WANTS TO MOD FDVS FILESET
  2898. IF "!DIAGNOSTIC!"=="1" (
  2899.     TITLE %T1% - DRIVER.CAB Update
  2900.     ECHO Expanding Driver.CAB
  2901.     MD SOURCESS\I386\DRIVER
  2902.     EXPAND SOURCESS\I386\DRIVER.CAB -F:* SOURCESS\I386\DRIVER
  2903.     DEL/Q/F SOURCESS\I386\DRIVER.CAB
  2904.     ECHO ALL FILES EXTRACTED CLEANUP READY TO BEGIN & PAUSE
  2905.     )
  2906. IF NOT "!DIAGNOSTIC!"=="1" (
  2907.     IF /I "!FDVT!"=="Y" (
  2908.         FOR /F "delims=." %%I IN ('DIR /B WORK\FDV\*.IN_') DO (
  2909.             REN WORK\FDV\%%I.IN_ %%I.INF
  2910.             makecab work\FDV\%%I.INF /L WORK\FDV
  2911.             DEL /Q /F WORK\FDV\%%I.INF
  2912.             MOVE /Y WORK\FDV\%%I.IN_ SOURCESS\I386
  2913.             )
  2914.         MOVE /Y WORK\FDV\*.INF SOURCESS\I386
  2915.         )
  2916.     )
  2917.  
  2918. :HFCLEANUP2
  2919. FOR /F %%I IN ('DIR/B HFCLEANUP') DO SET HFCFULL=1&IF /I NOT "%%~xI"==".EXT" SET HFCBASE=1
  2920. IF NOT DEFINED HFCFULL GOTO :EOF
  2921. IF NOT DEFINED HFCBASE IF NOT "!DIAGNOSTIC!"=="1" GOTO :EOF
  2922. ECHO.&ECHO Processing HFCLEANUP
  2923. REM IF DEFINED HFCBASE (
  2924. REM )
  2925.  
  2926. IF EXIST HFCLEANUP\*.RDV (
  2927.     REM DELETE THE DRIVER FILES
  2928.     for /f "delims=." %%i in ('dir /b hfcleanup\*.RDV') do (
  2929.         Echo Deleting Drivers - %%i
  2930.         for /f %%j in (hfcleanup\%%i.rdv) do (
  2931.             IF NOT EXIST SOURCESS\DRIVER\%%i MD SOURCESS\DRIVER\%%i
  2932.             IF NOT EXIST SOURCESS\DRIVERCAB\%%i MD SOURCESS\DRIVERCAB\%%i
  2933.             IF EXIST SOURCESS\I386\%%j* MOVE sourcess\i386\%%j* SOURCESS\DRIVER\%%i >NUL
  2934.             IF EXIST SOURCESS\I386\DRIVER\%%j* MOVE sourcess\i386\driver\%%j* SOURCESS\DRIVERCAB\%%i >NUL
  2935.             echo %%j>>WORK\RED\filter.txt
  2936.         )
  2937.  )
  2938. )
  2939.  
  2940. IF EXIST HFCLEANUP\*.REM (
  2941.     REM DELETE THE JUNK BINARIES
  2942.     for /f "delims=." %%i in ('dir /b hfcleanup\*.REM') do (
  2943.         Echo Deleting Files - %%i
  2944.         if not exist sourcess\optional\%%i md sourcess\optional\%%i
  2945.         for /f %%j in (hfcleanup\%%i.REM) do (
  2946.             IF EXIST SOURCESS\I386\%%j* move sourcess\i386\%%j* sourcess\optional\%%i >NUL
  2947.             echo %%j>>WORK\RED\filter.txt
  2948.         )
  2949.   )
  2950. )
  2951.  
  2952. IF EXIST WORK\RED\FILTER.TXT (
  2953.     Echo Updating SYSOC.INF
  2954.     EXPAND -r sourcess\i386\sysoc.in_ >NUL
  2955.     del /q /f sourcess\i386\sysoc.in_
  2956.     ren sourcess\i386\sysoc.inf sysoc_temp.inf
  2957.     findstr /v /i /g:WORK\RED\filter.txt sourcess\i386\sysoc_temp.inf > SYSOC.INF
  2958.     MAKECAB SYSOC.INF /L SOURCESS\I386 >NUL
  2959.     del /q /f sourcess\i386\sysoc_temp.inf
  2960.     del /q /f sysoc.inf
  2961.  
  2962.     Echo Updating SYSSETUP.INF
  2963.     EXPAND -r sourcess\i386\syssetup.in_ >NUL
  2964.     del /q /f sourcess\i386\syssetup.in_
  2965.     ren sourcess\i386\syssetup.inf syssetup_temp.inf
  2966.     findstr /v /i /g:WORK\RED\filter.txt sourcess\i386\syssetup_temp.inf > syssetup.inf
  2967.     MAKECAB syssetup.inf /L SOURCESS\I386 >NUL
  2968.     del /q /f sourcess\i386\syssetup_temp.inf
  2969.     del /q /f syssetup.inf
  2970.  
  2971. rem     Echo Updating WBEMOC.INF
  2972. rem     EXPAND -r sourcess\i386\wbemoc.in_ >NUL
  2973. rem     del /q /f sourcess\i386\wbemoc.in_
  2974. rem     ren sourcess\i386\wbemoc.inf wbemoc_temp.inf
  2975. rem     findstr /v /i /g:WORK\RED\filter.txt sourcess\i386\wbemoc_temp.inf > wbemoc.inf
  2976. rem     MAKECAB wbemoc.inf /L SOURCESS\I386 >NUL
  2977. rem     del /q /f sourcess\i386\wbemoc_temp.inf
  2978. rem     del /q /f wbemoc.inf
  2979.  
  2980.  
  2981.     rem ECHO Updating DOSNET.INF
  2982.     rem   findstr /v /b /i /g:WORK\RED\filter.txt sourcess\i386\dosnet.inf > dosnet.inf
  2983.     rem   move dosnet.inf sourcess\i386\dosnet.inf
  2984.  
  2985. rem     ECHO Updating LAYOUT.INF ... this takes a few seconds
  2986. rem     findstr /v /b /i /g:WORK\RED\filter.txt sourcess\i386\layout.inf > layout.inf
  2987. rem     move layout.inf sourcess\i386\layout.inf
  2988.  
  2989.     ECHO Updating TXTSETUP.SIF ... this takes a few seconds
  2990.     findstr /v /b /i /g:WORK\RED\filter.txt sourcess\i386\txtsetup.sif > txtsetup.sif
  2991.     move txtsetup.sif sourcess\i386\txtsetup.sif
  2992. )
  2993.  
  2994. IF EXIST HFCLEANUP\*.RIN (
  2995.     ECHO Expand INFs to be gutted
  2996.     FOR /F "delims=." %%I IN ('DIR /B HFCLEANUP\*.RIN') DO (
  2997.         FOR /F "delims=;" %%J IN (HFCLEANUP\%%I.RIN) DO (
  2998.             IF NOT EXIST WORK\RED\%%JF IF EXIST SOURCESS\I386\%%J_ EXPAND -r SOURCESS\I386\%%J_ WORK\RED & ECHO %%JF EXTRACTED
  2999.             IF NOT EXIST WORK\RED\%%JF IF EXIST SOURCESS\I386\%%JF COPY /Y SOURCESS\I386\%%JF WORK\RED & ECHO %%JF EXTRACTED
  3000.         )
  3001.     )
  3002.  
  3003.     IF EXIST WORK\RED\INTL.INF (DEL /Q /F WORK\RED\INTL.INF && TYPE SOURCESS\I386\INTL.INF >>WORK\RED\INTL.INF)
  3004.     REM IF EXIST WORK\RED\HIVECLS.INF (DEL /Q /F WORK\RED\HIVECLS.INF && TYPE SOURCESS\I386\HIVECLS.INF >>WORK\RED\HIVECLS.INF)
  3005.     REM IF EXIST WORK\RED\HIVEDEF.INF (DEL /Q /F WORK\RED\HIVEDEF.INF && TYPE SOURCESS\I386\HIVEDEF.INF >>WORK\RED\HIVEDEF.INF)
  3006.     REM IF EXIST WORK\RED HIVESFT.INF (DEL /Q /F WORK\RED\HIVESFT.INF && TYPE SOURCESS\I386\HIVESFT.INF >>WORK\RED\HIVESFT.INF)
  3007.     IF EXIST SOURCESS\I386\WMS RD /Q /s SOURCESS\I386\WMS
  3008.     IF EXIST SOURCESS\AUTORUN.INF DEL /Q /F SOURCESS\AUTORUN.INF
  3009.     IF EXIST SOURCESS\READ1ST.TXT DEL /Q /F SOURCESS\READ1ST.TXT
  3010.     IF EXIST SOURCESS\SETUP.EXE DEL /Q /F SOURCESS\SETUP.EXE
  3011.     IF EXIST SOURCESS\SPNOTES.HTM DEL /Q /F SOURCESS\SPNOTES.HTM
  3012.  
  3013.     ECHO Gut the INF files
  3014.     for /f "delims=." %%i in ('dir /b hfcleanup\*.RIN') do (
  3015.         for /f "tokens=1,2 delims=;" %%j in (hfcleanup\%%i.RIN) do (
  3016.         Echo Processing %%j, filtering string %%i
  3017.         if exist work\red\%%jf findstr /v /i /C:"%%k" work\red\%%jf > work\red\t.inf & del work /q /f work\red\%%jf & ren work\red\t.inf %%jf
  3018.         if exist work\red\%%jf if exist hfcleanup\%%i.rem findstr /v /i /g:hfcleanup\%%i.rem work\red\%%jf > work\red\t.inf & del work /q /f work\red\%%jf & ren work\red\t.inf %%jf
  3019.         if exist work\red\%%jf if exist hfcleanup\%%i.rdv findstr /v /i /g:hfcleanup\%%i.rdv work\red\%%jf > work\red\t.inf & del work /q /f work\red\%%jf & ren work\red\t.inf %%jf      
  3020.         )
  3021.     )
  3022.  
  3023.  
  3024.     Echo Recab the INF files
  3025.     for /f "delims=." %%I in ('DIR /B work\red\*.inf') DO (
  3026.         IF EXIST SOURCESS\I386\%%I.IN_ (del sourcess\i386\%%I.IN_ & makecab work\red\%%I.INF /L sourcess\i386)
  3027.         IF EXIST SOURCESS\I386\%%I.INF (del sourcess\i386\%%I.INF & COPY WORK\RED\%%I.INF sourcess\i386\%%I.INF)
  3028.     )
  3029.  
  3030.     IF EXIST WORK\RED\TXTSETUP.SIF DEL SOURCESS\I386\TXTSETUP.SIF & COPY WORK\RED\TXTSETUP.SIF SOURCESS\I386\TXTSETUP.SIF
  3031. )
  3032.  
  3033. REM RUNS THE INF FILE DEFAULTINSTALL SECTION
  3034. IF EXIST HFCLEANUP\*.INF (
  3035.     DIR HFCLEANUP\*.INF /A-D /OGN /B >WORK\HFEXPERTINF.TXT
  3036.     COPY /Y HFCLEANUP\*.INF SOURCESS\I386 >NUL
  3037.     SET HFSLP=10
  3038.     ECHO>>SOURCESS\I386\HFSLIPWU.INF ;HFCLEANUP
  3039.     FOR /F %%I IN (WORK\HFEXPERTINF.TXT) DO (
  3040.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,998,0,0
  3041.         IF EXIST SOURCESS\I386\DOSNET.INF ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  3042.         ECHO>>SOURCESS\I386\HFSLIPWU.INF HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnce",ZZHFCU!HFSLP!,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\%%I,DefaultInstall"
  3043.         SET /A HFSLP=!HFSLP! + 1
  3044.         )
  3045. )
  3046. rem fix mplayer2.inf i hate microsoft
  3047. IF EXIST HFCLEANUP\*WINDOWSMEDIAPLAYER9*.REM if exist sourcess\i386\mplayer2.ex_ (
  3048.     EXPAND -r sourcess\i386\mplayer2.in_ >NUL
  3049.     del /q /f sourcess\i386\mplayer2.in_
  3050.     echo >>sourcess\i386\mplayer2.inf [WMPCopy.Plugin]
  3051.     echo >>sourcess\i386\mplayer2.inf mplayer2.exe
  3052.     MAKECAB sourcess\i386\MPLAYER2.INF /L SOURCESS\I386 >NUL
  3053.     del /q /f sourcess\i386\mplayer2.inf
  3054. )
  3055.  
  3056.  
  3057. IF "!DIAGNOSTIC!"=="1" IF EXIST HFCLEANUP\*.EXT CALL :DELBIN
  3058. IF "!DIAGNOSTIC!"=="1" ECHO CLEANUP COMPLETE AND SETUP FILES MODIFIED
  3059. IF "!DIAGNOSTIC!"=="1" ECHO PRESS Y TO BEGIN CLEANUP AGAIN
  3060. IF "!DIAGNOSTIC!"=="1" SET /P DIAGNOSTIC2=
  3061. IF "!DIAGNOSTIC!"=="1" IF /I "!DIAGNOSTIC2!"=="Y" SET DIAGNOSTIC2=N & RD /Q /S WORK\RED & MD WORK\RED & CALL :HFCLEANUP2
  3062. IF EXIST SOURCESS\OPTIONAL RD /Q /S SOURCESS\OPTIONAL
  3063. IF EXIST SOURCESS\DRIVERCAB RD /Q /S SOURCESS\DRIVERCAB
  3064. IF EXIST SOURCESS\DRIVER RD /Q /S SOURCESS\DRIVER
  3065. GOTO :EOF
  3066. REM ======================================================================================
  3067.  
  3068. REM ======================HFEXPERT========================================================
  3069. :HFEXPERT
  3070. REM THANKS YzΓΆwl.  Your scripts kick ass.
  3071. REM Modded for flexibility.
  3072. echo.&echo Processing HFEXPERT&echo.
  3073. IF EXIST HFEXPERT\CODECS FOR /F %%I IN ('DIR/B HFEXPERT\CODECS') DO SET HFXCPASS=1
  3074. IF EXIST HFEXPERT\APPREPLACEMENT FOR /F %%I IN ('DIR/B HFEXPERT\APPREPLACEMENT') DO SET HFXAPASS=1
  3075. IF EXIST HFEXPERT\HIVEINSTALL FOR /F %%I IN ('DIR/B HFEXPERT\HIVEINSTALL') DO SET HFXHPASS=1
  3076. IF DEFINED HFXCPASS CALL :HFECODEC
  3077. IF DEFINED HFXAPASS CALL :HFEAPPS
  3078. IF DEFINED HFXHPASS CALL :HFEHIVE
  3079. IF EXIST HFEXPERT\AUTOIT\*.EXE CALL :HFEAU
  3080. GOTO :EOF
  3081.  
  3082. :HFECODEC
  3083. TITLE %T1% - HFEXPERT CODECS
  3084. echo.&echo Processing HFEXPERT - Codecs&echo.
  3085. MD TEMP\CODECS
  3086. XCOPY HFEXPERT\CODECS TEMP\CODECS >NUL
  3087. REM * FIX FOR DX9 COLLISION -- KEEP CODEC QASF, KEEP DX9 MSDMO
  3088. IF EXIST WORK\I386E\QASF.DLL IF EXIST TEMP\CODECS\QASF.DLL MOVE/Y TEMP\CODECS\QASF.DLL WORK\I386E
  3089. IF EXIST WORK\I386E\MSDMO.DLL IF EXIST TEMP\CODECS\MSDMO.DLL (
  3090.     ECHO When including DirectX9, consider removing&ECHO MSDMO.DLL from your codec package next time.&PAUSE&DEL/Q/F TEMP\CODECS\MSDMO.DLL
  3091. )
  3092. DIR/B/A-D TEMP\CODECS>TEMP\HFEXPERT.TXT
  3093. FINDSTR/R ".........\." TEMP\HFEXPERT.TXT>TEMP\CLONG.TXT
  3094. FOR /F %%I IN (TEMP\CLONG.TXT) DO SET CODNBR=99
  3095. IF NOT DEFINED CODNBR (TYPE TEMP\HFEXPERT.TXT>TEMP\CSHORT.TXT) ELSE (
  3096.     FINDSTR/VBI /G:TEMP\CLONG.TXT TEMP\HFEXPERT.TXT>TEMP\CSHORT.TXT
  3097.     FOR /F "TOKENS=1 DELIMS=" %%I IN (TEMP\CLONG.TXT) DO SET SFN1=%%~nI&SET SFN2=%%~xI&CALL :SFNCODPROCESS
  3098. )
  3099. IF EXIST TEMP\CODECS\*.INF DIR/B/A-D TEMP\CODECS\*.INF>TEMP\HFEXPERTINF.TXT&MOVE/Y TEMP\CODECS\*.INF SOURCESS\I386
  3100. FINDSTR/VIR "\.EXE \.CPI \.CPL \.INF \.TXT" TEMP\HFEXPERT.TXT>TEMP\HFEXPERTREG.TXT
  3101. SET HFSLP=10
  3102. IF EXIST TEMP\HFEXPERTINF.TXT ECHO>>WORK\ROROEWU.TXT ;CODECS&FOR /F %%I IN (TEMP\HFEXPERTINF.TXT) DO (
  3103.     ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,998,0,0
  3104.     ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  3105.     ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZC!HFSLP!,,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\%%I,DefaultInstall"
  3106.     SET /A HFSLP=!HFSLP!+1
  3107. )
  3108. IF EXIST TEMP\CSHORT.TXT FOR /F %%I IN ('FINDSTR/VIR "\.INF" TEMP\CSHORT.TXT') DO ECHO>>TEMP\HFCODTXT.TXT %%I = 1,,,,,,,2,0,0
  3109. TYPE TEMP\HFCODTXT.TXT>>SOURCESS\I386\TXTSETUP.SIF
  3110. FOR /F %%I IN (TEMP\HFCODTXT.TXT) DO ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I&HFTOOLS\MODIFYPE.EXE TEMP\CODECS\%%I -c
  3111. FOR /F %%I IN (TEMP\HFEXPERTREG.TXT) DO (
  3112.     ECHO>>WORK\RGSVRWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",ZZC!HFSLP!,,"%%11%%\regsvr32 /s """%%11%%\%%I""""
  3113.     SET /A HFSLP=!HFSLP!+1
  3114. )
  3115. IF EXIST TEMP\CODECS\*.CP* FOR /F %%I IN ('DIR/B TEMP\CODECS\*.CP*') DO MOVE/Y TEMP\CODECS\%%I SOURCESS\I386
  3116. XCOPY/HY TEMP\CODECS\*.* WORK\I386E
  3117. RD/Q/S TEMP
  3118. GOTO :EOF
  3119.  
  3120. :SFNCODPROCESS
  3121. SET /A CODNBR=%CODNBR%+1
  3122. REN "TEMP\CODECS\%SFN1%%SFN2%" HFCDC%CODNBR%%SFN2%
  3123. IF /I NOT "%SFN2%"==".INF" ECHO>>TEMP\HFCODTXT.TXT HFCDC%CODNBR%%SFN2% = 1,,,,,,,2,0,0,"%SFN1%%SFN2%"
  3124. GOTO :EOF
  3125.  
  3126. :HFEAPPS
  3127. TITLE %T1% - APPREPLACEMENT
  3128. echo.&echo Processing HFEXPERT - Application Replacement&echo.
  3129. REM COPIES FILES TO THE SOURCES AND REPLACES THE ORIGINALS LIKE TASKMGR.EXE AND MPLAYER2.EXE
  3130. DIR/B/A-D HFEXPERT\APPREPLACEMENT>WORK\HFEXPERT.TXT
  3131. XCOPY/HY HFEXPERT\APPREPLACEMENT\* WORK\I386E
  3132. FOR /F %%I IN (WORK\HFEXPERT.TXT) DO HFTOOLS\MODIFYPE.EXE WORK\I386E\%%I -c
  3133. DEL/Q/F WORK\HFEXPERT.TXT
  3134. GOTO :EOF
  3135.  
  3136. :HFEHIVE
  3137. TITLE %T1% - HFEXPERT HIVES
  3138. REM INSTALLS HIVES
  3139. echo.&echo Processing HFEXPERT - Hives&echo.
  3140. DIR/B/A-D HFEXPERT\HIVEINSTALL>WORK\HFEXPERT.TXT
  3141. XCOPY/HY HFEXPERT\HIVEINSTALL\* SOURCESS\I386
  3142. FOR /F %%I IN (WORK\HFEXPERT.TXT) DO (
  3143. ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,_x,3,,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  3144. ECHO>>WORK\HIVEINFS.TXT AddReg = %%I,setup
  3145. )
  3146. DEL/Q/F WORK\HFEXPERT.TXT
  3147. GOTO :EOF
  3148.  
  3149. :HFEAU
  3150. FOR /F %%I IN ('DIR/B HFEXPERT\AUTOIT\AUTOIT*.EXE') DO SET AUTOEXE=%%I
  3151. IF NOT DEFINED AUTOEXE GOTO :EOF
  3152. COPY/Y HFEXPERT\AUTOIT\*.* SOURCESS\I386\SVCPACK
  3153. FOR /F %%I IN ('DIR/B/ON HFEXPERT\AUTOIT\*.AU*') DO ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %%HFSLIPSVC%%%AUTOEXE% %%HFSLIPSVC%%%%I
  3154. GOTO :EOF
  3155. REM ======================================================================================
  3156.  
  3157. :HFEWIN
  3158. TITLE %T1% - HFEXPERT WIN
  3159. echo.&echo Processing HFEXPERT - Windows Files&echo.
  3160. REM COPIES FILES TO THE WINDOWS OR WINNT FOLDER.  NO OTHER PROCESSING DONE TO THEM.
  3161. ECHO.&ECHO HFEXPERT\WIN
  3162. MD TEMP\WIN WORK\I386Z
  3163. XCOPY/S HFEXPERT\WIN TEMP\WIN >NUL
  3164. ECHO/>TEMP\WIN\DUMMMMMY.TXT
  3165. FOR /F %%I IN ('DIR/B/A-D TEMP\WIN') DO IF NOT "%%I"=="DUMMMMMY.TXT" ECHO>>TEMP\HFEXPERT.TXT %%I
  3166. DEL/Q/F TEMP\WIN\DUMMMMMY.TXT
  3167. IF EXIST TEMP\HFEXPERT.TXT (
  3168.     XCOPY/HY TEMP\WIN\* WORK\I386Z
  3169.     FOR /F %%I IN (TEMP\HFEXPERT.TXT) DO (
  3170.         HFTOOLS\MODIFYPE.EXE WORK\I386Z\%%I -c
  3171.         ECHO>>TEMP\HFWINTXT.TXT %%I = 1,,,,,,,1,0,0
  3172.         ECHO>>TEMP\HFWINDOS.TXT d1,%%I
  3173.     )
  3174. )
  3175. IF EXIST TEMP\WIN\SYSTEM32\* CALL :HFESYS32
  3176. CALL :HFEYzowl
  3177. set basedir=%~dp0
  3178. IF NOT EXIST TEMP\HFWINTXT.TXT RD/Q/S TEMP&GOTO :EOF
  3179. FOR /F %%I IN (TEMP\HFWINTXT.TXT) DO ECHO>>TEMP\HFWINTXT2.TXT %%I
  3180. FINDSTR/VBI /G:TEMP\HFWINTXT2.TXT SOURCESS\I386\TXTSETUP.SIF>TEMP\TXTSETUP.SIF
  3181. IF EXIST TEMP\TXTNTDIR.TXT ECHO/>>TEMP\TXTSETUP.SIF&ECHO>>TEMP\TXTSETUP.SIF [WinntDirectories]&TYPE TEMP\TXTNTDIR.TXT>>TEMP\TXTSETUP.SIF
  3182. ECHO/>>TEMP\TXTSETUP.SIF&ECHO>>TEMP\TXTSETUP.SIF [SourceDisksFiles]&TYPE TEMP\HFWINTXT.TXT>>TEMP\TXTSETUP.SIF
  3183. MOVE/Y TEMP\TXTSETUP.SIF SOURCESS\I386
  3184. IF EXIST SOURCESS\I386\DOSNET.INF (
  3185.     FINDSTR/VBI /G:TEMP\HFWINDOS.TXT SOURCESS\I386\DOSNET.INF>TEMP\DOSNET.INF
  3186.     ECHO/>>TEMP\DOSNET.INF
  3187.     ECHO>>TEMP\DOSNET.INF [Files]
  3188.     TYPE TEMP\HFWINDOS.TXT>>TEMP\DOSNET.INF
  3189.     MOVE/Y TEMP\DOSNET.INF SOURCESS\I386
  3190. )
  3191. IF EXIST WORK\I386Z\*.CAB MOVE/Y WORK\I386Z\*.CAB SOURCESS\I386
  3192. FOR /F %%I IN ('DIR/B WORK\I386Z') DO (
  3193.     ECHO Processing %%I
  3194.     IF EXIST SOURCESS\I386\%%I (MOVE/Y WORK\I386Z\%%I SOURCESS\I386 >NUL) ELSE (MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX WORK\I386Z\%%I /L SOURCESS\I386 >NUL)
  3195. )
  3196. SET SDFEXTRA=TRUE
  3197. RD/Q/S TEMP
  3198. GOTO :EOF
  3199.  
  3200. :HFESYS32
  3201. DIR/B/A-D TEMP\WIN\SYSTEM32>TEMP\HFEXPERT.TXT
  3202. FOR /F %%I IN (TEMP\HFEXPERT.TXT) DO SET HFESYS32FILES=1
  3203. IF NOT DEFINED HFESYS32FILES GOTO :EOF
  3204. IF EXIST TEMP\WIN\SYSTEM32\*.CP* MOVE/Y TEMP\WIN\SYSTEM32\*.CP* SOURCESS\I386
  3205. XCOPY/HYQ TEMP\WIN\SYSTEM32\*.* WORK\I386Z >NUL&DEL/Q/F TEMP\WIN\SYSTEM32\*.* >NUL
  3206. FOR /F %%I IN (TEMP\HFEXPERT.TXT) DO (
  3207.     ECHO>>TEMP\HFWINTXT.TXT %%I = 1,,,,,,,2,0,0
  3208.     ECHO>>TEMP\HFWINDOS.TXT d1,%%I
  3209. )
  3210. GOTO :EOF
  3211.  
  3212. :HFEYzowl
  3213. set "sifdir=1100"
  3214. set basedir=%~dp0TEMP\WIN\
  3215. for /f "delims=" %%? in ('dir/b/s/on/ad TEMP\WIN') do if errorlevel 0 dir/b/a-d "%%?" >nul 2>&1&&call :paths "%%~?"
  3216. if not exist TEMP\XpertDir.txt goto :eof
  3217. for /f "delims=" %%? in (TEMP\XpertDir.txt) do (
  3218.  set /a sifdir+=1
  3219.  echo>>TEMP\TXTNTDIR.TXT !sifdir! = "%%?"
  3220.  dir/b/on/a-d TEMP\WIN\%%?>TEMP\HFEXPERT.TXT
  3221.  for /f "delims=" %%? in (TEMP\HFEXPERT.TXT) do (
  3222.    echo>>TEMP\HFWINTXT.TXT %%? = 1,,,,,,,!sifdir!,0,0
  3223.    echo>>TEMP\HFWINDOS.TXT d1,%%?
  3224.  )
  3225. )
  3226. goto :eof
  3227.  
  3228. :paths
  3229. set DirName=%~1
  3230. set PathName=!DirName:%basedir%=!
  3231. echo/%PathName%>>TEMP\XpertDir.txt
  3232. XCOPY/HY TEMP\WIN\%PATHNAME%\* WORK\I386Z >nul
  3233. GOTO :EOF
  3234. REM ======================================================================================
  3235.  
  3236. :HFEPRG
  3237. TITLE %T1% - HFEXPERT PROGRAMFILES
  3238. echo.&echo Processing HFEXPERT - Program Files&echo.
  3239. :: BASED ON HFEXPERT CODE BY YZOWL!
  3240. FOR /F %%I IN ('DIR/B/S/A-D HFEXPERT\PROGRAMFILES') DO SET TEMPPRG=FULL
  3241. IF NOT DEFINED TEMPPRG GOTO :EOF
  3242. ECHO.&ECHO HFEXPERT\PROGRAMFILES
  3243. IF NOT DEFINED CDTAG ECHO Adding Program Files files requires a valid CD tag.&PAUSE&GOTO :EOF
  3244. ECHO.&MD TEMP&SET CFCOUNT=0&ECHO/>HFEXPERT\PROGRAMFILES\DUMMMMMY.TXT
  3245. FOR /F %%I IN ('DIR/B/A-D HFEXPERT\PROGRAMFILES') DO IF NOT "%%I"=="DUMMMMMY.TXT" SET CFCOUNT=1&SET PFROOT=1
  3246. DEL/Q/F HFEXPERT\PROGRAMFILES\DUMMMMMY.TXT
  3247. IF "%CFCOUNT%"=="1" (
  3248.     ECHO>>TEMP\HFEPRGDDIR.TXT CopyFiles1=16422&ECHO/>>TEMP\HFEPRGCFIL.TXT&ECHO>>TEMP\HFEPRGCFIL.TXT [CopyFiles1]
  3249.     FOR /F "DELIMS=" %%K in ('DIR/B/A-D HFEXPERT\PROGRAMFILES') DO (
  3250.         ECHO Processing %%K&ECHO>>TEMP\HFEPRGSDF.TXT "%%K"=1&ECHO>>TEMP\HFEPRGCFIL.TXT "%%K"
  3251.         IF /I "%%~xK"==".CAB" (MOVE/Y "HFEXPERT\PROGRAMFILES\%%K" SOURCESS\I386\PFILES >NUL) ELSE (
  3252.         MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX "HFEXPERT\PROGRAMFILES\%%K" "%%K" /L SOURCESS\I386\PFILES >NUL
  3253.         )
  3254.     )
  3255. )
  3256. SET BASEDIR=%~dp0HFEXPERT\PROGRAMFILES\
  3257. FOR /F "DELIMS=" %%I IN ('DIR/B/S/ON/AD HFEXPERT\PROGRAMFILES') DO IF ERRORLEVEL 0 DIR/B/A-D "%%I" >NUL 2>&1&&CALL :SCANDEEPHFPF "%%~I"
  3258. SET BASEDIR=%~dp0
  3259. IF NOT EXIST TEMP\PRGDIR.TXT IF NOT DEFINED PFROOT GOTO :EOF
  3260. IF NOT DEFINED SDFEXTRA (
  3261.     ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [SourceDisksFiles]
  3262.     IF EXIST SOURCESS\I386\DOSNET.INF ECHO/>>SOURCESS\I386\DOSNET.INF&ECHO>>SOURCESS\I386\DOSNET.INF [Files]
  3263. )
  3264. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLIPPF.INF = 1,,,,,,,20,0,0&IF EXIST SOURCESS\I386\DOSNET.INF ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLIPPF.INF
  3265. IF EXIST TEMP\PRGDIR.TXT FOR /F "TOKENS=1 DELIMS=" %%I in (TEMP\PRGDIR.TXT) DO SET PRGSUBVAR=%%I&CALL :PROCESSPRG
  3266. :: PUTS COPYFILES ON ONE LINE - THANKS TO YZOWL
  3267. SET CFALL=&FOR /L %%I IN (1,1,%CFCOUNT%) DO (IF NOT DEFINED CFALL (SET CFALL=CopyFiles%%I) ELSE (SET CFALL=!CFALL!, CopyFiles%%I))
  3268. ECHO>SOURCESS\I386\HFSLIPPF.INF [Version]&ECHO>>SOURCESS\I386\HFSLIPPF.INF Signature="$WINDOWS NT$"&ECHO/>>SOURCESS\I386\HFSLIPPF.INF
  3269. ECHO>>SOURCESS\I386\HFSLIPPF.INF [Optional Components]&ECHO>>SOURCESS\I386\HFSLIPPF.INF PFInstall&ECHO/>>SOURCESS\I386\HFSLIPPF.INF
  3270. ECHO>>SOURCESS\I386\HFSLIPPF.INF [PFInstall]&ECHO>>SOURCESS\I386\HFSLIPPF.INF CopyFiles = %CFALL%
  3271. ECHO>>SOURCESS\I386\HFSLIPPF.INF OptionDesc = "Program Files Unattended"&ECHO>>SOURCESS\I386\HFSLIPPF.INF Tip = "Program Files Unattended"
  3272. ECHO>>SOURCESS\I386\HFSLIPPF.INF Modes = 0,1,2,3&ECHO/>>SOURCESS\I386\HFSLIPPF.INF
  3273. ECHO>>SOURCESS\I386\HFSLIPPF.INF [DestinationDirs]&TYPE TEMP\HFEPRGDDIR.TXT>>SOURCESS\I386\HFSLIPPF.INF&ECHO/>>SOURCESS\I386\HFSLIPPF.INF
  3274. ECHO>>SOURCESS\I386\HFSLIPPF.INF [SourceDisksNames]&ECHO>>SOURCESS\I386\HFSLIPPF.INF 1="PFILES DIR","%CDTAG%",,"\I386\PFILES"&ECHO/>>SOURCESS\I386\HFSLIPPF.INF
  3275. ECHO>>SOURCESS\I386\HFSLIPPF.INF [SourceDisksFiles]&TYPE TEMP\HFEPRGSDF.TXT>>SOURCESS\I386\HFSLIPPF.INF
  3276. TYPE TEMP\HFEPRGCFIL.TXT>>SOURCESS\I386\HFSLIPPF.INF
  3277. EXPAND -R SOURCESS\I386\SYSOC.IN_ TEMP >NUL
  3278. IF "%SYSOCUNI%"=="TRUE" (CMD/U/C "ECHO>>TEMP\SYSOC.INF PFInstall=ocgen.dll,OcEntry,HFSLIPPF.INF,HIDE,7") ELSE (ECHO>>TEMP\SYSOC.INF PFInstall=ocgen.dll,OcEntry,HFSLIPPF.INF,HIDE,7)
  3279. MAKECAB TEMP\SYSOC.INF /L SOURCESS\I386 >NUL
  3280. RD/Q/S TEMP
  3281. GOTO :EOF
  3282.  
  3283. :SCANDEEPHFPF
  3284. SET DIRNAME=%~1
  3285. SET ENDPATH=!DIRNAME:%BASEDIR%=!
  3286. ECHO/%ENDPATH%>>TEMP\PRGDIR.TXT
  3287. GOTO :EOF
  3288.  
  3289. :PROCESSPRG
  3290. SET /A CFCOUNT=%CFCOUNT%+1
  3291. ECHO>>TEMP\HFEPRGDDIR.TXT CopyFiles%CFCOUNT%=16422,"%PRGSUBVAR%"
  3292. ECHO/>>TEMP\HFEPRGCFIL.TXT&ECHO>>TEMP\HFEPRGCFIL.TXT [CopyFiles%CFCOUNT%]
  3293. FOR /F "DELIMS=" %%K in ('DIR/B/ON/A-D "HFEXPERT\PROGRAMFILES\%PRGSUBVAR%"') DO (
  3294.     ECHO Processing %%K&ECHO>>TEMP\HFEPRGSDF.TXT "%PRGSUBVAR%\%%K"=1&ECHO>>TEMP\HFEPRGCFIL.TXT "%%K","%PRGSUBVAR%\%%K"
  3295.     IF /I "%%~xK"==".CAB" (MOVE/Y "HFEXPERT\PROGRAMFILES\%PRGSUBVAR%\%%K" "SOURCESS\I386\PFILES\%PRGSUBVAR%" >NUL) ELSE (
  3296.     MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX "HFEXPERT\PROGRAMFILES\%PRGSUBVAR%\%%K" "%%K" /L "SOURCESS\I386\PFILES\%PRGSUBVAR%" >NUL
  3297.     )
  3298. )
  3299. GOTO :EOF
  3300. REM ======================================================================================
  3301.  
  3302. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3303.  
  3304. REM ======================BACKUP SOURCE AND SLIPSTREAM SERVICE PACKS======================
  3305. REM THANKS TO KRAMY FOR PROVIDING THE REQUIRED DIRECTIVES FOR USP5 SLIPSTREAMING AND THE BACKUP ROUTINE!
  3306. :CHECKSOURCE
  3307. IF EXIST SOURCE\cdromsp5.tst (SET SP=5) ELSE (IF EXIST SOURCE\I386\SVCPACK SET NOCLEANSRC=2)
  3308. FOR %%I IN (HFSL HFGUI nlite) DO IF EXIST SOURCE\I386\%%I*.IN* SET NOCLEANSRC=1
  3309. IF "%NOCLEANSRC%"=="1" (
  3310.     ECHO.&ECHO WARNING: Your source is not a clean source. It is recommended
  3311.     ECHO          you use one that hasn't been patched before.&ECHO.&PAUSE
  3312. )
  3313. IF "%NOCLEANSRC%"=="2" FOR /F "DELIMS=" %%I IN ('DIR/B SOURCE\I386\SVCPACK') DO IF /I NOT "%%~xI"==".CAT" DEL/Q/F "SOURCE\I386\SVCPACK\%%I"
  3314. IF "%VERSION%"=="2000" IF %SP% LSS 5 IF EXIST HF\w2ksp5*.exe IF NOT DEFINED BACKUPSOURCE SET BACKUPSOURCE=1
  3315. IF "%BACKUPSOURCE%"=="2" (GOTO :MAKEBACKUP) ELSE IF NOT "%BACKUPSOURCE%"=="1" (GOTO :HFSPACK)
  3316. ECHO.&ECHO Would you like HFSLIP to make a backup of the CD source?&ECHO It will be restored at the end.
  3317. ECHO.&ECHO Press Enter to make a backup.&ECHO Press 'N' to skip making a backup.
  3318. SET /P DOBACKUP=
  3319. IF /I "%DOBACKUP%"=="N" GOTO :HFSPACK
  3320.  
  3321. :MAKEBACKUP
  3322. ECHO Backing up source.  Please wait...
  3323. MD HFBACKUP&XCOPY/DEQ SOURCE HFBACKUP
  3324.  
  3325. :HFSPACK
  3326. IF "%VERSION%"=="XP" IF %SP% LSS 3 (
  3327.     IF EXIST HF\*936929* FOR /F %%I IN ('DIR/B HF\*936929*.exe') DO SET XPSP3=%%I
  3328.     IF EXIST HF\*835935* FOR /F %%I IN ('DIR/B HF\*835935*.exe') DO SET XPSP2=%%I
  3329.     IF EXIST HF\xpsp2*.exe FOR /F %%I IN ('DIR/B HF\xpsp2*.exe') DO SET XPSP2=%%I
  3330.     IF EXIST HF\xpsp1*.exe FOR /F %%I IN ('DIR/B HF\xpsp1*.exe') DO SET XPSP1=%%I
  3331.     IF EXIST HF\xpsp1a*.exe IF "%SP%"=="1" FOR /F %%I IN ('FINDSTR/IR "MSJAVA\.DLL" SOURCE\I386\LAYOUT.INF') DO SET SP1G=1
  3332. )
  3333. IF "%VERSION%"=="2000" (
  3334.     IF EXIST HF\w2ksp5*.exe (
  3335.         IF %SP% LSS 5 (
  3336.             ECHO Extracting Gurgelmeyer USP5 installer...
  3337.             FOR /F %%I IN ('DIR/B HF\w2ksp5*.exe') DO START/WAIT HF\%%I /Q /X:SP\
  3338.             ECHO Slipstreaming Gurgelmeyer USP5 into Windows 2000...
  3339.         )
  3340.     ) ELSE IF EXIST HF\w2ksp4*.exe (
  3341.         IF %SP% LSS 4 (
  3342.             ECHO Extracting SP4 installer...
  3343.             FOR /F %%I IN ('DIR/B HF\w2ksp4*.exe') DO START/WAIT HF\%%I /Q /X:SP\
  3344.             ECHO Slipstreaming SP4 into Windows 2000...
  3345.         )
  3346.     )
  3347. )
  3348. IF "%VERSION%"=="XP" (
  3349.     IF DEFINED XPSP3 (
  3350.         FOR %%I IN (BROWSEUI IEPEERS MSHTML SHDOCVW SHLWAPI URLMON) DO IF EXIST SOURCE\I386\%%I.DLL (
  3351.             IF NOT EXIST SOURCE\I386\%%I.DL_ (
  3352.                 ATTRIB SOURCE\I386\%%I.DLL -R
  3353.                 MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX SOURCE\I386\%%I.DLL /L SOURCE\I386 >NUL
  3354.             )
  3355.             DEL/Q/F SOURCE\I386\%%I.DLL
  3356.         )
  3357.         ECHO Extracting SP3 installer...&START/WAIT HF\%XPSP3% /Q /X:SP\&ECHO Slipstreaming SP3 into Windows XP...
  3358.         DEL/Q/F SP\i386\update\setupapi.dll
  3359.     ) ELSE IF DEFINED XPSP2 (
  3360.         ECHO Extracting SP2 installer...&START/WAIT HF\%XPSP2% /Q /X:SP\&ECHO Slipstreaming SP2 into Windows XP...
  3361.         DEL/Q/F SP\i386\update\setupapi.dll
  3362.     ) ELSE IF DEFINED SP1G (
  3363.         ECHO Extracting SP1a installer...&START/WAIT HF\%XPSP1% /Q /X:SP\i386\&ECHO Slipstreaming SP1a into Windows XP...
  3364.     ) ELSE IF "%SP%"=="0" (
  3365.         IF DEFINED XPSP1 ECHO Extracting SP1 installer...&START/WAIT HF\%XPSP1% /Q /X:SP\i386\&ECHO Slipstreaming SP1 into Windows XP...
  3366.     )
  3367. )
  3368. IF "%VERSION%"=="2003" (
  3369.     IF EXIST HF\*914961*.exe (
  3370.         IF %SP% LSS 2 (
  3371.             ECHO Extracting SP2 installer...
  3372.             FOR /F %%I IN ('DIR/B HF\*914961*.exe') DO START/WAIT HF\%%I /Q /X:SP\
  3373.             ECHO Slipstreaming SP2 into Windows Server 2003...
  3374.         )
  3375.     ) ELSE IF EXIST HF\*889101*.exe (
  3376.         IF %SP% LSS 1 (
  3377.             ECHO Extracting SP1 installer...
  3378.             FOR /F %%I IN ('DIR/B HF\*889101*.exe') DO START/WAIT HF\%%I /Q /X:SP\
  3379.             ECHO Slipstreaming SP1 into Windows Server 2003...
  3380.         )
  3381.     )
  3382. )
  3383. IF EXIST SP\i386 (
  3384.     IF EXIST HFTOOLS\update.exe COPY/Y HFTOOLS\update.exe SP\i386\update >NUL
  3385.     IF EXIST SOURCE\I386\SVCPACK.IN* DEL/Q/F SOURCE\I386\SVCPACK.IN*
  3386.     START/WAIT SP\i386\update\update.exe -u -n -o -q -s:"%~dp0SOURCE\"
  3387.     RD/Q/S SP&ECHO Finished slipstreaming the Service Pack.&SET HFSLIPSVPACK=1
  3388. )
  3389. IF EXIST SOURCE\cdromsp5.tst (
  3390.     IF "%NOCLEANSRC%"=="2" SET NOCLEANSRC=
  3391.     IF EXIST SOURCE\I386\SVCPACK\spsetup.exe ECHO>>WORK\SVCMAIN.TXT SPSETUP.EXE /q /n /z
  3392.     FOR /F %%I IN ('FINDSTR/IR /C:"USP 5\.1" SOURCE\cdromsp5.tst') DO SET VERSIONIE=2KIE6
  3393. )
  3394. CALL :CHECKSPLEVEL
  3395. IF "%VERSION%"=="2000" IF %SP% LSS 4 SET OLDWIN=1
  3396. IF "%VERSION%"=="XP" IF %SP% LSS 2 SET OLDWIN=1
  3397. IF DEFINED OLDWIN (
  3398.     ECHO.&ECHO Warning: Your source OS needs to be patched, but HFSLIP failed to detect
  3399.     ECHO          an accepted Service Pack.  It is strongly recommended you close
  3400.     ECHO          HFSLIP now and correct the problem.&ECHO.&PAUSE
  3401. )
  3402. ECHO.
  3403. GOTO :EOF
  3404. REM ======================================================================================
  3405.  
  3406. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3407.  
  3408. REM ======================SPXCAB==========================================================
  3409. :SPXCAB
  3410. FOR /F %%I IN (WORK\DRV.TXT) DO IF EXIST WORK\I386E\%%I SET SPXPASS=1&SET DRVUPD=1
  3411. IF EXIST HFEXPERT\SPXCAB SET SPXPASS=1
  3412. IF NOT DEFINED SPXPASS GOTO :EOF
  3413. TITLE %T1% - Creating new SPX.CAB
  3414. MD WORK\SPXCAB&ECHO.
  3415. IF DEFINED DRVUPD (
  3416.     ECHO Adding updated driver files
  3417.     FOR /F %%I IN (WORK\DRV.TXT) DO IF EXIST WORK\I386E\%%I (ECHO %%I&COPY WORK\I386E\%%I WORK\SPXCAB >NUL)
  3418. )
  3419. IF EXIST HFEXPERT\SPXCAB CALL :HFEDRVCAB
  3420. FINDSTR/IR "\[driver \[sp \." SOURCE\I386\DRVINDEX.INF>WORK\DRVCAB1.TXT
  3421. FINDSTR/VR "=" WORK\DRVCAB1.TXT>WORK\DRVCAB.TXT
  3422. DIR/B/ON WORK\SPXCAB>WORK\SPXCABFILES.TXT
  3423. FOR /F "TOKENS=2,3* DELIMS== " %%I IN ('FINDSTR/BI Cabfiles SOURCE\I386\DRVINDEX.INF') DO SET CABFILESLINE=%%I
  3424. ECHO>SOURCESS\I386\DRVINDEX.INF [Version]
  3425. ECHO>>SOURCESS\I386\DRVINDEX.INF Signature="$Windows NT$"
  3426. ECHO>>SOURCESS\I386\DRVINDEX.INF CabFiles=%CABFILESLINE%,SPX
  3427. FINDSTR/VBI /G:WORK\SPXCABFILES.TXT WORK\DRVCAB.TXT>>SOURCESS\I386\DRVINDEX.INF
  3428. ECHO>>SOURCESS\I386\DRVINDEX.INF [SPX]
  3429. TYPE WORK\SPXCABFILES.TXT>>SOURCESS\I386\DRVINDEX.INF
  3430. FINDSTR/BIR "\[Cabs driver= sp1= sp2= sp3= sp4= sp5=" SOURCE\I386\DRVINDEX.INF>>SOURCESS\I386\DRVINDEX.INF
  3431. ECHO>>SOURCESS\I386\DRVINDEX.INF SPX=SPX.cab
  3432. ECHO.&ECHO Creating SPX.CAB and updating the setup information files
  3433. CALL :UNICAB1
  3434. ECHO>>UC.DDF .Set CabinetNameTemplate=SPX.cab
  3435. ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  3436. FOR /F %%I IN ('DIR/B/ON WORK\SPXCAB') DO ECHO>>UC.DDF WORK\SPXCAB\%%I
  3437. CALL :UNICAB2
  3438. FINDSTR/VBI DriverCabName SOURCESS\I386\TXTSETUP.SIF>TXTSETUP.SIF
  3439. ECHO>>TXTSETUP.SIF SPX.cab = 1,,,,,,_x,39,0,0&MOVE/Y TXTSETUP.SIF SOURCESS\I386
  3440. IF EXIST SOURCESS\I386\DOSNET.INF ECHO>>SOURCESS\I386\DOSNET.INF d1,SPX.cab
  3441. FOR /F "TOKENS=2,3* DELIMS== " %%I IN ('FINDSTR/BI DriverCabName SOURCE\I386\TXTSETUP.SIF') DO SET DRVCABLINE=%%I
  3442. ECHO>WORK\TXTSDATA.TXT DriverCabName=%DRVCABLINE%,SPX.cab
  3443. ECHO>>WORK\TXTFFLAG.TXT SPX.cab = 16
  3444. GOTO :EOF
  3445. REM ======================================================================================
  3446.  
  3447. REM ======================CABEXPAND=======================================================
  3448. :CABEXPAND
  3449. FOR /F %%I IN (WORK\DRV.TXT) DO IF EXIST WORK\I386E\%%I SET DRVPASS=1&SET DRVUPD=1
  3450. FOR /F %%I IN ('DIR/B FDVFILES') DO SET DRVPASS=1
  3451. IF EXIST HFCLEANUP FOR /F %%I IN ('DIR/B HFCLEANUP') DO IF /I NOT "%%~xI"==".EXT" SET DRVPASS=1
  3452. IF EXIST SOURCE\I386\SP%SP%.CAB SET DRVPASS=1
  3453. IF EXIST HFEXPERT\DRIVERCAB SET DRVPASS=1
  3454. IF NOT DEFINED DRVPASS GOTO :EOF
  3455. TITLE %T1% - Preparing DRIVER.CAB update
  3456. DEL/Q/F SOURCESS\I386\DRIVER.CAB&MD SOURCESS\I386\DRIVER&EXPAND SOURCE\I386\DRIVER.CAB -F:* SOURCESS\I386\DRIVER
  3457. IF EXIST SOURCE\I386\SP%SP%.CAB (
  3458.     DEL/Q/F SOURCESS\I386\SP*.CAB&MD WORK\SPUP&EXPAND SOURCE\I386\SP%SP%.CAB -F:* WORK\SPUP
  3459.     XCOPY/DEHY WORK\SPUP SOURCESS\I386\DRIVER
  3460.     ECHO Merged extracted driver packages into one folder
  3461.     ECHO>WORK\TXTSDATA.TXT DriverCabName=DRIVER.CAB
  3462.     FINDSTR/VBI "DriverC SP1.CAB SP2.CAB SP3.CAB SP4.CAB SP5.CAB" SOURCESS\I386\TXTSETUP.SIF>TXTSETUP.SIF
  3463.     MOVE/Y TXTSETUP.SIF SOURCESS\I386
  3464.     IF EXIST SOURCESS\I386\DOSNET.INF (
  3465.         FINDSTR/VI "\,SP1.CAB \,SP2.CAB \,SP3.CAB SP4.CAB SP5.CAB" SOURCESS\I386\DOSNET.INF>DOSNET.INF
  3466.         MOVE/Y DOSNET.INF SOURCESS\I386
  3467.     )
  3468. )
  3469. IF "%DX9%"=="Slipstreamed" DEL/Q/F SOURCESS\I386\DRIVER\KS.SYS
  3470. IF DEFINED DRVUPD (
  3471.     ECHO.&ECHO Adding updated driver files from hotfixes
  3472.     FOR /F %%I IN (WORK\DRV.TXT) DO IF EXIST WORK\I386E\%%I (ECHO %%I&COPY/Y WORK\I386E\%%I SOURCESS\I386\DRIVER >NUL)
  3473. )
  3474. rem    IF EXIST HFEXPERT\DRIVERCAB CALL :HFEDRVCAB
  3475. GOTO :EOF
  3476. REM ======================================================================================
  3477.  
  3478. REM ======================CABCOMPACT======================================================
  3479. :CABCOMPACT
  3480. TITLE %T1% - Creating updated DRIVER.CAB
  3481. ECHO.&ECHO Creating updated DRIVER.CAB and driver information file
  3482. CALL :UNICAB1
  3483. ECHO>>UC.DDF .Set CabinetNameTemplate=DRIVER.CAB
  3484. ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\I386
  3485. FOR /F %%I IN ('DIR/B/ON SOURCESS\I386\DRIVER') DO ECHO>>UC.DDF SOURCESS\I386\DRIVER\%%I
  3486. MAKECAB/F UC.DDF&DEL/Q/F UC.DDF SETUP.INF SETUP.RPT
  3487. ECHO>SOURCESS\I386\DRVINDEX.INF [Version]
  3488. ECHO>>SOURCESS\I386\DRVINDEX.INF Signature="$Windows NT$"
  3489. ECHO>>SOURCESS\I386\DRVINDEX.INF CabFiles=driver
  3490. ECHO>>SOURCESS\I386\DRVINDEX.INF [driver]
  3491. DIR/B/ON SOURCESS\I386\DRIVER>>SOURCESS\I386\DRVINDEX.INF
  3492. ECHO>>SOURCESS\I386\DRVINDEX.INF [Cabs]
  3493. ECHO>>SOURCESS\I386\DRVINDEX.INF driver=DRIVER.CAB
  3494. RD/Q/S SOURCESS\I386\DRIVER
  3495. GOTO :EOF
  3496. REM ======================================================================================
  3497.  
  3498. REM ======================HFEXPERT DRIVERCAB==============================================
  3499. :HFEDRVCAB
  3500. IF DEFINED SPXPASS (SET DRVSRC=HFEXPERT\SPXCAB&SET DRVDEST=WORK\SPXCAB) ELSE (
  3501.     SET DRVSRC=HFEXPERT\DRIVERCAB&SET DRVDEST=SOURCESS\I386\DRIVER
  3502. )
  3503. ECHO.&ECHO Adding files from %DRVSRC%
  3504. FOR /F "DELIMS=" %%I IN ('DIR/B/A-D/S "%DRVSRC%"') DO (
  3505.     IF /I NOT "%%~xI"==".INF" (ECHO %%~nI%%~xI&XCOPY/HY "%%I" %DRVDEST% >NUL) ELSE (
  3506.         XCOPY/HY "%%I" SOURCESS\I386 >NUL&ECHO>>SOURCESS\I386\TXTSETUP.SIF %%~nI%%~xI = 1,,,,,,,20,0,0
  3507.         IF EXIST SOURCESS\I386\DOSNET.INF ECHO>>SOURCESS\I386\DOSNET.INF d1,%%~nI%%~xI
  3508.     )
  3509. )
  3510. GOTO :EOF
  3511. REM ======================================================================================
  3512.  
  3513. REM ======================STORAGE DRIVERS=================================================
  3514. :HFSTOR
  3515. TITLE %T1% - Processing storage drivers
  3516. echo.&echo Processing Storage Drivers&echo.
  3517. :: THANKS TO OLEG II AND YZOWL FOR ANOTHER GREAT IDEA!
  3518. ECHO.&ECHO Processing storage drivers
  3519. DIR/B HFEXPERT\STORAGE>HFSTOR.TXT
  3520. DIR/B HFEXPERT\STORAGE\STORAGE*.INI>HFSTORI.TXT
  3521. FOR /F %%I IN ('FINDSTR/VG:HFSTORI.TXT HFSTOR.TXT') DO (
  3522.     MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX HFEXPERT\STORAGE\%%I /L SOURCESS\I386 >NUL
  3523.     IF EXIST SOURCESS\I386\DOSNET.INF ECHO>>SOURCESS\I386\DOSNET.INF d1,%%I
  3524.     IF /I "%%~xI"==".SYS" (
  3525.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,3_,4,1,,,1,4&ECHO>>WORK\DNFF2.TXT d1,%%I
  3526.     ) ELSE IF /I "%%~xI"==".INF" (
  3527.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,20,0,0,,1,20
  3528.     ) ELSE (
  3529.         ECHO>>SOURCESS\I386\TXTSETUP.SIF %%I = 1,,,,,,,2,0,0,,1,2
  3530.     )
  3531. )
  3532. ECHO/>>WORK\STORSIF.TXT&ECHO>>WORK\STORSIF.TXT [SCSI.Load]
  3533. FOR /F %%I IN (HFSTORI.TXT) DO CALL :STORINIS %%I
  3534. FOR /F %%I IN (HFSTORI.TXT) DO (ECHO/>>WORK\STORSIF.TXT&TYPE HFEXPERT\STORAGE\%%I>>WORK\STORSIF.TXT)
  3535. ECHO/>>WORK\STORSIF.TXT
  3536. DEL/Q/F HFSTOR*.TXT
  3537. GOTO :EOF
  3538.  
  3539. :STORINIS
  3540. FOR /F "EOL=[ DELIMS== " %%I IN ('FIND /V "\" ^<HFEXPERT\STORAGE\%1') DO IF EXIST HFEXPERT\STORAGE\%%I.SYS (
  3541.     ECHO>>WORK\STORSIF.TXT %%I = %%I.SYS,4
  3542. )
  3543. GOTO :EOF
  3544. REM ======================================================================================
  3545.  
  3546. REM ======================USELESS BINARIES================================================
  3547. :DELBIN
  3548. IF DEFINED VERSION IF EXIST HFCLEANUP\%VERSION%SP%SP%.EXT SET DELBINFILE=%VERSION%SP%SP%.EXT
  3549. IF NOT DEFINED DELBINFILE FOR /F %%I IN ('DIR/B HFCLEANUP\*.EXT') DO SET DELBINFILE=%%I
  3550. IF DEFINED DELBINFILE (
  3551.     ECHO.&ECHO Removing duplicate and/or obsolete files in SOURCESS\I386
  3552.     FOR /F "DELIMS=" %%I IN (HFCLEANUP\%DELBINFILE%) DO IF EXIST "SOURCESS\I386\%%I" (ECHO Removed %%I&DEL/Q/F "SOURCESS\I386\%%I")
  3553. )
  3554. GOTO :EOF
  3555. REM ======================================================================================
  3556.  
  3557. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3558.  
  3559. REM ======================FOLDER INIT=====================================================
  3560. :FOLDERINIT
  3561. IF EXIST WORK\FILESTODEL.TXT FOR /F "DELIMS=" %%I IN (WORK\FILESTODEL.TXT) DO IF EXIST %%I DEL/Q/F %%I
  3562. IF EXIST SP RD/Q/S SP
  3563. IF EXIST TEMP RD/Q/S TEMP
  3564. IF EXIST WORK RD/Q/S WORK
  3565. IF EXIST SP.DDF DEL/Q/F SP.DDF
  3566. IF EXIST SP.TXT DEL/Q/F SP.TXT
  3567. IF EXIST UC.DDF DEL/Q/F UC.DDF
  3568. FOR %%I IN (FDVFILES HF HFCABS HFSVCPACK HFSVCPACK_SW1 HFSVCPACK_SW2 HFGUIRUNONCE HFTOOLS REPLACE) DO IF NOT EXIST %%I MD %%I
  3569. IF NOT EXIST SOURCE MD SOURCE&EXIT
  3570. GOTO :EOF
  3571. REM ======================================================================================
  3572.  
  3573. REM ======================FOLDER PREP=====================================================
  3574. :FOLDERPREP
  3575. CLS
  3576. TITLE %T1% - Preparing Folders
  3577. MD WORK\DX9 WORK\DX9EXTRA WORK\DX9_X3DA WORK\FDV WORK\INFS WORK\SVCPACK WORK\I386E WORK\CDROOT WORK\IE6EXP WORK\MSXML WORK\RED
  3578. IF NOT "%DIAGNOSTIC%"=="1" (
  3579.     IF EXIST SOURCESS RD/Q/S SOURCESS
  3580.     MD SOURCESS\I386\SVCPACK
  3581. )
  3582. GOTO :EOF
  3583. REM ======================================================================================
  3584.  
  3585. REM ======================AHTEST==========================================================
  3586. :AHTESTEXP
  3587. IF /I "%AHTEST1%"=="HFCLEANUP" SET DIAGNOSTIC=1&CALL :FOLDERPREP&CALL :ADDFFLAGS&CALL :HFCLEANUP&CALL :CABCOMPACT&CALL :MAKEISO&RD/Q/S WORK&PAUSE&EXIT
  3588. IF /I "%AHTEST1%"=="MAKEISO" IF EXIST SOURCESS CALL :MAKEISO&PAUSE&EXIT
  3589. IF /I NOT "%AHTEST1%"=="I HAVE READ THE INSTRUCTIONS" ECHO Read the instructions NOW&PAUSE&EXIT
  3590. GOTO :EOF
  3591. REM ======================================================================================
  3592.  
  3593. REM ======================TXTSETUP_INIT===================================================
  3594. :TXTSETUP_INIT
  3595. IF DEFINED EE ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [SourceDisksFiles]&GOTO :EOF
  3596. COPY SOURCE\I386\TXTSETUP.SIF/A SOURCESS\I386\TXTSETUP.SIF/B
  3597. IF "!VERSIONIE!"=="FDV" MOVE/Y WORK\FDV\TXTSETUP.SIF SOURCESS\I386
  3598. ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [SourceDisksFiles]
  3599. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLIPWU.INF = 1,,,,,,,20,0,0
  3600. SET TXTDIRH9=1
  3601. GOTO :EOF
  3602. REM ======================================================================================
  3603.  
  3604. REM ======================DOSNET_INIT=====================================================
  3605. :DOSNET_INIT
  3606. IF DEFINED EE IF EXIST SOURCESS\I386\DOSNET.INF ECHO/>>SOURCESS\I386\DOSNET.INF&ECHO>>SOURCESS\I386\DOSNET.INF [Files]&GOTO :EOF
  3607. REM DO THE DOSNET.INF FILE
  3608.     COPY SOURCE\I386\DOSNET.INF SOURCESS\I386
  3609.         IF "!FDV!"=="ON" MOVE /Y WORK\FDV\DOSNET.INF SOURCESS\I386
  3610. ECHO/>WORK\DNOSDIR.TXT
  3611. ECHO>>WORK\DNOSDIR.TXT [OptionalSrcDirs]
  3612. ECHO>>WORK\DNOSDIR.TXT svcpack
  3613. ECHO/>>SOURCESS\I386\DOSNET.INF
  3614. ECHO>>SOURCESS\I386\DOSNET.INF [Files]
  3615. ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLIPWU.INF
  3616. CLS
  3617. GOTO :EOF
  3618. REM ======================================================================================
  3619.  
  3620. REM ======================SYSOC_INIT SETUP================================================
  3621. :SYSOC_INIT
  3622. REM DO THE SYSOC.IN_ FILE (THE SEED)
  3623. REM THANKS TO LUPO FOR CRAFTING THIS UNICODE STUFF TO MAKE LANGUAGES WORK CORRECTLY.
  3624. IF DEFINED EE EXPAND -R SOURCESS\I386\SYSOC.IN_ WORK
  3625. IF NOT DEFINED EE IF NOT "!VERSIONIE!"=="FDV" EXPAND -R SOURCE\I386\SYSOC.IN_ WORK
  3626. IF "!VERSIONIE!"=="FDV" MOVE/Y WORK\FDV\SYSOC.IN_ WORK\SYSOC.INF
  3627. REM * EDITED FOR FLEXIBILITY
  3628. FINDSTR/L "[Version]" WORK\SYSOC.INF
  3629. IF ERRORLEVEL 1 SET SYSOCUNI=TRUE
  3630. ECHO/>WORK\SYSOCOC.TXT
  3631. ECHO>>WORK\SYSOCOC.TXT [Components]
  3632. GOTO :EOF
  3633. REM ======================================================================================
  3634.  
  3635. REM ======================HFSLIP_INIT SETUP===============================================
  3636. :HFSLIP_INIT
  3637. ECHO>SOURCESS\I386\HFSLIPWU.INF [Version]
  3638. ECHO>>SOURCESS\I386\HFSLIPWU.INF Signature="$WINDOWS NT$"
  3639. ECHO/>>SOURCESS\I386\HFSLIPWU.INF
  3640. ECHO>>SOURCESS\I386\HFSLIPWU.INF [Optional Components]
  3641. ECHO>>SOURCESS\I386\HFSLIPWU.INF WinUpdate
  3642. ECHO>>SOURCESS\I386\HFSLIPWU.INF CLEANUP
  3643. ECHO/>>SOURCESS\I386\HFSLIPWU.INF
  3644. ECHO>>SOURCESS\I386\HFSLIPWU.INF [WinUpdate]
  3645. ECHO>>SOURCESS\I386\HFSLIPWU.INF CopyFiles  = CFAdo,CFOle,PFIE,PFIELCID,PFIELG4,PFWMC2,PFWMP,PFWMPLCID,PFWMPNWS,PFWMPROX,PFWMPSKINS,MUIfall,NDIAG,SOFTDIST,SYS32,PFILES4,PFILES5
  3646. ECHO>>SOURCESS\I386\HFSLIPWU.INF DelFiles   =
  3647. ECHO>>SOURCESS\I386\HFSLIPWU.INF AddReg     = ROROE,HFSLIPREG
  3648. ECHO>>SOURCESS\I386\HFSLIPWU.INF DelReg     =
  3649. ECHO>>SOURCESS\I386\HFSLIPWU.INF UpdateInis = AddLinks
  3650. ECHO>>SOURCESS\I386\HFSLIPWU.INF OptionDesc = "Hotfix Registry Edit"
  3651. ECHO>>SOURCESS\I386\HFSLIPWU.INF Tip        = "Hotfix Registry Edit"
  3652. ECHO>>SOURCESS\I386\HFSLIPWU.INF Modes      = 0,1,2,3
  3653. ECHO/>>SOURCESS\I386\HFSLIPWU.INF
  3654. ECHO>>SOURCESS\I386\HFSLIPWU.INF [CLEANUP]
  3655. ECHO>>SOURCESS\I386\HFSLIPWU.INF CopyFiles  =
  3656. ECHO>>SOURCESS\I386\HFSLIPWU.INF DelFiles   =
  3657. ECHO>>SOURCESS\I386\HFSLIPWU.INF AddReg     = OTHER
  3658. ECHO>>SOURCESS\I386\HFSLIPWU.INF OptionDesc = "HFSLIP Slipstream"
  3659. ECHO>>SOURCESS\I386\HFSLIPWU.INF Tip        = "Non personal use is against the HFSLIP terms and conditions"
  3660. ECHO>>SOURCESS\I386\HFSLIPWU.INF Modes      = 0,1,2,3
  3661. IF DEFINED CDTAG ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [SourceDisksNames]&ECHO>>SOURCESS\I386\HFSLIPWU.INF 1="Windows CD","%CDTAG%",,"\I386"
  3662. ECHO/>WORK\HFREGWU.TXT
  3663. ECHO>>WORK\HFREGWU.TXT [HFSLIPREG]
  3664. ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HFSLIPTotalSlipstream","DisplayName",0,"HFSLIP Total Slipstream, Other than personal use is Unethical and against Terms and Conditions (v%HFSVERFULL%)"
  3665. ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HFSLIPTotalSlipstream","UninstallString",0,"CMD /C ECHO>ER.REG REGEDIT4&ECHO>>ER.REG [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HFSLIPTotalSlipstream]&REGEDIT /S ER.REG&DEL/Q/F ER.REG"
  3666. ECHO>>WORK\HFREGWU.TXT HKLM,"SOFTWARE\Microsoft\Driver Signing","Policy",0x30001,0
  3667. ECHO/>WORK\ROROEWU.TXT&ECHO>>WORK\ROROEWU.TXT [ROROE]
  3668. GOTO :EOF
  3669. REM ======================================================================================
  3670.  
  3671. REM ======================UPDATE_INIT=====================================================
  3672. :UPDATE_INIT
  3673. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
  3674. IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
  3675. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
  3676. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD FOR %%%%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%%%i:\%MBOOTPATH%I386\SVCPACK (
  3677. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  SET HFSLIP=%%%%i:\%MBOOTPATH%I386\
  3678. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  SET HFSLIPSVC=%%%%i:\%MBOOTPATH%I386\SVCPACK\
  3679. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD )
  3680. GOTO :EOF
  3681. REM ======================================================================================
  3682.  
  3683. REM ======================GET LANG========================================================
  3684. :GETLANG
  3685. IF NOT DEFINED LCIDD IF EXIST SOURCE\I386\FP*0EXT.IN* (
  3686.     FOR /F %%I IN ('DIR/B SOURCE\I386\FP*0EXT.IN*') DO (
  3687.         COPY SOURCE\I386\%%~nI.INF WORK >NUL 2>&1||EXPAND SOURCE\I386\%%~nI.IN_ -R WORK >NUL
  3688.         TYPE WORK\%%~nI.INF>WORK\GETLCIDD.TXT
  3689.     )
  3690.     FOR /F "TOKENS=3 DELIMS= " %%I IN ('FINDSTR/BI "FrontPageLangID" WORK\GETLCIDD.TXT') DO SET LCIDD=%%~I
  3691. )
  3692. IF "%LCIDD%"=="1033" FOR /F %%I IN ('FINDSTR/IR "Β’Β’" SOURCE\I386\PRODSPEC.INI') DO SET LCIDD=1032
  3693. IF DEFINED LCIDD CALL :SETLANGCODES&CLS&GOTO :EOF
  3694. FINDSTR/I Localization SOURCE\I386\PRODSPEC.INI>LNG.TXT
  3695. FOR /F "TOKENS=1 DELIMS=" %%I IN (LNG.TXT) DO SET %%I
  3696. IF "%Localization%"=="Arabic" SET LCIDD=1025
  3697. IF "%Localization%"=="Traditional Chinese" SET LCIDD=1028
  3698. IF "%Localization%"=="Czech" SET LCIDD=1029
  3699. IF "%Localization%"=="Dansk" SET LCIDD=1030
  3700. IF "%Localization%"=="German" SET LCIDD=1031
  3701. IF "%Localization%"=="English" SET LCIDD=1033
  3702. IF "%Localization%"=="Finnish" SET LCIDD=1035
  3703. IF "%Localization%"=="Hebrew" SET LCIDD=1037
  3704. IF "%Localization%"=="Magyar" SET LCIDD=1038
  3705. IF "%Localization%"=="Italiano" SET LCIDD=1040
  3706. IF "%Localization%"=="Japanese" SET LCIDD=1041
  3707. IF "%Localization%"=="Korean" SET LCIDD=1042
  3708. IF "%Localization%"=="Dutch" SET LCIDD=1043
  3709. IF "%Localization%"=="Polski" SET LCIDD=1045
  3710. IF "%Localization%"=="Russian" SET LCIDD=1049
  3711. IF "%Localization%"=="Swedish" SET LCIDD=1053
  3712. IF "%Localization%"=="Chinese(PRC)" SET LCIDD=2052
  3713. FOR /F %%I IN ('FINDSTR/IR "=Portugu.s" LNG.TXT') DO SET LCIDD=2070
  3714. FOR /F %%I IN ('FINDSTR/IR "(Brasil)" LNG.TXT') DO SET LCIDD=1046
  3715. FOR /F %%I IN ('FINDSTR/IR "Β’Β’" LNG.TXT') DO SET LCIDD=1032
  3716. FOR /F %%I IN ('FINDSTR/IR "=Fran.ais" LNG.TXT') DO SET LCIDD=1036
  3717. FOR /F %%I IN ('FINDSTR/IR "=T.rk.e" LNG.TXT') DO SET LCIDD=1055
  3718. FOR /F %%I IN ('FINDSTR/IR "=Espa.ol" LNG.TXT') DO SET LCIDD=3082
  3719. FOR /F "DELIMS=;" %%I IN ('FINDSTR "Merknad" SOURCE\I386\PRODSPEC.INI') DO SET LCIDD=1044
  3720. DEL/Q/F LNG.TXT
  3721. IF DEFINED LCIDD (CALL :SETLANGCODES) ELSE (
  3722.     ECHO HFSLIP was unable to determine the language of your source OS.  As a result,
  3723.     ECHO some updates such as the Windows Update Agent cannot be slipstreamed properly.&PAUSE
  3724. )
  3725. CLS&GOTO :EOF
  3726.  
  3727. :SETLANGCODES
  3728. IF "%LCIDD%"=="1025" SET Localization=Arabic&SET LNG=ARA&SET LG=AR&SET LG3=401&SET NOIE7STRNGSRCH=1
  3729. IF "%LCIDD%"=="1028" SET Localization=Chinese (Taiwan)&SET LNG=CHT&SET LG=ZHTW&SET LG3=404&SET NOIE7STRNGSRCH=1
  3730. IF "%LCIDD%"=="1029" SET Localization=Czech&SET LNG=CSY&SET LG=CS&SET LG3=405&SET NOIE7STRNGSRCH=1
  3731. IF "%LCIDD%"=="1030" SET Localization=Danish&SET LNG=DAN&SET LG=DA&SET LG3=406
  3732. IF "%LCIDD%"=="1031" SET Localization=German&SET LNG=DEU&SET LG=DE&SET LG3=407
  3733. IF "%LCIDD%"=="1032" SET Localization=Greek&SET LNG=ELL&SET LG=EL&SET LG3=408&SET NOIE7STRNGSRCH=1
  3734. IF "%LCIDD%"=="1033" SET Localization=English&SET LNG=ENU&SET LG=EN&SET LG3=409
  3735. IF "%LCIDD%"=="1035" SET Localization=Finnish&SET LNG=FIN&SET LG=FI&SET LG3=40b
  3736. IF "%LCIDD%"=="1036" SET Localization=French&SET LNG=FRA&SET LG=FR&SET LG3=40c
  3737. IF "%LCIDD%"=="1037" SET Localization=Hebrew&SET LNG=HEB&SET LG=HE&SET LG3=40d&SET NOIE7STRNGSRCH=1
  3738. IF "%LCIDD%"=="1038" SET Localization=Hungarian&SET LNG=HUN&SET LG=HU&SET LG3=40e
  3739. IF "%LCIDD%"=="1040" SET Localization=Italian&SET LNG=ITA&SET LG=IT&SET LG3=410
  3740. IF "%LCIDD%"=="1041" SET Localization=Japanese&SET LNG=JPN&SET LG=JA&SET LG3=411&SET NOIE7STRNGSRCH=1
  3741. IF "%LCIDD%"=="1042" SET Localization=Korean&SET LNG=KOR&SET LG=KO&SET LG3=412&SET NOIE7STRNGSRCH=1
  3742. IF "%LCIDD%"=="1043" SET Localization=Dutch&SET LNG=NLD&SET LG=NL&SET LG3=413
  3743. IF "%LCIDD%"=="1044" SET Localization=Norwegian&SET LNG=NOR&SET LG=NO&SET LG3=414
  3744. IF "%LCIDD%"=="1045" SET Localization=Polish&SET LNG=PLK&SET LG=PL&SET LG3=415&SET NOIE7STRNGSRCH=1
  3745. IF "%LCIDD%"=="1046" SET Localization=Portuguese (Brazil)&SET LNG=PTB&SET LG=PTBR&SET LG3=416
  3746. IF "%LCIDD%"=="1049" SET Localization=Russian&SET LNG=RUS&SET LG=RU&SET LG3=419&SET NOIE7STRNGSRCH=1
  3747. IF "%LCIDD%"=="1053" SET Localization=Swedish&SET LNG=SVE&SET LG=SV&SET LG3=41d
  3748. IF "%LCIDD%"=="1055" SET Localization=Turkish&SET LNG=TRK&SET LG=TR&SET LG3=41f&SET NOIE7STRNGSRCH=1
  3749. IF "%LCIDD%"=="2052" SET Localization=Chinese (China)&SET LNG=CHS&SET LG=ZHCN&SET LG3=804&SET NOIE7STRNGSRCH=1
  3750. IF "%LCIDD%"=="2070" SET Localization=Portuguese&SET LNG=PTG&SET LG=PT&SET LG3=816
  3751. IF "%LCIDD%"=="3076" SET Localization=Chinese (Hong Kong)&SET LNG=CHT&SET LG=ZHTW&SET LG3=404&SET NOIE7STRNGSRCH=1
  3752. IF "%LCIDD%"=="3082" SET Localization=Spanish&SET LNG=ESN&SET LG=ES&SET LG3=c0a
  3753. GOTO :EOF
  3754.  
  3755. :SETHEX4ALL
  3756. IF "%LNGALL%"=="ARA" SET HEX4ALL=0401
  3757. IF "%LNGALL%"=="CHT" SET HEX4ALL=0404
  3758. IF "%LNGALL%"=="CSY" SET HEX4ALL=0405
  3759. IF "%LNGALL%"=="DAN" SET HEX4ALL=0406
  3760. IF "%LNGALL%"=="DEU" SET HEX4ALL=0407
  3761. IF "%LNGALL%"=="ELL" SET HEX4ALL=0408
  3762. IF "%LNGALL%"=="ITA" SET HEX4ALL=0410
  3763. IF "%LNGALL%"=="JPN" SET HEX4ALL=0411
  3764. IF "%LNGALL%"=="KOR" SET HEX4ALL=0412
  3765. IF "%LNGALL%"=="NLD" SET HEX4ALL=0413
  3766. IF "%LNGALL%"=="NOR" SET HEX4ALL=0414
  3767. IF "%LNGALL%"=="PLK" SET HEX4ALL=0415
  3768. IF "%LNGALL%"=="PTB" SET HEX4ALL=0416
  3769. IF "%LNGALL%"=="RUS" SET HEX4ALL=0419
  3770. IF "%LNGALL%"=="FIN" SET HEX4ALL=040b
  3771. IF "%LNGALL%"=="FRA" SET HEX4ALL=040c
  3772. IF "%LNGALL%"=="HEB" SET HEX4ALL=040d
  3773. IF "%LNGALL%"=="HUN" SET HEX4ALL=040e
  3774. IF "%LNGALL%"=="SVE" SET HEX4ALL=041d
  3775. IF "%LNGALL%"=="CHS" SET HEX4ALL=0804
  3776. IF "%LNGALL%"=="PTG" SET HEX4ALL=0816
  3777. IF "%LNGALL%"=="TRK" SET HEX4ALL=041f
  3778. IF "%LNGALL%"=="ESN" SET HEX4ALL=0c0a
  3779. GOTO :EOF
  3780. REM ======================================================================================
  3781.  
  3782. REM ======================CHECK WINDOWS VERSION===========================================
  3783. :CHECKWINVER
  3784. rem thanks seabee
  3785. FOR /F "TOKENS=2,3,4* DELIMS=, " %%I IN ('FINDSTR/BIL "Product=" SOURCE\I386\PRODSPEC.INI') DO SET V1=%%I&SET V2=%%J&SET V3=%%K
  3786. IF "%V1%"=="2000" (
  3787.     SET VERSION=2000&SET MINIVER=2K
  3788.     IF "%V2%"=="Server" SET SERVER=SERVER
  3789.     IF "%V3%"=="Server" SET SERVER=SERVER
  3790. ) ELSE IF "%V1%"=="XP" (
  3791.     SET VERSION=XP&SET MINIVER=XP
  3792.     ECHO %V2%|FIND /I "Profess">NUL 2>&1&&SET SUBTAG=ip
  3793.     IF "%V2%"=="Home" SET SUBTAG=ic
  3794.     IF "%V3%"=="familiale" SET SUBTAG=ic
  3795. ) ELSE IF "%V2%"=="2003" (
  3796.     SET VERSION=2003&SET MINIVER=2K3&SET SERVER=SERVER
  3797.     IF "%V3%"=="Standard" SET SUBTAG=is
  3798.     IF "%V3%"=="Enterprise" SET SUBTAG=ia
  3799.     IF "%V3%"=="Datacenter" SET SUBTAG=id
  3800.     IF "%V3%"=="Web" SET SUBTAG=ib
  3801. )
  3802.  
  3803.  
  3804. IF NOT "%V1%"=="2000" IF "%SUBTAG%"=="" (
  3805. ECHO ERROR
  3806. ECHO Can't detect OS version, please add a "SUBTAG=i?" line, without the quotes, in
  3807. ECHO HFANSWER.INI where '?' is 'c' for XP Home, 'p' for XP Pro, 's' for 2003 Std,
  3808. ECHO 'a' for 2003 Enterprise, 'd' for 2003 Datacenter or 'b' for 2003 Web.
  3809. PAUSE
  3810. RD/Q/S SOURCESS WORK&EXIT
  3811. )
  3812.  
  3813. IF EXIST SOURCE\WIN51 (
  3814.     FOR /F %%I IN ('DIR/B SOURCE\WIN51') DO SET CDTAG=%%I
  3815. ) ELSE IF EXIST SOURCE\CDROM_NT.5 (
  3816.     FOR /F %%I IN ('DIR/B SOURCE\CDROM_NT.5') DO SET CDTAG=%%I
  3817. )
  3818.  
  3819. :CHECKSPLEVEL
  3820. IF EXIST SOURCE\I386\SP*.CAT FOR /F "TOKENS=2 DELIMS=Pp." %%I IN ('DIR/B/ON SOURCE\I386\SP*.CAT') DO SET SP=%%I
  3821. IF NOT DEFINED SP (
  3822.     IF EXIST SOURCE\cdromsp5.tst (
  3823.         SET SP=4
  3824.     ) ELSE IF EXIST SOURCE\CDROMSP*.TST (
  3825.          FOR /F "TOKENS=2 DELIMS=Pp." %%I IN ('DIR/B/ON SOURCE\CDROMSP*.TST') DO SET SP=%%I
  3826.     ) ELSE IF EXIST SOURCE\WIN51*.SP* (
  3827.         FOR /F %%I IN ('DIR/B/ON SOURCE\WIN51*.SP*') DO ECHO>>SPTMP.TXT %%~xI
  3828.         FOR /F "TOKENS=2 DELIMS=Pp" %%I IN (SPTMP.TXT) DO SET SP=%%I
  3829.         DEL/Q/F SPTMP.TXT
  3830.     )
  3831. )
  3832. IF NOT DEFINED SP SET SP=0
  3833. GOTO :EOF
  3834. REM ======================================================================================
  3835.  
  3836. REM ======================WBEMOC.INF FIX==================================================
  3837. :WBEMFIX
  3838. MD WORK\WBEMFIX&EXPAND HFCABS\wbemoc.cab -F:* WORK\WBEMFIX >NUL
  3839. IF NOT EXIST WORK\WBEMFIX\wbemoc*.txt GOTO :EOF
  3840. IF "%LNG%"=="ENU" (REN "WORK\WBEMFIX\wbemoc_ENU_%SUBTAG%.txt" wbemoc.inf) ELSE (
  3841.     REN "WORK\WBEMFIX\wbemoc_UNI_%SUBTAG%.txt" wbemoc.inf
  3842.     IF EXIST WORK\WBEMFIX\wbemoc_%LNG%_str.txt (
  3843.         CMD/U/C "TYPE WORK\WBEMFIX\wbemoc_%LNG%_str.txt>>WORK\WBEMFIX\wbemoc.inf"
  3844.     ) ELSE (
  3845.         CMD/U/C "TYPE WORK\WBEMFIX\wbemoc_UNI_str.txt>>WORK\WBEMFIX\wbemoc.inf"
  3846.     )
  3847. )
  3848. MAKECAB /D CompressionMemory=21 /D CompressionType=LZX WORK\WBEMFIX\wbemoc.inf /L WORK\WBEMFIX >NUL
  3849. REN WORK\WBEMFIX\wbemoc.in_ WBEMOC.IN_&MOVE/Y WORK\WBEMFIX\WBEMOC.IN_ SOURCESS\I386 >NUL
  3850. GOTO :EOF
  3851. REM ======================================================================================
  3852.  
  3853. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3854.  
  3855. REM ======================HFSLIP INF CREATORS=============================================
  3856. :HFSLIPINFCREATOR1
  3857. ECHO>SOURCESS\I386\HFSLP!HFSLP!.INF [Version]&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF Signature="$WINDOWS NT$"
  3858. ECHO/>>SOURCESS\I386\HFSLP!HFSLP!.INF&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [DefaultInstall]
  3859. IF NOT "!VERSION!"=="2000" (ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=Product.Add.Reg) ELSE (
  3860.     ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=Product.Add.Reg,keys.add,MSI.AddReg,Actsetup.Reg,User.AddReg,Base.IE.AddReg,Common.Add.Reg,AppCompatSetup.reg,NoPrompt.AddReg,RegisterActiveSetup,Reg.WPD,MTP.AutoPlayRegistration,reg.devices,Reg.Codecs,Fraunhofer.Reg,V9Reg.Core,V9Reg.Core.AddOnly,V9Reg.Univ,WMP.ARP,V9.RegPUI,WMPAddReg.PUI,WMPAddReg.OSPUI,V9Reg.XP,WMP.SPAD,WMP.Reg.IEHard,Reg.WMDMHandler
  3861.     IF EXIST TEMP\UPDATE\sp5.cat (
  3862.         IF NOT EXIST HF\MDAC_TYP.EXE ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=MDAC.Conditional.Reg
  3863.         IF "!VERSIONIE!"=="2KIE5" (
  3864.             ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=OE.AddReg,IE.AddReg,JScript.AddReg,IE501SP4.AddReg
  3865.             ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF DelReg=OE.DelReg,IE.DelReg,IE5.DelReg,IE501SP4.DelReg
  3866.         )
  3867.     )
  3868. )
  3869. IF EXIST TEMP\msiexec.exe IF NOT "!VERSION!"=="2000" ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=MSI.AddReg
  3870. IF EXIST TEMP\scripten.inf IF EXIST TEMP\wscript.hlp ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=RegisterActiveSetup,AddReg.WSH,AddReg.Extensions.NT
  3871. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF DelReg=Product.Del.Reg,keys.del
  3872. IF EXIST TEMP\rspndr.exe (
  3873.     ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=RespReg&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [RespReg]
  3874.     ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","Responder",0x20000,"CMD /C """%%SYSTEMROOT%%\SYSTEM32\rspndr.exe -i""""
  3875. )
  3876. IF EXIST TEMP\UPDATE\*925876* (
  3877.     ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF RunPostSetupCommands=RunPost
  3878.     ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [RunPost]
  3879.     ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF "cscript %%SYSTEMROOT%%\Installer\TSClientMsiTrans\tscinst.vbs"
  3880. )
  3881. ECHO/>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3882. FINDSTR/VI "DefaultInstall" WORK\INFS\!HFSLP!.INF>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3883. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZA","!HFSLP!",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLP!HFSLP!.INF,DefaultInstall"
  3884. ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLP!HFSLP!.INF
  3885. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLP!HFSLP!.INF = 1,,,,,,,998,0,0
  3886. GOTO :EOF
  3887.  
  3888. :HFSLIPINFCREATOR2
  3889. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [Version]&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF Signature="$WINDOWS NT$"
  3890. ECHO/>>SOURCESS\I386\HFSLP!HFSLP!.INF&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [DefaultInstall]
  3891. IF "%HFSLP2%"=="aolsupp.inf" ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF CustomDestination=MSIExploreDestinationSection
  3892. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF RegisterDlls=WMWPD.Register,DRMOCX.Register,OCX.Register,WMPOCX.Register,WMPOCX.RegWMV,regwmp.codecs
  3893. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=keys.add,AddReg.SetupKey,Product.Add.Reg,MSI.AddReg,Actsetup.Reg,User.AddReg,Base.IE.AddReg,Common.Add.Reg,AppCompatSetup.reg,NoPrompt.AddReg,RegisterActiveSetup,AddReg.Extensions.NT,Reg.WPD,MTP.AutoPlayRegistration,reg.devices,Reg.Codecs,Fraunhofer.Reg,V9Reg.Core,V9Reg.Core.AddOnly,V9Reg.Univ,WMP.ARP,V9.RegPUI,WMPAddReg.PUI,WMPAddReg.OSPUI,V9Reg.XP,WMP.SPAD,WMP.Reg.IEHard,Reg.WMDMHandler,AddReg,AddReg.NT,AddUninst,AddReg.95,Aol.Reg.Entries,AddRegSection
  3894. IF EXIST TEMP\scripten.inf IF EXIST TEMP\wscript.hlp ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=RegisterActiveSetup,AddReg.WSH,AddReg.Extensions.NT
  3895. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF DelReg=keys.del,Product.Del.Reg,Reg.Del
  3896. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF ; RunPostSetupCommands=RunPost,RunPostSetupCmds,PostInstall
  3897. ECHO/>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3898. FINDSTR/VI "DefaultInstall npwmsdrm.dll npdrmv2.dll npdrmv2.zip" WORK\INFS\%HFSLP2%>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3899. :TYPE2ROROE
  3900. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZA","!HFSLP!",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLP!HFSLP!.INF,DefaultInstall"
  3901. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLP!HFSLP!.INF = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLP!HFSLP!.INF
  3902. GOTO :EOF
  3903.  
  3904. :WMPINFCREATOR
  3905. IF "%HFSLP2%"=="WMV9VCM.inf" (COPY TEMP\%HFSLP2% SOURCESS\I386\HFSLP!HFSLP!.INF >NUL&GOTO :WMPROROE)
  3906. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [Version]&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF Signature="$WINDOWS NT$"&ECHO/>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3907. IF "%HFSLP2%"=="wudf_update.inf" (
  3908.     ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZA","!HFSLP!",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLP!HFSLP!.INF,DefaultInstall.Services"
  3909.     TYPE TEMP\%HFSLP2%>>SOURCESS\I386\HFSLP!HFSLP!.INF&GOTO :WMPTXTDSN
  3910. )
  3911. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF [DefaultInstall]
  3912. ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=%DefWMPReg%
  3913. IF "%HFSLP2%"=="WMFSDK.inf" IF NOT DEFINED NOWMPLOGPI ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF RunPostSetupCommands=RunPost
  3914. IF "%HFSLP2%"=="wmp.inf" ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF RunPostSetupCommands=HelperUtility.Install&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF CustomDestination=WMP.Destination
  3915. IF "%HFSLP2%"=="zroxio.inf" ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF RunPreSetupCommands=InstallEngine&ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF CustomDestination=WMP.Destination
  3916. ECHO/>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3917. FINDSTR/VI "DefaultInstall" TEMP\%HFSLP2%>>SOURCESS\I386\HFSLP!HFSLP!.INF
  3918. :WMPROROE
  3919. ECHO>>WORK\ROROEWU.TXT HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ZZA","!HFSLP!",0,"RunDll32.exe %%11%%\AdvPack.Dll,LaunchINFSection %%10%%\HFSLIP\HFSLP!HFSLP!.INF,DefaultInstall"
  3920. :WMPTXTDSN
  3921. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLP!HFSLP!.INF = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLP!HFSLP!.INF
  3922. GOTO :EOF
  3923. REM ======================================================================================
  3924.  
  3925. REM ======================UNIVERSAL CABBER================================================
  3926. :UNICAB1
  3927. ECHO>UC.DDF .Set Cabinet=on&ECHO>>UC.DDF .Set Compress=on&ECHO>>UC.DDF .Set CompressionType=LZX
  3928. ECHO>>UC.DDF .Set CompressionMemory=%COMPMEM%&ECHO>>UC.DDF .Set FolderSizeThreshold=5000000&ECHO>>UC.DDF .Set MaxDiskSize=CDROM
  3929. GOTO :EOF
  3930.  
  3931. :UNICAB2
  3932. MAKECAB/F UC.DDF >NUL&DEL/Q/F UC.DDF SETUP.INF SETUP.RPT
  3933. GOTO :EOF
  3934. REM ======================================================================================
  3935.  
  3936. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3937.  
  3938. REM ======================CLEANUP=========================================================
  3939. :CLOSURE
  3940. REM CLOSE SYSOC, HFSLIPWU, TXTSETUP AND DOSNET
  3941. TITLE %T1%
  3942. ECHO.&ECHO Basic cleanup
  3943. IF NOT DEFINED EE (
  3944.     IF EXIST WORK\SYSOCTMP.TXT TYPE WORK\SYSOCTMP.TXT>>WORK\SYSOCOC.TXT
  3945.     ECHO>>WORK\SYSOCOC.TXT WinUpdate=ocgen.dll,OcEntry,HFSLIPWU.INF,HIDE,7
  3946.     IF EXIST SOURCESS\I386\HFSLIPSD.INF ECHO>>WORK\SYSOCOC.TXT ShowDesktop=ocgen.dll,OcEntry,HFSLIPSD.INF,HIDE,7
  3947.     IF EXIST WORK\SYSOCAAO.TXT TYPE WORK\SYSOCAAO.TXT>>WORK\SYSOCOC.TXT
  3948. )
  3949. IF EXIST WORK\SYSOCOC.TXT (
  3950.     IF "%SYSOCUNI%"=="TRUE" (CMD/U/C "TYPE WORK\SYSOCOC.TXT>>WORK\SYSOC.INF") ELSE (TYPE WORK\SYSOCOC.TXT>>WORK\SYSOC.INF)
  3951.     MAKECAB WORK\SYSOC.INF /L SOURCESS\I386 >NUL
  3952. )
  3953. IF EXIST WORK\HFSLPGUI.TXT CALL :HFSLIPGUI_CMD
  3954. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLPGUI.INF = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLPGUI.INF
  3955. ECHO>SOURCESS\I386\HFSLPGUI.INF [Version]&ECHO>>SOURCESS\I386\HFSLPGUI.INF Signature="$WINDOWS NT$"
  3956. ECHO>>SOURCESS\I386\HFSLPGUI.INF [HFSLIPGUI_Rem]&ECHO>>SOURCESS\I386\HFSLPGUI.INF AddReg=AddReg.Rem
  3957. ECHO>>SOURCESS\I386\HFSLPGUI.INF [HFSLIPGUI_Run]&ECHO>>SOURCESS\I386\HFSLPGUI.INF AddReg=AddReg.Run
  3958. ECHO>>SOURCESS\I386\HFSLPGUI.INF [AddReg.Rem]
  3959. ECHO>>SOURCESS\I386\HFSLPGUI.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",HFSLIPGUI,0x20000,"CMD /C RD/Q/S %%WINDIR%%\HFSLIP"
  3960. rem fix jan 7 2009
  3961. ECHO>>SOURCESS\I386\HFSLPGUI.INF HKLM,"Software\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E510-0000-0000-C000-000000000046}","Compatibility Flags",0x10001,0x400
  3962. IF EXIST WORK\HFSLPGUI.TXT (
  3963.     ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD rundll32.exe advpack.dll,LaunchINFSection %%SYSTEMROOT%%\HFSLIP\HFSLPGUI.INF,HFSLIPGUI_Run
  3964.     ECHO>>SOURCESS\I386\HFSLPGUI.INF [AddReg.Run]
  3965. rem fix jan 7 2009
  3966.     ECHO>>SOURCESS\I386\HFSLPGUI.INF HKLM,"Software\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E510-0000-0000-C000-000000000046}","Compatibility Flags",0x10001,0x400
  3967.     IF DEFINED CMDHIDE (
  3968.         ECHO>>SOURCESS\I386\HFSLPGUI.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",HFSLIPGUI,0x20000,"CMD /C %CMDHIDE%&START/WAIT %%SYSTEMROOT%%\HFSLIP\HFSLPGUI.CMD"
  3969.     ) ELSE (
  3970.         ECHO>>SOURCESS\I386\HFSLPGUI.INF HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",HFSLIPGUI,0x20000,"CMD /C START/WAIT %%SYSTEMROOT%%\HFSLIP\HFSLPGUI.CMD"
  3971.     )
  3972. ) ELSE (
  3973.     ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD rundll32.exe advpack.dll,LaunchINFSection %%SYSTEMROOT%%\HFSLIP\HFSLPGUI.INF,HFSLIPGUI_Rem
  3974. )
  3975. IF EXIST WORK\HHIVADD.TXT (
  3976.     ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLPHIV.INF = 1,,,,,,_x,3,,3&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLPHIV.INF
  3977.     ECHO>>WORK\HIVEINFS.TXT AddReg = HFSLPHIV.INF,AddReg
  3978.     ECHO>SOURCESS\I386\HFSLPHIV.INF [Version]&ECHO>>SOURCESS\I386\HFSLPHIV.INF Signature="$Windows NT$"&ECHO>>SOURCESS\I386\HFSLPHIV.INF [AddReg]
  3979.     TYPE WORK\HHIVADD.TXT>>SOURCESS\I386\HFSLPHIV.INF
  3980.     IF EXIST WORK\HHIVSTR.TXT (ECHO>>SOURCESS\I386\HFSLPHIV.INF [Strings]&TYPE WORK\HHIVSTR.TXT>>SOURCESS\I386\HFSLPHIV.INF)
  3981. )
  3982. ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [WinntDirectories]
  3983. IF EXIST WORK\TXTNTDIR.TXT TYPE WORK\TXTNTDIR.TXT>>SOURCESS\I386\TXTSETUP.SIF
  3984. IF DEFINED TXTDIRH9 ECHO>>SOURCESS\I386\TXTSETUP.SIF 998 = HFSLIP
  3985. IF DEFINED TXTDIR00 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1000 = "system32\PreInstall\WinSE\%TXTDIR00%"
  3986. IF DEFINED TXTDIR01 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1001 = "system32\Windows Media\Server"
  3987. IF DEFINED TXTDIR02 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1002 = "system32\netmon"
  3988. IF DEFINED TXTDIR03 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1003 = "system32\Macromed\Flash"
  3989. IF DEFINED TXTDIR04 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1004 = "system32\drivers\umdf"
  3990. IF DEFINED TXTDIR05 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1005 = "system32\%MUICD%"
  3991. IF DEFINED TXTDIR06 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1006 = "system32\%TXTDIR06%"
  3992. IF DEFINED TXTDIR07 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1007 = "system32\BITS"
  3993. IF DEFINED TXTDIR08 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1008 = "system32\MUI\%TXTDIR08%"
  3994. IF DEFINED TXTDIR09 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1009 = "system32\MUI\0%LG3%"
  3995. IF DEFINED TXTDIR30 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1030 = "Network Diagnostic"
  3996. IF DEFINED TXTDIR31 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1031 = "WBEM"
  3997. IF DEFINED TXTDIR32 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1032 = "Offline Web Pages"
  3998. IF DEFINED TXTDIR33 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1033 = "Downloaded Program Files"
  3999. IF DEFINED TXTDIR34 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1034 = "inf\IEM\0%LG3%"
  4000. IF DEFINED TXTDIR35 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1035 = "Installer\TSClientMsiTrans"
  4001. IF DEFINED TXTDIR36 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1036 = "Microsoft.NET\Framework\v1.0.3705"
  4002. IF DEFINED TXTDIR37 ECHO>>SOURCESS\I386\TXTSETUP.SIF 1037 = "Tasks"
  4003. IF EXIST WORK\TXTSDATA.TXT ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [SetupData]&TYPE WORK\TXTSDATA.TXT>>SOURCESS\I386\TXTSETUP.SIF
  4004. IF EXIST WORK\HIVEINFS.TXT (
  4005.     ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [HiveInfs.Fresh]&TYPE WORK\HIVEINFS.TXT>>SOURCESS\I386\TXTSETUP.SIF
  4006.     ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [HiveInfs.Upgrade]&TYPE WORK\HIVEINFS.TXT>>SOURCESS\I386\TXTSETUP.SIF
  4007. )
  4008. IF EXIST WORK\TXTOTHER.TXT ECHO/>>SOURCESS\I386\TXTSETUP.SIF&TYPE WORK\TXTOTHER.TXT>>SOURCESS\I386\TXTSETUP.SIF
  4009. IF NOT DEFINED EE CALL :ADDFFLAGS
  4010. IF EXIST WORK\TXTFFLAG.TXT ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [FileFlags]&TYPE WORK\TXTFFLAG.TXT>>SOURCESS\I386\TXTSETUP.SIF
  4011. IF EXIST WORK\STORSIF.TXT TYPE WORK\STORSIF.TXT>>SOURCESS\I386\TXTSETUP.SIF
  4012. IF EXIST WORK\DNFF2.TXT ECHO/>>SOURCESS\I386\DOSNET.INF&ECHO>>SOURCESS\I386\DOSNET.INF [FloppyFiles.2]&TYPE WORK\DNFF2.TXT>>SOURCESS\I386\DOSNET.INF
  4013. IF EXIST WORK\DNOSDIR.TXT TYPE WORK\DNOSDIR.TXT>>SOURCESS\I386\DOSNET.INF
  4014. IF DEFINED EE GOTO :EOF
  4015. TYPE WORK\HFREGWU.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4016. IF EXIST WORK\ADDLNK.TXT ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [AddLinks]&TYPE WORK\ADDLNK.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4017. IF EXIST WORK\HFS_SOFTDIST.TXT ECHO>>WORK\HFSDST.TXT SOFTDIST=10,"SoftwareDistribution"
  4018. IF EXIST WORK\HFS_SYS32.TXT ECHO>>WORK\HFSDST.TXT SYS32=11
  4019. IF EXIST WORK\HFSDST.TXT ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [DestinationDirs]&TYPE WORK\HFSDST.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4020. IF DEFINED CUSTSATSDF ECHO>>WORK\HFSSDF.TXT custsat.dll=1
  4021. IF EXIST WORK\HFSSDF.TXT ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [SourceDisksFiles]&TYPE WORK\HFSSDF.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4022. IF EXIST WORK\HFS_*.TXT FOR /F "TOKENS=2 DELIMS=_." %%I IN ('DIR/B WORK\HFS_*.TXT') DO (
  4023.     ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [%%I]&TYPE WORK\HFS_%%I.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4024. )
  4025. IF EXIST WORK\HFSPF4.TXT ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [PFILES4]&TYPE WORK\HFSPF4.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4026. IF EXIST WORK\HFSPF5.TXT ECHO/>>SOURCESS\I386\HFSLIPWU.INF&ECHO>>SOURCESS\I386\HFSLIPWU.INF [PFILES5]&TYPE WORK\HFSPF5.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4027. TYPE WORK\ROROEWU.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4028. IF EXIST WORK\RGSVRWU.TXT ECHO>>SOURCESS\I386\HFSLIPWU.INF ;REGISTER FILES&TYPE WORK\RGSVRWU.TXT>>SOURCESS\I386\HFSLIPWU.INF
  4029. IF DEFINED IERNONCE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD rundll32.exe iernonce.dll,RunOnceExProcess
  4030. IF EXIST WORK\hscupd.cmd FINDSTR/I HSCUpd WORK\hscupd.cmd>>SOURCESS\I386\SVCPACK\HFSLIP.CMD
  4031. FOR /F "DELIMS=" %%I IN ('DIR/B HFSVCPACK') DO COPY/Y "HFSVCPACK\%%I" SOURCESS\I386\SVCPACK >NUL
  4032. FOR /F "DELIMS=" %%I IN ('DIR/B HFSVCPACK_SW1') DO COPY/Y "HFSVCPACK_SW1\%%I" SOURCESS\I386\SVCPACK >NUL
  4033. FOR /F "DELIMS=" %%I IN ('DIR/B HFSVCPACK_SW2') DO COPY/Y "HFSVCPACK_SW2\%%I" SOURCESS\I386\SVCPACK >NUL
  4034. REM I HATE WINDOWS MEDIA PLAYER 10
  4035. IF EXIST HFSVCPACK_SW2\MP10Setup.exe (
  4036.     ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD START/WAIT %%HFSLIPSVC%%MP10Setup.exe /C:"setup_wm.exe /Q:A /R:N /DisallowSystemRestore"
  4037. )
  4038. REM CLEANUP TMP
  4039. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD IF EXIST %%SYSTEMROOT%%\*.TMP (
  4040. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  ATTRIB -R %%SYSTEMROOT%%\*.TMP
  4041. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  DEL/Q/F %%SYSTEMROOT%%\*.TMP
  4042. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD )
  4043. REM Tweaks
  4044. IF EXIST HFSVCPACK\*.REG FOR /F "DELIMS=" %%I IN ('DIR/B/ON HFSVCPACK\*.REG') DO ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD START/WAIT %%SYSTEMROOT%%\REGEDIT.EXE /S "%%HFSLIPSVC%%%%I"
  4045. IF EXIST HFSVCPACK\*.INF FOR /F "DELIMS=" %%I IN ('DIR/B/ON HFSVCPACK\*.INF') DO ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD START/WAIT rundll32.exe advpack.dll,LaunchINFSection "%%HFSLIPSVC%%%%I",DefaultInstall
  4046. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD GOTO :EOF
  4047. ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD :EOF
  4048. GOTO :EOF
  4049.  
  4050. :HFSLIPGUI_CMD
  4051. ECHO>>SOURCESS\I386\HFSLPGUI.CMD @ECHO OFF
  4052. IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\HFSLPGUI.CMD %CMDHIDE%
  4053. ECHO>>SOURCESS\I386\HFSLPGUI.CMD CD %%SYSTEMROOT%%\HFSLIP&ECHO>>SOURCESS\I386\HFSLPGUI.CMD SET SSIP=Y
  4054. ECHO>>SOURCESS\I386\HFSLPGUI.CMD %%SYSTEMROOT%%\REGEDIT /S/E SSIP1.TXT "HKEY_LOCAL_MACHINE\SYSTEM\Setup"
  4055. ECHO>>SOURCESS\I386\HFSLPGUI.CMD TYPE SSIP1.TXT^>SSIP2.TXT
  4056. ECHO>>SOURCESS\I386\HFSLPGUI.CMD FOR /F %%%%I IN ^('FINDSTR/IR "SystemSetupInProgress.=dword:00000000" SSIP2.TXT'^) DO SET SSIP=N
  4057. ECHO>>SOURCESS\I386\HFSLPGUI.CMD IF "%%SSIP%%"=="Y" ^(
  4058. ECHO>>SOURCESS\I386\HFSLPGUI.CMD    rundll32.exe advpack.dll,LaunchINFSection %%SYSTEMROOT%%\HFSLIP\HFSLPGUI.INF,HFSLIPGUI_Run
  4059. ECHO>>SOURCESS\I386\HFSLPGUI.CMD    EXIT
  4060. ECHO>>SOURCESS\I386\HFSLPGUI.CMD ^)
  4061. TYPE WORK\HFSLPGUI.TXT>>SOURCESS\I386\HFSLPGUI.CMD
  4062. ECHO>>SOURCESS\I386\HFSLPGUI.CMD rundll32.exe advpack.dll,LaunchINFSection %%WINDIR%%\HFSLIP\HFSLPGUI.INF,HFSLIPGUI_Rem
  4063. ECHO>>SOURCESS\I386\HFSLPGUI.CMD EXIT
  4064. ECHO>>SOURCESS\I386\TXTSETUP.SIF HFSLPGUI.CMD = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFSLPGUI.CMD
  4065. GOTO :EOF
  4066. REM ======================================================================================
  4067.  
  4068. REM ======================FILE FLAGS======================================================
  4069. :ADDFFLAGS
  4070. IF NOT DEFINED VERSION CALL :CHECKWINVER
  4071. IF NOT "%VERSION%"=="XP" GOTO :EOF
  4072. FINDSTR/IE "16" SOURCESS\I386\TXTSETUP.SIF>FF1.TXT
  4073. FINDSTR/IR "\." FF1.TXT>FF2.TXT
  4074. FOR /F "DELIMS== " %%I IN (FF2.TXT) DO ECHO>>FF3.TXT %%I
  4075. ECHO>>TXTFF.TXT BNTS.DLL&ECHO>>TXTFF.TXT SAPICPL.HLP&ECHO>>TXTFF.TXT SNIFFPOL.DLL&ECHO>>TXTFF.TXT SPEECH.CHM
  4076. ECHO>>TXTFF.TXT SSDPAPI.DLL&ECHO>>TXTFF.TXT SSDPSRV.DLL&ECHO>>TXTFF.TXT SSTUB.DLL&ECHO>>TXTFF.TXT TSHOOT.DLL
  4077. ECHO>>TXTFF.TXT UDHISAPI.DLL&ECHO>>TXTFF.TXT UPNP.DLL&ECHO>>TXTFF.TXT UPNPCONT.EXE&ECHO>>TXTFF.TXT UPNPHOST.DLL
  4078. FOR /F %%I IN ('FINDSTR/VBI /G:FF3.TXT TXTFF.TXT') DO ECHO>>WORK\TXTFFLAG.TXT %%I = 16
  4079. DEL/Q/F FF1.TXT FF2.TXT FF3.TXT TXTFF.TXT
  4080. FOR /F %%I IN (WORK\TXTFFLAG.TXT) DO SET AFFLAGS=1
  4081. IF NOT DEFINED AFFLAGS GOTO :EOF
  4082. IF "%DIAGNOSTIC%"=="1" (ECHO/>>SOURCESS\I386\TXTSETUP.SIF&ECHO>>SOURCESS\I386\TXTSETUP.SIF [FileFlags]&TYPE WORK\TXTFFLAG.TXT>>SOURCESS\I386\TXTSETUP.SIF)
  4083. GOTO :EOF
  4084. REM ======================================================================================
  4085.  
  4086. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4087.  
  4088. REM ======================SLIPSTREAM HOTFIXES=============================================
  4089. :INTEGRATE
  4090. TITLE %T1% - Total Slipstreaming
  4091. ECHO.&ECHO Slipstreaming New Files
  4092. IF EXIST SOURCESS\I386\hscupd.cab MOVE WORK\I386E\hscupd.exe SOURCESS\I386 >NUL&DEL/Q/F SOURCESS\I386\hscupd.ex_
  4093. IF EXIST WORK\SUPPCABNEW (
  4094.     ECHO.&ECHO Checking for updated SUPPORT\TOOLS\SUPPORT.CAB content...
  4095.     IF NOT EXIST WORK\SUPPCAB (MD WORK\SUPPCAB&EXPAND SOURCESS\SUPPORT\TOOLS\SUPPORT.CAB -F:* WORK\SUPPCAB >NUL)
  4096.     XCOPY/DY WORK\SUPPCABNEW WORK\SUPPCAB&DEL/Q/F SOURCESS\SUPPORT\TOOLS\SUPPORT.CAB
  4097.     ECHO.&ECHO Creating new SUPPORT.CAB package. Please wait...
  4098.     CALL :UNICAB1
  4099.     ECHO>>UC.DDF .Set CabinetNameTemplate=SUPPORT.CAB
  4100.     ECHO>>UC.DDF .Set DiskDirectory1=SOURCESS\SUPPORT\TOOLS
  4101.     FOR /F %%I IN ('DIR/B/ON WORK\SUPPCAB') DO ECHO>>UC.DDF WORK\SUPPCAB\%%I
  4102.     CALL :UNICAB2&ECHO.
  4103. )
  4104. FOR /F %%I IN ('DIR/B/A-D/ON WORK\I386E') DO (
  4105.     ECHO Processing %%I
  4106.     IF EXIST SOURCESS\I386\%%I (COPY/Y WORK\I386E\%%I SOURCESS\I386 >NUL) ELSE (
  4107.         MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX WORK\I386E\%%I /L SOURCESS\I386 >NUL
  4108.     )
  4109. )
  4110. ECHO.&ECHO Locating compressed files in I386 subfolders
  4111. SET BASEDIR=%~dp0SOURCESS\I386\
  4112. DIR/B/AD SOURCESS\I386>WORK\SSSI386SUB0.TXT
  4113. FINDSTR/VBI "SVCPACK" WORK\SSSI386SUB0.TXT>WORK\SSSI386SUB.TXT
  4114. FOR /F "DELIMS=" %%Z IN (WORK\SSSI386SUB.TXT) DO DIR/B/S/A-D/ON "SOURCESS\I386\%%Z">>WORK\SSSI386SUBALL.TXT
  4115. FINDSTR/ER "_" WORK\SSSI386SUBALL.TXT>WORK\COMPRESSED.TXT
  4116. FOR /F %%I IN (WORK\COMPRESSED.TXT) DO SET COMPRESSED=1
  4117. IF DEFINED COMPRESSED FOR /F "DELIMS=" %%I IN (WORK\COMPRESSED.TXT) DO (
  4118.     SET DIRNAME=%%~dpI
  4119.     SET PATHNAME=!DIRNAME:%BASEDIR%=!
  4120.     FOR /F "TOKENS=1 DELIMS=_" %%A IN ('ECHO %%~nxI') DO IF EXIST WORK\I386E\!PATHNAME!%%A* (
  4121.         ECHO Processing !PATHNAME!%%A_
  4122.         FOR /F "DELIMS=" %%Q IN ('DIR/B WORK\I386E\!PATHNAME!%%A*') DO (
  4123.             IF EXIST SOURCESS\I386\!PATHNAME!%%Q XCOPY/EHY WORK\I386E\!PATHNAME!%%Q SOURCESS\I386\!PATHNAME! >NUL
  4124.             MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX WORK\I386E\!PATHNAME!%%Q /L SOURCESS\I386\!PATHNAME! >NUL
  4125.         )
  4126.         DEL/Q/F WORK\I386E\!PATHNAME!%%A*
  4127.     )
  4128. )
  4129. SET BASEDIR=%~dp0
  4130. ECHO.&ECHO Locating remaining subfolder files
  4131. FOR /F %%I IN ('DIR/B/AD WORK\I386E') DO IF EXIST SOURCESS\I386\%%I XCOPY/EHY WORK\I386E\%%I SOURCESS\I386\%%I >NUL
  4132.  
  4133. REM * New section for non-I386 files from hotfixes -- Use for other stuff?
  4134. SET BASEDIR=%~dp0WORK\CDROOT\
  4135. FOR /F %%I IN ('DIR/B WORK\CDROOT') DO SET CDROOTSTUFF=1
  4136. IF DEFINED CDROOTSTUFF (
  4137.     ECHO.&ECHO Copying non-I386 files
  4138.     FOR /F "DELIMS=" %%I IN ('DIR/B/S/A-D/ON WORK\CDROOT') DO (
  4139.         SET ABSPATH=%%~dpI
  4140.         SET RELPATH=!ABSPATH:%BASEDIR%=!
  4141.         FOR /F "DELIMS=" %%Q IN ('DIR/B WORK\CDROOT\!RELPATH!%%~nxI') DO (
  4142.             ECHO Processing !RELPATH!%%~nxI
  4143.             IF NOT EXIST SOURCESS\!RELPATH! MD SOURCESS\!RELPATH!
  4144.             IF EXIST SOURCESS\!RELPATH!%%~nxI (COPY/Y WORK\CDROOT\!RELPATH!%%~nxI SOURCESS\!RELPATH! >NUL) ELSE (
  4145.                 MAKECAB /D CompressionMemory=%COMPMEM% /D CompressionType=LZX WORK\CDROOT\!RELPATH!%%~nxI /L SOURCESS\!RELPATH! >NUL
  4146.             )
  4147.         )
  4148.     )
  4149. )
  4150. SET BASEDIR=%~dp0
  4151.  
  4152. GOTO :EOF
  4153. REM ======================================================================================
  4154.  
  4155. REM ======================SVCPACK=========================================================
  4156. :SVCPACK
  4157. echo.&echo Processing SVCPACK.INF file&echo.
  4158. TITLE %T1%
  4159. ECHO.
  4160. ECHO>SVCPACK.INF [Version]
  4161. ECHO>>SVCPACK.INF Signature="$Windows NT$"
  4162. ECHO>>SVCPACK.INF MajorVersion=5
  4163. IF "!VERSION!"=="2000" ECHO>>SVCPACK.INF MinorVersion=0&ECHO>>SVCPACK.INF BuildNumber=2195
  4164. IF "!VERSION!"=="XP" ECHO>>SVCPACK.INF MinorVersion=1&ECHO>>SVCPACK.INF BuildNumber=2600
  4165. IF "!VERSION!"=="2003" ECHO>>SVCPACK.INF MinorVersion=2&ECHO>>SVCPACK.INF BuildNumber=3790
  4166. ECHO/>>SVCPACK.INF
  4167. ECHO>>SVCPACK.INF [SetupData]
  4168. ECHO>>SVCPACK.INF CatalogSubDir="i386\SVCPACK"
  4169. ECHO/>>SVCPACK.INF
  4170. ECHO>>SVCPACK.INF [ProductCatalogsToInstall]
  4171. IF EXIST WORK\SVCPACK\*.CAT XCOPY/DEHY WORK\SVCPACK SOURCESS\I386\SVCPACK
  4172. IF "%DELCATS%"=="1" (
  4173.     IF DEFINED DELCATS_OVERRIDE (
  4174.         MD WORK\CATFORCE
  4175.         FOR /F "TOKENS=2 DELIMS==" %%I IN ('FINDSTR/BIR "DELCATS_OVERRIDE" HFTOOLS\HFANSWER.INI') DO (
  4176.             IF EXIST SOURCESS\I386\SVCPACK\%%I.CAT MOVE/Y SOURCESS\I386\SVCPACK\%%I.CAT WORK\CATFORCE >NUL
  4177.         )
  4178.     )
  4179.     IF EXIST SOURCESS\I386\SVCPACK\*.CAT DEL/Q/F SOURCESS\I386\SVCPACK\*.CAT
  4180.     IF EXIST WORK\CATFORCE\*.CAT MOVE/Y WORK\CATFORCE\*.CAT SOURCESS\I386\SVCPACK >NUL
  4181. )
  4182. IF EXIST SOURCESS\I386\SVCPACK\*.CAT DIR/B SOURCESS\I386\SVCPACK\*.CAT>>SVCPACK.INF
  4183. ECHO/>>SVCPACK.INF
  4184. ECHO>>SVCPACK.INF [SetupHotfixesToRun]
  4185. IF EXIST HFSVCPACK\*.exe (
  4186.     IF EXIST WORK\HFSLIPCMDP1.TXT ECHO>>SVCPACK.INF HFSLIP.CMD
  4187.     FOR /F "DELIMS=" %%I IN ('DIR/B/ON HFSVCPACK\*.exe') DO ECHO>>SVCPACK.INF %%I
  4188. )
  4189. ECHO>>SVCPACK.INF HFSLIP.CMD
  4190. IF EXIST HFSVCPACK_SW1\*.exe FOR /F "DELIMS=" %%I IN ('DIR/B/ON HFSVCPACK_SW1\*.exe') DO ECHO>>SVCPACK.INF %%I %SW1%
  4191. IF EXIST HFSVCPACK_SW2\*.exe FOR /F "DELIMS=" %%I IN ('DIR/B/ON HFSVCPACK_SW2\*.exe') DO IF /I NOT "%%I"=="MP10Setup.exe" ECHO>>SVCPACK.INF %%I %SW2%
  4192. IF EXIST HF\*840374* (
  4193.     ECHO>>SVCPACK.INF Q840374.EXE %SW1% /o /n
  4194.     FOR /F %%I IN ('DIR/B HF\*840374*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\Q840374.EXE >NUL
  4195. )
  4196. IF EXIST HF\*914798* (
  4197.     ECHO>>SVCPACK.INF Q914798.EXE %SW1% /nobackup
  4198.     FOR /F %%I IN ('DIR/B HF\*914798*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\Q914798.EXE >NUL
  4199. )
  4200. IF EXIST HF\*832483* (
  4201.     ECHO>>SVCPACK.INF "Q832483.EXE /C:""dahotfix.exe /q /n"" /q:a"
  4202.     FOR /F %%I IN ('DIR/B HF\*832483*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\Q832483.EXE >NUL
  4203. )
  4204. IF EXIST HF\*923789* IF NOT EXIST HFCABS\SWFLASH.CAB (
  4205.     ECHO>>SVCPACK.INF Q923789.EXE %SW2%
  4206.     FOR /F %%I IN ('DIR/B HF\*923789*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\Q923789.EXE >NUL
  4207. )
  4208. IF EXIST HF\*cdwizard* (
  4209.     ECHO>>SVCPACK.INF CDWIZARD.EXE %SW1%
  4210.     FOR /F %%I IN ('DIR/B HF\*cdwizard*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\CDWIZARD.EXE >NUL
  4211. )
  4212. IF EXIST HF\*wmcsetup* (
  4213.     ECHO>>SVCPACK.INF WMCSETUP.EXE /q /n /z
  4214.     FOR /F %%I IN ('DIR/B HF\*wmcsetup*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\WMCSETUP.EXE >NUL
  4215. )
  4216. IF EXIST HF\*StepByStep* (
  4217.     ECHO>>SVCPACK.INF STEPBYS.EXE /q /n /z /o
  4218.     FOR /F %%I IN ('DIR/B HF\*StepByStep*') DO COPY HF\%%I SOURCESS\I386\SVCPACK\STEPBYS.EXE >NUL
  4219. )
  4220. IF EXIST SOURCESS\I386\SVCPACK\IE7_INST.EXE (
  4221.     IF DEFINED IE7FCNT (ECHO>>SVCPACK.INF IE7_INST.EXE) ELSE (ECHO>>SVCPACK.INF IE7_INST.EXE %SW1% /update-no%IE7BKPSW%)
  4222. )
  4223. IF EXIST HFSVCPACK\*.cmd DIR/B/ON HFSVCPACK\*.cmd>>SVCPACK.INF
  4224. IF EXIST WORK\SVCMAIN.TXT (
  4225.     FOR /F %%I IN (WORK\SVCMAIN.TXT) DO ECHO>>WORK\SVCBASE.TXT %%I
  4226.     FINDSTR/VBI /G:WORK\SVCBASE.TXT SVCPACK.INF>WORK\SVCREAL.TXT
  4227.     TYPE WORK\SVCMAIN.TXT>>WORK\SVCREAL.TXT
  4228.     TYPE WORK\SVCREAL.TXT>SVCPACK.INF
  4229. )
  4230. IF EXIST FDVFILES\DELDIRS.CMD (
  4231.   COPY FDVFILES\DELDIRS.CMD SOURCESS\I386\SVCPACK\DELDIRS.CMD >NUL
  4232.   ECHO>>SVCPACK.INF DELDIRS.CMD
  4233. )
  4234. IF EXIST SOURCESS\I386\SVCPACK.IN* DEL/Q/F SOURCESS\I386\SVCPACK.IN*
  4235. MOVE SVCPACK.INF SOURCESS\I386
  4236. GOTO :EOF
  4237. REM ======================================================================================
  4238.  
  4239. REM ======================MAKEISO=========================================================
  4240. :MAKEISO
  4241. REM Modified by Kramy -- Thanks!
  4242. echo.&echo Processing ISO image&echo.
  4243. IF "%MAKENOISO%"=="1" IF /I NOT "%AHTEST1%"=="MAKEISO" GOTO :EOF
  4244. IF NOT EXIST HFTOOLS\CDIMAGE.EXE IF NOT EXIST HFTOOLS\MKISOFS.EXE GOTO :EOF
  4245. IF NOT EXIST HFTOOLS\BOOT.BIN (
  4246.     IF NOT EXIST HFTOOLS\BBIE.EXE GOTO :EOF
  4247.     FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\ IF EXIST %%i:\I386 SET HFSLIP=%%i
  4248.     IF NOT DEFINED HFSLIP GOTO :EOF
  4249. )
  4250. IF NOT EXIST HFTOOLS\BOOT.BIN HFTOOLS\BBIE.EXE %HFSLIP%:&COPY IMAGE1.BIN HFTOOLS\BOOT.BIN >NUL&DEL/Q/F IMAGE1.BIN
  4251. IF NOT EXIST HFTOOLS\BOOT.BIN GOTO :EOF
  4252.  
  4253. TITLE %T1% - Creating ISO Image
  4254. ECHO.
  4255. ECHO Creating ISO...
  4256. IF NOT DEFINED VERSION CALL :CHECKWINVER
  4257. IF EXIST HFTOOLS\CDIMAGE.EXE IF NOT EXIST HFTOOLS\MKISOFS.EXE SET FORCECDIMAGE=1
  4258. SET SOURCE=SOURCESS
  4259. IF NOT DEFINED ISOTITLE SET ISOTITLE=HFSLIPCD
  4260. IF NOT DEFINED CDIMGSW SET CDIMGSW=-h -j1 -m
  4261. IF NOT DEFINED MKISSW SET MKISSW=-relaxed-filenames -d -D -N -J -no-emul-boot -no-iso-translate -boot-load-size 4
  4262. FOR /F %%I IN ('DIR/B HFTOOLS\BOOT.BIN') DO SET BBIN=%%I
  4263. IF NOT DEFINED OVERWRITEISO CALL :DEFISOTIME
  4264. IF DEFINED ISONAME (
  4265.     IF DEFINED OVERWRITEISO (SET TEMPISO=%ISONAME%) ELSE (FOR /F "DELIMS=" %%I IN ('ECHO %ISONAME%') DO SET ISOBASE=%%~nI&SET TEMPISO=%%~nI_%ISODATE%_%ISOTIME%.iso)
  4266. ) ELSE (
  4267.     IF DEFINED OVERWRITEISO (SET TEMPISO=HFSLIP%HFSVER%_%MINIVER%.iso) ELSE (SET ISOBASE=HFSLIP%HFSVER%_%MINIVER%&SET TEMPISO=HFSLIP%HFSVER%_%MINIVER%_%ISODATE%_%ISOTIME%.iso)
  4268. )
  4269. IF DEFINED OVERWRITEISO IF EXIST "%TEMPISO%" DEL/Q/F "%TEMPISO%"
  4270. IF DEFINED FORCECDIMAGE (HFTOOLS\CDIMAGE.EXE -l"%ISOTITLE%" %CDIMGSW% -bHFTOOLS\%BBIN% %SOURCE% "%TEMPISO%") ELSE (
  4271.     COPY HFTOOLS\BOOT.BIN SOURCESS >NUL
  4272.     HFTOOLS\mkisofs.exe %MKISSW% -b %BBIN% -o "%TEMPISO%" -V "%ISOTITLE%" %SOURCE%
  4273.     DEL/Q/F SOURCESS\BOOT.BIN
  4274. )
  4275. IF DEFINED OVERWRITEISO (ECHO.&ECHO Your ISO is here: %PREP%%TEMPISO%) ELSE (
  4276.     CALL :DEFISOTIME
  4277.     REN "%TEMPISO%" "%ISOBASE%_%ISODATE%_%ISOTIME%.iso"
  4278.     SET TEMPISO=%ISOBASE%_%ISODATE%_%ISOTIME%.iso
  4279.     ECHO.&ECHO Your ISO is here: %PREP%%ISOBASE%_%ISODATE%_%ISOTIME%.iso
  4280. )
  4281. ECHO.
  4282. IF "%NOBURNISO%"=="1" GOTO :EOF
  4283. IF NOT DEFINED CDBURNAPP (
  4284.     IF NOT EXIST HFTOOLS\*DBURN.EXE (GOTO :EOF) ELSE (
  4285.         IF NOT DEFINED CDBURNSW1 GOTO :EOF
  4286.         IF EXIST HFTOOLS\CDBURN.EXE IF NOT EXIST HFTOOLS\DVDBURN.EXE IF NOT DEFINED CDBURNSW2 SET CDBURNSW2=-max
  4287.         FOR /F %%I IN ('DIR/B/ON HFTOOLS\*DBURN.EXE') DO SET CDBURNAPP=HFTOOLS\%%I
  4288.     )
  4289. )
  4290. TITLE %T1% - Burning ISO Image
  4291. ECHO Burning your ISO... Please wait...
  4292. %CDBURNAPP% %CDBURNSW1% "%TEMPISO%" %CDBURNSW2%
  4293. ECHO.
  4294. GOTO :EOF
  4295.  
  4296. :DEFISOTIME
  4297. FOR /F "TOKENS=1,2,3 DELIMS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-\/., " %%I IN ('ECHO %DATE%') DO SET ISODATE=%%I%%J%%K
  4298. FOR /F "TOKENS=1,2 DELIMS=:., " %%I IN ('ECHO %TIME%') DO SET ISOTIME=%%Ih%%Jm
  4299. GOTO :EOF
  4300. REM ======================================================================================
  4301.  
  4302. REM ======================ERROR REPORT====================================================
  4303. :ERRORREPORT
  4304. IF NOT DEFINED MBOOTPATH SET MBOOTPATH=Default
  4305. IF NOT DEFINED CDTAG SET CDTAG=Undefined
  4306. IF NOT "%HostOS%"=="Unknown" SET HostOS=Windows %HostOS%
  4307. IF "%VERSION%"=="2000" (
  4308.     IF DEFINED V3 (SET VERSION=2000 %V2% Server) ELSE (SET VERSION=2000 %V2%)
  4309. ) ELSE IF "%VERSION%"=="XP" (
  4310.     IF "%V2%"=="Home" (SET VERSION=XP Home Edition) ELSE IF DEFINED XPMCE (SET VERSION=XP Media Center Edition 2005) ELSE (SET VERSION=XP Professional)
  4311. ) ELSE IF "%VERSION%"=="2003" (
  4312.     SET VERSION=Server 2003 %V3% Edition
  4313. )
  4314. IF "%SP%"=="0" (SET SP=Gold) ELSE IF EXIST SOURCESS\cdromsp5.tst (SET SP=SP%SP% ^(USP5.x^)) ELSE (SET SP=SP%SP%)
  4315. SET LOGMODS=Mods
  4316.  
  4317. ECHO>HFSLIP.LOG                  This file is automatically generated by HFSLIP
  4318. ECHO>>HFSLIP.LOG    Use of HFSLIP for anything other than personal non-commercial purposes
  4319. echo>>HFSLIP.LOG                             is strictly prohibited.
  4320. ECHO/>>HFSLIP.LOG
  4321. ECHO>>HFSLIP.LOG                          Copyright(C) TommyP 2005-2010
  4322. ECHO/>>HFSLIP.LOG
  4323. ECHO>>HFSLIP.LOG ====================HOW TO REPORT A PROBLEM AND GENERAL INFO===================
  4324. ECHO/>>HFSLIP.LOG
  4325. ECHO>>HFSLIP.LOG        If running into problems, refer to http://hfslip.org/support.html
  4326. ECHO/>>HFSLIP.LOG
  4327. ECHO>>HFSLIP.LOG       HFSLIP support forum: http://msfn.org/board/index.php?showforum=129
  4328. ECHO/>>HFSLIP.LOG
  4329. ECHO>>HFSLIP.LOG  Updated hotfix lists: http://www.msfn.org/board/windows-updates-t126410.html
  4330. ECHO/>>HFSLIP.LOG
  4331. ECHO>>HFSLIP.LOG ===============================================================================
  4332. ECHO/>>HFSLIP.LOG
  4333. ECHO>>HFSLIP.LOG Host OS         - %HostOS%&&ECHO/>>HFSLIP.LOG
  4334. ECHO>>HFSLIP.LOG HFSLIP Version  - %HFSVERFULL%&ECHO/>>HFSLIP.LOG
  4335. ECHO>>HFSLIP.LOG HFSLIP Path     - %PREP%&ECHO/>>HFSLIP.LOG
  4336. ECHO>>HFSLIP.LOG OS in SOURCESS  - Windows %VERSION% %SP% %Localization%
  4337. IF DEFINED HFSLIPSVPACK ECHO>>HFSLIP.LOG                   [Service Pack Slipstreamed By HFSLIP]
  4338. ECHO/>>HFSLIP.LOG
  4339. IF "%V1%"=="2000" (ECHO>>HFSLIP.LOG MSIE Version    - %VERSIONIE%&ECHO/>>HFSLIP.LOG)  
  4340. IF "%V1%"=="XP" (ECHO>>HFSLIP.LOG MSIE Version    - %VERSIONIE%&ECHO/>>HFSLIP.LOG)
  4341. IF DEFINED DX9 ECHO>>HFSLIP.LOG DirectX         - DirectX9 %DX9%&ECHO/>>HFSLIP.LOG
  4342. IF NOT "%MULTICAB%"=="ON" (ECHO>>HFSLIP.LOG Drivers         - DRIVER.CAB Updated) ELSE IF EXIST SOURCESS\I386\SPX.CAB (ECHO>>HFSLIP.LOG Drivers         - SPX.CAB Added) ELSE (ECHO>>HFSLIP.LOG Drivers         - No updates)
  4343. ECHO/>>HFSLIP.LOG
  4344. ECHO>>HFSLIP.LOG CD Install Path - %MBOOTPATH%&ECHO/>>HFSLIP.LOG
  4345. ECHO>>HFSLIP.LOG CDTAG           - %CDTAG%&ECHO/>>HFSLIP.LOG
  4346. IF EXIST FDVFILES\ie.IN_ (
  4347.     ECHO>>HFSLIP.LOG %LOGMODS%            - FDV Fileset
  4348.     SET LOGMODS=    
  4349. )
  4350. IF DEFINED HFCBASE (
  4351.     ECHO>>HFSLIP.LOG %LOGMODS%            - HFCLEANUP
  4352.     SET LOGMODS=    
  4353. )
  4354. IF "%DELCATS%"=="1" (
  4355.     IF DEFINED DELCATS_OVERRIDE (ECHO>>HFSLIP.LOG %LOGMODS%            - CAT Files Removed ^(with overrides^)) ELSE (ECHO>>HFSLIP.LOG %LOGMODS%            - CAT Files Removed ^(no overrides^))
  4356.     SET LOGMODS=    
  4357. )
  4358. IF "%LOGMODS%"=="    " ECHO/>>HFSLIP.LOG
  4359. IF "%NOCLEANSRC%"=="1" ECHO>>HFSLIP.LOG WARNING         - Previously Patched Source Detected&ECHO/>>HFSLIP.LOG
  4360. IF "%NOCLEANSRC%"=="2" ECHO>>HFSLIP.LOG INFO            - Non-CAT files removed from SOURCE\I386\SVCPACK to avoid errors during Windows setup&ECHO/>>HFSLIP.LOG
  4361. ECHO>>HFSLIP.LOG ===============================================================================
  4362. ECHO>>HFSLIP.LOG Files in your HF folder:
  4363. IF EXIST HF\BASIC\*.EXE FOR /F %%I IN ('DIR/B/ON HF\BASIC\*.EXE') DO ECHO>>HFSLIP.LOG BASIC\%%I
  4364. IF EXIST HF\NOREG\*.EXE FOR /F %%I IN ('DIR/B/ON HF\NOREG\*.EXE') DO ECHO>>HFSLIP.LOG NOREG\%%I
  4365. IF EXIST HF\WMP11 FOR /F %%I IN ('DIR/B/ON HF\WMP11') DO ECHO>>HFSLIP.LOG WMP11\%%I
  4366. FOR /F %%I IN ('DIR/A-D HF') DO SET HFFILES=1
  4367. IF DEFINED HFFILES DIR/B/A-D/ON HF>>HFSLIP.LOG
  4368. ECHO/>>HFSLIP.LOG
  4369. ECHO>>HFSLIP.LOG Files in your HFCABS folder:&DIR/B/ON HFCABS>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4370. ECHO>>HFSLIP.LOG Files in your HFGUIRUNONCE folder:&DIR/B/ON HFGUIRUNONCE>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4371. ECHO>>HFSLIP.LOG Files in your HFSVCPACK folder:&DIR/B/ON HFSVCPACK>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4372. ECHO>>HFSLIP.LOG Files in your HFSVCPACK_SW1 folder:&DIR/B/ON HFSVCPACK_SW1>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4373. ECHO>>HFSLIP.LOG Files in your HFSVCPACK_SW2 folder:&DIR/B/ON HFSVCPACK_SW2>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4374. ECHO>>HFSLIP.LOG Files in your HFTOOLS folder:&DIR/B/ON HFTOOLS>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4375. IF EXIST HFAAO ECHO>>HFSLIP.LOG Files in your HFAAO folder:&DIR/B HFAAO>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4376. IF EXIST HFEXPERT ECHO>>HFSLIP.LOG Files in your HFEXPERT folder:&DIR/B/ON/A-D/S HFEXPERT>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4377. IF EXIST HFCLEANUP ECHO>>HFSLIP.LOG Files in your HFCLEANUP folder:&DIR/B HFCLEANUP>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4378. ECHO>>HFSLIP.LOG Files in your REPLACE folder:&DIR/B/ON/A-D/S REPLACE>>HFSLIP.LOG&ECHO/>>HFSLIP.LOG
  4379. ECHO>>HFSLIP.LOG ===============================================================================
  4380. GOTO :EOF  
  4381. REM ======================================================================================
  4382.  
  4383. REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4384.  
  4385. REM ======================XPIZE===========================================================
  4386. :XPIZE
  4387. IF NOT "%FORCEXPIZESLIP%"=="1" (
  4388. IF DEFINED XPIZESW ECHO>>SOURCESS\I386\SVCPACK.INF XPIZE.EXE %XPIZESW%&FOR /F %%I IN ('DIR/B/ON HF\XPIZE*') DO COPY/Y HF\%%I SOURCESS\I386\SVCPACK\XPIZE.EXE >NUL
  4389. GOTO :EOF
  4390. )
  4391. TITLE %T1% - Slipstreaming XPize
  4392. FOR /F %%I IN ('DIR/B/ON HF\XPIZE*') DO SET XPIZE=%%I
  4393. ECHO Please wait while HFSLIP slipstreams XPize. This may take a while.
  4394. START/WAIT %PREP%HF\%XPIZE% /S /mode=i386 /source=%PREP%SOURCESS
  4395. ECHO Slipstreaming XPize completed.
  4396. GOTO :EOF
  4397. REM ======================================================================================
  4398.  
  4399. REM ======================APPLICATION ADDONS==============================================
  4400. :HFAAO
  4401. TITLE %T1% - Processing App Addons
  4402. FOR /F "DELIMS=" %%I IN ('DIR/B HFAAO') DO SET AAOTBP=1
  4403. IF NOT DEFINED AAOTBP GOTO :EOF
  4404. FOR /F "DELIMS=" %%I IN ('DIR/B/A-D/ON HFAAO') DO (
  4405.     IF /I "%%~xI"==".rar" IF EXIST HFTOOLS\RAR.EXE ECHO.&&ECHO Processing %%I&&HFTOOLS\RAR e "HFAAO\%%I" * "%PREP%TEMP\AAO\" >NUL&&CALL :PROCESS_AAO
  4406.     IF /I "%%~xI"==".cab" IF EXIST HFTOOLS\EXTRACT.EXE ECHO.&&ECHO Processing %%I&&HFTOOLS\EXTRACT /E /L TEMP\AAO "HFAAO\%%I" >NUL&&CALL :PROCESS_AAO
  4407.     IF /I NOT "%%~xI"==".rar" IF /I NOT "%%~xI"==".cab" (
  4408.         IF EXIST HFTOOLS\7ZA.EXE ECHO.&&ECHO Processing %%I&&HFTOOLS\7ZA x "HFAAO\%%I" -o"%PREP%TEMP\AAO" -r >NUL&&CALL :PROCESS_AAO
  4409.     )
  4410. )
  4411. GOTO :EOF
  4412.  
  4413. :PROCESS_AAO
  4414. IF EXIST TEMP\AAO\RVMUp*.in* SET RVMUP=1
  4415. DIR/B/A-D/S TEMP\AAO>TEMP\CHKCMP.TXT&FOR /F "DELIMS=" %%I IN ('FINDSTR/IER "_" TEMP\CHKCMP.TXT') DO (EXPAND -R "%%I" >NUL&DEL/Q/F "%%I")
  4416. IF EXIST TEMP\AAO\SVCPACK XCOPY/DEHYQ TEMP\AAO\SVCPACK\* SOURCESS\I386\SVCPACK&RD/Q/S TEMP\AAO\SVCPACK
  4417. IF EXIST TEMP\AAO\ASMS (
  4418.     IF NOT EXIST WORK\I386E\ASMS MD WORK\I386E\ASMS
  4419.     XCOPY/DEHYQ TEMP\AAO\ASMS WORK\I386E\ASMS&RD/Q/S TEMP\AAO\ASMS
  4420. )
  4421. IF EXIST TEMP\AAO\LANG (
  4422.     IF NOT EXIST WORK\I386E\LANG MD WORK\I386E\LANG
  4423.     XCOPY/DEHYQ TEMP\AAO\LANG WORK\I386E\LANG&RD/Q/S TEMP\AAO\LANG
  4424. )
  4425. IF EXIST TEMP\AAO\PRO (
  4426.     IF "%SUBTAG%"=="ip" MOVE/Y TEMP\AAO\PRO\* TEMP\AAO >NUL
  4427.     RD/Q/S TEMP\AAO\PRO
  4428. )
  4429. IF EXIST TEMP\AAO\HOME (
  4430.     IF "%SUBTAG%"=="ic" MOVE/Y TEMP\AAO\HOME\* TEMP\AAO >NUL
  4431.     RD/Q/S TEMP\AAO\HOME
  4432. )
  4433. IF NOT EXIST TEMP\AAO\ENTRIES_*.INI IF EXIST TEMP\AAO\ENTRIES*.INI REN TEMP\AAO\ENTRIES*.INI ENTRIES_.INI
  4434. FOR /F %%I IN ('DIR/B TEMP\AAO\ENTRIES_*.INI') DO SET AAOINI=%%I
  4435. IF EXIST TEMP\AAO\LgtCkCtl.dll IF EXIST WORK\I386E\LegitCheckControl.dll (
  4436.     FINDSTR/VBIR "LgtCkCtl.dll ;" TEMP\AAO\%AAOINI%>TEMP\INI.INI
  4437.     DEL/Q/F TEMP\AAO\%AAOINI% TEMP\AAO\LgtCkCtl.dll
  4438. )
  4439. IF EXIST TEMP\AAO\%AAOINI% FINDSTR/VBIR ";" TEMP\AAO\%AAOINI%>TEMP\INI.INI&DEL/Q/F TEMP\AAO\%AAOINI%
  4440. ECHO/>>TEMP\INI.INI
  4441. FOR /F %%I IN ('FINDSTR/BIR "\[filenames" TEMP\INI.INI') DO SET AAOVAR=1
  4442. IF DEFINED AAOVAR (
  4443.     SET SSECTION=filenames&SET AAODEST=TEMP\STRINGS1.TXT&CALL :AAOCOPY&SET WEROLL=&SET WESTOP=
  4444.     FOR /F "TOKENS=1,2 DELIMS==" %%I IN (TEMP\STRINGS1.TXT) DO ECHO>>TEMP\STRINGS.TXT %%I = %%J
  4445.     FOR /F "TOKENS=1,2,3" %%I IN (TEMP\STRINGS.TXT) DO SET %%I=%%K
  4446. )
  4447. FOR /F "DELIMS=&" %%I IN (TEMP\INI.INI) DO (
  4448.     FOR /F "DELIMS=" %%Z IN ('ECHO %%I') DO ECHO>TEMP\TMPAAO.TXT %%Z
  4449.     FOR /F "DELIMS=[]" %%Z IN ('FINDSTR/BR "\[" TEMP\TMPAAO.TXT') DO IF /I NOT "%%Z"=="general" (SET AAOHEAD=1&ECHO>TEMP\NEWSECT.TXT %%Z)
  4450.     IF EXIST TEMP\NEWSECT.TXT FOR /F "DELIMS=" %%Z IN (TEMP\NEWSECT.TXT) DO (
  4451.         IF DEFINED AAOHEAD (SET AAOHEAD=) ELSE (TYPE TEMP\TMPAAO.TXT>>"TEMP\%%Z.txt")
  4452.     )
  4453. )
  4454. IF EXIST TEMP\GUIRunOnce.txt SET SSECTION=GUIRunOnce&SET AAODEST=WORK\HFSLPGUI.TXT&CALL :AAOCOPY&SET WEROLL=&SET WESTOP=
  4455. IF EXIST TEMP\sysoc.txt (
  4456.     IF DEFINED RVMUP (TYPE TEMP\sysoc.txt>>WORK\SYSOCTMP.TXT) ELSE (TYPE TEMP\sysoc.txt>>WORK\SYSOCAAO.TXT)
  4457. )
  4458. IF EXIST TEMP\txtsetup_dirs.txt TYPE TEMP\txtsetup_dirs.txt>>WORK\TXTNTDIR.TXT
  4459. IF EXIST TEMP\txtsetup_fileflags.txt TYPE TEMP\txtsetup_fileflags.txt>>WORK\TXTFFLAG.TXT
  4460. IF EXIST TEMP\txtsetup_files_pro.txt (
  4461.     IF "%SUBTAG%"=="ip" (TYPE TEMP\txtsetup_files_pro.txt>>TEMP\txtsetup_files.txt) ELSE (
  4462.         FOR /F "DELIMS==" %%I IN (TEMP\txtsetup_files_pro.txt) DO IF EXIST TEMP\AAO\%%I DEL/Q/F TEMP\AAO\%%I
  4463.     )
  4464. )
  4465. IF EXIST TEMP\txtsetup_files_home.txt (
  4466.     IF "%SUBTAG%"=="ic" (TYPE TEMP\txtsetup_files_home.txt>>TEMP\txtsetup_files.txt) ELSE (
  4467.         FOR /F "DELIMS==" %%I IN (TEMP\txtsetup_files_home.txt) DO IF EXIST TEMP\AAO\%%I DEL/Q/F TEMP\AAO\%%I
  4468.     )
  4469. )
  4470. IF EXIST TEMP\txtsetup_files.txt (
  4471.     IF NOT DEFINED RVMUP FINDSTR /C:"100,,," TEMP\txtsetup_files.txt>TEMP\TXT100.TXT&FOR /F %%I IN (TEMP\TXT100.TXT) DO SET AAO100=1
  4472.     IF NOT DEFINED AAO100 (TYPE TEMP\txtsetup_files.txt>>SOURCESS\I386\TXTSETUP.SIF) ELSE FOR /F "TOKENS=1,2 DELIMS==" %%J IN (TEMP\TXT100.TXT) DO (
  4473.         ECHO>TEMP\TXT100A.TXT  %%K&FOR /F "TOKENS=1* DELIMS=100" %%Q IN (TEMP\TXT100A.TXT) DO ECHO>>SOURCESS\I386\TXTSETUP.SIF %%J= 1%%R
  4474.     )
  4475. )
  4476. IF EXIST SOURCESS\I386\DOSNET.INF (
  4477.     IF EXIST TEMP\dosnet_files.txt TYPE TEMP\dosnet_files.txt>>SOURCESS\I386\DOSNET.INF
  4478.     IF "%SUBTAG%"=="ip" IF EXIST TEMP\dosnet_files_pro.txt TYPE TEMP\dosnet_files_pro.txt>>SOURCESS\I386\DOSNET.INF
  4479.     IF "%SUBTAG%"=="ic" IF EXIST TEMP\dosnet_files_home.txt TYPE TEMP\dosnet_files_home.txt>>SOURCESS\I386\DOSNET.INF
  4480. )
  4481. IF EXIST TEMP\EditFile.txt (
  4482.     FOR /F "TOKENS=1,2,3 DELIMS=," %%I IN (TEMP\EditFile.txt) DO SET AAOBASEFILE=%%I&SET AAONEWSECT=%%J&SET AAOFINDSECT=%%K&CALL :AAOEDITFILE
  4483. )
  4484. IF EXIST TEMP\AAO\MSDMO.DLL IF EXIST WORK\I386E\MSDMO.DLL DEL/Q/F TEMP\AAO\MSDMO.DLL
  4485. IF EXIST TEMP\AAO\QASF.DLL IF EXIST WORK\I386E\QASF.DLL DEL/Q/F WORK\I386E\QASF.DLL
  4486. IF EXIST TEMP\AAO\*.CAB MOVE/Y TEMP\AAO\*.CAB SOURCESS\I386
  4487. XCOPY/DHY TEMP\AAO\*.* WORK\I386E
  4488. IF EXIST TEMP\FileMove.txt (
  4489.     CD SOURCESS\I386
  4490.     FOR /F "TOKENS=1,2 DELIMS=," %%I IN (%PREP%TEMP\FileMove.txt) DO (
  4491.         IF NOT EXIST "%%~dJ%%~pJ" MD "%%~dJ%%~pJ"
  4492.         SET AAOEXT=%%~xJ
  4493.         ECHO>_AAOWILD.TXT %%~nJ
  4494.         FOR /F %%I IN ('FINDSTR/R "\*" _AAOWILD.TXT') DO SET AAOWILD=1
  4495.         DEL/Q/F _AAOWILD.TXT
  4496.         IF DEFINED AAOEXT (MOVE/Y %%I "%%~dJ%%~pJ%%~nJ%%~xJ") ELSE (
  4497.             IF DEFINED AAOWILD (MOVE/Y %%I "%%~dJ%%~pJ" >NUL) ELSE (MOVE/Y %%I "%%~dJ%%~pJ%%~nJ")
  4498.         )
  4499.         SET AAOEXT=&SET AAOWILD=
  4500.     )
  4501.     CD %PREP%
  4502. )
  4503. IF EXIST TEMP\DirDelete.txt FOR /F "DELIMS=" %%I IN (TEMP\DirDelete.txt) DO RD/Q/S SOURCESS\I386\%%I
  4504. IF EXIST TEMP\STRINGS.TXT FOR /F %%I IN (TEMP\STRINGS.TXT) DO SET %%I=
  4505. SET AAOINI=&SET AAOVAR=&SET AAO100=&SET RVMUP=&SET AAOHEAD=&SET AAOPROC=
  4506. RD/Q/S TEMP
  4507. GOTO :EOF
  4508.  
  4509. :AAOEDITFILE
  4510. IF /I "%AAOBASEFILE%"=="I386\SVCPACK.INF" (
  4511.     IF EXIST "TEMP\%AAOFINDSECT%.txt" TYPE "TEMP\%AAOFINDSECT%.txt">>WORK\SVCMAIN.TXT
  4512. ) ELSE IF EXIST SOURCESS\%AAOBASEFILE% (
  4513.     FOR /F "DELIMS=" %%I IN ('FINDSTR/BIR /C:"\[%AAONEWSECT%\]" SOURCESS\%AAOBASEFILE%') DO SET AAOSECTPRES=1
  4514.     IF DEFINED AAOSECTPRES SET AAOSRCEDIT=SOURCESS\%AAOBASEFILE%&CALL :AAOSTRIP
  4515.     ECHO/>>SOURCESS\%AAOBASEFILE%&ECHO>>SOURCESS\%AAOBASEFILE% [%AAONEWSECT%]
  4516.     IF EXIST TEMP\AAOEDITTEMP.TXT TYPE TEMP\AAOEDITTEMP.TXT>>SOURCESS\%AAOBASEFILE%&DEL/Q/F TEMP\AAOEDITTEMP.TXT
  4517.     IF EXIST "TEMP\%AAOFINDSECT%.txt" TYPE "TEMP\%AAOFINDSECT%.txt">>SOURCESS\%AAOBASEFILE%
  4518. )
  4519. SET AAOSECTPRES=&SET WESTRIP=
  4520. GOTO :EOF
  4521.  
  4522. :AAOSTRIP
  4523. FOR /F "DELIMS=" %%I IN (%AAOSRCEDIT%) DO (
  4524.     ECHO>TEMP\TMPAAO.TXT %%I
  4525.     IF NOT DEFINED WESTRIP FOR /F "DELIMS=" %%Z IN ('FINDSTR/BIR /C:"\[%AAONEWSECT%\]" TEMP\TMPAAO.TXT') DO SET WESTRIP=1
  4526.     IF DEFINED WESTRIP FOR /F "DELIMS=" %%Z IN ('FINDSTR/BR "\[" TEMP\TMPAAO.TXT') DO IF /I NOT "%%Z"=="[%AAONEWSECT%]" SET WESTRIP=
  4527.     FOR /F "DELIMS=" %%Z IN ('FINDSTR/BR "\[" TEMP\TMPAAO.TXT') DO ECHO/>>TEMP\AAOEDITDEST.TXT
  4528.     IF NOT DEFINED WESTRIP (ECHO>>TEMP\AAOEDITDEST.TXT %%I) ELSE (
  4529.         FOR /F "DELIMS=" %%Z IN (TEMP\TMPAAO.TXT) DO IF /I NOT "%%Z"=="[%AAONEWSECT%]" ECHO>>TEMP\AAOEDITTEMP.TXT %%Z
  4530.     )
  4531. )
  4532. IF EXIST TEMP\AAOEDITDEST.TXT DEL/Q/F SOURCESS\%AAOBASEFILE%&MOVE/Y TEMP\AAOEDITDEST.TXT SOURCESS\%AAOBASEFILE%
  4533. GOTO :EOF
  4534.  
  4535. :AAOCOPY
  4536. FOR /F "DELIMS=" %%I IN (TEMP\INI.INI) DO (
  4537.     ECHO>TEMP\TMPAAO.TXT %%I
  4538.     IF NOT DEFINED WEROLL FOR /F "DELIMS=" %%Z IN ('FINDSTR/BIR /C:"\[%SSECTION%\]" TEMP\TMPAAO.TXT') DO SET WEROLL=1
  4539.     IF DEFINED WEROLL (
  4540.         FOR /F "DELIMS=" %%Z IN ('FINDSTR/BR "\[" TEMP\TMPAAO.TXT') DO IF /I NOT "%%Z"=="[%SSECTION%]" SET WESTOP=1
  4541.         IF DEFINED WESTOP GOTO :EOF
  4542.         IF /I NOT "%%I"=="[%SSECTION%]" ECHO>>%AAODEST% %%I
  4543.     )
  4544. )
  4545. GOTO :EOF
  4546. REM ======================================================================================
  4547.  
  4548. REM ======================SVCPACK AND FIRST LOGON INSTALLERS==============================
  4549. :SVCPACK_1STLOGON_INST
  4550. IF EXIST HF\*917275* IF NOT EXIST HFSVCPACK_SW1\msdrmclient.msi IF NOT EXIST HFGUIRUNONCE\msdrmclient.msi (
  4551.     FOR /F %%I IN ('DIR/B HF\*917275*') DO START/WAIT HF\%%I /Q /X:WORK
  4552.     XCOPY/DY WORK\msdrmclient.msi HFSVCPACK_SW1 >NUL&ECHO>>WORK\FILESTODEL.TXT HFSVCPACK_SW1\msdrmclient.msi
  4553.     XCOPY/DY WORK\rmclientbackcompat.msi HFSVCPACK_SW1 >NUL&ECHO>>WORK\FILESTODEL.TXT HFSVCPACK_SW1\rmclientbackcompat.msi
  4554. )
  4555. IF EXIST HF\*979099* IF NOT EXIST HFSVCPACK_SW1\msdrmclient.msi IF NOT EXIST HFGUIRUNONCE\msdrmclient.msi (
  4556.     FOR /F %%I IN ('DIR/B HF\*979099*') DO START/WAIT HF\%%I /Q /X:WORK
  4557.     XCOPY/DY WORK\msdrmclient.msi HFSVCPACK_SW1 >NUL&ECHO>>WORK\FILESTODEL.TXT HFSVCPACK_SW1\msdrmclient.msi
  4558.     XCOPY/DY WORK\rmclientbackcompat.msi HFSVCPACK_SW1 >NUL&ECHO>>WORK\FILESTODEL.TXT HFSVCPACK_SW1\rmclientbackcompat.msi
  4559. )
  4560. IF EXIST HFSVCPACK_SW1\*.MSI (
  4561.     TITLE %T1% - Processing MSI files&ECHO.&ECHO Processing MSI files...
  4562.     FOR /F %%I IN ('DIR/B/ON HFSVCPACK_SW1\*.MSI') DO (
  4563.         ECHO %%I&ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD START/WAIT MSIEXEC /i %%HFSLIPSVC%%%%I /qn /norestart ALLUSERS=1
  4564.     )
  4565. )
  4566. SET MCEUP=1
  4567. IF EXIST WORK\MCERU1.EXE (
  4568.     ECHO>>WORK\HFSLPGUI.TXT START/WAIT MCERU1.EXE %SW1% /n
  4569.     ECHO>>SOURCESS\I386\TXTSETUP.SIF MCERU1.EXE = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,MCERU1.EXE
  4570.     MOVE WORK\MCERU1.EXE SOURCESS\I386 >NUL
  4571.     IF EXIST HF\*Center2005* FOR /F %%I IN ('DIR/B/ON HF\*Center2005*') DO IF NOT "%%I"=="%MCERUEXE%" (
  4572.         ECHO>>WORK\HFSLPGUI.TXT START/WAIT MCEUP!MCEUP!.EXE %SW1% /n
  4573.         ECHO>>SOURCESS\I386\TXTSETUP.SIF MCEUP!MCEUP!.EXE = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,MCEUP!MCEUP!.EXE
  4574.         COPY HF\%%I SOURCESS\I386\MCEUP!MCEUP!.EXE >NUL
  4575.         SET /A MCEUP=!MCEUP!+1
  4576.     )
  4577. )
  4578. FOR /F %%I IN ('DIR/B HFGUIRUNONCE') DO SET GUICNT=1
  4579. IF DEFINED GUICNT (
  4580.     TITLE %T1% - Processing GUIRunOnce apps&ECHO.&ECHO Processing GUIRunOnce apps...
  4581.     FOR /F "DELIMS=" %%I IN ('DIR/B/ON HFGUIRUNONCE') DO (
  4582.         IF /I "%%~xI"==".MSI" (
  4583.             ECHO %%I&ECHO>>WORK\HFSLPGUI.TXT START/WAIT MSIEXEC /i %%I /qn /norestart ALLUSERS=1
  4584.             ECHO>>SOURCESS\I386\TXTSETUP.SIF HFGUI!GUICNT!.MSI = 1,,,,,,,998,0,0,"%%I"&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFGUI!GUICNT!.MSI
  4585.             COPY "HFGUIRUNONCE\%%I" WORK\I386E\HFGUI!GUICNT!.MSI >NUL
  4586.         ) ELSE IF /I "%%~xI"==".EXE" (
  4587.             ECHO %%I&ECHO>>WORK\HFSLPGUI.TXT START/WAIT %%I
  4588.             ECHO>>SOURCESS\I386\TXTSETUP.SIF HFGUI!GUICNT!.EXE = 1,,,,,,,998,0,0,"%%I"&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFGUI!GUICNT!.EXE
  4589.             COPY "HFGUIRUNONCE\%%I" SOURCESS\I386\HFGUI!GUICNT!.EXE >NUL
  4590.         ) ELSE IF /I "%%~xI"==".CMD" (
  4591.             ECHO %%I&ECHO>>WORK\HFSLPGUI.TXT START/WAIT CALL "%%I"
  4592.             ECHO>>SOURCESS\I386\TXTSETUP.SIF HFGUI!GUICNT!.CMD = 1,,,,,,,998,0,0,"%%I"&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFGUI!GUICNT!.CMD
  4593.             COPY "HFGUIRUNONCE\%%I" WORK\I386E\HFGUI!GUICNT!.CMD >NUL
  4594.         ) ELSE IF /I "%%~xI"==".REG" (
  4595.             ECHO %%I&ECHO>>WORK\HFSLPGUI.TXT START/WAIT REGEDIT /S "%%I"
  4596.             ECHO>>SOURCESS\I386\TXTSETUP.SIF HFGUI!GUICNT!.REG = 1,,,,,,,998,0,0,"%%I"&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFGUI!GUICNT!.REG
  4597.             COPY "HFGUIRUNONCE\%%I" WORK\I386E\HFGUI!GUICNT!.REG >NUL
  4598.         ) ELSE IF /I "%%~xI"==".INF" (
  4599.             ECHO %%I&ECHO>>WORK\HFSLPGUI.TXT START/WAIT rundll32.exe advpack.dll,LaunchINFSection "%%I",DefaultInstall
  4600.             ECHO>>SOURCESS\I386\TXTSETUP.SIF HFGUI!GUICNT!.INF = 1,,,,,,,998,0,0,"%%I"&ECHO>>SOURCESS\I386\DOSNET.INF d1,HFGUI!GUICNT!.INF
  4601.             COPY "HFGUIRUNONCE\%%I" WORK\I386E\HFGUI!GUICNT!.INF >NUL
  4602.         )
  4603.         SET /A GUICNT=!GUICNT!+1
  4604.     )
  4605. )
  4606. IF EXIST HF\*926139* SET PSHELL=926139
  4607. IF EXIST HF\*926140* SET PSHELL=926140
  4608. IF DEFINED PSHELL (
  4609.     FOR /F %%I IN ('DIR/B HF\*%PSHELL%*') DO COPY HF\%%I SOURCESS\I386\PSHELL.EXE >NUL
  4610.     ECHO>>WORK\HFSLPGUI.TXT START/WAIT PSHELL.EXE /passive /norestart
  4611.     ECHO>>SOURCESS\I386\TXTSETUP.SIF PSHELL.EXE = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,PSHELL.EXE
  4612. )
  4613. IF EXIST SOURCESS\I386\IE7_INST.EXE (
  4614.     IF DEFINED IE7FCNT (ECHO>>WORK\HFSLPGUI.TXT START/WAIT IE7_INST.EXE) ELSE (
  4615.         ECHO>>WORK\HFSLPGUI.TXT START/WAIT IE7_INST.EXE /passive /norestart /update-no%IE7BKPSW%
  4616.     )
  4617.     ECHO>>SOURCESS\I386\TXTSETUP.SIF IE7_INST.EXE = 1,,,,,,,998,0,0&ECHO>>SOURCESS\I386\DOSNET.INF d1,IE7_INST.EXE
  4618. )
  4619. GOTO :EOF
  4620. REM ======================================================================================
  4621.  
  4622. REM ======================TIME CALCULATOR=================================================
  4623. :TIMECALC
  4624. :: Native time calculator / Part 2 / Tomcat76.
  4625. :: Can process time until the next day at 1 second before midnight.
  4626. ECHO>AMPMS.TXT %STIME%
  4627. SET EDATE=%DATE%
  4628. ECHO>AMPME.TXT %TIME%
  4629. FOR /F "TOKENS=1,2,3 DELIMS=:., " %%I IN (AMPMS.TXT) DO SET STIMEH=%%I&SET STIMEM=%%J&SET STIMES=%%K
  4630. FOR /F "TOKENS=1,2,3 DELIMS=:., " %%I IN (AMPME.TXT) DO SET ETIMEH=%%I&SET ETIMEM=%%J&SET ETIMES=%%K
  4631. IF %STIMEM% LSS 10 SET STIMEM=%STIMEM:~1,1%
  4632. IF %STIMES% LSS 10 SET STIMES=%STIMES:~1,1%
  4633. IF %ETIMEM% LSS 10 SET ETIMEM=%ETIMEM:~1,1%
  4634. IF %ETIMES% LSS 10 SET ETIMES=%ETIMES:~1,1%
  4635. FOR /F %%I IN ('FINDSTR/I "AM PM" AMPME.TXT') DO CALL :MIL_CONV
  4636. SET /A THRS=%ETIMEH%-%STIMEH%
  4637. SET /A TMIN=%ETIMEM%-%STIMEM%
  4638. SET /A TSEC=%ETIMES%-%STIMES%
  4639. ECHO>TTEST.TXT %TSEC%
  4640. FOR /F %%I IN ('FINDSTR/R "\-" TTEST.TXT') DO SET SERROR=1
  4641. IF DEFINED SERROR CALL :NSTIMES
  4642. ECHO>TTEST.TXT %TMIN%
  4643. FOR /F %%I IN ('FINDSTR/R "\-" TTEST.TXT') DO SET MERROR=1
  4644. IF DEFINED SERROR (SET NSTIMEM=59) ELSE (SET NSTIMEM=60)
  4645. IF DEFINED MERROR (SET NETIMEH=23&CALL :NSTIMEM) ELSE (SET NETIMEH=24)
  4646. ECHO>TTEST.TXT %THRS%
  4647. FOR /F %%I IN ('FINDSTR/R "\-" TTEST.TXT') DO SET HERROR=1
  4648. IF NOT "%SDATE%"=="%EDATE%" SET HERROR=1
  4649. IF DEFINED HERROR CALL :NSTIMEH
  4650. DEL/Q/F TTEST.TXT AMPMS.TXT AMPME.TXT
  4651. IF %TSEC% LSS 10 SET TSEC=0%TSEC%
  4652. IF %THRS% GEQ 1 (
  4653.     IF %TMIN% LSS 10 (SET TMIN=%THRS%h0%TMIN%) ELSE (SET TMIN=%THRS%h%TMIN%)
  4654. )
  4655. SET RTIMELN=HFSLIP run time: %TMIN%m%TSEC%s
  4656. ECHO>>HFSLIP.LOG %RTIMELN%&ECHO.&ECHO.&ECHO %RTIMELN%&ECHO.&ECHO.
  4657. IF NOT "%NOLOGCOPY%"=="1" COPY/Y HFSLIP.LOG SOURCESS >NUL
  4658. GOTO :EOF
  4659.  
  4660. :MIL_CONV
  4661. FOR /F %%I IN ('FINDSTR/I "AM" AMPMS.TXT') DO SET AMPMS=AM
  4662. FOR /F %%I IN ('FINDSTR/I "AM" AMPME.TXT') DO SET AMPME=AM
  4663. FOR /F %%I IN ('FINDSTR/I "PM" AMPMS.TXT') DO SET AMPMS=PM
  4664. FOR /F %%I IN ('FINDSTR/I "PM" AMPME.TXT') DO SET AMPME=PM
  4665. :: Midnight to zero
  4666. IF "%AMPMS%"=="AM" IF "%STIMEH%"=="12" SET STIMEH=0
  4667. IF "%AMPME%"=="AM" IF "%ETIMEH%"=="12" SET ETIMEH=0
  4668. :: Noon remains at 12 / Other PMs +12
  4669. IF "%AMPMS%"=="PM" IF NOT "%STIMEH%"=="12" SET /A STIMEH=%STIMEH%+12
  4670. IF "%AMPME%"=="PM" IF NOT "%ETIMEH%"=="12" SET /A ETIMEH=%ETIMEH%+12
  4671. GOTO :EOF
  4672.  
  4673. :NSTIMES
  4674. SET /A NSTIMES=60-%STIMES%
  4675. SET /A TSEC=%NSTIMES%+%ETIMES%
  4676. SET /A TMIN=%TMIN%-1
  4677. GOTO :EOF
  4678.  
  4679. :NSTIMEM
  4680. SET /A NSTIMEM=%NSTIMEM%-%STIMEM%
  4681. SET /A TMIN=%NSTIMEM%+%ETIMEM%
  4682. SET /A THRS=%THRS%-1
  4683. GOTO :EOF
  4684.  
  4685. :NSTIMEH
  4686. SET /A ETIMEH=%NETIMEH%+%ETIMEH%
  4687. SET /A THRS=%ETIMEH%-%STIMEH%
  4688. GOTO :EOF
  4689.  
  4690. :EOF
Add Comment
Please, Sign In to add comment