|
|
1.1 ! root 1: ;********************************************************************** ! 2: ; ! 3: ; NAME: NCPASHEL.INF ! 4: ; ! 5: ; PURPOSE: ! 6: ; ! 7: ; This INF script is invoked by the Network Control ! 8: ; Panel Applet (NCPA). ! 9: ; ! 10: ; ! 11: ; COMMENTARY: ! 12: ; ! 13: ; The NCPA builds a command line to invoke SETUP, instructing ! 14: ; it to run this file. The other settings on the command line ! 15: ; tell NCPASHEL.INF what to invoke and in what mode. ! 16: ; ! 17: ; The primary function of this file is to hide the distinction ! 18: ; between invocation by the main install SETUP and later invocation ! 19: ; by the NCPA. This involves restoring the STF_XXXXX global ! 20: ; variables to their earlier settings, along with defining some ! 21: ; new ones to "fine-tune" the functions of the product-level ! 22: ; INF scripts. ! 23: ; ! 24: ; ! 25: ; HISTORY: ! 26: ; ! 27: ; DavidHov Created 4/4/92 ! 28: ; ! 29: ;*********************************************************************** ! 30: ; ! 31: ; ! 32: ;*********************************************************************** ! 33: ; ! 34: ; ! 35: ; ! 36: ;*********************************************************************** ! 37: ! 38: ;*********************************************************************** ! 39: ; ! 40: ; Variables declared by SETUP.INF, the main INF for GUI Setup. ! 41: ; ! 42: ; Those marked with ** are established by the SETUP.EXE; the others ! 43: ; are obtained from detection or established programmatically by ! 44: ; SETUP.INF. ! 45: ; ! 46: ; The STF_* variables documented below are the globals which can be used ! 47: ; by shelled INFs: ! 48: ; ! 49: ;************************************************************************* ! 50: ; ! 51: ; ** 0. STF_HWND: Handle to setup window (hex string) ! 52: ; ! 53: ; ** 1. STF_SRCTYPE: DOS | ARC | UNC ! 54: ; ! 55: ; ** 2. STF_SRCDIR: NT Sources, e.g. f:\i386i\ ! 56: ; ! 57: ; ** 3. STF_SRCBASE: Defined only for UNC srctype, the unc share, e.g., ! 58: ; \\Orville\razzle. ! 59: ; ! 60: ; 4. STF_NTDRIVE: Destination NT Drive, e.g. d: ! 61: ; ! 62: ; 5. STF_NTPATH: Path to nt, e.g. d:\nt ! 63: ; ! 64: ; 6. STF_WINDOWSPATH: Path to windows, e.g. d:\nt\windows ! 65: ; ! 66: ; 7. STF_WINDOWSSYSPATH: Path to windows system, e.g. d:\nt\windows\System32 ! 67: ; ! 68: ; ** 8. STF_CWDDIR: Path to place where setup is run from., ! 69: ; e.g. d:\setup\ ! 70: ; ! 71: ; 9. STF_LANGUAGE: Language to use (ENG | ...) ! 72: ; ! 73: ; 10. STF_INSTALL_MODE: EXPRESS | CUSTOM ! 74: ; ! 75: ; ** 11. STF_INSTALL_TYPE: SETUPRUN | SETUPBOOTED | NETDUMP | MAINTENANCE ! 76: ; (SETUPRUN: Setup is run off any source (network, cdrom, ! 77: ; ... from a running NT system) ! 78: ; ! 79: ; (SETUPBOOTED: Setupprep runs and then copies setup on the ! 80: ; system and runs GUI Setup..) ! 81: ; ! 82: ; (SETUPTOSHARE: Copy sources to destination STF_DSTDIR) ! 83: ; ! 84: ; (MAINTENANCE: MAINTENACE mode setup) ! 85: ; ! 86: ; (used to be FRESH | UPGRADE | NETDUMP) ! 87: ; ! 88: ; 12. STF_UPGRADE: YES | NO ! 89: ; ! 90: ; 13. STF_PLATFORM: I386 | MIPS | Alpha ! 91: ; ! 92: ; 14. STF_PROCESSOR: I386 | I486 | I586 or R2000 | R3000 | R4000 | Alpha_AXP. ! 93: ; ! 94: ; 15. STF_USERNAME: Username for account. "string" (no whitespaces, < 15) ! 95: ; ! 96: ; 16. STF_COMPUTERNAME: Computername to identify machine (no whitespaces, < 15) ! 97: ; ! 98: ; 17. STF_PRODUCT: WINNT | LANMANNT ! 99: ; ! 100: ; 18. STF_UNUSEDDRIVES: List of drives currently unused and available for ! 101: ; assignment. {E:, F:, ...., Z:}. Use routine in ! 102: ; subroutn.inf to allocate unused. ! 103: ; ! 104: ; nn. STF_NCDETECT: YES | NO determines if netcard detection is enabled ! 105: ; ! 106: ; Conditionally defined: ! 107: ; ! 108: ; ** 19. STF_DSTDIR: Only defined in SETUPTOSHARE. e.g., f:\beta\nt\i386\ ! 109: ; ! 110: ; ** 20. STF_DSTTYPE as STF_SRCTYPE ! 111: ; ! 112: ; ** 21. STF_DSTBASE as STF_SRCBASE ! 113: ; ! 114: ; Others Sunil didn't mention: ! 115: ; ! 116: ; ** 22. STF_SRCINFPATH path to invoked (outermost) INF ! 117: ; ! 118: ; ** 23. STF_CONTEXTINFNAME path to currently executing INF ! 119: ; ! 120: ; ** 24. STF_SYS_INIT NO ! 121: ; ! 122: ;*********************************************************************** ! 123: ; ! 124: ;*********************************************************************** ! 125: ; Variables required for NCPA support ! 126: ;*********************************************************************** ! 127: ; ! 128: ; 1) NTN_RegBase Universal Registry key name prefix. ! 129: ; BUGBUG: Archaic? ! 130: ; ! 131: ; 2) NTN_ServiceBase Top of Services Tree ! 132: ; 3) NTN_ServiceKeyName Name of service; no spaces/delimiters ! 133: ; allowed; may be NULL for new installations ! 134: ; 4) NTN_RegProduct name of HARDWARE or SOFTWARE Registry ! 135: ; key for component; will be null ("") for ! 136: ; new installations. ! 137: ; ! 138: ; 5) NTN_InstallMode "install", "deinstall", "configure", ! 139: ; "bind" ! 140: ; ! 141: ; 6) NTN_Origination "ncpa", "install" ! 142: ; ! 143: ; 7) NTN_Infname name (pathless) of INF file to execute ! 144: ; There are two special "name tokens": ! 145: ; ! 146: ; "NTLANMAN_Adapter" and ! 147: ; "NTLANMAN_Software" ! 148: ; ! 149: ; If the INF name is equal to one of these, ! 150: ; then the appropriate section of ! 151: ; NTLANMAN.INF is shelled to. ! 152: ; ! 153: ; 8) NTN_InstallPhase "primary","secondary". ! 154: ; "primary" implies main installation; ! 155: ; "secondary" implies product add-on installation. ! 156: ; ! 157: ; ! 158: ; ! 159: ; ! 160: ;*********************************************************************** ! 161: ! 162: ! 163: [StfVariableDetect] ! 164: ! 165: STF_PROCESSOR = "" ? $(!LIBHANDLE) GetProcessor ! 166: STF_PLATFORM = "I386" ; BUGBUG-- How to establish? ! 167: ; ! 168: ; ! 169: ; Language to Use For interaction with user ! 170: ; ! 171: ! 172: STF_LANGUAGE = "" ? $(!LIBHANDLE) GetLanguage ! 173: LanguageList = ^(LanguageID, 1) ! 174: ; ! 175: ; Destination NT Directory relative to root of NT Drive ! 176: ; ! 177: STF_WINDOWSPATH = "" ? $(!LIBHANDLE) GetWindowsNtDir ! 178: STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir ! 179: STF_NTPATH = $(!STF_WINDOWSPATH) ! 180: STF_COMPUTERNAME = "" ? $(!LIBHANDLE) GetMyComputerName ! 181: STF_BUSTYPE = "" ? $(!LIBHANDLE) GetMyBusType ! 182: ! 183: [StfVariableSyms] ! 184: ! 185: ProcessorID_I386 = I386 ! 186: ProcessorID_I486 = I486 ! 187: ProcessorID_I586 = I586 ! 188: ProcessorID_R4000 = R4000 ! 189: ProcessorID_Alpha = Alpha_AXP ! 190: PlatformID_I386 = I386 ! 191: PlatformID_Mips = Mips ! 192: PlatformID_Alpha = Alpha ! 193: ! 194: ; ! 195: ; Version Information ! 196: ; ! 197: ! 198: STF_PRODUCT = WINNT ; BUGBUG-- Determine from Registry ! 199: ! 200: STF_USERNAME = "" ; BUGBUG-- Determine from API calls ! 201: ! 202: STF_INSTALL_MODE = "CUSTOM" ; It's always CUSTOM from the NCPA ! 203: ! 204: STF_UPDGRADE = NO ; BUGBUG-- TBI ! 205: ! 206: STF_NCDETECT = NO ; disable netcard detection ! 207: STF_NCOPTION = "" ; set defaults for other ! 208: STF_NCDETCARD = 99999 ; global netcard variables ! 209: STF_NCDETINFO = {} ; No detect information ! 210: STF_NC_PARAMS = {} ; ! 211: STF_NC_PNAMES = {} ; ! 212: STF_SRCDIR_KEYED = "" ; source dir as entered ! 213: STF_SRCDIR_USED = "" ; source dir as used ! 214: STF_SRCDIR_OVERRIDE = "" ; source dir override (see UTILITY.INF) ! 215: STF_SRCDIR_WINNT = "" ; WINNT override source path ! 216: ! 217: ; Establish the error dialog template overrides. ! 218: ! 219: STF_TEMPLATE_CRITERR = "CRITERR2" ! 220: STF_TEMPLATE_NONCRITERR = "NONCRITERR2" ! 221: ! 222: ; ! 223: ; DOS VDM Setup / OS2 Subsystem Setup ! 224: ; ! 225: STF_INSTALLED_OS = {} ? $(!LIBHANDLE) GetInstalledOSNames ! 226: ! 227: FatalErrorIndex = 1 ! 228: ! 229: !Exit_Code = 0 ! 230: ! 231: [DoAskOemsetupSource] ! 232: ! 233: read-syms DoAskUpgradeSrcDlgText$(!STF_LANGUAGE) ! 234: shell "subroutn.inf" DoAskSourceEx $($0) $(DlgText) ! 235: Return $($R0) $($R1) $($R2) $($R3) ! 236: ! 237: ! 238: ;*********************************************************************** ! 239: ; ! 240: ; Primary control section. ! 241: ; ! 242: ;*********************************************************************** ! 243: ! 244: [Shell Commands] ! 245: ; ! 246: ; Initialization code borrowed from SETUP.INF. Establish all the ! 247: ; STF_ variables not already created by initialization (in INIT.C). ! 248: ; ! 249: set-title "Windows NT Setup" ! 250: ; ! 251: ; Changing the literal 0 to a 1 will turn Debug-Output on. ! 252: ; ! 253: Set !G:DebugOutputControl = 0 ! 254: ! 255: LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE ! 256: LoadLibrary "y" $(!STF_CWDDIR)ncpa.cpl !NCPA_HANDLE ! 257: ; ! 258: ; Establish the help IDs and help file. ! 259: ; ! 260: Shell "subroutn.inf" ReadSetupHelpIds ! 261: SetHelpFile "setupnt.hlp" $(!MinimumID) $(!MaximumID) ! 262: ! 263: set-subst LF = "\n" ! 264: StartWait ! 265: ; ! 266: ; Reestablish the SETUP STF_ variables as best we can. ! 267: ; ! 268: read-syms StfVariableSyms ! 269: read-syms StfVariableDetect ! 270: detect StfVariableDetect ! 271: Set !STF_NTPATH = $(!STF_WINDOWSSYSPATH) ! 272: ; ! 273: ; Get the product type from the registry ! 274: ; ! 275: OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\ProductOptions" 33554432 KeyProductOption ! 276: ifstr(i) $(KeyProductOption) != "" ! 277: GetRegValue $(KeyProductOption) "ProductType" ProductTypeList ! 278: set TempProductType = *($(ProductTypeList),4) ! 279: ifstr(i) $(TempProductType) == "winnt" ! 280: set !STF_PRODUCT = WINNT ! 281: else-ifstr(i) $(TempProductType) == "lanmannt" ! 282: set !STF_PRODUCT = LANMANNT ! 283: endif ! 284: CloseRegKey $(KeyProductOptions) ! 285: endif ! 286: ! 287: ; ! 288: ; Determine the source location. If STF_SRCDIR is already set, use it. ! 289: ; Otherwise, try to extract it from the NCPA's home location in the Registry. ! 290: ; ! 291: ; Also check to see if this is an IDW installation. If so, all file copies ! 292: ; are suppressed on the theory that the tree copy operation has placed all ! 293: ; the binaries into %SystemRoot% already. ! 294: ; ! 295: Debug-Output "NCPASHEL.INF: STF_SRCDIR is "$(!STF_SRCDIR) ! 296: ! 297: OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Ncpa\CurrentVersion" 33554432 KeyNcpa ! 298: ! 299: Set !STF_SRCDIR = "" ! 300: Set !STF_IDW = FALSE ! 301: ! 302: Ifstr(i) $(KeyNcpa) != "" ! 303: GetRegValue $(KeyNcpa) "IDW" IdwValueList ! 304: Set IdwValue = *($(IdwValueList),4) ! 305: Ifint $(IdwValue) > 0 ! 306: Debug-Output "NCPASHEL.INF: IDW Installation" ! 307: Set !STF_IDW = TRUE ! 308: Endif ! 309: CloseRegKey $(KeyNcpa) ! 310: Else ! 311: Debug-Output "NCPASHEL.INF: COULDN'T OPEN NCPA KEY!" ! 312: Endif ! 313: ! 314: OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt ! 315: Ifstr(i) $(KeyNt) != "" ! 316: GetRegValue $(KeyNt) "SourcePath" SourcePathValue ! 317: Set !STF_SRCDIR = *($(SourcePathValue),4) ! 318: Debug-Output "NCPASHEL.INF: SourcePath retrieved is "$(!STF_SRCDIR) ! 319: CloseRegKey $(KeyNt) ! 320: Endif ! 321: ! 322: Ifstr(i) $(!STF_SRCDIR) == "" ! 323: Set !STF_SRCDIR = "A:\" ! 324: Endif ! 325: ; ! 326: ; Extract the "setup in progress" variable from the Registry; ! 327: ; set global variables accordingly. If "setup in progress" flag is ! 328: ; on, set !NTN_InstallPhase to "primary", then look for the ! 329: ; "winnt source path" value; if found, set !STF_SRCDIR_WINNT. ! 330: ; ! 331: Set SetupInp = 0 ! 332: Set !NTN_InstallPhase = secondary ! 333: ! 334: OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\Setup" $(!REG_KEY_READ) KeySetup ! 335: Ifstr(i) $(KeySetup) != "" ! 336: GetRegValue $(KeySetup) "SystemSetupInProgress" SetupInpValue ! 337: Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS) ! 338: Set SetupInp = *($(SetupInpValue),4) ! 339: Debug-Output "NCPASHEL.INF: SetupInp = "$(SetupInp) ! 340: Endif ! 341: Ifint $(SetupInp) == 1 ! 342: Set !NTN_InstallPhase = primary ! 343: GetRegValue $(KeySetup) "WinntPath" SetupPathValue ! 344: Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS) ! 345: Set !STF_SRCDIR_WINNT = *($(SetupPathValue),4) ! 346: Debug-Output "NCPASHEL.INF: STF_SRCDIR_WINNT = "$(!STF_SRCDIR_WINNT) ! 347: Endif ! 348: Endif ! 349: CloseRegKey $(KeySetup) ! 350: Endif ! 351: ! 352: Debug-Output "NCPASHEL.INF: Setup phase = "$(!NTN_InstallPhase) ! 353: ; ! 354: ; Enable the netcard detection functions if necessary. ! 355: ; Don't check for errors, since each INF will report ! 356: ; the error if it really needs to use detection. ! 357: ; ! 358: ; We start detection for installations and configurations ! 359: ; exceptfor final review INFs, which are marked as installations. ! 360: ; ! 361: Ifstr(i) $(NTN_InfSection) == BindingsReview ! 362: Goto skipdetection ! 363: Endif ! 364: Ifstr(i) $(NTN_InstallMode) == install ! 365: Goto startdetection ! 366: Endif ! 367: Ifstr(i) $(NTN_InstallMode) == configure ! 368: Goto startdetection ! 369: Endif ! 370: ! 371: Goto skipdetection ! 372: ! 373: startdetection = + ! 374: ! 375: Debug-Output "NCPASHEL.INF: Enable netcard detection from NCPA.CPL" ! 376: Shell "NCPARAM.INF" Param_ControlDetection DTSTART ! 377: ! 378: skipdetection = + ! 379: ; ! 380: ; BUGBUG The processor type is currently not detected properly. ! 381: ; So temporarily forcibly set the processor type ! 382: ; ! 383: set STF_PROCESSOR = $(ProcessorID_I386) ! 384: ! 385: ; ! 386: ; Check processor type, see if it is supported, if so what platform does it ! 387: ; belong to. Set also the SYS variable to denote which set of sources we ! 388: ; are installing from ! 389: ; ! 390: ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I386) ! 391: set STF_PLATFORM = $(PlatformID_I386) ! 392: set SYS = $(ProcessorID_I386) ! 393: else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I486) ! 394: set STF_PLATFORM = $(PlatformID_I386) ! 395: set SYS = $(ProcessorID_I386) ! 396: else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I586) ! 397: set STF_PLATFORM = $(PlatformID_I386) ! 398: set SYS = $(ProcessorID_I386) ! 399: else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_R4000) ! 400: set STF_PLATFORM = $(PlatformID_Mips) ! 401: set SYS = $(ProcessorID_R4000) ! 402: else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_Alpha) ! 403: set STF_PLATFORM = $(PlatformID_Alpha) ! 404: set SYS = $(ProcessorID_Alpha) ! 405: else ! 406: set STF_PLATFORM = $(PlatformID_I386) ! 407: set SYS = $(ProcessorID_I386) ! 408: endif ! 409: ! 410: Ifstr(i) $(!STF_LANGUAGE) != "ENG" ; BUGBUG: temporary ! 411: Debug-Output "NCPASHEL: Language not set to English; resetting" ! 412: !STF_LANGUAGE = "ENG" ! 413: Endif ! 414: ! 415: read-syms ProgressCopy$(!STF_LANGUAGE) ! 416: ! 417: ;---------------------------------------------------------------------- ! 418: ; ! 419: ; STF_ variables are now established. ! 420: ; ! 421: ; Establish by default the NCPA variables which the NCPA didn't. ! 422: ; ! 423: ;---------------------------------------------------------------------- ! 424: ! 425: Ifstr(i) $(!NTN_RegBase) == "" ! 426: set !NTN_RegBase = "" ! 427: Endif ! 428: ! 429: set !NTN_ServiceBase = "SYSTEM\CurrentControlSet\SERVICES" ! 430: ; ! 431: ; Default the InstallMode to "configure" ! 432: ; ! 433: Ifstr(i) $(!NTN_InstallMode) == "" ! 434: Debug-Output "NCPASHEL:!NTN_InstallMode was not defined!" ! 435: set !NTN_InstallMode = "configure" ! 436: Endif ! 437: ! 438: Ifstr(i) $(!NTN_SoftwareBase) == "" ! 439: ; BUGBUG ! 440: ; set !NTN_SoftwareBase = "SOFTWARE\Description" ! 441: set !NTN_SoftwareBase = "SOFTWARE" ! 442: Endif ! 443: ! 444: set !NTN_Origination = "ncpa" ! 445: ! 446: ;---------------------------------------------------------------------- ! 447: ; ! 448: ; NTN_ variables are now established. ! 449: ; ! 450: ; Prepare to Shell to target INF ! 451: ; ! 452: ;---------------------------------------------------------------------- ! 453: ! 454: Ifstr(i) $(!NTN_Infname) == "" ! 455: goto fatalnoinfname ! 456: Endif ! 457: ! 458: Ifstr(i) $(!NTN_InfSection) == "" ! 459: Set !NTN_InfSection = "InstallOption" ! 460: Endif ! 461: ! 462: ;------------------------------------------------------------------------ ! 463: ; ! 464: ; Shell to the given section of the component INF. If this is an ! 465: ; update/upgrade, ask the user for the location of the file. ! 466: ; ! 467: ;------------------------------------------------------------------------ ! 468: ifstr(i) $(!NTN_InstallMode) == "Update" ! 469: Debug-Output "NCPASHEL.INF: Upgrade mode" ! 470: ; ! 471: ; First, ask for oemsetup.inf location ! 472: ; Then, pass the information to the inf file ! 473: ; ! 474: Shell "" DoAskOemsetupSource $(!STF_SRCDIR) ! 475: ! 476: Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK) ! 477: goto shellerror ! 478: Endif ! 479: ! 480: ifstr(i) $($R0) == STATUS_SUCCESSFUL ! 481: set !STF_SRCDIR = $($R1) ! 482: else-ifstr(i) $($R0) == STATUS_USERCANCEL ! 483: set Exit_Code = 1 ! 484: goto end ! 485: else ! 486: set Exit_Code = 2 ! 487: goto end ! 488: endif ! 489: ! 490: ; ! 491: ; Change NTN_Infname to refer to the OEMSETUP.INF file ! 492: ; pointed to by the user. ! 493: ; ! 494: Set !NTN_Infname = $(!STF_SRCDIR)oemsetup.inf ! 495: endif ! 496: ! 497: Ifstr(i) $(!NTN_InstallMode) == install ! 498: set AddCopy = YES ! 499: set DoCopy = YES ! 500: set DoConfig = YES ! 501: Else ! 502: set AddCopy = NO ! 503: set DoCopy = NO ! 504: set DoConfig = NO ! 505: Endif ! 506: ! 507: Debug-Output "NCPASHEL.INF: Shell to "$(!NTN_Infname) ! 508: ! 509: Shell $(!NTN_Infname) $(!NTN_InfSection) + ! 510: $(!STF_LANGUAGE) $(!NTN_InfOption) + ! 511: $(!STF_SRCDIR) $(AddCopy) $(DoCopy) $(DoConfig) ! 512: ! 513: Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK) ! 514: Debug-Output "NCPASHEL.INF: SHELL ERROR: "$($ShellCode) ! 515: goto shellerror ! 516: Endif ! 517: ! 518: Debug-Output "NCPASHEL: INF return: "$($R0) ! 519: ! 520: Ifstr(i) $($R0) == STATUS_SUCCESSFUL ! 521: set Exit_Code = 0 ! 522: else-ifstr(i) $($R0) == STATUS_USERCANCEL ! 523: set Exit_Code = 1 ! 524: else-ifstr(i) $($R0) == STATUS_NO_EFFECT ! 525: set Exit_Code = 3 ! 526: else-ifstr(i) $($R0) == STATUS_REBIND ! 527: set Exit_Code = 4 ! 528: else-ifstr(i) $($R0) == STATUS_REBOOT ! 529: set Exit_Code = 5 ! 530: else ! 531: set Exit_Code = 2 ! 532: Endif ! 533: ! 534: EndWait ! 535: ! 536: goto end ! 537: ! 538: ;------------------------------------------------------------------ ! 539: ; Fatal error display functions ! 540: ;------------------------------------------------------------------ ! 541: shellerror = + ! 542: read-syms ShellError$(!$ShellCode)$(!STF_LANGUAGE) ! 543: Debug-Output "NCPASHEL: SHELL ERROR: "$(Error) ! 544: goto fatal ! 545: ! 546: fatalnoinfname = + ! 547: set FatalErrorIndex = 2 ! 548: goto fatalmsg ! 549: ! 550: fatalmsg = + ! 551: read-syms FatalError$(FatalErrorIndex)$(!STF_LANGUAGE) ! 552: Debug-Output "NCPASHEL: FATAL ERROR: "$(Error) ! 553: goto fatal ! 554: ! 555: fatal = + ! 556: read-syms FatalDlg$(!STF_LANGUAGE) ! 557: ui start "FatalError" ! 558: goto end ! 559: ! 560: ;------------------------------------------------------------------ ! 561: ; Exit NCPASHEL.INF; return to NCPA ! 562: ;------------------------------------------------------------------ ! 563: end = + ! 564: Ifstr(i) $(!LIBHANDLE) != "" ! 565: LibraryProcedure DontCare, $(!LIBHANDLE), DeleteAllConnections ! 566: Endif ! 567: ! 568: Debug-Output "NCPASHEL: NCPASHEL: returning to NCPA" ! 569: goto term ! 570: ; ! 571: ; Immediate exit ! 572: ; ! 573: term = + ! 574: Debug-Output "NCPASHEL: Bye." ! 575: exit ! 576: ! 577: ;*********************************************************************** ! 578: ; ! 579: ; End of NCPASHEL.INF ! 580: ; ! 581: ;***********************************************************************
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.