none
Установка драйвера принтера RRS feed

  • Вопрос

  • Всем привет!
    Есть работающий VBScript(создает на компах IP порты, залевает драйвера и стивит принтер):
    ....
    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
    Set objDriver = objWMIService.Get("Win32_PrinterDriver")
    objDriver.Name = drvName
    objDriver.INFName= drvINFName
    intResult = objDriver.AddPrinterDriver(objDriver)
    ....

    Проблема с установкой драйверов, со старыми драйверами все впорядке, скочал новые, возвращает код ошибки 2. Купили 2  новых принтера HP LJ P3005 и HP LJ Color 2600n, HP LJ P3005 неставится (код ошибки 2) а HP LJ Color 2600n ставится нормально (код ошибки 0).
    Может что-то в inf файле отличается, может что-то в скрипте добавить нужно?
    30 октября 2007 г. 9:32

Ответы

  • Мне удалось решить эту проблему. Дело в том, что файлы, которые указаны в inf-файле, запакованы в cab-файлы в каталоге драйвера. Обычно это три файла - unidrv.hlp, unidrvui.dll, unidrv.dll. Я выбрал каб с префиксом "ru", чтоб русский был, распаковал их из этого каба в эту же папку и драйвер чудесно поставился скриптом с кодом выхода 0. Пробуйте.
    25 февраля 2010 г. 13:05

Все ответы

  • Не далее как сегодня занимался аналогичной задачей, и все нормально устанавливается. Вот скрипт, который использовал. Заранее приношу извинения в его неоптимальности, писал впопыхах.   Посмотрите, по сравнению с вашим участком кода есть некоторые различия.

     

     

    Образец кода

    Option Explicit

    Dim objWMIService, objNewPort, objDriver, objPrinter
    Dim strComputer, intResult


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

     

    Set objNewPort = objWMIService.Get _
        ("Win32_TCPIPPrinterPort").SpawnInstance_

    objNewPort.Name = "wc245"
    objNewPort.Protocol = 1
    objNewPort.HostAddress = "wc245"
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = True
    objNewPort.Put_

     

    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True

    Set objDriver = objWMIService.Get("Win32_PrinterDriver")

    objDriver.Name = "Xerox WorkCentre Pro 245 PS"
    objDriver.SupportedPlatform = "Windows NT x86"
    objDriver.Version = "3"
    objDriver.DriverPath = "\\Server\Distr\XeroxWC245\pscript5.dll"
    objDriver.Infname = "\\Server\Distr\XeroxWC245\XRWA55PS.INF"
    intResult = objDriver.AddPrinterDriver(objDriver)

     

    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

    objPrinter.DriverName = "Xerox WorkCentre Pro 245 PS"
    objPrinter.PortName   = "wc245"
    objPrinter.DeviceID   = "Xerox WorkCentre Pro 245 PS"
    objPrinter.Network = True
    objPrinter.Shared = False
    objPrinter.Put_

     

    MsgBox "Printer Installed", vbOKOnly + vbInformation

     

     

    31 октября 2007 г. 15:23
    Модератор
  •  osr. написано:

    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True

    Set objDriver = objWMIService.Get("Win32_PrinterDriver")

    objDriver.Name = "Xerox WorkCentre Pro 245 PS"
    objDriver.SupportedPlatform = "Windows NT x86"
    objDriver.Version = "3"
    objDriver.DriverPath = "\\Server\Distr\XeroxWC245\pscript5.dll"
    objDriver.Infname = "\\Server\Distr\XeroxWC245\XRWA55PS.INF"
    intResult = objDriver.AddPrinterDriver(objDriver)



    В том то и дело что ставится, ради эксперемента скачай последние драва на HP 4250 или HP 3005 они просто возращают ошибку 2.
    Но старые драйвера на HP 4250 (от 2004г) ставятся, это нестрашно можно и на старых поработать, а с новыми принтерами засада, одни ставятся а другие нет.
    Делал как у тебя, эфект тотже, у тебя подходящие драйвера(может по версии inf файла или еще как они отличаются).
    Можешь закоментировать все параметры кроме Name и InfName, все что нужно он из инфа возьмет.
    1 ноября 2007 г. 5:50
  • Решилась проблема или нет?

    Массово надо поставить новые драйвера от HP старые встают новые не хотят.

     

     

    18 июня 2008 г. 9:51
  •  osr. написано:

    Не далее как сегодня занимался аналогичной задачей, и все нормально устанавливается.

     

     

     

    Олег! Ты ставишь Xerox : у людей совсем другая  задача - у них HP!!!

     

    Драйвера HP это вечная проблема - мои сочувствия.... впрочем звоните в техподдержку!!!

    23 июня 2008 г. 9:21
    Модератор
  • Мне удалось решить эту проблему. Дело в том, что файлы, которые указаны в inf-файле, запакованы в cab-файлы в каталоге драйвера. Обычно это три файла - unidrv.hlp, unidrvui.dll, unidrv.dll. Я выбрал каб с префиксом "ru", чтоб русский был, распаковал их из этого каба в эту же папку и драйвер чудесно поставился скриптом с кодом выхода 0. Пробуйте.
    25 февраля 2010 г. 13:05