home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 October / VPR9810B.BIN / DRIVER / iodata / UIDED102 / uided102.exe / DISK.EXE / WINNT / OEMSETUP.INF < prev    next >
INI File  |  1997-11-04  |  17KB  |  545 lines

  1. ;
  2. ; (C) ACARD Corporation 1995.
  3. ; All Rights Reserved.
  4. ;
  5. ; OEMSETUP.INF   for  I-O DATA UIDE Series
  6. ;
  7. ; Windows NT 4.0  Miniport Driver
  8. ;
  9.  
  10. [Identification]
  11.     OptionType = SCSI
  12.  
  13. [LanguagesSupported]
  14.     ENG
  15.  
  16. [Options]
  17.     "OEMSCSI"    = ATP850UF
  18.  
  19. [OptionsTextENG]
  20.     "OEMSCSI"    = "I-O DATA Ultra ATA Bus Mastering Controller"
  21.  
  22.  
  23. ;-----------------------------------------------------------------------------------------
  24. ; SCSI MINIPORT DRIVERS:
  25. ;
  26. ; Order of the information:
  27. ;
  28. ; Class driver = Type, Group, ErrorControl, Tag, EventMessageFile, TypesSupported
  29. ;
  30. ;-----------------------------------------------------------------------------------------
  31.  
  32. [MiniportDrivers]
  33.     ATP850UF  = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL,  17, %SystemRoot%\System32\IoLogMsg.dll , 7, "version 2.3"
  34.  
  35.  
  36.  
  37. ;---------------------------------------------------------------------------
  38. ; 1. Identify
  39. ;
  40. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  41. ;                as we are choosing currently.
  42. ;
  43. ; INPUT:         None
  44. ;
  45. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  46. ;                $($R1): Option Type (COMPUTER ...)
  47. ;                $($R2): Diskette description
  48. ;---------------------------------------------------------------------------
  49.  
  50. [Identify]
  51.     ;
  52.     ;
  53.     read-syms Identification
  54.  
  55.     set Status     = STATUS_SUCCESSFUL
  56.     set Identifier = $(OptionType)
  57.     set Media      = #("Source Media Descriptions", 1, 1)
  58.  
  59.     Return $(Status) $(Identifier) $(Media)
  60.  
  61.  
  62.  
  63. ;------------------------------------------------------------------------
  64. ; 2. ReturnOptions:
  65. ;
  66. ; DESCRIPTION:   To return the option list supported by this INF and the
  67. ;                localised text list representing the options.
  68. ;
  69. ;
  70. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  71. ;
  72. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  73. ;                                STATUS_NOLANGUAGE
  74. ;                                STATUS_FAILED
  75. ;
  76. ;                $($R1): Option List
  77. ;                $($R2): Option Text List
  78. ;------------------------------------------------------------------------
  79.  
  80. [ReturnOptions]
  81.     ;
  82.     ;
  83.     set Status        = STATUS_FAILED
  84.     set OptionList     = {}
  85.     set OptionTextList = {}
  86.  
  87.     ;
  88.     ; Check if the language requested is supported
  89.     ;
  90.     set LanguageList = ^(LanguagesSupported, 1)
  91.     Ifcontains(i) $($0) in $(LanguageList)
  92.         goto returnoptions
  93.     else
  94.         set Status = STATUS_NOLANGUAGE
  95.         goto finish_ReturnOptions
  96.     endif
  97.  
  98.     ;
  99.     ; form a list of all the options and another of the text representing
  100.     ;
  101.  
  102. returnoptions = +
  103.     set OptionList     = ^(Options, 0)
  104.     set OptionTextList = ^(OptionsText$($0), 1)
  105.     set Status         = STATUS_SUCCESSFUL
  106.  
  107. finish_ReturnOptions = +
  108.     Return $(Status) $(OptionList) $(OptionTextList)
  109.  
  110.  
  111. ;------------------------------------------------------------------------
  112. ;
  113. ; 3. InstallOption:
  114. ;
  115. ; FUNCTION:  To copy files representing Options
  116. ;            To configure the installed option
  117. ;            To update the registry for the installed option
  118. ;
  119. ; INPUT:     $($0):  Language to use
  120. ;            $($1):  OptionID to install
  121. ;            $($2):  SourceDirectory
  122. ;            $($3):  AddCopy  (YES | NO)
  123. ;            $($4):  DoCopy   (YES | NO)
  124. ;            $($5):  DoConfig (YES | NO)
  125. ;
  126. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  127. ;                            STATUS_NOLANGUAGE |
  128. ;                            STATUS_USERCANCEL |
  129. ;                            STATUS_FAILED
  130. ;
  131.  
  132. [InstallOption]
  133.  
  134.     ;
  135.     ; Set default values for
  136.     ;
  137.     set Status = STATUS_FAILED
  138.     set DrivesToFree = {}
  139.  
  140.     ;
  141.     ; extract parameters
  142.     ;
  143.     set Option   = $($1)
  144.     set SrcDir   = A:\WINNT
  145.     set AddCopy  = $($3)
  146.     set DoCopy   = $($4)
  147.     set DoConfig = $($5)
  148.  
  149.     ;
  150.     ; Check if the language requested is supported
  151.     ;
  152.     set LanguageList = ^(LanguagesSupported, 1)
  153.     Ifcontains(i) $($0) in $(LanguageList)
  154.     else
  155.         set Status = STATUS_NOLANGUAGE
  156.         goto finish_InstallOption
  157.     endif
  158.     read-syms Strings$($0)
  159.  
  160.     ;
  161.     ; check to see if Option is supported.
  162.     ;
  163.  
  164.     set OptionList = ^(Options, 0)
  165.     ifcontains $(Option) in $(OptionList)
  166.     else
  167.         Debug-Output "SCSI.INF: SCSI option is not supported."
  168.         goto finish_InstallOption
  169.     endif
  170.     set OptionList = ""
  171.  
  172.     ;
  173.     ; Option has been defined already
  174.     ;
  175.  
  176.     set MiniportDriver   =   #(Options,         $(Option),         1)
  177.     set Type             = $(#(MiniportDrivers, $(MiniportDriver), 1))
  178.     set Group            =   #(MiniportDrivers, $(MiniportDriver), 2)
  179.     set ErrorControl     = $(#(MiniportDrivers, $(MiniportDriver), 3))
  180.     set Tag              =   #(MiniportDrivers, $(MiniportDriver), 4)
  181.     set EventMessageFile =   #(MiniportDrivers, $(MiniportDriver), 5)
  182.     set TypesSupported   =   #(MiniportDrivers, $(MiniportDriver), 6)
  183.     set DriverVersion    =   #(MiniportDrivers, $(MiniportDriver), 7)
  184.  
  185.     set Start            =   $(!SERVICE_BOOT_START)
  186.  
  187. installtheoption = +
  188.  
  189.     ;
  190.     ; Code to add files to copy list
  191.     ;
  192.  
  193.     ifstr(i) $(AddCopy) == "YES"
  194.         set DoActualCopy = NO
  195.         set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  196.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  197.         ifstr(i) $(STATUS) == NO
  198.             set DoActualCopy = YES
  199.         endif
  200.  
  201.         ifstr(i) $(DoActualCopy) == NO
  202.             shell "subroutn.inf" DriversExist $($0) $(String1)
  203.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  204.                 Debug-Output "SCSI.INF: shelling DriversExist failed"
  205.                 goto finish_InstallOption
  206.             endif
  207.  
  208.             ifstr(i) $($R0) == STATUS_CURRENT
  209.             else-ifstr(i) $($R0) == STATUS_NEW
  210.                 set DoActualCopy = YES
  211.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  212.                 Debug-Output "SCSI.INF: User cancelled SCSI installation"
  213.                 goto finish_InstallOption
  214.             else
  215.                 Debug-Output "SCSI.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  216.                 goto finish_InstallOption
  217.             endif
  218.         endif
  219.  
  220.         ifstr(i) $(DoActualCopy) == YES
  221.  
  222.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  223.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  224.                 Debug-Output "SCSI.INF: shelling DoAskSourceEx failed"
  225.                 goto finish_InstallOption
  226.             endif
  227.  
  228.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  229.                 set SrcDir = $($R1)
  230.                 ifstr(i) $($R2) != ""
  231.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  232.                 endif
  233.             else
  234.                 Debug-Output "SCSI.INF: User cancelled asking source."
  235.                 goto finish_InstallOption
  236.             endif
  237.  
  238.             install Install-AddCopyOption
  239.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  240.                 Debug-Output "Adding SCSI files to copy list failed"
  241.                 goto finish_InstallOption
  242.             endif
  243.         else
  244.             set DoCopy = NO
  245.         endif
  246.  
  247.     endif
  248.  
  249.     ifstr(i) $(DoCopy) == "YES"
  250.         read-syms ProgressCopy$($0)
  251.         install Install-DoCopyOption
  252.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  253.             Debug-Output "Copying files failed"
  254.             goto finish_InstallOption
  255.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  256.             set Status = STATUS_USERCANCEL
  257.             goto finish_InstallOption
  258.         endif
  259.     endif
  260.  
  261.     ifstr(i) $(DoConfig) == "YES"
  262.         ;
  263.         ; first run a privilege check on modifying the setup node
  264.         ;
  265.  
  266.         shell "registry.inf" CheckSetupModify
  267.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  268.             goto finish_InstallOption
  269.         endif
  270.  
  271.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  272.             goto finish_InstallOption
  273.         endif
  274.  
  275.         ;
  276.         ; then make a new SCSI entry, the entry is created automatically
  277.         ; enabled
  278.         ;
  279.  
  280.         set ServiceNode   = $(MiniportDriver)
  281.         set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  282.  
  283.         set ServicesValues   = { +
  284.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  285.                 {Start,          0, $(!REG_VT_DWORD),     $(Start)                 }, +
  286.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  287.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  288.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  289.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  290.                 {DriverVersion,  0, $(!REG_VT_SZ),        $(DriverVersion)         }, +
  291.                 }
  292.         set ParametersValues = ""
  293.         set DeviceValues     = {}
  294.         set EventLogValues   = { +
  295.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  296.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  297.                 }
  298.  
  299.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  300.                                                 $(ServicesValues)   +
  301.                                                 $(ParametersValues) +
  302.                                                 $(DeviceValues)     +
  303.                                                 $(EventLogValues)   +
  304.                                                 Parameters
  305.  
  306.  
  307.  
  308.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  309.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  310.             goto finish_InstallOption
  311.         endif
  312.  
  313.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  314.             Debug-Output "MakeServicesEntry failed for SCSI"
  315.             goto finish_InstallOption
  316.         endif
  317.  
  318.     endif
  319.  
  320.     set Status = STATUS_SUCCESSFUL
  321. finish_InstallOption = +
  322.     ForListDo $(DrivesToFree)
  323.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  324.     EndForListDo
  325.  
  326.     Return $(Status)
  327.  
  328.  
  329. [Install-AddCopyOption]
  330.  
  331.     ;
  332.     ; Add the files to the copy list
  333.     ;
  334.     AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
  335.                                   $(MiniportDriver)                 +
  336.                                   $(SrcDir)                      +
  337.                                   $(!STF_WINDOWSSYSPATH)\drivers
  338.  
  339.     exit
  340.  
  341.  
  342. [Install-DoCopyOption]
  343.  
  344.     ;
  345.     ; Copy files in the copy list
  346.     ;
  347.     CopyFilesInCopyList
  348.     exit
  349.  
  350. ;-------------------------------------------------------------------------
  351. ; 4. DeInstallOption:
  352. ;
  353. ; FUNCTION:  To remove files representing Option
  354. ;            To remove the registry entry corresponding to the Option
  355. ;
  356. ; INPUT:     $($0):  Language to use
  357. ;            $($1):  OptionID to install
  358. ;
  359. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  360. ;                            STATUS_NOLANGUAGE |
  361. ;                            STATUS_USERCANCEL |
  362. ;                            STATUS_FAILED
  363. ;-------------------------------------------------------------------------
  364. [DeInstallOption]
  365.     ;
  366.     ; Set default values for
  367.     ;
  368.     set Status   = STATUS_FAILED
  369.     ;
  370.     ; extract parameters
  371.     ;
  372.     set Option   = $($1)
  373.  
  374.     ;
  375.     ; Check if the language requested is supported
  376.     ;
  377.     set LanguageList = ^(LanguagesSupported, 1)
  378.     Ifcontains(i) $($0) in $(LanguageList)
  379.     else
  380.         set Status = STATUS_NOLANGUAGE
  381.         goto finish_DeInstallOption
  382.     endif
  383.     read-syms Strings$($0)
  384.  
  385.     ;
  386.     ; check to see if Option is supported.
  387.     ;
  388.  
  389.     set OptionList = ^(Options, 0)
  390.     ifcontains $(Option) in $(OptionList)
  391.     else
  392.         goto finish_DeInstallOption
  393.     endif
  394.     set OptionList = ""
  395.  
  396.     ;
  397.     ; fetch details about option
  398.     ;
  399.  
  400.     set MiniportDriver = #(Options, $(Option), 1)
  401.     set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  402.     set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  403.  
  404.     ;
  405.     ; check to see if file is installed
  406.     ; if not give success
  407.     ;
  408.  
  409.     LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  410.     ifstr(i) $(STATUS) == "NO"
  411.         set Status = STATUS_SUCCESSFUL
  412.         goto finish_DeInstallOption
  413.     endif
  414.  
  415.     shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  416.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  417.         ; this could happen if there is no start value or there is no
  418.         ; key, in which case the option is not installed
  419.         set Status = STATUS_SUCCESSFUL
  420.         goto finish_DeInstallOption
  421.     endif
  422.  
  423.     ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
  424.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
  425.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  426.             goto do_removal
  427.         endif
  428.         ifstr(i) $($R1) == "CANCEL"
  429.             goto finish_DeInstallOption
  430.         endif
  431.     endif
  432.  
  433. do_removal =+
  434.     ;
  435.     ; disable the registry entry
  436.     ;
  437.  
  438.     shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
  439.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  440.         Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
  441.         goto finish_DeInstallOption
  442.     endif
  443.  
  444.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  445.         Debug-Output "SCSI.INF: Failed to disable services entry"
  446.         goto finish_DeInstallOption
  447.     endif
  448.  
  449.     ;
  450.     ; we won't remove the file because we can only do so during the next boot.
  451.     ; if the user chooses to reinstall the same driver during this boot
  452.     ; he will still end up deleting the driver on next boot. if the file
  453.     ; should be deleted a warning should be put up saying that the user should
  454.     ; not try to reinstall the driver during this boot
  455.     ;
  456.     ;    AddFileToDeleteList $(FilePath)
  457.  
  458.     set Status = STATUS_SUCCESSFUL
  459.  
  460. finish_DeInstallOption =+
  461.     return $(Status)
  462.  
  463.  
  464. ;-------------------------------------------------------------------------
  465. ; 5. GetInstalledOptions:
  466. ;
  467. ; FUNCTION:  To find out the list of options which are installed
  468. ;
  469. ; INPUT:     $($0): Language to Use
  470. ;
  471. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  472. ;                            STATUS_FAILED
  473. ;
  474. ;            $($R1): List of options installed
  475. ;            $($R2): Option installed Text List
  476. ;-------------------------------------------------------------------------
  477. [GetInstalledOptions]
  478.     set Status = STATUS_FAILED
  479.     set InstalledOptions = {}
  480.     set InstalledOptionsText = {}
  481.  
  482.     ;
  483.     ; Check if the language requested is supported
  484.     ;
  485.     set LanguageList = ^(LanguagesSupported, 1)
  486.     Ifcontains(i) $($0) in $(LanguageList)
  487.     else
  488.         set Status = STATUS_NOLANGUAGE
  489.         goto finish_GetInstalledOptions
  490.     endif
  491.  
  492.     set OptionList = ^(Options, 0)
  493.     ForListDo $(OptionList)
  494.         set MiniportDriver = #(Options, $($), 1)
  495.         set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  496.         set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  497.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  498.         ifstr(i) $(STATUS) == "YES"
  499.             shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  500.             ifint $($ShellCode) == $(!SHELL_CODE_OK)
  501.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  502.                     ifstr(i) $($R1) != $(!SERVICE_DISABLED)
  503.  
  504.                         set OptionText = #(OptionsText$($0), $($), 1)
  505.                         set InstalledOptions     = >($(InstalledOptions), $($))
  506.                         set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
  507.  
  508.                     endif
  509.                 endif
  510.             endif
  511.         endif
  512.     EndForListDo
  513.     set Status = STATUS_SUCCESSFUL
  514. finish_GetInstalledOptions =+
  515.     Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
  516.  
  517.  
  518. ;**************************************************************************
  519. ; PROGRESS GUAGE VARIABLES
  520. ;**************************************************************************
  521.  
  522. [ProgressCopyENG]
  523.     ProCaption   = "Windows NT セットアップ"
  524.     ProCancel    = "キャンセル"
  525.     ProCancelMsg = "Windows NT は正しく組み込まれていません"+
  526.                "ファイルのコピーを中止しますか?"
  527.     ProCancelCap = "セットアップ メッセージ"
  528.     ProText1     = "コピー元:"
  529.     ProText2     = "コピー先:"
  530.  
  531. [StringsENG]
  532.     String1 = "I-O DATA Ultra ATA Bus Mastering Controller"
  533.     String2 = "I-O DATA Ultra ATA Bus Mastering Controllerファイルへのフルパスを入力してください。"+
  534.               "これらの操作が終わったら[続行]ボタンをクリックしてください。"
  535.     String3 = "この SCSI アダプタは ブート デバイスとして使用されています。削除すると"+
  536.               "システムがブートしなくなる可能性があります。"$(!LF)$(!LF)"本当に"+
  537.               "削除しますか?"
  538.  
  539. [Source Media Descriptions]
  540.     1  = "I-O DATA UIDE Controller Installation Disk"  , TAGFILE = WINNT\ATP850U.SYS
  541.  
  542. [Files-ScsiMiniportDrivers]
  543. ATP850UF = 1, ATP850U.SYS , SIZE=999
  544.  
  545.