home *** CD-ROM | disk | FTP | other *** search
INI File | 1997-05-27 | 17.9 KB | 569 lines |
- [Identification]
- OptionType = SCSI
-
- [LanguagesSupported]
- ENG
-
- [Options]
- "IMGATAPI" = imgatapi
-
- [OptionsTextENG]
- "IMGATAPI" = "Iomega ZIP IDE / ATAPI"
-
- [MiniportDrivers]
- imgatapi = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL, 257, %SystemRoot%\System32\IoLogMsg.dll , 7
-
- [Identify]
- read-syms Identification
- set Status = STATUS_SUCCESSFUL
- set Identifier = $(OptionType)
- set Media = #("Source Media Descriptions", 1, 1)
- Return $(Status) $(Identifier) $(Media)
-
- [ReturnOptions]
- set Status = STATUS_FAILED
- set OptionList = {}
- set OptionTextList = {}
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- goto returnoptions
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_ReturnOptions
- endif
-
- returnoptions = +
- set OptionList = ^(Options, 0)
- set OptionTextList = ^(OptionsText$($0), 1)
- set Status = STATUS_SUCCESSFUL
-
- finish_ReturnOptions = +
- Return $(Status) $(OptionList) $(OptionTextList)
-
-
- ;
- ; 3. InstallOption:
- ;
- ; FUNCTION: To copy files representing Options
- ; To configure the installed option
- ; To update the registry for the installed option
- ;
- ; INPUT: $($0): Language to use
- ; $($1): OptionID to install
- ; $($2): SourceDirectory
- ; $($3): AddCopy (YES | NO)
- ; $($4): DoCopy (YES | NO)
- ; $($5): DoConfig (YES | NO)
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
- ; STATUS_NOLANGUAGE |
- ; STATUS_USERCANCEL |
- ; STATUS_FAILED
- ;
-
- [InstallOption]
-
- ;
- ; Set default values for
- ;
- set Status = STATUS_FAILED
- set DrivesToFree = {}
-
- ;
- ; extract parameters
- ;
- set Option = $($1)
- set SrcDir = $($2)
- ; Added by Iomega 9-9-96
- set SrcDir = "A:\wntstuff\ide"
- set AddCopy = $($3)
- set DoCopy = $($4)
- set DoConfig = $($5)
-
- ;
- ; Check if the language requested is supported
- ;
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_InstallOption
- endif
- read-syms Strings$($0)
-
- ;
- ; check to see if Option is supported.
- ;
-
- set OptionList = ^(Options, 0)
- ifcontains $(Option) in $(OptionList)
- else
- Debug-Output "OEMSETUP.INF: SCSI option is not supported."
- goto finish_InstallOption
- endif
- set OptionList = ""
-
- ;
- ; Option has been defined already
- ;
-
- set MiniportDriver = #(Options, $(Option), 1)
- set Type = $(#(MiniportDrivers, $(MiniportDriver), 1))
- set Group = #(MiniportDrivers, $(MiniportDriver), 2)
- set ErrorControl = $(#(MiniportDrivers, $(MiniportDriver), 3))
- set Tag = #(MiniportDrivers, $(MiniportDriver), 4)
- set EventMessageFile = #(MiniportDrivers, $(MiniportDriver), 5)
- set TypesSupported = #(MiniportDrivers, $(MiniportDriver), 6)
-
- set Start = $(!SERVICE_BOOT_START)
-
- installtheoption = +
-
- ;
- ; Code to add files to copy list
- ;
-
- ifstr(i) $(AddCopy) == "YES"
- set DoActualCopy = NO
- set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
- LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
- ifstr(i) $(STATUS) == NO
- set DoActualCopy = YES
- endif
-
- ifstr(i) $(DoActualCopy) == NO
- shell "subroutn.inf" DriversExist $($0) $(String1)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "OEMSETUP.INF: shelling DriversExist failed"
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) == STATUS_CURRENT
- else-ifstr(i) $($R0) == STATUS_NEW
- set DoActualCopy = YES
- else-ifstr(i) $($R0) == STATUS_USERCANCEL
- Debug-Output "OEMSETUP.INF: User cancelled SCSI installation"
- goto finish_InstallOption
- else
- Debug-Output "OEMSETUP.INF: Error reported in DriversExist routine in SUBROUTN.INF"
- goto finish_InstallOption
- endif
- endif
-
- ifstr(i) $(DoActualCopy) == YES
-
- shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "OEMSETUP.INF: shelling DoAskSourceEx failed"
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) == STATUS_SUCCESSFUL
- set SrcDir = $($R1)
- ifstr(i) $($R2) != ""
- set DrivesToFree = >($(DrivesToFree), $($R2))
- endif
- else
- Debug-Output "OEMSETUP.INF: User cancelled asking source."
- goto finish_InstallOption
- endif
-
- install Install-AddCopyOption
- ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
- Debug-Output "Adding SCSI files to copy list failed"
- goto finish_InstallOption
- endif
- else
- set DoCopy = NO
- endif
-
- endif
-
- ifstr(i) $(DoCopy) == "YES"
- read-syms ProgressCopy$($0)
- install Install-DoCopyOption
- ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
- Debug-Output "Copying files failed"
- goto finish_InstallOption
- else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
- set Status = STATUS_USERCANCEL
- goto finish_InstallOption
- endif
- endif
-
- ifstr(i) $(DoConfig) == "YES"
- ;
- ; first run a privilege check on modifying the setup node
- ;
-
- shell "registry.inf" CheckSetupModify
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- goto finish_InstallOption
- endif
-
- ;
- ; then make a new SCSI entry, the entry is created automatically
- ; enabled
- ;
-
- set ServiceNode = $(MiniportDriver)
- set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
-
- set ServicesValues = { +
- {Type, 0, $(!REG_VT_DWORD), $(Type) }, +
- {Start, 0, $(!REG_VT_DWORD), $(Start) }, +
- {Group, 0, $(!REG_VT_SZ), $(Group) }, +
- {ErrorControl, 0, $(!REG_VT_DWORD), $(ErrorControl) }, +
- {Tag, 0, $(!REG_VT_DWORD), $(Tag) }, +
- {BinaryPathName,0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary) } +
- }
- set ParametersValues = ""
- set DeviceValues = {}
- set EventLogValues = { +
- {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
- {TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } +
- }
-
- shell "registry.inf" MakeServicesEntry $(ServiceNode) +
- $(ServicesValues) +
- $(ParametersValues) +
- $(DeviceValues) +
- $(EventLogValues) +
- Parameters
-
- ;// added last week of July 1996 by Iomega
- ;===========================================================================
- ;Make Scsidisk a system device if currently set to disabled.
-
- set KeyName = "System\CurrentControlSet\Services\Scsidisk"
- OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) ScsidiskKeyHandle
- set ScsiDiskExists = 0
- ifstr(i) $(ScsidiskKeyHandle) != ""
- set ScsiDiskExists = 1
- GetRegValue $(ScsidiskKeyHandle) Start StartInfo
- ifint *($(StartInfo),4) == 4
- SetRegValue $(ScsidiskKeyHandle) {Start,0,$(!REG_VT_DWORD),1}
- endif
- endif
- CloseRegKey $(ScsidiskKeyHandle)
- ;===========================================================================
- ;
- ; added 8/1/96 to disable atapi.sys by Iomega
- ; remove 10-11-96 for gateway with IDE Zip on secondary
- ; changed 10/28/96 just change atapi's error control to 0 so no user dialog
- ; and the same if the intel bus mastering piixide driver is there
- ; added 11/18/96 to disable error message for ATDISK.SYS by Iomega NRS
- ;===========================================================================
-
- ;Disable error message for ATDISK if currently set to enabled. And there was a ScsidiskKey Handle
- ;
- set KeyName = "System\CurrentControlSet\Services\Atdisk"
- OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) AtdiskKeyHandle
-
- set StartDisable = 4
- set Zero = 0
- ifstr(i) $(AtdiskKeyHandle) != ""
- ; Turn off the driver did not load message
- GetRegValue $(AtdiskKeyHandle) Start StartInfo
- SetRegValue $(AtdiskKeyHandle) {Start,0,$(!REG_VT_DWORD),$(StartDisable)}
- CloseRegKey $(AtdiskKeyHandle)
- endif
-
- ;Disable error message Atapi if currently set to enabled. And there was a ScsidiskKey Handle
- ;
- set KeyName = "System\CurrentControlSet\Services\Atapi"
- OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) AtapiKeyHandle
-
- set StartDisable = 4
- set Zero = 0
- ifstr(i) $(AtapiKeyHandle) != ""
- ; Turn off the driver did not load message
- GetRegValue $(AtapiKeyHandle) Start StartInfo
- SetRegValue $(AtapiKeyHandle) {Start,0,$(!REG_VT_DWORD),$(StartDisable)}
- CloseRegKey $(AtapiKeyHandle)
- endif
-
- set KeyName = "System\CurrentControlSet\Services\Piixide"
- set Device = "Device0"
- OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) PiixideKeyHandle
- ; if the PIIXIDE driver (intel bus mastering) then add "AtapiOnly" to our driver parameters
- ifstr(i) $(PiixideKeyHandle) != ""
- GetRegValue $(PiixideKeyHandle) Start StartInfo
- CloseRegKey $(PiixideKeyHandle)
- ifint *($(StartInfo),4) <= 3
- LoadLibrary "Iomega ZIP IDE / ATAPI Driver Disk - Win NT" a:\wntstuff\IDE\Oemsetup.dll DllHandle
- ifstr(i) $(DllHandle) != ""
- LibraryProcedure Result $(DllHandle) MakeAtapiOnly
- FreeLibrary $(DllHandle)
- endif
- ; 11-5-96 TLM I never could get the SetRegValue below to work! so I wrote a DLL!
- ; "OEMSETUP.DLL" contains the function MakeAtapiOnly which will set the ImgAtapi Parameter to
- ; "AtapiOnly"
- ; ; Turn off the driver did not load message for intel bus mastering (PIIXIDE)
- ; SetRegValue $(PiixideKeyHandle) {ErrorControl,0,$(!REG_VT_DWORD),$(ErrorsOff)}
- ; set KeyName = "System\CurrentControlSet\Services\imgatapi"
- ; OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) ImgatapiKeyHandle
- ; ifstr(i) $(ImgatapiKeyHandle) != ""
- ; CreateRegKey $(ImgatapiKeyHandle) {"Parameters\Device0", $(Zero), GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" $(ImgatapiKeyHandle)
- ; FlushRegKey $(ImgatapiKeyHandle)
- ; CloseRegKey $(ImgatapiKeyHandle)
- ; set KeyName = "System\CurrentControlSet\Services\imgatapi\Parameters\Device0"
- ; OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) ImgatapiKeyHandle
- ;
- ; ifstr(i) $(ImgatapiKeyHandle) != ""
- ; set AtapiOnly = "AtapiOnly"
- ; set DriverParameter = "DriverParameter"
- ; SetRegValue $(ImgatapiKeyHandle) ( $(DriverParameter), +
- ; $(Zero), +
- ; $(!REG_VT_SZ), +
- ; $(AtapiOnly))
- ; endif
- ; CloseRegKey $(ImgatapiKeyHandle)
- ; endif
- endif
- endif
- ;===========================================================================
-
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- Debug-Output "MakeServicesEntry failed for SCSI"
- goto finish_InstallOption
- endif
-
- endif
-
- set Status = STATUS_SUCCESSFUL
- finish_InstallOption = +
- ForListDo $(DrivesToFree)
- LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
- EndForListDo
-
- Return $(Status)
-
-
- [Install-AddCopyOption]
-
- ;
- ; Add the files to the copy list
- ;
- AddSectionKeyFileToCopyList Files-ScsiMiniportDrivers +
- $(MiniportDriver) +
- $(SrcDir) +
- $(!STF_WINDOWSSYSPATH)\drivers
-
- exit
-
-
- [Install-DoCopyOption]
-
- ;
- ; Copy files in the copy list
- ;
- CopyFilesInCopyList
- exit
-
- ;-------------------------------------------------------------------------
- ; 4. DeInstallOption:
- ;
- ; FUNCTION: To remove files representing Option
- ; To remove the registry entry corresponding to the Option
- ;
- ; INPUT: $($0): Language to use
- ; $($1): OptionID to install
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
- ; STATUS_NOLANGUAGE |
- ; STATUS_USERCANCEL |
- ; STATUS_FAILED
- ;-------------------------------------------------------------------------
- [DeInstallOption]
- ;
- ; Set default values for
- ;
- set Status = STATUS_FAILED
- ;
- ; extract parameters
- ;
- set Option = $($1)
-
- ;
- ; Check if the language requested is supported
- ;
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_DeInstallOption
- endif
- read-syms Strings$($0)
-
- ;
- ; check to see if Option is supported.
- ;
-
- set OptionList = ^(Options, 0)
- ifcontains $(Option) in $(OptionList)
- else
- goto finish_DeInstallOption
- endif
- set OptionList = ""
-
- ;
- ; fetch details about option
- ;
-
- set MiniportDriver = #(Options, $(Option), 1)
- set MiniportFile = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
- set FilePath = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
-
- ;
- ; check to see if file is installed
- ; if not give success
- ;
-
- LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
- ifstr(i) $(STATUS) == "NO"
- set Status = STATUS_SUCCESSFUL
- goto finish_DeInstallOption
- endif
-
- shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
- ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
- ; this could happen if there is no start value or there is no
- ; key, in which case the option is not installed
- set Status = STATUS_SUCCESSFUL
- goto finish_DeInstallOption
- endif
-
- ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
- shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- goto do_removal
- endif
- ifstr(i) $($R1) == "CANCEL"
- goto finish_DeInstallOption
- endif
- endif
-
- do_removal =+
- ;
- ; disable the registry entry
- ;
-
- shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "OEMSETUP.INF: Failed to shell RemoveServicesEntry"
- goto finish_DeInstallOption
- endif
-
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- Debug-Output "OEMSETUP.INF: Failed to disable services entry"
- goto finish_DeInstallOption
- endif
-
- ;
- ; we won't remove the file because we can only do so during the next boot.
- ; if the user chooses to reinstall the same driver during this boot
- ; he will still end up deleting the driver on next boot. if the file
- ; should be deleted a warning should be put up saying that the user should
- ; not try to reinstall the driver during this boot
- ;
- ; AddFileToDeleteList $(FilePath)
-
- set Status = STATUS_SUCCESSFUL
-
- finish_DeInstallOption =+
- return $(Status)
-
-
- ;-------------------------------------------------------------------------
- ; 5. GetInstalledOptions:
- ;
- ; FUNCTION: To find out the list of options which are installed
- ;
- ; INPUT: $($0): Language to Use
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
- ; STATUS_FAILED
- ;
- ; $($R1): List of options installed
- ; $($R2): Option installed Text List
- ;-------------------------------------------------------------------------
- [GetInstalledOptions]
- set Status = STATUS_FAILED
- set InstalledOptions = {}
- set InstalledOptionsText = {}
-
- ;
- ; Check if the language requested is supported
- ;
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_GetInstalledOptions
- endif
-
- set OptionList = ^(Options, 0)
- ForListDo $(OptionList)
- set MiniportDriver = #(Options, $($), 1)
- set MiniportFile = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
- set FilePath = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
- LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
- ifstr(i) $(STATUS) == "YES"
- shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
- ifint $($ShellCode) == $(!SHELL_CODE_OK)
- ifstr(i) $($R0) == STATUS_SUCCESSFUL
- ifstr(i) $($R1) != $(!SERVICE_DISABLED)
-
- set OptionText = #(OptionsText$($0), $($), 1)
- set InstalledOptions = >($(InstalledOptions), $($))
- set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
-
- endif
- endif
- endif
- endif
- EndForListDo
- set Status = STATUS_SUCCESSFUL
- finish_GetInstalledOptions =+
- Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
-
-
- ;**************************************************************************
- ; PROGRESS GUAGE VARIABLES
- ;**************************************************************************
-
- [ProgressCopyENG]
- ProCaption = "Windows NT Setup"
- ProCancel = "Cancel"
- ProCancelMsg = "Windows NT is not correcly installed. Are you sure you want "+
- "to cancel copying files?"
- ProCancelCap = "Setup Message"
- ProText1 = "Copying:"
- ProText2 = "To:"
-
- [StringsENG]
- String1 = "SCSI Adapter"
- String2 = "Please enter the full path to the OEM SCSI "+
- "Adapter files. Then choose Continue."
- String3 = "The SCSI Adapter has been marked as a boot device. Removing "+
- "it may cause the system not to boot."$(!LF)$(!LF)"Are you sure "+
- "you want to remove the Adapter."
-
- [Source Media Descriptions]
- 1 = "Iomega ZIP IDE / ATAPI Driver Disk" , TAGFILE = disk1
-
-
- [Files-ScsiMiniportDrivers]
- imgatapi = 1,imgatapi.sys , SIZE=50000
-