Annotation of ntddk/src/setup/inf/pointer/oemsetup.inf, revision 1.1.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.