Annotation of ntddk/src/setup/inf/pointer/oemsetup.inf, revision 1.1

1.1     ! root        1: ;-----------------------------------------------------------------------
        !             2: ; OPTION TYPE
        !             3: ; -----------
        !             4: ; This identifies the Option type we are dealing with.  The different
        !             5: ; possible types are:
        !             6: ;
        !             7: ; COMPUTER, VIDEO, POINTER, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
        !             8: ;-----------------------------------------------------------------------
        !             9: 
        !            10: [Identification]
        !            11:     OptionType = POINTER
        !            12: 
        !            13: ;-----------------------------------------------------------------------
        !            14: ; LANGUAGES SUPPORTED
        !            15: ; -------------------
        !            16: ;
        !            17: ; The languages supported by the INF, For every language supported
        !            18: ; we need to have a separate text section for every displayable text
        !            19: ; section.
        !            20: ;
        !            21: ;-----------------------------------------------------------------------
        !            22: 
        !            23: [LanguagesSupported]
        !            24:     ENG
        !            25: 
        !            26: ;-----------------------------------------------------------------------
        !            27: ; OPTION LIST
        !            28: ; -----------
        !            29: ; This section lists the Option key names.  These keys are locale
        !            30: ; independent and used to represent the option in a locale independent
        !            31: ; manner.
        !            32: ;
        !            33: ;-----------------------------------------------------------------------
        !            34: 
        !            35: [Options]
        !            36:     OEMSERMOUSE  = oemmouse  , oemmoucs
        !            37: 
        !            38: 
        !            39: 
        !            40: ;
        !            41: ; This maps detected options into the options we support
        !            42: ;
        !            43: ; Format: DetectedOption = MappedOption
        !            44: ;
        !            45: 
        !            46: [MapOfOptions]
        !            47:     "MICROSOFT PS2 MOUSE"               = "MICROSOFT PS2 MOUSE"
        !            48:     "MICROSOFT SERIAL MOUSE"            = "MICROSOFT SERIAL MOUSE"
        !            49:     "MICROSOFT INPORT MOUSE"            = "MICROSOFT INPORT MOUSE"
        !            50:     "MICROSOFT BUS MOUSE"               = "MICROSOFT BUS MOUSE"
        !            51:     "MICROSOFT BALLPOINT SERIAL MOUSE"  = "MICROSOFT BALLPOINT SERIAL MOUSE"
        !            52:     "MICROSOFT BALLPOINT PS2 MOUSE"     = "MICROSOFT BALLPOINT PS2 MOUSE"
        !            53:     "LOGITEC PS2 MOUSE"                 = "LOGITEC PS2 MOUSE"
        !            54:     "LOGITEC SERIAL MOUSE"              = "LOGITEC SERIAL MOUSE"
        !            55:     NONE                                = NONE
        !            56:     UNKNOWN                             = UNKNOWN
        !            57: 
        !            58: 
        !            59: ;
        !            60: ; Order of the information:
        !            61: ;
        !            62: ; Port driver = Type, Group, ErrorControl, Tag, EventMessageFile, TypesSupported
        !            63: ;
        !            64: 
        !            65: [PortDrivers]
        !            66: 
        !            67:     oemmouse = !SERVICE_KERNEL_DRIVER, "Pointer Port",  !SERVICE_ERROR_NORMAL, 2, "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\oemmouse.sys" , 7
        !            68: 
        !            69: ;
        !            70: ; Order of the information:
        !            71: ;
        !            72: ; Class driver = Type, Group, ErrorControl, Tag, EventMessageFile, TypesSupported
        !            73: ;
        !            74: 
        !            75: [ClassDrivers]
        !            76: 
        !            77:     oemmoucs = !SERVICE_KERNEL_DRIVER, "Pointer Class", !SERVICE_ERROR_NORMAL, 1, "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\oemmoucs.sys" , 7
        !            78: 
        !            79: 
        !            80: ;-----------------------------------------------------------------------
        !            81: ; OPTION TEXT SECTION
        !            82: ; -------------------
        !            83: ; These are text strings used to identify the option to the user.  There
        !            84: ; are separate sections for each language supported.  The format of the
        !            85: ; section name is "OptionsText" concatenated with the Language represented
        !            86: ; by the section.
        !            87: ;
        !            88: ;-----------------------------------------------------------------------
        !            89: 
        !            90: [OptionsTextENG]
        !            91:     OEMSERMOUSE  = "OEM for Microsoft Serial Mouse"
        !            92: 
        !            93: ;---------------------------------------------------------------------------
        !            94: ; 1. Identify
        !            95: ;
        !            96: ; DESCRIPTION:   To verify that this INF deals with the same type of options
        !            97: ;                as we are choosing currently.
        !            98: ;
        !            99: ; INPUT:         None
        !           100: ;
        !           101: ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
        !           102: ;                $($R1): Option Type (COMPUTER ...)
        !           103: ;                $($R2): Diskette description
        !           104: ;---------------------------------------------------------------------------
        !           105: 
        !           106: [Identify]
        !           107:     ;
        !           108:     ;
        !           109:     read-syms Identification
        !           110: 
        !           111:     set Status     = STATUS_SUCCESSFUL
        !           112:     set Identifier = $(OptionType)
        !           113:     set Media      = #("Source Media Descriptions", 1, 1)
        !           114: 
        !           115:     Return $(Status) $(Identifier) $(Media)
        !           116: 
        !           117: 
        !           118: 
        !           119: ;------------------------------------------------------------------------
        !           120: ; 2. ReturnOptions:
        !           121: ;
        !           122: ; DESCRIPTION:   To return the option list supported by this INF and the
        !           123: ;                localised text list representing the options.
        !           124: ;
        !           125: ;
        !           126: ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
        !           127: ;
        !           128: ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
        !           129: ;                                STATUS_NOLANGUAGE
        !           130: ;                                STATUS_FAILED
        !           131: ;
        !           132: ;                $($R1): Option List
        !           133: ;                $($R2): Option Text List
        !           134: ;------------------------------------------------------------------------
        !           135: 
        !           136: [ReturnOptions]
        !           137:     ;
        !           138:     ;
        !           139:     set Status        = STATUS_FAILED
        !           140:     set OptionList     = {}
        !           141:     set OptionTextList = {}
        !           142: 
        !           143:     ;
        !           144:     ; Check if the language requested is supported
        !           145:     ;
        !           146:     set LanguageList = ^(LanguagesSupported, 1)
        !           147:     Ifcontains(i) $($0) in $(LanguageList)
        !           148:         goto returnoptions
        !           149:     else
        !           150:         set Status = STATUS_NOLANGUAGE
        !           151:         goto finish_ReturnOptions
        !           152:     endif
        !           153: 
        !           154:     ;
        !           155:     ; form a list of all the options and another of the text representing
        !           156:     ;
        !           157: 
        !           158: returnoptions = +
        !           159:     set OptionList     = ^(Options, 0)
        !           160:     set OptionTextList = ^(OptionsText$($0), 1)
        !           161:     set Status         = STATUS_SUCCESSFUL
        !           162: 
        !           163: finish_ReturnOptions = +
        !           164:     Return $(Status) $(OptionList) $(OptionTextList)
        !           165: 
        !           166: 
        !           167: ;---------------------------------------------------------------------------
        !           168: ; MapToSupportedOption
        !           169: ;
        !           170: ; DESCRIPTION:   To map a hardware detected option to the NT Supported
        !           171: ;                option which represents it.
        !           172: ;
        !           173: ; INPUT:         $($0): Option
        !           174: ;
        !           175: ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
        !           176: ;                $($R1): Mapped Option
        !           177: ;
        !           178: ;---------------------------------------------------------------------------
        !           179: 
        !           180: [MapToSupportedOption]
        !           181:     ;
        !           182:     set Status = STATUS_FAILED
        !           183:     set MappedOption = $($0)
        !           184: 
        !           185:     ;
        !           186:     ; If the option is one we can support using one of our standard options
        !           187:     ; then map it to the standard option.  If not just pass it back as an
        !           188:     ; unknown option
        !           189:     ;
        !           190: 
        !           191:     set OptionList = ^(MapOfOptions, 0)
        !           192:     ifcontains $($0) in $(OptionList)
        !           193:         set MappedOption = #(MapOfOptions, $($0), 1)
        !           194:     else
        !           195:         set MappedOption = "UNKNOWN"
        !           196:     endif
        !           197: 
        !           198:     set Status = STATUS_SUCCESSFUL
        !           199:     Return $(Status) $(MappedOption)
        !           200: 
        !           201: 
        !           202: [ServicesEntry]
        !           203:     CurrentPortEntry  = "" ? $(!LIBHANDLE) GetDevicemapValue PointerPort  \Device\PointerPort0
        !           204:     CurrentClassEntry = "" ? $(!LIBHANDLE) GetDevicemapValue PointerClass \Device\PointerClass0
        !           205: 
        !           206: ;
        !           207: ; InstallOption:
        !           208: ;
        !           209: ; FUNCTION:  To copy files representing Options
        !           210: ;            To configure the installed option
        !           211: ;            To update the registry for the installed option
        !           212: ;
        !           213: ; INPUT:     $($0):  Language to use
        !           214: ;            $($1):  OptionID to install
        !           215: ;            $($2):  SourceDirectory
        !           216: ;            $($3):  AddCopy  (YES | NO)
        !           217: ;            $($4):  DoCopy   (YES | NO)
        !           218: ;            $($5):  DoConfig (YES | NO)
        !           219: ;
        !           220: ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
        !           221: ;                            STATUS_NOLANGUAGE |
        !           222: ;                            STATUS_USERCANCEL |
        !           223: ;                            STATUS_FAILED
        !           224: ;
        !           225: 
        !           226: [InstallOption]
        !           227: 
        !           228:     ;
        !           229:     ; Set default values for
        !           230:     ;
        !           231:     set Status   = STATUS_FAILED
        !           232:     set DrivesToFree = {}
        !           233: 
        !           234:     ;
        !           235:     ; extract parameters
        !           236:     ;
        !           237:     set Option   = $($1)
        !           238:     set SrcDir   = $($2)
        !           239:     set AddCopy  = $($3)
        !           240:     set DoCopy   = $($4)
        !           241:     set DoConfig = $($5)
        !           242: 
        !           243:     ;
        !           244:     ; Check if the language requested is supported
        !           245:     ;
        !           246:     set LanguageList = ^(LanguagesSupported, 1)
        !           247:     Ifcontains(i) $($0) in $(LanguageList)
        !           248:     else
        !           249:         set Status = STATUS_NOLANGUAGE
        !           250:         goto finish_InstallOption
        !           251:     endif
        !           252:     read-syms Strings$($0)
        !           253: 
        !           254:     ;
        !           255:     ; check to see if Option is supported.
        !           256:     ;
        !           257: 
        !           258:     set OptionList = ^(Options, 0)
        !           259:     ifcontains $(Option) in $(OptionList)
        !           260:     else
        !           261:         goto finish_InstallOption
        !           262:     endif
        !           263:     set OptionList = ""
        !           264: 
        !           265:     ;
        !           266:     ; find out the current pointer port and class services entries,
        !           267:     ; and the new port driver and class driver to install
        !           268:     ;
        !           269: 
        !           270:     read-syms ServicesEntry
        !           271:     detect    ServicesEntry
        !           272: 
        !           273:     Debug-Output "POINTER.INF: Current Port Entry is:  "$(CurrentPortEntry)
        !           274:     Debug-Output "POINTER.INF: Current Class Entry is: "$(CurrentClassEntry)
        !           275: 
        !           276:     set PortDriver  = #(Options, $(Option), 1)
        !           277:     set ClassDriver = #(Options, $(Option), 2)
        !           278: 
        !           279:     Debug-Output "POINTER.INF: New Port Entry is:      "$(PortDriver)
        !           280:     Debug-Output "POINTER.INF: New Class Entry is:     "$(ClassDriver)
        !           281: 
        !           282:     ;
        !           283:     ; Check if current option is NONE or UNKNOWN, then we don't need to copy
        !           284:     ; any files.  Set the AddCopy and DoCopy variables to NO
        !           285:     ;
        !           286: 
        !           287:     ifstr(i) $(Option) == NONE
        !           288:         set AddCopy = NO
        !           289:         set DoCopy  = NO
        !           290:     else-ifstr(i) $(Option) == UNKNOWN
        !           291:         set AddCopy = NO
        !           292:         set DoCopy  = NO
        !           293:     endif
        !           294: 
        !           295: 
        !           296: installtheoption = +
        !           297: 
        !           298:     ;
        !           299:     ; Code to add files to copy list
        !           300:     ;
        !           301: 
        !           302:     ifstr(i) $(AddCopy) == "YES"
        !           303:         set DoActualCopy = NO
        !           304:         set FileToCheck = #(Files-MousePortDrivers, $(PortDriver), 2)
        !           305:         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
        !           306:         ifstr(i) $(STATUS) == NO
        !           307:             set DoActualCopy = YES
        !           308:         else
        !           309:             set FileToCheck = #(Files-MouseClassDrivers, $(ClassDriver), 2)
        !           310:             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
        !           311:             ifstr(i) $(STATUS) == NO
        !           312:                 set DoActualCopy = YES
        !           313:             endif
        !           314:         endif
        !           315: 
        !           316:         ifstr(i) $(DoActualCopy) == NO
        !           317:             shell "subroutn.inf" DriversExist $($0) $(String1)
        !           318:             ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           319:                 Debug-Output "POINTER.INF: shelling DriversExist failed"
        !           320:                 goto finish_InstallOption
        !           321:             endif
        !           322: 
        !           323:             ifstr(i) $($R0) == STATUS_CURRENT
        !           324:             else-ifstr(i) $($R0) == STATUS_NEW
        !           325:                 set DoActualCopy = YES
        !           326:             else-ifstr(i) $($R0) == STATUS_USERCANCEL
        !           327:                 Debug-Output "POINTER.INF: User cancelled Pointer installation"
        !           328:                 goto finish_InstallOption
        !           329:             else
        !           330:                 Debug-Output "POINTER.INF: Error reported in DriversExist routine in SUBROUTN.INF"
        !           331:                 goto finish_InstallOption
        !           332:             endif
        !           333:         endif
        !           334: 
        !           335:         ifstr(i) $(DoActualCopy) == YES
        !           336: 
        !           337:             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
        !           338:             ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           339:                 Debug-Output "POINTER.INF: shelling DoAskSourceEx failed"
        !           340:                 goto finish_InstallOption
        !           341:             endif
        !           342: 
        !           343:             ifstr(i) $($R0) == STATUS_SUCCESSFUL
        !           344:                 set SrcDir = $($R1)
        !           345:                 ifstr(i) $($R2) != ""
        !           346:                     set DrivesToFree = >($(DrivesToFree), $($R2))
        !           347:                 endif
        !           348:             else
        !           349:                 Debug-Output "POINTER.INF: User cancelled asking source."
        !           350:                 goto finish_InstallOption
        !           351:             endif
        !           352: 
        !           353:             install Install-AddCopyOption
        !           354:             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
        !           355:                 Debug-Output "POINTER.INF: Adding mouse files to copy list failed"
        !           356:                 goto finish_InstallOption
        !           357:             endif
        !           358:         else
        !           359:             set DoCopy = NO
        !           360:         endif
        !           361: 
        !           362:     endif
        !           363: 
        !           364:     ifstr(i) $(DoCopy) == "YES"
        !           365:         read-syms ProgressCopy$($0)
        !           366:         install Install-DoCopyOption
        !           367:         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
        !           368:             Debug-Output "POINTER.INF: Copying files failed"
        !           369:             goto finish_InstallOption
        !           370:         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
        !           371:             set Status = STATUS_USERCANCEL
        !           372:             goto finish_InstallOption
        !           373:         endif
        !           374:     endif
        !           375: 
        !           376:     ifstr(i) $(DoConfig) == "YES"
        !           377:         ;
        !           378:         ; first run a privilege check on modifying the setup node
        !           379:         ;
        !           380: 
        !           381:         shell "registry.inf" CheckSetupModify
        !           382:         ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           383:             goto finish_InstallOption
        !           384:         endif
        !           385: 
        !           386:         ifstr(i) $($R0) != STATUS_SUCCESSFUL
        !           387:             goto finish_InstallOption
        !           388:         endif
        !           389: 
        !           390:         ;
        !           391:         ; then make a new pointer port entry, the entry is created automatically
        !           392:         ; enabled
        !           393:         ;
        !           394: 
        !           395:         ifstr(i) $(PortDriver) != ""
        !           396: 
        !           397:             set ServiceNode   = $(PortDriver)
        !           398:             set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-MousePortDrivers, $(PortDriver), 2)
        !           399: 
        !           400:             set Type             = $(#(PortDrivers, $(PortDriver), 1))
        !           401:             set Group            =   #(PortDrivers, $(PortDriver), 2)
        !           402:             set ErrorControl     = $(#(PortDrivers, $(PortDriver), 3))
        !           403:             set Tag              =   #(PortDrivers, $(PortDriver), 4)
        !           404:             set EventMessageFile =   #(PortDrivers, $(PortDriver), 5)
        !           405:             set TypesSupported   =   #(PortDrivers, $(PortDriver), 6)
        !           406: 
        !           407:             set ServicesValues   = { +
        !           408:                     {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
        !           409:                     {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
        !           410:                     {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
        !           411:                     {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
        !           412:                     {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
        !           413:                     {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
        !           414:                     }
        !           415:             set ParametersValues = ""
        !           416:             set DeviceValues     = {}
        !           417:             set EventLogValues   = { +
        !           418:                     {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
        !           419:                     {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
        !           420:                     }
        !           421: 
        !           422: 
        !           423:             shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
        !           424:                                                     $(ServicesValues)   +
        !           425:                                                     $(ParametersValues) +
        !           426:                                                     $(DeviceValues)     +
        !           427:                                                     $(EventLogValues)   +
        !           428:                                                     Parameters
        !           429: 
        !           430:             ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           431:                 Debug-Output "POINTER.INF: Couldn't execute MakeServicesEntry in registry.inf"
        !           432:                 goto errorconfig
        !           433:             endif
        !           434: 
        !           435:             ifstr(i) $($R0) != STATUS_SUCCESSFUL
        !           436:                 Debug-Output "POINTER.INF: MakeServicesEntry failed for pointer"
        !           437:                 goto errorconfig
        !           438:             endif
        !           439: 
        !           440:         endif
        !           441: 
        !           442:         ;
        !           443:         ; then make a new class entry, the entry is created
        !           444:         ;
        !           445: 
        !           446:         ifstr(i) $(ClassDriver) != ""
        !           447: 
        !           448:             set ServiceNode   = $(ClassDriver)
        !           449:             set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-MouseClassDrivers, $(ClassDriver), 2)
        !           450: 
        !           451:             set Type             = $(#(ClassDrivers, $(ClassDriver), 1))
        !           452:             set Group            =   #(ClassDrivers, $(ClassDriver), 2)
        !           453:             set ErrorControl     = $(#(ClassDrivers, $(ClassDriver), 3))
        !           454:             set Tag              =   #(ClassDrivers, $(ClassDriver), 4)
        !           455:             set EventMessageFile =   #(ClassDrivers, $(ClassDriver), 5)
        !           456:             set TypesSupported   =   #(ClassDrivers, $(ClassDriver), 6)
        !           457: 
        !           458:             set ServicesValues   = { +
        !           459:                     {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
        !           460:                     {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
        !           461:                     {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
        !           462:                     {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
        !           463:                     {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
        !           464:                     {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
        !           465:                     }
        !           466:             set ParametersValues = ""
        !           467:             set DeviceValues     = {}
        !           468:             set EventLogValues   = { +
        !           469:                     {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
        !           470:                     {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
        !           471:                     }
        !           472: 
        !           473: 
        !           474:             shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
        !           475:                                                     $(ServicesValues)   +
        !           476:                                                     $(ParametersValues) +
        !           477:                                                     $(DeviceValues)     +
        !           478:                                                     $(EventLogValues)   +
        !           479:                                                     Parameters
        !           480: 
        !           481: 
        !           482:             ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           483:                 Debug-Output "POINTER.INF: Couldn't execute MakeServicesEntry in registry.inf"
        !           484:                 goto errorconfig
        !           485:             endif
        !           486: 
        !           487:             ifstr(i) $($R0) != STATUS_SUCCESSFUL
        !           488:                 Debug-Output "POINTER.INF: MakeServicesEntry failed for pointer"
        !           489:                 goto errorconfig
        !           490:             endif
        !           491: 
        !           492:         endif
        !           493: 
        !           494:         ;
        !           495:         ;
        !           496:         ; then disable the previous pointer port entry
        !           497:         ;
        !           498: 
        !           499:         ifstr(i) $(CurrentPortEntry) != $(PortDriver)
        !           500:             ifstr(i) $(CurrentPortEntry) != ""
        !           501:                 ifstr(i) $(CurrentPortEntry) != i8042prt
        !           502:                     shell "registry.inf" ModifyServicesEntry $(CurrentPortEntry) $(!SERVICE_DISABLED)
        !           503: 
        !           504:                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           505:                         Debug-Output "POINTER.INF: Couldn't find DisableServicesEntry in registry.inf"
        !           506:                         goto errorconfig
        !           507:                     endif
        !           508: 
        !           509:                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
        !           510:                         Debug-Output "POINTER.INF: DisableServices entry failed"
        !           511:                         goto errorconfig
        !           512:                     endif
        !           513:                 endif
        !           514:             endif
        !           515:         endif
        !           516: 
        !           517:         ;
        !           518:         ; and the previous pointer class entry
        !           519:         ;
        !           520: 
        !           521:         ifstr(i) $(CurrentClassEntry) != $(ClassDriver)
        !           522:             ifstr(i) $(CurrentClassEntry) != ""
        !           523:                 shell "registry.inf" ModifyServicesEntry $(CurrentClassEntry) $(!SERVICE_DISABLED)
        !           524: 
        !           525:                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
        !           526:                     Debug-Output "POINTER.INF: Couldn't find DisableServicesEntry in registry.inf"
        !           527:                     goto errorconfig
        !           528:                 endif
        !           529: 
        !           530:                 ifstr(i) $($R0) != STATUS_SUCCESSFUL
        !           531:                     Debug-Output "POINTER.INF: DisableServices entry failed"
        !           532:                     goto errorconfig
        !           533:                 endif
        !           534:             endif
        !           535:         endif
        !           536: 
        !           537:         goto configdone
        !           538: 
        !           539: errorconfig = +
        !           540:         ifstr(i) $(CurrentPortEntry) != $(PortDriver)
        !           541:             ifstr(i) $(PortDriver) != ""
        !           542:                 shell "registry.inf" ModifyServicesEntry $(PortDriver) $(!SERVICE_DISABLED)
        !           543:             endif
        !           544:             ifstr(i) $(CurrentPortEntry) != ""
        !           545:                 shell "registry.inf" ModifyServicesEntry $(CurrentPortEntry) $(!SERVICE_SYSTEM_START)
        !           546:             endif
        !           547:         endif
        !           548:         ifstr(i) $(CurrentClassEntry) != $(ClassDriver)
        !           549:             ifstr(i) $(ClassDriver) != ""
        !           550:                 shell "registry.inf" ModifyServicesEntry $(ClassDriver) $(!SERVICE_DISABLED)
        !           551:             endif
        !           552:             ifstr(i) $(CurrentClassEntry) != ""
        !           553:                 shell "registry.inf" ModifyServicesEntry $(CurrentClassEntry) $(!SERVICE_SYSTEM_START)
        !           554:             endif
        !           555:         endif
        !           556:         goto finish_InstallOption
        !           557: 
        !           558: configdone = +
        !           559:     endif
        !           560: 
        !           561:     set Status = STATUS_SUCCESSFUL
        !           562: finish_InstallOption = +
        !           563:     ForListDo $(DrivesToFree)
        !           564:         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
        !           565:     EndForListDo
        !           566: 
        !           567:     Return $(Status)
        !           568: 
        !           569: 
        !           570: [Install-AddCopyOption]
        !           571: 
        !           572:     set STF_VITAL = ""
        !           573: 
        !           574:     ;
        !           575:     ; Add the files to the copy list
        !           576:     ;
        !           577: 
        !           578:     AddSectionKeyFileToCopyList   Files-MousePortDrivers         +
        !           579:                                   $(PortDriver)                  +
        !           580:                                   $(SrcDir)                      +
        !           581:                                   $(!STF_WINDOWSSYSPATH)\drivers
        !           582: 
        !           583:     AddSectionKeyFileToCopyList   Files-MouseClassDrivers         +
        !           584:                                   $(ClassDriver)                  +
        !           585:                                   $(SrcDir)                       +
        !           586:                                   $(!STF_WINDOWSSYSPATH)\drivers
        !           587: 
        !           588:     exit
        !           589: 
        !           590: 
        !           591: [Install-DoCopyOption]
        !           592: 
        !           593:     ;
        !           594:     ; Copy files in the copy list
        !           595:     ;
        !           596:     CopyFilesInCopyList
        !           597:     exit
        !           598: 
        !           599: ;**************************************************************************
        !           600: ; PROGRESS GUAGE VARIABLES
        !           601: ;**************************************************************************
        !           602: 
        !           603: [ProgressCopyENG]
        !           604:     ProCaption   = "Windows NT Setup"
        !           605:     ProCancel    = "Cancel"
        !           606:     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
        !           607:                    "to cancel copying files?"
        !           608:     ProCancelCap = "Setup Message"
        !           609:     ProText1     = "Copying:"
        !           610:     ProText2     = "To:"
        !           611: 
        !           612: [StringsENG]
        !           613:     String1 = "Mouse"
        !           614:     String2 = "Please enter the full path to the OEM Mouse "+
        !           615:               "driver files.  Then choose Continue."
        !           616: 
        !           617: 
        !           618: 
        !           619: ;-----------------------------------------------------------------------
        !           620: ; SOURCE MEDIA DESCRIPTIONS
        !           621: ; -------------------------
        !           622: ; The OEM should list all the diskette labels here.  The source media
        !           623: ; description is used during copy to prompt the user for a diskette
        !           624: ; if the source is diskettes.
        !           625: ;
        !           626: ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
        !           627: ;     2 = "Diskette 2 Label" , TAGFILE = disk2
        !           628: ;     ...
        !           629: ;-----------------------------------------------------------------------
        !           630: 
        !           631: ;--------------------------------------------------------------------
        !           632: ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
        !           633: ; SPREAD SHEETS
        !           634: ;--------------------------------------------------------------------
        !           635: [Source Media Descriptions]
        !           636:     1  = "OEM DISK (POINTER)"  , TAGFILE = disk1
        !           637: 
        !           638: [Files-MouseClassDrivers]
        !           639: oemmoucs = 1,oemmoucs.sys , SIZE=999
        !           640: 
        !           641: [Files-MousePortDrivers]
        !           642: oemmouse = 1,oemmouse.sys , SIZE=999

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.