home *** CD-ROM | disk | FTP | other *** search
/ CICA NT 1997 November / CICA_NT_CD-ROM_Walnut_Creek_November_1997.iso / patches / sp5_351a.exe / UPDATE.INF < prev    next >
INI File  |  1996-09-19  |  58KB  |  1,315 lines

  1. [FileKeyedClasses]
  2.     Hal            = hal.dll
  3.     Ntoskrnl       = ntoskrnl.exe
  4. [FilesKeyedSections]
  5.     FilesHal       = $(STF_HALDEST)
  6.     FilesNtoskrnl  = $(STF_WINDOWSSYSPATH)
  7. [FilesHal]
  8.  
  9. [FilesNtoskrnl]
  10.     NTKRNLMP = 1, NTKRNLMP.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  11.     NTOSKRNL = 1, NTOSKRNL.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  12.  
  13. [FileSections]
  14.     FilesPrimary        = C:
  15.     FilesPal            = $(STF_HALDEST)
  16.     FilesWinnt          = $(STF_WINDOWSPATH)
  17.     FilesSystem32       = $(STF_WINDOWSSYSPATH)
  18.     FilesSystem         = $(STF_WINDOWSPATH)\system
  19.     FilesDrivers        = $(STF_WINDOWSSYSPATH)\drivers
  20.     FilesConfig         = $(STF_WINDOWSSYSPATH)\config
  21.     FilesWinspool       = $(STF_WINDOWSSYSPATH)\spool
  22.     FilesPrnDriver      = $(STF_WINDOWSSYSPATH)\spool\drivers\$(!STF_PRNPLATFORM)\1
  23.     FilesPrnProc        = $(STF_WINDOWSSYSPATH)\spool\prtprocs\$(!STF_PRNPLATFORM)
  24.     FilesDbgCom         = $(STF_WINDOWSPATH)\symbols\com
  25.     FilesDbgCpl         = $(STF_WINDOWSPATH)\symbols\cpl
  26.     FilesDbgDll         = $(STF_WINDOWSPATH)\symbols\dll
  27.     FilesDbgDrv         = $(STF_WINDOWSPATH)\symbols\drv
  28.     FilesDbgExe         = $(STF_WINDOWSPATH)\symbols\exe
  29.     FilesDbgScr         = $(STF_WINDOWSPATH)\symbols\scr
  30.     FilesDbgSys         = $(STF_WINDOWSPATH)\symbols\sys
  31. [FileSectionsOsLoader]
  32.     FilesOsLoader       = $(STF_OSLDEST)
  33. [FileSectionsFPNW]
  34.     FilesFpNwLogin      = $(STF_FPNWSYSPATH)\login
  35.     FilesFpNwPublic     = $(STF_FPNWSYSPATH)\public
  36. [FileSectionsIIS]
  37.     FilesIIS            = $(STF_IISPATH)
  38. [FileSectionsSSL]
  39.     FilesSSL        = $(STF_WINDOWSSYSPATH)
  40. [FileSectionsCopyAlways]
  41.     FilesSystem32CopyAlways = $(STF_WINDOWSSYSPATH)
  42.     FilesDriversCopyAlways  = $(STF_WINDOWSSYSPATH)\drivers
  43. [FileSectionsWINNT]
  44.     FilesInfWinnt       = $(STF_WINDOWSSYSPATH)
  45. [FileSectionsLANMANNT]
  46.     FilesInfLanmanNT    = $(STF_WINDOWSSYSPATH)
  47. [FileSectionsCopyAlwaysWINNT]
  48.     FilesSystem32CopyAlwaysWinnt = $(STF_WINDOWSSYSPATH)
  49. [FileSectionsCopyAlwaysLANMANNT]
  50.     FilesSystem32CopyAlwaysLanmanNT = $(STF_WINDOWSSYSPATH)
  51. [FilesPrimary]
  52.  
  53. [FilesOsLoader]
  54.  
  55. [FilesPal]
  56.  
  57. [FilesWinnt]
  58.  
  59. [FilesSystem32]
  60. 1 = 1, ADVAPI32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  61. 2 = 1, ARP.EXE     , RENAME=$(NEWFILE), NOLOG, UNDO
  62. 3 = 1, AUTOCHK.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  63. 4 = 1, BASESRV.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  64. 5 = 1, BROWSER.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  65. 6 = 1, CACLS.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  66. 7 = 1, CMD.EXE     , RENAME=$(NEWFILE), NOLOG, UNDO
  67. 8 = 1, COMCTL32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  68. 9 = 1, COMDLG32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  69. 10 = 1, CSRSRV.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  70. 11 = 1, CSRSS.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  71. 12 = 1, DECPSMON.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  72. 13 = 1, DHCPSSVC.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  73. 14 = 1, EVENTLOG.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  74. 15 = 1, FC.EXE      , RENAME=$(NEWFILE), NOLOG, UNDO
  75. 16 = 1, FPNW.DLL    , RENAME=$(NEWFILE), NOLOG, UNDO
  76. 17 = 1, FPNWAUTH.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  77. 18 = 1, FPNWMGR.CPL , RENAME=$(NEWFILE), NOLOG, UNDO
  78. 19 = 1, FPNWOPER.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  79. 20 = 1, FTP.EXE     , RENAME=$(NEWFILE), NOLOG, UNDO
  80. 21 = 1, FTPSVC.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  81. 22 = 1, FTSRCH.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  82. 23 = 1, GDI32.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  83. 24 = 1, GLSRV.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  84. 25 = 1, HPMON.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  85. 26 = 1, IMAGEHLP.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  86. 27 = 1, INETMIB1.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  87. 28 = 1, INETSLOC.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  88. 29 = 1, INFOADMN.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  89. 30 = 1, KBDUK.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  90. 31 = 1, KERNEL32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  91. 32 = 1, KRNL286.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  92. 33 = 1, KRNL386.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  93. 34 = 1, LMMIB2.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  94. 35 = 1, LOCALMON.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  95. 36 = 1, LOCALSPL.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  96. 37 = 1, LPDSVC.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  97. 38 = 1, LPRHELP.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  98. 39 = 1, LPRMON.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  99. 40 = 1, LSASRV.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  100. 41 = 1, LSASS.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  101. 42 = 1, MAIN.CPL    , RENAME=$(NEWFILE), NOLOG, UNDO
  102. 43 = 1, MGMTAPI.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  103. 44 = 1, MPR.DLL     , RENAME=$(NEWFILE), NOLOG, UNDO
  104. 45 = 1, MSGINA.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  105. 46 = 1, MSSFS32.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  106. 47 = 1, NDDENB32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  107. 48 = 1, NETAPI32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  108. 49 = 1, NETLOGON.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  109. 50 = 1, NETRAP.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  110. 51 = 1, NETUI0.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  111. 52 = 1, NETUI1.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  112. 53 = 1, NETUI2.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  113. 54 = 1, NTBACKUP.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  114. 55 = 1, NTDLL.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  115. 56 = 1, NTLANMAN.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  116. 57 = 1, NTLMSSPS.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  117. 58 = 1, NTVDM.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  118. 59 = 1, NWAPI16.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  119. 60 = 1, NWAPI32.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  120. 61 = 1, NWCONV.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  121. 62 = 1, NWMON.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  122. 63 = 1, NWPROVAU.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  123. 64 = 1, NWSEVENT.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  124. 65 = 1, NWSLIB.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  125. 66 = 1, NWWKS.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  126. 67 = 1, OLE2DISP.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  127. 68 = 1, OLE2NLS.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  128. 69 = 1, OLE32.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  129. 70 = 1, OLEAUT32.DLL, RENAME=$(NEWFILE), OVERWRITE=OLDER, VERSION="2,20,4049,1"
  130. 71 = 1, OLEDLG.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  131. 72 = 1, OLETHK32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  132. 73 = 1, OPENGL32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  133. 74 = 1, PERFCTRS.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  134. 75 = 1, PERFMON.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  135. 76 = 1, PROGMAN.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  136. 77 = 1, QV.DLL      , RENAME=$(NEWFILE), NOLOG, UNDO
  137. 78 = 1, RASADMIN.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  138. 79 = 1, RASCCP.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  139. 80 = 1, RASCHAP.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  140. 81 = 1, RASCTRS.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  141. 82 = 1, RASGTWY.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  142. 83 = 1, RASIPXCP.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  143. 84 = 1, RASMAN.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  144. 85 = 1, RASNBFCP.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  145. 86 = 1, RASPAP.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  146. 87 = 1, RASPPPEN.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  147. 88 = 1, RASSRV.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  148. 89 = 1, RASTAPI.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  149. 90 = 1, ROUTE.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  150. 91 = 1, RPCDGC3.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  151. 92 = 1, RPCDGS3.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  152. 93 = 1, RPCDGS6.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  153. 94 = 1, RPCLTC1.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  154. 95 = 1, RPCLTC3.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  155. 96 = 1, RPCLTC5.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  156. 97 = 1, RPCLTC6.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  157. 98 = 1, RPCLTC7.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  158. 99 = 1, RPCLTS3.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  159. 100 = 1, RPCLTS5.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  160. 101 = 1, RPCLTS6.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  161. 102 = 1, RPCRT4.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  162. 103 = 1, RPCSS.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  163. 104 = 1, RPLSVC.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  164. 105 = 1, SAMLIB.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  165. 106 = 1, SAMSRV.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  166. 107 = 1, SCM.EXE     , RENAME=$(NEWFILE), NOLOG, UNDO
  167. 108 = 1, SECURITY.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  168. 109 = 1, SENDFL32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  169. 110 = 1, SERVICES.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  170. 111 = 1, SETUPDLL.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  171. 112 = 1, SFMMGR.CPL  , RENAME=$(NEWFILE), NOLOG, UNDO
  172. 113 = 1, SFMMON.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  173. 114 = 1, SFMPRINT.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  174. 115 = 1, SHELL32.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  175. 116 = 1, SMSS.EXE    , RENAME=$(NEWFILE), NOLOG, UNDO
  176. 117 = 1, SRVSVC.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  177. 118 = 1, TYPELIB.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  178. 119 = 1, ULIB.DLL    , RENAME=$(NEWFILE), NOLOG, UNDO
  179. 120 = 1, UNTFS.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  180. 121 = 1, UPS.EXE     , RENAME=$(NEWFILE), NOLOG, UNDO
  181. 122 = 1, USER32.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  182. 123 = 1, USERINIT.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  183. 124 = 1, USRMGR.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  184. 125 = 1, VDMREDIR.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  185. 126 = 1, VFORM32.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  186. 127 = 1, VWIPXSPX.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  187. 128 = 1, WGPOMG32.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  188. 129 = 1, WIN32SPL.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  189. 130 = 1, WINFILE.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  190. 131 = 1, WINHLP32.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  191. 132 = 1, WINLOGON.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  192. 133 = 1, WINMSD.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  193. 134 = 1, WINS.EXE    , RENAME=$(NEWFILE), NOLOG, UNDO
  194. 135 = 1, WINSADMN.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  195. 136 = 1, WINSCTRS.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  196. 137 = 1, WINSEVNT.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  197. 138 = 1, WINSRV.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  198. 139 = 1, WOW32.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  199. 140 = 1, WOWEXEC.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  200. 141 = 1, WOWFAXUI.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  201. 142 = 1, WSHNETBS.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  202. 143 = 1, WSOCK32.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  203. 144 = 1, GDSPACE.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  204. 145 = 1, GDSSET.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  205.  
  206. [FilesSystem]
  207.  
  208. [FilesDrivers]
  209. 1 = 1, 4MMDAT.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  210. 2 = 1, 4MMSONY.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  211. 3 = 1, 9TRACK.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  212. 4 = 1, AFD.SYS     , RENAME=$(NEWFILE), NOLOG, UNDO
  213. 5 = 1, AHA154X.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  214. 6 = 1, AIC78XX.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  215. 7 = 1, ARCHQIC.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  216. 8 = 1, ASYNCMAC.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  217. 9 = 1, ATAPI.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  218. 10 = 1, ATDISK.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  219. 11 = 1, ATI.SYS     , RENAME=$(NEWFILE), NOLOG, UNDO
  220. 12 = 1, BHNT.SYS    , RENAME=$(NEWFILE), NOLOG, UNDO
  221. 13 = 1, CIRRUS.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  222. 14 = 1, DC21X4.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  223. 15 = 1, DEFEA.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  224. 16 = 1, DEFPA.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  225. 17 = 1, DIGIFEP5.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  226. 18 = 1, DISKPERF.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  227. 19 = 1, DLC.SYS     , RENAME=$(NEWFILE), NOLOG, UNDO
  228. 20 = 1, DLTTAPE.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  229. 21 = 1, DPTSCSI.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  230. 22 = 1, ELNKMC.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  231. 23 = 1, EXABYTE1.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  232. 24 = 1, EXABYTE2.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  233. 25 = 1, FASTFAT.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  234. 26 = 1, FLOPPY.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  235. 27 = 1, FPNWSRV.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  236. 28 = 1, I8042PRT.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  237. 29 = 1, IBMTOK.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  238. 30 = 1, IBMTOK2I.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  239. 31 = 1, MINIQIC.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  240. 32 = 1, NBF.SYS     , RENAME=$(NEWFILE), NOLOG, UNDO
  241. 33 = 1, NCRC700.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  242. 34 = 1, NDIS.SYS    , RENAME=$(NEWFILE), NOLOG, UNDO
  243. 35 = 1, NDISWAN.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  244. 36 = 1, NE3200.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  245. 37 = 1, NETBIOS.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  246. 38 = 1, NETBT.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  247. 39 = 1, NETFLX.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  248. 40 = 1, NPFS.SYS    , RENAME=$(NEWFILE), NOLOG, UNDO
  249. 41 = 1, NPMCA.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  250. 42 = 1, NTCX.SYS    , RENAME=$(NEWFILE), NOLOG, UNDO
  251. 43 = 1, NTEPC.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  252. 44 = 1, NTFS.SYS    , RENAME=$(NEWFILE), NOLOG, UNDO
  253. 45 = 1, NTXALL.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  254. 46 = 1, NTXEM.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  255. 47 = 1, NWLNKIPX.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  256. 48 = 1, NWLNKNB.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  257. 49 = 1, NWLNKRIP.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  258. 50 = 1, NWLNKSPX.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  259. 51 = 1, NWRDR.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  260. 52 = 1, PARALLEL.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  261. 53 = 1, PCMCIA.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  262. 54 = 1, RDR.SYS     , RENAME=$(NEWFILE), NOLOG, UNDO
  263. 55 = 1, SCSIDISK.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  264. 56 = 1, SERIAL.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  265. 57 = 1, SERMOUSE.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  266. 58 = 1, SFMATALK.SYS, RENAME=$(NEWFILE), NOLOG, UNDO
  267. 59 = 1, SFMSRV.SYS  , RENAME=$(NEWFILE), NOLOG, UNDO
  268. 60 = 1, SRV.SYS     , RENAME=$(NEWFILE), NOLOG, UNDO
  269. 61 = 1, STREAMS.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  270. 62 = 1, TANDQIC.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  271. 63 = 1, TCARC.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  272. 64 = 1, TCPIP.SYS   , RENAME=$(NEWFILE), NOLOG, UNDO
  273. 65 = 1, WANGQIC.SYS , RENAME=$(NEWFILE), NOLOG, UNDO
  274.  
  275. [FilesConfig]
  276. [FilesWinspool]
  277. [FilesPrnDriver]
  278. 1 = 1, CANON800.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  279. 2 = 1, DICONIX.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  280. 3 = 1, ESCP2MS.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  281. 4 = 1, HPDSKJET.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  282. 5 = 1, HPPCL.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  283. 6 = 1, HPPCL5MS.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  284. 7 = 1, PCL1200.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  285. 8 = 1, PCL5EMS.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  286. 9 = 1, PCL5MS.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  287. 10 = 1, PLOTTER.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  288. 11 = 1, PLOTUI.DLL  , RENAME=$(NEWFILE), NOLOG, UNDO
  289. 12 = 1, PSCRIPT.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  290. 13 = 1, PSCRPTUI.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  291. 14 = 1, RASDD.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  292. 15 = 1, RASDDUI.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  293. 16 = 1, TXTONLY.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  294.  
  295. [FilesPrnProc]
  296. 1 = 1, NWPRINT.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  297. 2 = 1, SFMPSPRT.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  298.  
  299. [FilesDbgCom]
  300. [FilesDbgCpl]
  301. [FilesDbgDll]
  302. [FilesDbgDrv]
  303. [FilesDbgExe]
  304. [FilesDbgScr]
  305. [FilesDbgSys]
  306. [FilesInfWinnt]
  307. 1 = 1, OEMNADAP.INF, RENAME=$(NEWFILE), NOLOG, UNDO
  308.  
  309. [FilesInfLanmanNT]
  310. 1 = 1, NWDOC.HLP   , RENAME=$(NEWFILE), NOLOG, UNDO
  311. 2 = 1, OEMNADAP.INF, RENAME=$(NEWFILE), NOLOG, UNDO
  312. 3 = 1, OEMNADD3.INF, RENAME=$(NEWFILE), NOLOG, UNDO
  313. 4 = 1, OEMNADDF.INF, RENAME=$(NEWFILE), NOLOG, UNDO
  314.  
  315. [FilesSystem32CopyAlways]
  316. 1 = 1, C_1250.NLS  , RENAME=$(NEWFILE), NOLOG, UNDO
  317. 2 = 1, C_20261.NLS , RENAME=$(NEWFILE), NOLOG, UNDO
  318. 3 = 1, C_28592.NLS , RENAME=$(NEWFILE), NOLOG, UNDO
  319. 4 = 1, PRFLBMSG.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  320. 5 = 1, SNMPAPI.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  321. 6 = 1, STDOLE2.TLB , RENAME=$(NEWFILE), NOLOG, UNDO
  322.  
  323. [FilesDriversCopyAlways]
  324. [FilesSystem32CopyAlwaysWINNT]
  325. [FilesSystem32CopyAlwaysLANMANNT]
  326. [FilesFpNwLogin]
  327. 1 = 1, LOGIN.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  328. 2 = 1, SLIST.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  329.  
  330. [FilesFpNwPublic]
  331. 1 = 1, ATTACH.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  332. 2 = 1, CAPTURE.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  333. 3 = 1, CHGPASS.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  334. 4 = 1, ENDCAP.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  335. 5 = 1, LOGIN.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  336. 6 = 1, LOGOUT.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  337. 7 = 1, MAP.EXE     , RENAME=$(NEWFILE), NOLOG, UNDO
  338. 8 = 1, SETPASS.EXE , RENAME=$(NEWFILE), NOLOG, UNDO
  339. 9 = 1, SLIST.EXE   , RENAME=$(NEWFILE), NOLOG, UNDO
  340.  
  341. [FilesIIS]
  342. 1 = 1, FTPSVC2.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  343. 2 = 1, GDSPACE.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  344. 3 = 1, GDSSET.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  345. 4 = 1, GOPHERD.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  346. 5 = 1, HTTPODBC.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  347. 6 = 1, INETINFO.EXE, RENAME=$(NEWFILE), NOLOG, UNDO
  348. 7 = 1, INFOCOMM.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  349. 8 = 1, KEYGEN.EXE  , RENAME=$(NEWFILE), NOLOG, UNDO
  350. 9 = 1, SSPIFILT.DLL, RENAME=$(NEWFILE), NOLOG, UNDO
  351. 10 = 1, W3SVC.DLL   , RENAME=$(NEWFILE), NOLOG, UNDO
  352.  
  353. [FilesSSL]
  354. 1 = 1, SSLSSPI.DLL , RENAME=$(NEWFILE), NOLOG, UNDO
  355.  
  356. [FileAttributes]
  357. [ProcessorID]
  358.     ProcessorID_I386  = I386
  359.     ProcessorID_I486  = I486
  360.     ProcessorID_I586  = I586
  361.     ProcessorID_R4000 = R4000
  362. [UiVars]
  363.     STF_PLATFORMDET    = "" ? $(!LIBHANDLE) GetPlatform
  364.     STF_CSDVER         = 1280
  365.     STF_BUILDVER       = 1057
  366.     STF_CSD1_NT35      = 256
  367.     STF_NT31_BUILDVER  = 528
  368.     STF_NT35_BUILDVER  = 807
  369.     STF_NT351_BUILDVER = 1057
  370.     STF_NT351_MAJORVER = 3
  371.     STF_NT351_MINORVER = 51
  372.     STF_PRIMARY        = "C:"
  373.     STF_NTDRIVE        = ""
  374.     STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
  375.     STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
  376.     STF_CONTROLSET     = CurrentControlSet
  377.     VolumeList         = {} ? $(!LIBHANDLE) GetHardDriveLetters
  378.     VolumeFSList       = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  379.     VolumeFreeList     = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace
  380.     DisketteList       = {} ? $(!LIBHANDLE) GetFloppyDriveLetters
  381. [FreeSpaceI386]
  382.     RequiredFreeWinnt  = 25
  383. [FreeSpaceMips]
  384.     RequiredFreeWinnt  = 32
  385. [FreeSpaceppc]
  386.     RequiredFreeWinnt  = 32
  387. [FreeSpaceAlpha]
  388.     RequiredFreeWinnt  = 27
  389. [NVRAMVars]
  390.     SystemPartition = "" ? $(!LIBHANDLE) GetNVRAMVar SYSTEMPARTITION
  391.     OsLoader        = "" ? $(!LIBHANDLE) GetNVRAMVar OSLOADER
  392.     OsLoadPartition = "" ? $(!LIBHANDLE) GetNVRAMVar OSLOADPARTITION
  393.     OsLoadFilename  = "" ? $(!LIBHANDLE) GetNVRAMVar OSLOADFILENAME
  394. [Shell Commands]
  395.     set-title "Windows NT Setup"
  396.     set-subst CR = "\r"
  397.     set-subst LF = "\n"
  398.     set STF_LANGUAGE = ENG
  399.     set STF_LANGUAGE_TYPE = 9
  400.     read-syms Strings
  401.     shell "subroutn.inf" PushBillboard STATUSDLG $(Billboard1)
  402.     set BillboardPushed = TRUE
  403.     set IISPathFound = FALSE
  404.     set CopySSL = TRUE
  405.     set CopyLoader = TRUE
  406.     set FPNWSysPathFound = FALSE
  407.     set !LIBHANDLE      = ""
  408.     set !PATCHLIBHANDLE = ""
  409.     install   LoadSetupLibrary
  410.     read-syms ProductType
  411.     ifstr(i) $(!STF_PLATFORM) == I386
  412.     set STF_PRNPLATFORM = "w32x86"
  413.     set SamsrvChksum = "2D17C"
  414.     else-ifstr(i) $(!STF_PLATFORM) == Mips
  415.         set STF_PRNPLATFORM = "w32mips"
  416.     set SamsrvChksum = "40CF2"
  417.     else-ifstr(i) $(!STF_PLATFORM) == ppc
  418.         set STF_PRNPLATFORM = "w32ppc"
  419.     set SamsrvChksum = "435C0"
  420.     else-ifstr(i) $(!STF_PLATFORM) == Alpha
  421.         set STF_PRNPLATFORM = "w32alpha"
  422.     set SamsrvChksum = "3FA62"
  423.     endif
  424.     read-syms UiVars
  425.     detect    UiVars
  426.     install   LoadPatchLibrary
  427.     read-syms FreeSpace$(!STF_PLATFORM)
  428.     ifstr(i) $(STF_PLATFORM) != $(STF_PLATFORMDET)
  429.          ifstr(i) $(BillboardPushed) == TRUE
  430.              shell "subroutn.inf" PopBillboard
  431.              set BillboardPushed = FALSE
  432.          endif
  433.          shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "FATAL" $(String1)
  434.          goto patchnotdone
  435.     endif
  436.     shell "registry.inf" CheckSetupModify
  437.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  438.         ifstr(i) $(BillboardPushed) == TRUE
  439.             shell "subroutn.inf" PopBillboard
  440.             set BillboardPushed = FALSE
  441.         endif
  442.         Debug-Output "shelling CheckSetupModify failed"
  443.         goto patchnotdone
  444.     else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
  445.         ifstr(i) $(BillboardPushed) == TRUE
  446.             shell "subroutn.inf" PopBillboard
  447.             set BillboardPushed = FALSE
  448.         endif
  449.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String4)
  450.         goto patchnotdone
  451.     endif
  452.     shell "" GetCheckedFree
  453.     ifint $($ShellCode) == $(!SHELL_CODE_OK)
  454.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  455.             ifstr(i) $($R1) == "checked"
  456.                 shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String15)
  457.                 goto patchnotdone
  458.             endif
  459.         endif
  460.     endif
  461.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), CheckWindowsMajorVersion
  462.     ifint $(STATUS) > $(STF_NT351_MAJORVER)
  463.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String18)
  464.         goto patchnotdone
  465.     else-ifint $(STATUS) = $(STF_NT351_MAJORVER)
  466.         LibraryProcedure STATUS,$(!PATCHLIBHANDLE), CheckWindowsMinorVersion
  467.         ifint $(STATUS) > $(STF_NT351_MINORVER)
  468.             shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String18)
  469.             goto patchnotdone
  470.         endif
  471.     endif
  472.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), CheckBuildVersion
  473.     ifint $(STATUS) <= $(STF_NT35_BUILDVER)
  474.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String16)
  475.         goto patchnotdone
  476.     else-ifint $(STATUS) < $(STF_NT351_BUILDVER)
  477.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String17)
  478.         goto patchnotdone
  479.     else-ifint $(STATUS) > $(STF_NT351_BUILDVER)
  480.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String18)
  481.         goto patchnotdone
  482.     endif
  483.     shell "" GetCSDVersion
  484.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  485.         ifstr(i) $(BillboardPushed) == TRUE
  486.             shell "subroutn.inf" PopBillboard
  487.             set BillboardPushed = FALSE
  488.         endif
  489.         goto patchnotdone
  490.     endif
  491.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  492.         goto patchnotdone
  493.     else
  494.         ifint $($R1) > $(!STF_CSDVER)
  495.             ifstr(i) $(BillboardPushed) == TRUE
  496.                 shell "subroutn.inf" PopBillboard
  497.                 set BillboardPushed = FALSE
  498.             endif
  499.             shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String8)
  500.             goto patchnotdone
  501.         endif
  502.     endif
  503.     ifstr(i) $(!STF_PLATFORM) == ppc
  504.         OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\Windows NT\CurrentVersion" 33554432 KeyCurrentVersion
  505.         ifstr(i) $(KeyCurrentVersion) != ""
  506.             GetRegValue $(KeyCurrentVersion) "CSDVersion" CSDVersionList
  507.             ifstr(i) $(CSDVersionList) == "Power Managed Version X"
  508.                 shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String19)
  509.                 goto patchnotdone
  510.             endif
  511.             GetRegValue $(KeyCurrentVersion) "PowerManagedVersion" PMVersionList
  512.             ifstr(i) $(PMVersionList) != ""
  513.                 shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String19)
  514.                 goto patchnotdone
  515.             endif
  516.         endif
  517.     endif
  518.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), GetLanguageType
  519.     ifstr(i) $(STATUS) == ERROR
  520.         goto patchnotdone
  521.     else
  522.         ifstr(i) $(STATUS) != $(STF_LANGUAGE_TYPE)
  523.             shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String20)
  524.             goto patchnotdone
  525.         endif
  526.     endif
  527.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), FixFPNWFiles
  528.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), GetFPNWPathName
  529.     ifstr(i) $(STATUS) != "FAILURE"
  530.         set STF_FPNWSYSPATH = $(STATUS)
  531.         set FPNWSysPathFound = TRUE
  532.     endif
  533. skip_patchvercheck = +
  534.     GetDriveInPath !STF_NTDRIVE $(!STF_WINDOWSSYSPATH)
  535.     ifint *($(VolumeFreeList), ~($(VolumeList), $(!STF_NTDRIVE))) < $(RequiredFreeWinnt)
  536.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String13a)$(RequiredFreeWinnt)$(String13b)$(!STF_NTDRIVE)$(String13c)
  537.         goto patchnotdone
  538.     endif
  539.     set STF_PRODUCT = ""
  540.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\ProductOptions" 33554432 KeyProductOption
  541.     ifstr(i) $(KeyProductOption) != ""
  542.         GetRegValue $(KeyProductOption) "ProductType" ProductTypeList
  543.         set TempProductType = *($(ProductTypeList),4)
  544.         ifstr(i) $(TempProductType) == "winnt"
  545.             set !STF_PRODUCT = WINNT
  546.             set !PRODUCT_DIR = WINNT
  547.         else-ifstr(i) $(TempProductType) == "lanmannt"
  548.             set !STF_PRODUCT = LANMANNT
  549.             set !PRODUCT_DIR = NTAS
  550.         else-ifstr(i) $(TempProductType) == "servernt"
  551.             set !STF_PRODUCT = SERVERNT
  552.             set !PRODUCT_DIR = NTAS
  553.         endif
  554.         CloseRegKey $(KeyProductOptions)
  555.     endif
  556.     ifstr(i) $(STF_PRODUCT) == ""
  557.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String14)
  558.         goto patchnotdone
  559.     endif
  560.     ifstr(i) $(!STF_PLATFORM) == I386
  561.         set STF_HALDEST = $(!STF_WINDOWSSYSPATH)
  562.         LibraryProcedure STATUS,$(!PATCHLIBHANDLE), GetOsLoaderDest
  563.         ifstr(i) $(STATUS) == ERROR
  564.             goto patchnotdone
  565.         else
  566.             set STF_OSLDEST = $(STATUS)
  567.         endif
  568.         set NtLdrName = $(STF_OSLDEST)"ntldr"
  569.         LibraryProcedure STATUS,$(!PATCHLIBHANDLE), IsNTLDRVersionNewer $(NtLdrName)
  570.         ifstr(i) $(STATUS) == "YES"
  571.             set CopyLoader = FALSE
  572.         endif
  573.     else
  574.         read-syms NVRAMVars
  575.         detect    NVRAMVars
  576.         LibraryProcedure STATUS,$(!PATCHLIBHANDLE), GetOsLoaderDest         +
  577.                                                          $(SystemPartition) +
  578.                                                          $(OsLoader)        +
  579.                                                          $(OsLoadPartition) +
  580.                                                          $(OsLoadFilename)
  581.         ifstr(i) $(STATUS) == ERROR
  582.             goto patchnotdone
  583.         else
  584.             set STF_OSLDEST = $(STATUS)
  585.             set STF_HALDEST = $(STATUS)
  586.         endif
  587.     endif
  588.     OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\INetStp" 33554432 KeySvc
  589.     ifstr(i) $(KeySvc) != ""
  590.         GetRegValue $(KeySvc) "InstallPath" DestPathValue
  591.         set !STF_IISPATH0 = *($(DestPathValue), 4)
  592.         ifstr(i) $(STF_IISPATH0) != ""
  593.             set IISPathFound = TRUE
  594.             set STF_IISPATH = $(STF_IISPATH0)\Server
  595.         endif
  596.     endif
  597.     CloseRegKey $(KeySvc)
  598.     set FileToCheck = $(STF_WINDOWSSYSPATH)\sslsspi.dll
  599.     LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileToCheck)
  600.     ifstr(i) $(STATUS) == YES
  601.     LibraryProcedure Result $(!PATCHLIBHANDLE) GetSslFileDesc $(FileToCheck)
  602.     ifstr(i) $(Result) == "128"
  603.         shell "" QueryOkCancel $(String22)
  604.         ifstr(i) $($R1) == "CANCEL"
  605.         set CopySSL = FALSE
  606.         endif
  607.     endif
  608.     endif
  609.     read-syms FilesKeyedSections
  610.     set KeyedClassKeys  = ^(FileKeyedClasses, 0)
  611.     set KeyedClassFiles = ^(FileKeyedClasses, 1)
  612.     set KeyedClassFilesList = {}
  613.     ForListDo $(KeyedClassKeys)
  614.         set TmpKey       = Files$($)
  615.         set TmpFile      = #(FileKeyedClasses, $($), 1)
  616.         set TmpFilePath  = $($(TmpKey))\$(TmpFile)
  617.         set KeyedClassFilesList = >($(KeyedClassFilesList), $(TmpFilePath))
  618.     EndForListDo
  619.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), GetFileTypes $(KeyedClassFilesList)
  620.     ifstr(i) $(STATUS) == ERROR
  621.         goto patchnotdone
  622.     else-ifstr(i) $(STATUS) == SETUPLOGNOTPRESENT
  623.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String11)
  624.         goto patchnotdone
  625.     else-ifstr(i) $(STATUS) == NTOSKRNLNOTFOUND
  626.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(String21)
  627.         goto patchnotdone
  628.     else
  629.         ForListDo $(KeyedClassKeys)
  630.             set $($)Type = *($(STATUS), $(#))
  631.         EndForListDo
  632.     endif
  633.     ifstr(i) $(BillboardPushed) == TRUE
  634.         shell "subroutn.inf" PopBillboard
  635.         set BillboardPushed = FALSE
  636.     endif
  637.     ifstr(i) $(Unattended) != TRUE
  638.         shell "" QueryOkCancel $(String9)
  639.         ifstr(i) $($R1) == "OK"
  640.         else
  641.             set String = $(String12)
  642.             goto finish2
  643.         endif
  644.     endif
  645.     shell "subroutn.inf" PushBillboard STATUSDLG $(Billboard2)
  646.     set BillboardPushed = TRUE
  647.     set MoveFileExList  = {}
  648.     read-syms FileSections
  649.     set FileSectionsList = ^(FileSections, 0)
  650.     set FileSource  = $(!STF_SRCDIR)
  651.     ForListDo $(FileSectionsList)
  652.         set FileSection = $($)
  653.         set FileDest    = $($($))
  654.         set FileList    = ^($(FileSection), 0)
  655.         ForListDo $(FileList)
  656.             set FileKey          = $($)
  657.             set File             = #($(FileSection), $(FileKey), 2)
  658.             set FileDestFullPath = $(FileDest)\$(File)
  659.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  660.             ifstr(i) $(STATUS) == YES
  661.                 LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  662.                 ifstr(i) $(STATUS) == ERROR
  663.                     goto patchnotdone
  664.                 else
  665.                     ifstr(i) $(STATUS) == "YES"
  666.                         LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  667.                         ifstr(i) $(NEWFILE) == ERROR
  668.                             goto patchnotdone
  669.                         else
  670.                             set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  671.                             set MoveFileExList = >($(MoveFileExList), $(FileComp))
  672.                         endif
  673.                     else
  674.                         set NEWFILE = $(File)
  675.                     endif
  676.                     install Install-File
  677.                 endif
  678.             endif
  679.         EndForListDo
  680.     EndForListDO
  681.     set FileSource  = $(!STF_SRCDIR)
  682.     ForListDo $(KeyedClassKeys)
  683.         set FileSection = Files$($)
  684.         set FileDest    = $($(FileSection))
  685.         set FileKey     = $($($)Type)
  686.         set KeyedClassChoices = ^(Files$($), 0)
  687.         ifcontains(i) $(FileKey) in $(KeyedClassChoices)
  688.             set File             = #(FileKeyedClasses, $($), 1)
  689.             set FileDestFullPath = $(FileDest)\$(File)
  690.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  691.             ifstr(i) $(STATUS) == YES
  692.                 LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  693.                 ifstr(i) $(STATUS) == ERROR
  694.                     goto patchnotdone
  695.                 else
  696.                     ifstr(i) $(STATUS) == "YES"
  697.                         LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  698.                         ifstr(i) $(NEWFILE) == ERROR
  699.                             goto patchnotdone
  700.                         else
  701.                             set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  702.                             set MoveFileExList = >($(MoveFileExList), $(FileComp))
  703.                         endif
  704.                     else
  705.                         set NEWFILE = $(File)
  706.                     endif
  707.                     install Install-File
  708.                 endif
  709.             endif
  710.         endif
  711.     EndForListDo
  712.     ifstr(i) $(STF_PRODUCT) == "WINNT"
  713.         set TEMP_PRODUCT = WINNT
  714.     else
  715.         set TEMP_PRODUCT = LANMANNT
  716.     endif
  717.     read-syms FileSections$(TEMP_PRODUCT)
  718.     set FileSectionsList = ^(FileSections$(TEMP_PRODUCT), 0)
  719.     set FileSource  = $(!STF_SRCDIR)$(PRODUCT_DIR)
  720.     ForListDo $(FileSectionsList)
  721.         set FileSection = $($)
  722.         set FileDest    = $($($))
  723.         set FileList    = ^($(FileSection), 0)
  724.         ForListDo $(FileList)
  725.             set FileKey      = $($)
  726.             set File         = #($(FileSection), $(FileKey), 2)
  727.             set FileDestFullPath = $(FileDest)\$(File)
  728.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  729.             ifstr(i) $(STATUS) == YES
  730.                 LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  731.                 ifstr(i) $(STATUS) == ERROR
  732.                     goto patchnotdone
  733.                 else
  734.                     ifstr(i) $(STATUS) == "YES"
  735.                         LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  736.                         ifstr(i) $(NEWFILE) == ERROR
  737.                             goto patchnotdone
  738.                         else
  739.                             set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  740.                             set MoveFileExList = >($(MoveFileExList), $(FileComp))
  741.                         endif
  742.                     else
  743.                         set NEWFILE = $(File)
  744.                     endif
  745.                     install Install-File
  746.                 endif
  747.             endif
  748.         EndForListDo
  749.     EndForListDO
  750.     ifstr(i) $(BillboardPushed) == TRUE
  751.         shell "subroutn.inf" PopBillboard
  752.         set BillboardPushed = FALSE
  753.     endif
  754.     read-syms FileSectionsCopyAlways
  755.     set FileSectionsList = ^(FileSectionsCopyAlways, 0)
  756.     set FileSource  = $(!STF_SRCDIR)
  757.     ForListDo $(FileSectionsList)
  758.         set FileSection = $($)
  759.         set FileDest    = $($($))
  760.         set FileList    = ^($(FileSection), 0)
  761.         ForListDo $(FileList)
  762.             set FileKey = $($)
  763.             set File    = #($(FileSection), $(FileKey), 2)
  764.             set NEWFILE = $(File)
  765.             set FileDestFullPath = $(FileDest)\$(File)
  766.             install Install-File
  767.         EndForListDo
  768.     EndForListDO
  769.     read-syms FileSectionsCopyAlways$(TEMP_PRODUCT)
  770.     set FileSectionsList = ^(FileSectionsCopyAlways$(TEMP_PRODUCT), 0)
  771.     set FileSource  = $(!STF_SRCDIR)$(PRODUCT_DIR)
  772.     ForListDo $(FileSectionsList)
  773.         set FileSection = $($)
  774.         set FileDest    = $($($))
  775.         set FileList    = ^($(FileSection), 0)
  776.         ForListDo $(FileList)
  777.             set FileKey = $($)
  778.             set File    = #($(FileSection), $(FileKey), 2)
  779.             set NEWFILE = $(File)
  780.             set FileDestFullPath = $(FileDest)\$(File)
  781.             install Install-File
  782.         EndForListDo
  783.     EndForListDO
  784.     ifstr(i) $(FPNWSysPathFound) == TRUE
  785.         read-syms FileSectionsFPNW
  786.         set FileSectionsList = ^(FileSectionsFPNW, 0)
  787.         set FileSource  = $(!STF_SRCDIR)
  788.         ForListDo $(FileSectionsList)
  789.             set FileSection = $($)
  790.             set FileDest    = $($($))
  791.             set FileList    = ^($(FileSection), 0)
  792.             ForListDo $(FileList)
  793.                 set FileKey      = $($)
  794.                 set File         = #($(FileSection), $(FileKey), 2)
  795.                 set FileDestFullPath = $(FileDest)\$(File)
  796.                 LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  797.                 ifstr(i) $(STATUS) == YES
  798.                     LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  799.                     ifstr(i) $(STATUS) == ERROR
  800.                         goto patchnotdone
  801.                     else
  802.                         ifstr(i) $(STATUS) == "YES"
  803.                             LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  804.                             ifstr(i) $(NEWFILE) == ERROR
  805.                                 goto patchnotdone
  806.                             else
  807.                                 set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  808.                                 set MoveFileExList = >($(MoveFileExList), $(FileComp))
  809.                             endif
  810.                         else
  811.                             set NEWFILE = $(File)
  812.                         endif
  813.                         install Install-File
  814.                     endif
  815.                 endif
  816.             EndForListDo
  817.         EndForListDO
  818.     endif
  819.     ifstr(i) $(CopyLoader) == TRUE
  820.         read-syms FileSectionsOsLoader
  821.         set FileSectionsList = ^(FileSectionsOsLoader, 0)
  822.         set FileSource  = $(!STF_SRCDIR)
  823.         ForListDo $(FileSectionsList)
  824.             set FileSection = $($)
  825.             set FileDest    = $($($))
  826.             set FileList    = ^($(FileSection), 0)
  827.             ForListDo $(FileList)
  828.                 set FileKey      = $($)
  829.                 set File         = #($(FileSection), $(FileKey), 2)
  830.                 set FileDestFullPath = $(FileDest)\$(File)
  831.                 LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  832.                 ifstr(i) $(STATUS) == YES
  833.                     LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  834.                     ifstr(i) $(STATUS) == ERROR
  835.                         goto patchnotdone
  836.                     else
  837.                         ifstr(i) $(STATUS) == "YES"
  838.                             LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  839.                             ifstr(i) $(NEWFILE) == ERROR
  840.                                 goto patchnotdone
  841.                             else
  842.                                 set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  843.                                 set MoveFileExList = >($(MoveFileExList), $(FileComp))
  844.                             endif
  845.                         else
  846.                             set NEWFILE = $(File)
  847.                         endif
  848.                         install Install-File
  849.                     endif
  850.                 endif
  851.             EndForListDo
  852.         EndForListDO
  853.     endif
  854.     ifstr(i) $(IISPathFound) == TRUE
  855.         read-syms FileSectionsIIS
  856.         set FileSectionsList = ^(FileSectionsIIS, 0)
  857.         set FileSource  = $(!STF_SRCDIR)
  858.         ForListDo $(FileSectionsList)
  859.             set FileSection = $($)
  860.             set FileDest    = $($($))
  861.             set FileList    = ^($(FileSection), 0)
  862.             ForListDo $(FileList)
  863.                 set FileKey      = $($)
  864.                 set File         = #($(FileSection), $(FileKey), 2)
  865.                 set FileDestFullPath = $(FileDest)\$(File)
  866.                 LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  867.                 ifstr(i) $(STATUS) == YES
  868.                     LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  869.                     ifstr(i) $(STATUS) == ERROR
  870.                         goto patchnotdone
  871.                     else
  872.                         ifstr(i) $(STATUS) == "YES"
  873.                             LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  874.                             ifstr(i) $(NEWFILE) == ERROR
  875.                                 goto patchnotdone
  876.                             else
  877.                                 set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  878.                                 set MoveFileExList = >($(MoveFileExList), $(FileComp))
  879.                             endif
  880.                         else
  881.                             set NEWFILE = $(File)
  882.                         endif
  883.                         install Install-File
  884.                     endif
  885.                 endif
  886.             EndForListDo
  887.         EndForListDO
  888.     endif
  889.     ifstr(i) $(CopySSL) == TRUE
  890.     read-syms FileSectionsSSL
  891.     set FileSectionsList = ^(FileSectionsSSL, 0)
  892.         set FileSource  = $(!STF_SRCDIR)
  893.         ForListDo $(FileSectionsList)
  894.             set FileSection = $($)
  895.             set FileDest    = $($($))
  896.             set FileList    = ^($(FileSection), 0)
  897.             ForListDo $(FileList)
  898.                 set FileKey      = $($)
  899.                 set File         = #($(FileSection), $(FileKey), 2)
  900.                 set FileDestFullPath = $(FileDest)\$(File)
  901.                 LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FileDestFullPath)
  902.                 ifstr(i) $(STATUS) == YES
  903.                     LibraryProcedure STATUS, $(!PATCHLIBHANDLE), IsFileOpenedExclusive $(FileDestFullPath)
  904.                     ifstr(i) $(STATUS) == ERROR
  905.                         goto patchnotdone
  906.                     else
  907.                         ifstr(i) $(STATUS) == "YES"
  908.                             LibraryProcedure NEWFILE, $(!PATCHLIBHANDLE), GenerateTemporary $(FileDest)
  909.                             ifstr(i) $(NEWFILE) == ERROR
  910.                                 goto patchnotdone
  911.                             else
  912.                                 set FileComp = {$(FileDest)\$(NEWFILE), $(FileDestFullPath)}
  913.                                 set MoveFileExList = >($(MoveFileExList), $(FileComp))
  914.                             endif
  915.                         else
  916.                             set NEWFILE = $(File)
  917.                         endif
  918.                         install Install-File
  919.                     endif
  920.                 endif
  921.             EndForListDo
  922.         EndForListDO
  923.     endif
  924.     read-syms ProgressCopy$(!STF_LANGUAGE)
  925.     install   Install-DoCopy
  926.     ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  927.         goto patchnotdone
  928.     else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  929.         goto patchnotdone
  930.     endif
  931.     set FileSection = "FileAttributes"
  932.     set FileList    = ^(FileSection, 0)
  933.     ForListDo $(FileList)
  934.         set FileKey          = $($)
  935.         set File             = #($(FileSection), $(FileKey), 2)
  936.         set FileDest         = #($(FileSection), $(FileKey), 3)
  937.         set FilePerms        = #($(FileSection), $(FileKey), 4)
  938.         set FileDestFullPath = $(FileDest)\$(File)
  939.         ifstr(i) $(FilePerms) != ""
  940.             LibraryProcedure STATUS,$(!PATCHLIBHANDLE),ChangeFileAttributes $(FilePerms) $(FileDestFullPath)
  941.         endif
  942.     EndForListDo
  943. processmovefileex=+
  944.     ForListDo $(MoveFileExList)
  945.         set ExistingPath = *($($), 1)
  946.         set NewPath      = *($($), 2)
  947.         LibraryProcedure STATUS, $(!PATCHLIBHANDLE), CopyFileOnReboot $(ExistingPath) $(NewPath)
  948.         ifstr(i) $(STATUS) == ERROR
  949.             goto patchnotdone
  950.         endif
  951.     EndForListDo
  952.     ifstr(i) $(!STF_PLATFORM) == I386
  953.         set NtLdrPath = $(STF_OSLDEST)"ntldr"
  954.         LibraryProcedure STATUS, $(!PATCHLIBHANDLE), ForceFileNoCompress $(NtLdrPath)
  955.         ifstr(i) $(STATUS) == ERROR
  956.             goto patchnotdone
  957.         endif
  958.     endif
  959. patchdone =+
  960.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), RestoreSetupLog
  961.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), FixSetupLogChksum $(SamsrvChksum)
  962.     ifstr(i) $(BillboardPushed) == TRUE
  963.         shell "subroutn.inf" PopBillboard
  964.         set BillboardPushed = FALSE
  965.     endif
  966.     shell "" DoRegistryModifications $(!STF_CSDVER)
  967.     ifstr(i) $(Unattended) != TRUE
  968.         read-syms SetupDoneDlg$(!STF_LANGUAGE)
  969.         ui start "SetupDone"
  970.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  971.             ui pop 1
  972.             goto rebootend
  973.         else
  974.             ui pop 1
  975.             goto finish1
  976.         endif
  977.     else
  978.         goto rebootend
  979.     endif
  980. patchnotdone =+
  981.     set String = $(String2)
  982. finish2 =+
  983.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE), RestoreSetupLog
  984.     ifstr(i) $(BillboardPushed) == TRUE
  985.         shell "subroutn.inf" PopBillboard
  986.         set BillboardPushed = FALSE
  987.     endif
  988.     shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "FATAL" $(String)
  989.     goto finish1
  990. finish1 =+
  991.     install   FreeSetupLibrary
  992. finish =+
  993.     install   FreePatchLibrary
  994.     exit
  995. rebootend =+
  996.     set Reboot = YES
  997.     ifstr(i) $(Unattended) != TRUE
  998.     install    Install-Shutdown
  999.     else
  1000.     ifstr(i) $(ForceClose) != TRUE
  1001.         set ForceAppsClosed = NO
  1002.     else
  1003.         set ForceAppsClosed = YES
  1004.     endif
  1005.     install Install-Shutdown2
  1006.     endif
  1007.     goto finish1
  1008.     exit
  1009. [LoadPatchLibrary]
  1010.     LoadLibrary "x" $(CWD)\patchdll.dll !PATCHLIBHANDLE
  1011.     exit
  1012. [FreePatchLibrary]
  1013.     ifstr(i) $(!PATCHLIBHANDLE) != ""
  1014.         FreeLibrary $(!PATCHLIBHANDLE)
  1015.     endif
  1016.     exit
  1017. [LoadSetupLibrary]
  1018.     LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
  1019.     exit
  1020. [FreeSetupLibrary]
  1021.     ifstr(i) $(!LIBHANDLE) != ""
  1022.         FreeLibrary $(!LIBHANDLE)
  1023.     endif
  1024.     exit
  1025. [Install-File]
  1026.     set STF_VITAL = ""
  1027.     AddSectionKeyFileToCopyList $(FileSection) $(FileKey) $(FileSource) $(FileDest)
  1028.     exit
  1029. [Install-DoCopy]
  1030.     CopyFilesInCopyList
  1031.     exit
  1032. [Install-Shutdown]
  1033.     LibraryProcedure STATUS,$(!LIBHANDLE),ShutdownSystem $(Reboot)
  1034.     exit
  1035. [Install-Shutdown2]
  1036.     LibraryProcedure STATUS,$(!PATCHLIBHANDLE),ShutdownSystem2 $(Reboot) $(ForceAppsClosed)
  1037.     exit
  1038. [RegistryConstants]
  1039.     MaskAllAccess          = 33554432
  1040.     NoTitle                = 0
  1041.     RegLastError           = $(!REG_ERROR_SUCCESS)
  1042.     CurrentControlSet      = "SYSTEM\CurrentControlSet"
  1043.     ServicesBaseName       = $(CurrentControlSet)"\Services"
  1044.     NetbtKeyPath           = $(ServicesBaseName)"\Netbt"
  1045. [DoRegistryModifications]
  1046.     set Status = STATUS_FAILED
  1047.     read-syms RegistryConstants
  1048.     set KeyPath   = { +
  1049.                      {SOFTWARE,                $(NoTitle), $(MaskAllAccess)}, +
  1050.                      {Microsoft,               $(NoTitle), $(MaskAllAccess)}, +
  1051.                      {"Windows NT",            $(NoTitle), $(MaskAllAccess)}, +
  1052.                      {CurrentVersion,          $(NoTitle), $(MaskAllAccess)}, +
  1053.                      {"Time Zones",            $(NoTitle), $(MaskAllAccess)}, +
  1054.                      {"E. South America Standard Time",     $(NoTitle), $(MaskAllAccess)}  +
  1055.                     }
  1056.     set KeyValues = { +
  1057.                      {Display, $(NoTitle), $(!REG_VT_SZ), "(GMT-03:00) Brasilia" } +
  1058.                     }
  1059.     shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  1060.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1061.         goto endCSDVersionCreate
  1062.     endif
  1063.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1064.         goto endCSDVersionCreate
  1065.     else
  1066.         CloseRegKey $($R1)
  1067.     endif
  1068.     set KeyPath   = { +
  1069.                      {SYSTEM,                $(NoTitle), $(MaskAllAccess)}, +
  1070.                      {CurrentControlSet,     $(NoTitle), $(MaskAllAccess)}, +
  1071.                      {Services,              $(NoTitle), $(MaskAllAccess)}, +
  1072.                      {Eventlog,              $(NoTitle), $(MaskAllAccess)}, +
  1073.                      {Application,           $(NoTitle), $(MaskAllAccess)}, +
  1074.                      {Perflib,               $(NoTitle), $(MaskAllAccess)}  +
  1075.                     }
  1076.     set KeyValues = { +
  1077.                      {EventMessageFile, $(NoTitle), $(!REG_VT_EXPAND_SZ), "%SystemRoot%\system32\prflbmsg.dll" } +
  1078.                      {TypesSupported, $(NoTitle), $(!REG_VT_DWORD), 7 } +
  1079.                     }
  1080.     shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  1081.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1082.         goto endCSDVersionCreate
  1083.     endif
  1084.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1085.         goto endCSDVersionCreate
  1086.     else
  1087.         CloseRegKey $($R1)
  1088.     endif
  1089.     OpenRegKey $(!REG_H_LOCAL) "" $(NetbtKeyPath) $(MaskAllAccess) KeyNetbt
  1090.     ifstr(i) $(KeyNetbt) != ""
  1091.         DeleteRegKey $(KeyNetbt) "Performance"
  1092.         CloseRegKey $(KeyNetbt)
  1093.     endif
  1094.     set KeyPath   = { +
  1095.                      {SYSTEM,                $(NoTitle), $(MaskAllAccess)}, +
  1096.                      {CurrentControlSet,     $(NoTitle), $(MaskAllAccess)}, +
  1097.                      {Control,               $(NoTitle), $(MaskAllAccess)}, +
  1098.                      {NLS,                   $(NoTitle), $(MaskAllAccess)}, +
  1099.                      {CodePage,              $(NoTitle), $(MaskAllAccess)}  +
  1100.                     }
  1101.     set KeyValues = { +
  1102.                      {1250,  $(NoTitle), $(!REG_VT_SZ), "C_1250.NLS" } +
  1103.                      {20261, $(NoTitle), $(!REG_VT_SZ), "C_20261.NLS" } +
  1104.                      {28592, $(NoTitle), $(!REG_VT_SZ), "C_28592.NLS" } +
  1105.                     }
  1106.     shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  1107.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1108.         goto endCSDVersionCreate
  1109.     endif
  1110.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1111.         goto endCSDVersionCreate
  1112.     else
  1113.         CloseRegKey $($R1)
  1114.     endif
  1115.     set KeyPath   = { +
  1116.                      {SYSTEM,                  $(NoTitle), $(MaskAllAccess)}, +
  1117.                      {CurrentControlSet,       $(NoTitle), $(MaskAllAccess)}, +
  1118.                      {Control,                 $(NoTitle), $(MaskAllAccess)}, +
  1119.                      {Lsa,                     $(NoTitle), $(MaskAllAccess)}  +
  1120.                     }
  1121.     set KeyValues = { +
  1122.                      {UpgradeSam, $(NoTitle), $(!REG_VT_DWORD), 1} +
  1123.                     }
  1124.     shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  1125.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1126.         goto endCSDVersionCreate
  1127.     endif
  1128.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1129.         goto endCSDVersionCreate
  1130.     else
  1131.         CloseRegKey $($R1)
  1132.     endif
  1133.     set KeyPath   = { +
  1134.                      {SYSTEM,            $(NoTitle), $(MaskAllAccess)}, +
  1135.                      {CurrentControlSet, $(NoTitle), $(MaskAllAccess)}, +
  1136.                      {Control,           $(NoTitle), $(MaskAllAccess)}, +
  1137.                      {ProductOptions,    $(NoTitle), $(MaskAllAccess)}, +
  1138.                     }
  1139.     set KeyValues = { +
  1140.                      {CSDVersion, $(NoTitle), $(!REG_VT_DWORD), $($0) } +
  1141.                     }
  1142.     shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  1143.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1144.         goto endCSDVersionCreate
  1145.     endif
  1146.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1147.         goto endCSDVersionCreate
  1148.     else
  1149.         CloseRegKey $($R1)
  1150.     endif
  1151.     LibraryProcedure STATUS, $(!PATCHLIBHANDLE), ChangeReservedResourcesValues
  1152.     set Status = STATUS_SUCCESSFUL
  1153. endCSDVersionCreate = +
  1154.     Return $(Status)
  1155. [GetCSDVersion]
  1156.     set Status = STATUS_SUCCESSFUL
  1157.     read-syms RegistryConstants
  1158.     set CSDVersion = 0
  1159.     set KeyName = "SYSTEM\CurrentControlSet\Control\ProductOptions"
  1160.     OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_READ) KeyHandle
  1161.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1162.         Debug-Output "REGISTRY.INF: Couldn't open windows nt software key for read access"
  1163.         goto end_GetCSDVersion
  1164.     endif
  1165.     GetRegValue $(KeyHandle) "CSDVersion" CSDVersionValue
  1166.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1167.         CloseRegKey $(KeyHandle)
  1168.         goto end_GetCSDVersion
  1169.     endif
  1170.     set CSDVersion =  *($(CSDVersionValue), 4)
  1171.     CloseRegKey $(KeyHandle)
  1172. end_GetCSDVersion = +
  1173.     Return $(Status) $(CSDVersion)
  1174. [GetCheckedFree]
  1175.     set Status = STATUS_SUCCESSFUL
  1176.     read-syms RegistryConstants
  1177.     set System = Free
  1178.     set KeyName = "Software\Microsoft\Windows NT\CurrentVersion"
  1179.     OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_READ) KeyHandle
  1180.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1181.         Debug-Output "REGISTRY.INF: Couldn't open windows nt software key for read access"
  1182.         goto end_GetCheckedFree
  1183.     endif
  1184.     GetRegValue $(KeyHandle) "CurrentType" CurrentTypeValue
  1185.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1186.         CloseRegKey $(KeyHandle)
  1187.         goto end_GetCheckedFree
  1188.     endif
  1189.     Split-String *($(CurrentTypeValue), 4) " " CurrentTypeList
  1190.     ForListDo $(CurrentTypeList)
  1191.        ifstr(i) $($) == "free"
  1192.           set System = free
  1193.        else-ifstr(i) $($) == "checked"
  1194.           set System = checked
  1195.        endif
  1196.     EndForListDo
  1197.     CloseRegKey $(KeyHandle)
  1198. end_GetCheckedFree = +
  1199.     Return $(Status) $(System)
  1200. [QueryOkCancel]
  1201.     set DlgText = $($0)
  1202.     read-syms QueryOKCancelDlg$(!STF_LANGUAGE)
  1203.     ui start "SetupMessage"
  1204.     ifstr(i) $(DLGEVENT) == "OK"
  1205.         set Status     = STATUS_SUCCESSFUL
  1206.         set UserAction = $(DLGEVENT)
  1207.     else-ifstr(i) $(DLGEVENT) == "CANCEL"
  1208.         set Status     = STATUS_SUCCESSFUL
  1209.         set UserAction = $(DLGEVENT)
  1210.     else
  1211.         set Status     = STATUS_FAILED
  1212.         set UserAction = "CANCEL"
  1213.     endif
  1214.     Return $(Status) $(UserAction)
  1215. [Source Media Descriptions]
  1216.     1 = "Windows NT Workstation CD-ROM" , TAGFILE = cdrom.w
  1217. [Signature]
  1218.     FileType = MICROSOFT_FILE
  1219. [GetSignature]
  1220.     read-syms Signature
  1221.     return $(FileType)
  1222. [ProductType]
  1223. STF_PRODUCT  = WinNT
  1224. STF_PLATFORM = Alpha
  1225. [Source Media Descriptions]
  1226.     1  = "Windows NT 3.51 Update Disk #1"  , TAGFILE = disk1
  1227.     2  = "Windows NT 3.51 Update Disk #2"  , TAGFILE = disk2
  1228.     3  = "Windows NT 3.51 Update Disk #3"  , TAGFILE = disk3
  1229.     4  = "Windows NT 3.51 Update Disk #4"  , TAGFILE = disk4
  1230.     5  = "Windows NT 3.51 Update Disk #5"  , TAGFILE = disk5
  1231.     6  = "Windows NT 3.51 Update Disk #6"  , TAGFILE = disk6
  1232.     7  = "Windows NT 3.51 Update Disk #7"  , TAGFILE = disk7
  1233.     8  = "Windows NT 3.51 Update Disk #8"  , TAGFILE = disk8
  1234.     9  = "Windows NT 3.51 Update Disk #9"  , TAGFILE = disk9
  1235.     10 = "Windows NT 3.51 Update Disk #10" , TAGFILE = disk10
  1236. [Strings]
  1237.     String1 = "This update disk cannot be used on this platform."
  1238.     String2 = "Setup failed to update the system."
  1239.     String3 = "Setup has successfully updated your system."
  1240.     String4 = "You do not have permission to update the system.  Please contact your system administrator."
  1241.     String5 = "Setup failed to setup your updated files for secure operation."
  1242.     String8 = "Setup has detected that the version of the system installed is "+
  1243.               "newer than the update you are applying to it.  The update can render "+
  1244.               "your system unstartable."
  1245.     String9 = "Setup is going to update your Windows NT system with the English "+
  1246.               "version of the update program.  If you wish to cancel the update "+
  1247.               "process, please press Cancel or press OK to continue."
  1248.     String11 = "Setup couldn't find the setup.log file in your repair directory. "+
  1249.                "Setup cannot proceed to update your system.  Please copy the setup.log "+
  1250.                "file from your Emergency Repair Disk to your repair directory "+
  1251.                "and restart the update."
  1252.     String12 = "Setup has not updated your system.  If you wish to update your "+
  1253.                "system please run the update utility again."
  1254.     String13a = "Not enough hard disk space to run Setup.  Setup needs at least "
  1255.     String13b = "MB of free hard disk space on "
  1256.     String13c = " before it can be run.  Delete some"+
  1257.                 " files and run the Update program again."
  1258.     String14  = "Setup cannot update your Windows NT files because it could not "+
  1259.                 "determine your product type.  Your registry may be corrupt."
  1260.     String15  = "Setup cannot update your checked system.  The update can only "+
  1261.                 "be applied to the retail system."
  1262.     String16  = "Setup cannot update your Windows NT files because your system is "+
  1263.                 "NT 3.1 or NT 3.5. Please upgrade your system to the retail Windows NT 3.51, "+
  1264.                 "and then update your system."
  1265.     String17  = "Setup cannot update your Windows NT files because your system is "+
  1266.                 "a pre-release of NT 3.51. Please upgrade your system to the retail "+
  1267.                 "Windows NT 3.51, and then update your system."
  1268.     String18  = "Setup cannot update your Windows NT files because your system is "+
  1269.                 "a version later than NT 3.51.  The update can only be applied "+
  1270.                 "to Windows NT 3.51."
  1271.     String19  = "Setup cannot update your Windows NT files because you have installed "+
  1272.                 "the IBM Power Management version of NT 3.51.  Please see IBM for "+
  1273.                 "a Service Pack that can be installed on your system."
  1274.     String20  = "Setup cannot update your Windows NT files because the language "+
  1275.                 "installed on your system is different from the Service Pack language."
  1276.     String21  = "Setup cannot find the location of your NTOSKRNL.EXE file in SETUP.LOG.  "+
  1277.                 "You may have renamed the Windows NT root directory since you first installed "+
  1278.                 "your system.  For the Service Pack Update to work correctly, you must rename "+
  1279.                 "your root directory back to what it was when you first installed your system."
  1280.     String22  = "You have a domestic-version 128-bit PCT/SSL security provider installed on your machine."$(LF)$(LF)+
  1281.                 "This Service Pack contains only an export grade version 40-bit PCT/SSL security provider."$(LF)$(LF)+
  1282.                 "Select Cancel to skip copying this file.  Your original 128-bit security provider will be left intact."$(LF)+
  1283.                 "Please see the readme.txt for information on obtaining the updated 128-bit security provider."$(LF)$(LF)+
  1284.                 "Otherwise, if you really know what you're doing, hit OK to overwrite."$(LF)$(LF)+
  1285.                 "Want to overwrite?"
  1286.     Billboard1 = "Please wait..."
  1287.     Billboard2 = "Please wait while the files to be updated are determined..."
  1288.     Billboard3 = "Please wait while the Emergency Repair Disk is updated..."
  1289. [ProgressCopyENG]
  1290.     ProCaption   = "Windows NT Setup"
  1291.     ProCancel    = "Cancel"
  1292.     ProCancelMsg = "The Windows NT 3.51 files are not completely updated.  Are you sure you want "+
  1293.                    "to cancel copying files?"
  1294.     ProCancelCap = "Setup Message"
  1295.     ProText1     = "Copying:"
  1296.     ProText2     = "To:"
  1297. [SetupDoneDlgENG]
  1298.     Caption     = "Windows NT Setup"
  1299.     DlgText     = "Windows NT 3.51 has been updated. If you change or add "+
  1300.                   "any components to your system, you will need to "+
  1301.                   "reapply the update."$(!LF)$(!LF)+
  1302.                   "Remove disks from the floppy disk drives and "+
  1303.                   "choose Restart Computer to run the updated system."
  1304.     Reboot      = "&Restart Computer"
  1305.     Windows     = "E&xit to Windows NT"
  1306.     DlgType     = "Info"
  1307.     DlgTemplate = "REBOOT"
  1308. [QueryOKCancelDlgENG]
  1309.     STF_MB_TITLE = "Setup Message"
  1310.     DlgType      = "MessageBox"
  1311.     STF_MB_TEXT  = $(DlgText)
  1312.     STF_MB_TYPE  = 2
  1313.     STF_MB_ICON  = 4
  1314.     STF_MB_DEF   = 1
  1315.