[Identification] OptionType = PRINTER [Options] "HP LaserJet 4MV" = rasddui, hppcl5ms, rasdd "HP LaserJet 4V" = rasddui, hppcl5ms, rasdd [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) [InstallOption] set Status = STATUS_FAILED set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) else set Status = STATUS_NOLANGUAGE goto finish_InstallOption endif read-syms Strings$($0) set OptionList = ^(Options, 0) ifcontains $(Option) in $(OptionList) else goto finish_InstallOption endif set OptionList = "" set ConfigOption = #(Options, $(Option), 1) set DataOption = #(Options, $(Option), 2) set DriverOption = #(Options, $(Option), 3) installtheoption = + ifstr(i) $(AddCopy) == "YES" install Install-AddCopyOption ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS" Debug-Output "Adding video files to copy list failed" goto finish_InstallOption 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" set DriverPath = $(!STF_PRNDRIVERPATH)"\"#(Files-PrinterDriver, $(DriverOption), 2) set DataFilePath = $(!STF_PRNDRIVERPATH)"\"#(Files-PrinterData, $(DataOption), 2) set ConfigFilePath = $(!STF_PRNDRIVERPATH)"\"#(Files-PrinterConfig, $(ConfigOption), 2) LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(DriverPath) ifstr(i) $(STATUS) == YES LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(DataFilePath) ifstr(i) $(STATUS) == YES LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(ConfigFilePath) endif endif ifstr(i) $(STATUS) == NO set OptionText = #(OptionsText$($0), $(Option), 1) shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String4)$(OptionText)$(String5) Debug-Output "Copying printer files failed" goto finish_InstallOption endif install Install-Configure ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE" Debug-Output "Installing printer driver failed" goto finish_InstallOption else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT" set Status = STATUS_USERCANCEL goto finish_InstallOption endif ifstr(i) $(STATUS) != "ADDED" set OptionText = #(OptionsText$($0), $(Option), 1) ifstr(i) $(STATUS) == "PRESENT" shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String1)$(OptionText)$(String2) set Status = STATUS_SUCCESSFUL else-ifstr(i) $(STATUS) == "DENIED" shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String6) else shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String1)$(OptionText)$(String7) endif goto finish_InstallOption endif endif set Status = STATUS_SUCCESSFUL finish_InstallOption = + Return $(Status) [Install-AddCopyOption] set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionKeyFileToCopyList Files-PrinterConfig + $(ConfigOption) + $(SrcDir) + $(!STF_PRNDRIVERPATH) AddSectionKeyFileToCopyList Files-PrinterData + $(DataOption) + $(SrcDir) + $(!STF_PRNDRIVERPATH) AddSectionKeyFileToCopyList Files-PrinterDriver + $(DriverOption) + $(SrcDir) + $(!STF_PRNDRIVERPATH) AddSectionKeyFileToCopyList Files-PrinterDriverHelp + $(DriverOption) + $(SrcDir) + $(!STF_PRNDRIVERPATH) exit [Install-DoCopyOption] CopyFilesInCopyList exit [Install-Configure] set Model = $(Option) set Driver = #(Files-PrinterDriver, $(DriverOption), 2) set DataFile = #(Files-PrinterData, $(DataOption), 2) set ConfigFile = #(Files-PrinterConfig, $(ConfigOption), 2) LibraryProcedure STATUS,$(!LIBHANDLE), SetupAddPrinterDriver + $(Model) + $(!STF_PRNENVIRONM) + $(Driver) + $(DataFile) + $(ConfigFile) + $(!STF_PRINTSERVER) exit [ExternalInstallOption] Set !G:DebugOutputControl = 0 set Exit_Code = $(!SETUP_ERROR_GENERAL) set DrivesToFree = {} install LoadSetupLibrary ifstr(i) $(STF_LANGUAGE) == "" goto end else-ifstr(i) $(OPTION) == "" goto end else-ifstr(i) $(ADDCOPY) == "" goto end else-ifstr(i) $(DOCOPY) == "" goto end else-ifstr(i) $(DOCONFIG) == "" goto end endif read-syms PlatformID read-syms ProductType ifstr(i) $(STF_PLATFORM) == $(PlatformID_I386) set STF_PRNPLATFORM = "w32x86" set STF_PRNENVIRONM = "Windows NT x86" else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_Mips) set STF_PRNPLATFORM = "w32mips" set STF_PRNENVIRONM = "Windows NT R4000" else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_Alpha) set STF_PRNPLATFORM = "w32alpha" set STF_PRNENVIRONM = "Windows NT Alpha_AXP" else goto end endif read-syms UiVars detect UiVars read-syms Strings$(STF_LANGUAGE) ifstr(i) $(STF_SRCDIR) != $(STF_CWDDIR) goto skip_asksource endif set STF_SRCDIR = A:\ shell "registry.inf" GetNTSource ifint $($ShellCode) != $(!SHELL_CODE_OK) else-ifstr(i) $($R0) != STATUS_SUCCESSFUL else set STF_SRCDIR = $($R1) endif shell "subroutn.inf" DoAskSource $(STF_SRCDIR) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "shelling DoAskSource failed" goto end endif ifstr(i) $($R0) == STATUS_SUCCESSFUL set STF_SRCDIR = $($R1) ifstr(i) $($R2) != "" set DrivesToFree = >($(DrivesToFree), $($R2)) endif else goto end endif skip_asksource = + LibraryProcedure IsFullPath, $(!LIBHANDLE), CheckPathFullPathSpec $(STF_PRNDRIVERPATH) ifstr(i) $(IsFullPath) == "NO" LibraryProcedure STATUS, $(!LIBHANDLE), ProcessForUNC $(STF_PRNDRIVERPATH) ifstr(i) $(STATUS) == "ERROR" shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3) goto end else-ifstr(i) $(STATUS) == "NOT-UNC" shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3) goto end else-ifstr(i) $(STATUS) == "UNC-FAILCONNECT" shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3) goto end else set STF_PRNDRIVERPATH = $(STATUS) endif endif shell "" InstallOption $(STF_LANGUAGE) $(OPTION) $(STF_SRCDIR) $(ADDCOPY) $(DOCOPY) $(DOCONFIG) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "Execing InstallOption failed" 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 =+ ForListDo $(DrivesToFree) LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE" EndForListDo install FreeSetupLibrary exit [LoadSetupLibrary] LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE exit [FreeSetupLibrary] FreeLibrary $(!LIBHANDLE) exit [PlatformID] PlatformID_I386 = I386 PlatformID_Mips = Mips PlatformID_Alpha = Alpha [UiVars] STF_CONTROLSET = CurrentControlSet STF_WINDOWSPATH = "" ? $(!LIBHANDLE) GetWindowsNtDir STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir STF_PRNDRIVERPATH = "" ? $(!LIBHANDLE) GetPrinterDriverDir $(!STF_PRINTSERVER) $(!STF_PRNENVIRONM) [Source Media Descriptions] 1 = "Windows NT Workstation CD-ROM or Setup Disk #4" , TAGFILE = disk1.w 2 = "Windows NT Workstation CD-ROM or Setup Disk #5" , TAGFILE = disk2.w 3 = "Windows NT Workstation CD-ROM or Setup Disk #6" , TAGFILE = disk3.w 4 = "Windows NT Workstation CD-ROM or Setup Disk #7" , TAGFILE = disk4.w 5 = "Windows NT Workstation CD-ROM or Setup Disk #8" , TAGFILE = disk5.w 6 = "Windows NT Workstation CD-ROM or Setup Disk #9" , TAGFILE = disk6.w 7 = "Windows NT Workstation CD-ROM or Setup Disk #10", TAGFILE = disk7.w 8 = "Windows NT Workstation CD-ROM or Setup Disk #11", TAGFILE = disk8.w 9 = "Windows NT Workstation CD-ROM or Setup Disk #12", TAGFILE = disk9.w 10 = "Windows NT Workstation CD-ROM or Setup Disk #13", TAGFILE = disk10.w 11 = "Windows NT Workstation CD-ROM or Setup Disk #14", TAGFILE = disk11.w 12 = "Windows NT Workstation CD-ROM or Setup Disk #15", TAGFILE = disk12.w 13 = "Windows NT Workstation CD-ROM or Setup Disk #16", TAGFILE = disk13.w 14 = "Windows NT Workstation CD-ROM or Setup Disk #17", TAGFILE = disk14.w 15 = "Windows NT Workstation CD-ROM or Setup Disk #18", TAGFILE = disk15.w 16 = "Windows NT Workstation CD-ROM or Setup Disk #19", TAGFILE = disk16.w 17 = "Windows NT Workstation CD-ROM or Setup Disk #20", TAGFILE = disk17.w 18 = "Windows NT Workstation CD-ROM or Setup Disk #21", TAGFILE = disk18.w 19 = "Windows NT Workstation CD-ROM or Setup Disk #22", TAGFILE = disk19.w 20 = "Windows NT Workstation CD-ROM or Setup Disk #23", TAGFILE = disk20.w 21 = "Windows NT Workstation CD-ROM or Setup Disk #24", TAGFILE = disk21.w 22 = "Windows NT Workstation CD-ROM or Setup Disk #25", TAGFILE = disk22.w 23 = "Windows NT Workstation CD-ROM or Setup Disk #26", TAGFILE = disk23.w 24 = "Windows NT Workstation CD-ROM or Setup Disk #27", TAGFILE = disk24.w 25 = "Windows NT Workstation CD-ROM or Setup Disk #28", TAGFILE = disk25.w 26 = "Windows NT Workstation CD-ROM or Setup Disk #29", TAGFILE = disk26.w 27 = "Windows NT Workstation CD-ROM or Setup Disk #30", TAGFILE = disk27.w 28 = "Windows NT Workstation CD-ROM or Setup Disk #31", TAGFILE = disk28.w 29 = "Windows NT Workstation CD-ROM or Setup Disk #32", TAGFILE = disk29.w 30 = "Windows NT Workstation CD-ROM or Setup Disk #33", TAGFILE = disk30.w [Signature] FileType = MICROSOFT_FILE [GetSignature] read-syms Signature return $(FileType) [ProductType] STF_PRODUCT = WinNT STF_PLATFORM = Alpha [Files-PrinterConfig] rasddui = 14,RASDDUI.DLL , SIZE=99999 [Files-PrinterData] hppcl5ms = 13,HPPCL5MS.DLL , SIZE=99999 [Files-PrinterDriver] rasdd = 13,RASDD.DLL , SIZE=99999 [Files-PrinterDriverHelp] rasdd = 16,RASDDUI.HLP , SIZE=99999 [LanguagesSupported] ENG [OptionsTextENG] "HP LaserJet 4MV" = "HP LaserJet 4MV" "HP LaserJet 4V" = "HP LaserJet 4V" [StringsENG] String1 = "The printer model " String2 = " is already installed." String3 = "Failed to connect to the print server." String4 = "The driver files for the printer model " String5 = " couldn't be copied. Failed to install the printer model." String6 = "Access is denied. You must be logged on as a member of the Administrators "+ "group to carry out this operation." String7 = " could not be installed." [ProgressCopyENG] ProCaption = "Windows NT Setup" ProCancel = "Cancel" ProCancelMsg = "Windows NT is not correctly installed. Are you sure you want "+ "to cancel copying files?" ProCancelCap = "Setup Message" ProText1 = "Copying:" ProText2 = "To:"