INSTALL.INF Driver File Contents (QMSDesklaser600windows2000orXPTESTEDWORKING12-2001.zip)

;--------------------------------------------------------------------
; QMS DeskLaser600 printer setup for Windows NT
;--------------------------------------------------------------------
[ProcessorID]
    ProcessorID_I386  = I386
    ProcessorID_I486  = I486
    ProcessorID_I586  = I586
[PlatformID]
    PlatformID_I386   = I386
[ProcessorVar]
    STF_PROCESSOR = "" ? $(!LIBHANDLE) GetProcessor
[LanguageVar]
    STF_LANGUAGE   = "" ? $(!LIBHANDLE) GetLanguage
[UiVars]
    STF_NTDRIVE        = ""
    STF_NTPATH         = ""
    STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
    STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
    STF_PRNMONITORPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
    STF_INSTALL_MODE = "CUSTOM"
    STF_INSTALL_TYPE = "MAINTENANCE"
    STF_UPGRADE      = "YES"
    STF_CONTROLSET   = "CurrentControlSet"
    STF_COMPUTERNAME = "" ? $(!LIBHANDLE) GetMyComputerName
[VarsI386]
	DefaultVideo   = "VGA"
[ProductType]
	STF_PRODUCT  = Winnt
	STF_PLATFORM = I386

[Shell Commands]
    set Exit_Code = $(!SETUP_ERROR_GENERAL)
;
;Set Titel
;
    set-title "QMS DeskLaser600 Printer Setup"

    LoadLibrary "x" $(!STF_CWDDIR)\setupdll.dll !LIBHANDLE
    set-subst LF = "\n"
    StartWait
    read-syms LanguageVar
    detect    LanguageVar
    read-syms ProcessorID
    read-syms PlatformID
    read-syms ProductType
    read-syms ProcessorVar
    detect    ProcessorVar
    read-syms MsgStrings$(!STF_LANGUAGE)

    ifstr(i) $(STF_PLATFORM) != $(PlatformID_I386)
        EndWait
        shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "FATAL" $(MsgString10)
        StartWait
        goto end
    endif
	read-syms Vars$(!STF_PLATFORM)
	Split-String $(!STF_SRCINFPATH) "\\" DestinationList
	QueryListSize ListSize $(DestinationList)
	set STF_SRCDIR = ""
	ForListDo $(DestinationList)
		ifint $(#) != $(ListSize)
			set STF_SRCDIR = $(!STF_SRCDIR)$($)
		endif
	EndForListDo
	read-syms UiVars
	detect    UiVars
	set !STF_NTPATH = $(!STF_WINDOWSSYSPATH)
	GetDriveInPath !STF_NTDRIVE $(!STF_WINDOWSSYSPATH)

	shell "registry.inf" CheckSetupModify
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto end
	else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
		EndWait
		shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString3)
		StartWait
		goto end
	endif
	set HelpDisp = 0

Welcome = +
;
    read-syms CustomDlgMsg$(!STF_LANGUAGE)
    EndWait
    ui start "WELCOME"
    ifstr(i) $(DLGEVENT) == "OK"
        ui pop 1
        StartWait
        goto dosetup
    else
        ui pop 1
        StartWait
        set Exit_Code = $(!SETUP_ERROR_USERCANCEL)
        goto end
    endif

dosetup = +
	shell "" DoInstall
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto end
	endif
	ifstr(i) $($R0) == STATUS_SUCCESSFUL
		set Exit_Code = $(!SETUP_ERROR_SUCCESS)
	else-ifstr(i) $($R0) == STATUS_USERCANCEL
		set Exit_Code = $(!SETUP_ERROR_USERCANCEL)
	endif

end = +
    EndWait
    FreeLibrary $(!LIBHANDLE)
    exit


[DoInstall]
	set Status = STATUS_FAILED
	read-syms MsgStrings$(!STF_LANGUAGE)
	set SrcDir = $(!STF_SRCDIR)
	;
	; [ Parallel Class Driver ]
	;
	shell "" GetInstalledOptions $(!STF_LANGUAGE)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
		EndWait
		shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString1)
		goto skip_install
	endif
	ifstr(i) $($R0) != STATUS_SUCCESSFUL
		EndWait
		shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString1)
		set Status = $($R0)
		goto skip_install
	endif
	QueryListSize ListSize $($R1)
    shell "" InstallOption $(!STF_LANGUAGE) "M353Par" $(SrcDir) "YES" "YES" "YES"
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        EndWait
        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString1)
        goto skip_install
    endif
    ifstr(i) $($R0) != STATUS_SUCCESSFUL
        set Status = $($R0)
        EndWait
        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString1)
        goto skip_install
    endif
    ;
    ; [ Status Monitor ]
    ;
    install AddFilesToCopyList_StMonitor
    ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
        Debug-Output "Adding files to copy list failed"
        EndWait
        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString2)
        goto skip_install
    endif
    read-syms ProgressCopy$(!STF_LANGUAGE)
    install InstallCopyFilesOption
    ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
        Debug-Output "Copying files failed"
        EndWait
        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString2)
        goto skip_install
    else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
        set Status = STATUS_USERCANCEL
        EndWait
        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(MsgString2)
        goto skip_install
    endif

    set Status = STATUS_SUCCESSFUL
    EndWait
    shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "STATUS" $(MsgString12)

skip_install = +
    StartWait
    Return $(Status)


[AddFilesToCopyList_StMonitor]
	;
	; Add the files to the copy list
	;
	AddSectionFilesToCopyList StatusMonitorFiles +
							  $(SrcDir)           +
							  $(!STF_WINDOWSSYSPATH)
	exit

[AddFilesToCopyList_ClassDriver]
	;
	; Add the files to the copy list
	;
	AddSectionKeyFileToCopyList Files-Drivers         +
								$(OurDriver)                 +
								$(SrcDir)                      +
								$(!STF_WINDOWSSYSPATH)\drivers
	exit

[InstallCopyFilesOption]
	;
	; Copy files in the copy list
	;
	CopyFilesInCopyList
	exit




;------------------------------------------------------------------------
;InstallOption:
;------------------------------------------------------------------------
[InstallOption]

    ;
    ; Set default values for
    ;
    set Status   = STATUS_FAILED
;    set DrivesToFree = {}

    ;
    ; Check if NONE or UNKNOWN
    ;
    ifstr(i) $($1) == NONE
        set Status = STATUS_SUCCESSFUL
        goto finish_InstallOption
    else-ifstr(i) $($1) == UNKNOWN
        set Status = STATUS_SUCCESSFUL
        goto finish_InstallOption
    endif

    ;
    ; extract parameters
    ;
    set Option   = $($1)
    set SrcDir   = $($2)
    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
        goto finish_InstallOption
    endif
    set OptionList = ""

    ;
    ; Option has been defined already
    ;

    set OurDriver      =   #(Options,   $(Option),    1)
    set Type             = $(#(Drivers, $(OurDriver), 1))
    set Group            =   #(Drivers, $(OurDriver), 2)
    set ErrorControl     = $(#(Drivers, $(OurDriver), 3))
    set Dependencies     =   #(Drivers, $(OurDriver), 4)
    set EventMessageFile =   #(Drivers, $(OurDriver), 5)
    set TypesSupported   =   #(Drivers, $(OurDriver), 6)

    set Start            = $(#(DriversStart, $(OurDriver), 1))
    set DependOnGroup    = {"Parallel arbitrator"}
    set DependOnService  = {"Parport"}
    set ParametersValues = { +
                       {"TransferType",    $(Notitle), $(!REG_VT_DWORD), 0   },  +
                       {"UseNT35Priority", $(Notitle), $(!REG_VT_DWORD), 1   },  +
                       {"DosDevice",       $(Notitle), $(!REG_VT_SZ), "Bi_LPT"},  +
                       {"BusyTime",        $(Notitle), $(!REG_VT_DWORD), 3000} }

installtheoption = +

    ;
    ; Code to add files to copy list
    ;

    ifstr(i) $(AddCopy) == "YES"
        set DoActualCopy = NO
        set FileToCheck = #(Files-Drivers, $(OurDriver), 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 driver 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 DoAskSource 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 AddFilesToCopyList_ClassDriver
            ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
                Debug-Output "Adding mouse files to copy list failed"
                goto finish_InstallOption
            endif
        else
            set DoCopy = NO
        endif

    endif

    ifstr(i) $(DoCopy) == "YES"
        read-syms ProgressCopy$($0)
        install InstallCopyFilesOption
        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 driver entry, the entry is created automatically
        ; enabled
        ;

        set ServiceNode      = $(OurDriver)
        set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-Drivers, $(OurDriver), 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)   }, +
                {Dependencies,   0, $(!REG_VT_MULTI_SZ),  {$(Dependencies)} }, +
                {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)  }  +
                }
        ifstr(i) $(DependOnGroup) != {}
            set ServicesValues = >($(ServicesValues),{DependOnGroup, 0, $(!REG_VT_MULTI_SZ), $(DependOnGroup) })
        endif
        ifstr(i) $(DependOnServices) != {}
            set ServicesValues = >($(ServicesValues),{DependOnService,0,$(!REG_VT_MULTI_SZ),$(DependOnService)})
        endif
;        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

        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 driver"
            goto finish_InstallOption
        endif

    endif

    set Status = STATUS_SUCCESSFUL
finish_InstallOption = +

    Return $(Status)



;-------------------------------------------------------------------------
;GetInstalledOptions:
;-------------------------------------------------------------------------
[GetInstalledOptions]
    set Status = STATUS_FAILED
    set InstalledOptions = {}
    set InstalledOptionsText = {}

	Debug-Output "Enter:[M353Par.inf] GetInstalledOptions "
	; language check
	set LanguageList = ^(LanguagesSupported, 1)
	Ifcontains(i) $($0) in $(LanguageList)
	else
		set Status = STATUS_NOLANGUAGE
		goto finish_GetInstalledOptions
	endif

	set OptionList = ^(Options, 0)
	Debug-Output "[M353Par.inf] OptionList=$(OptionList) "

	ForListDo $(OptionList)
		Debug-Output "Enter ForListDo! "
		set OurDriver = #(Options, $($), 1)
		set OurFile   = #(Files-Drivers, $(OurDriver), 2)
		set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(OurFile)
		Debug-Output "[M353Par.inf] $(OurDriver) $(OurFile) $(FilePath)"

		LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
		Debug-Output "Passed : LibraryProcedure"
		ifstr(i) $(STATUS) == "YES"
			shell "registry.inf" GetServicesEntryStart $(OurDriver)
			Debug-Output "AAA:$($ShellCode) $($R0) $($R1)"
			ifint $($ShellCode) == $(!SHELL_CODE_OK)
				Debug-Output "Passed : ShellCode"
				ifstr(i) $($R0) == STATUS_SUCCESSFUL
					Debug-Output "Passed : R0"
					ifstr(i) $($R1) != $(!SERVICE_DISABLED)
						Debug-Output "Passed : R1"
						set OptionText = #(OptionsText$($0), $($), 1)
						set InstalledOptions     = >($(InstalledOptions), $($))
						set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
						Debug-Output "OptionText = $(OptionText)"
						Debug-Output "InstalledOptions = $(InstalledOptions)"
						Debug-Output "InstalledOptionsText = $(InstalledOptionsText)"
					endif
				endif
			endif
		endif
	EndForListDo
	set Status = STATUS_SUCCESSFUL
finish_GetInstalledOptions =+
	Debug-Output "End Section [GetInstalledOptions] $(Status) $(InstalledOptions) $(InstalledOptionsText)"
	Return $(Status) $(InstalledOptions) $(InstalledOptionsText)




;**************************************************************************
;**************************************************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Parallel Port Driver
;
;

;-----------------------------------------------------------------------
; OPTION TYPE
; -----------
; This identifies the Option type we are dealing with.  The different
; possible types are:
;
; COMPUTER, VIDEO, POINTER, KEYBOARD, LAYOUT, SCSI, TAPE, PRINTER, ...
;-----------------------------------------------------------------------
[Identification]
    OptionType = Driver

;-----------------------------------------------------------------------
; LANGUAGES SUPPORTED
; -------------------
;
; The languages supported by the INF, For every language supported
; we need to have a separate text section for every displayable text
; section.
;
;-----------------------------------------------------------------------
[LanguagesSupported]
    ENG

;-----------------------------------------------------------------------
; OPTION LIST
; -----------
; This section lists the Option key names.  These keys are locale
; independent and used to represent the option in a locale independent
; manner.
;
;-----------------------------------------------------------------------
[Options]
    M353Par = M353Par

;-----------------------------------------------------------------------
; OPTION TEXT SECTION
; -------------------
; These are text strings used to identify the option to the user.  There
; are separate sections for each language supported.  The format of the
; section name is "OptionsText" concatenated with the Language represented
; by the section.
;
;-----------------------------------------------------------------------
[OptionsTextENG]
    M353Par = "QMS DeskLaser600 Parallel Class Driver"

;-----------------------------------------------------------------------------------------
; DRIVERS
; -------
; Order of the information:
;
; driver = Type, Group, ErrorControl, Dependencies, EventMessageFile, TypesSupported
;
; NOTE: \ in the dependency list means that the dependency is on a group.
;-----------------------------------------------------------------------------------------
[Drivers]
    M353Par = !SERVICE_KERNEL_DRIVER, "Extended Base" , !SERVICE_ERROR_NORMAL, "", "%SystemRoot%\System32\IoLogMsg.dll"   , 7

[DriversStart]
    M353Par = !SERVICE_AUTO_START


;**************************************************************************
; PROGRESS GUAGE VARIABLES
;**************************************************************************

[MsgStringsENG]
	MsgString1  = "Installation failed! ( Parallel Class Driver)"
	MsgString2  = "Installation failed! ( Status Monitor)"
	MsgString3  = "You can't setup. "$(!LF)+
					 "Please log on the PC using an user account"$(!LF)+
					 "that has Full Control permission"
	MsgString10 = "This INSTALL.INF file isn't a match for this computer."
;	MsgString11 = "Can't install the printer driver on your PC's processor."+
;					 $(!LF)$(!LF)"Installation failed."
	MsgString12 = "Installation of Parallel Class Driver/Status Monitor are Completed."$(!LF)$(!LF)+
					 "Please setup a printer continually."

[CustomDlgMsgENG]
	DlgType     = "MessageBox"
	DlgTemplate = "WELCOME"
	STF_MB_TITLE = "Printer set up for QMS DeskLaser600"
	STF_MB_TEXT = $(LF)$(LF)+
		"You can install drivers"$(LF)+
		"              Parallel Class Driver"$(LF)+
		"              Status Monitor "$(LF)$(LF)+
		"If you continue a installation, you click the OK button."$(LF)+
		"If you cancel an installation, you click the CANCEL button."
	STF_MB_TYPE = 2
	STF_MB_DEF = 1
	STF_MB_ICON = 5
	OK = "OK (&O)"
	CANCEL = "Cancel (&C)"


[ProgressCopyENG]
	ProCaption   = "QMS DeskLaser600 Driver Setup"
	ProCancel    = "CANCEL(&A)"
	ProCancelMsg = "Status Monitor is not installed."+
					"Are you cancel setup of printer driver?"
	ProCancelCap = "CANCEL"
	ProText1     = "From:"
	ProText2     = "To  :"

[ProgressCopyENG]
	ProCaption   = "Driver Setup"
	ProCancel    = "CANCEL(&A)"
	ProCancelMsg = "Parallel class driver is not installed."+
					"Are you cancel setup of printer driver?"
	ProCancelCap = "CANCEL"
	ProText1     = "From:"
	ProText2     = "To  :"

[StringsENG]
	String1 = "QMS DeskLaser600 Parallel Class Driver"


[Source Media Descriptions]
	1 = "QMS DeskLaser600 Paralle Class Driver Setup Disk" , TAGFILE = disk1

[StatusMonitorFiles]
	1,m353st.exe, OVERWRITE=VERIFYSOURCEOLDER
	1,m353st.hlp, OVERWRITE=VERIFYSOURCEOLDER
;	1,m353st.gid,  OVERWRITE=VERIFYSOURCEOLDER

[Files-Drivers]
	M353Par = 1, M353Par.SYS



Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web1, load: 0.94