home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Plus! (NZ) 2000 September
/
PCWORLD_PLUS.iso
/
patch
/
iomega221.exe
/
custom.lib
/
OEMSCSAT.INF
< prev
next >
Wrap
INI File
|
1998-08-17
|
18KB
|
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:\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:\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