- Поиск в реестре настроек (DEVMODE и прочих) сетевого принтера для разных версий Windows
- Windows реестр настройки принтера
- Вопрос
- Решение проблем с печатью в Windows
- Ошибка при предоставлении общего доступа к принтеру «Не удалось сохранить параметры принтера. Невозможно завершить операцию (ошибка 0x000006d9).»
- Не удается очистить очередь печати принтера, или зависает при запуске служба spoolsv
- Faulting application spoolsv.exe, version XXX, faulting module unknown, version 0.0.0.0, fault address unknown
- Отключение уведомлений о печати в системном лотке Windows
- Сбой при запуске Spoolsv.exe
- Произвольные зависания print spooler после установки принтера HP
- Решение проблемы, связанной с файлом Hpbmmon.dll
- Решение проблемы, связанной с файлами Hpzpi4wm.dll или Hpzpp4wm.dll
- Решение проблемы, связанной с файлом HPtcpMon.dll
Поиск в реестре настроек (DEVMODE и прочих) сетевого принтера для разных версий Windows
Доброе время суток!
Если коротко сформулировать вопрос: где в реестре находится DEVMODE по умолчанию для сетевого принтера и где находится копия DEVMODE для сетевого принтера для локального пользователя? Так же интересно какие отличия в пути к DEVMODE в реестре у XP, Vista и Windows 7,8.
Далее в деталях:
Озаботился с поиском в реестре DEVMODE структуры для сетевых принтеров (для локальных и с самой DEVMODE уже разобрался).
В связи с этим возникли вопросы:
1. Копирует ли винда для сетевого принтера в реестре настройки DEVMODE в локального пользователя в HKEY_CURRENT_USER\Printers\Connections\,,PrintServer,PrinterName? (спрашиваю потому что не нашел их там, но возможно просто не инициировал это копирование) или же DEVMODE сетевого принтера копируется в HKEY_CURRENT_USER\Printers\DevModes2\PrinterName?
В Windows 7 настройки по умолчанию DEVMODE для сетевого принтера ищутся в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\S-1-5-21-2499520557-3571156519-1839909518-1144\Printers\Connections\,,PrintServer,PrinterName
где S-1-5-21-2499520557-3571156519-1839909518-1144 это UserId
в связи с этим 2 вопроса
1. Всегда ли в пути присутствует «Client Side Rendering Print Provider» или это имя может изменяться в зависимости от типа подключения?
2. Где искать и как вытаскивать средствами c# или из реестра этот UserId S-1-5-21-2499520557-3571156519-1839909518-1144 дабы подставить его в этот путь?
В Windows XP (к сожалению не имею её чтобы проверить) путь к DEVMODE сетевого принтера иной
этот ключ совпадает с windows 7 HKEY_CURRENT_USER > Printers > Connections
а этого я не нашел в 7ке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers\Printers
в 7ке ключ обрывается на уровне отсутствующего «LanMan Print Services«
п.с. для локальных принтеров на всех версиях винды начиная с XP DevMode для текущего пользователя хранится в HKEY_CURRENT_USER\Printers\DevModePerUser\PrinterName
и если отсутствуе то вытаскивается из
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\PrinterName\Default DevMode
а вот что за ветка эта HKEY_CURRENT_USER\Printers\DevModes2?
В одном из примеров видел что когда меняют DEVMODE для сетевого или локального принтера в этой ветке меняют тоже, из того что нашел в сети это связано с сетевыми принтерами, но что конкретно непонятно. Возможно это как раз та ветка в которой хранится DEVMODE сетевого принтера для локального пользователя?
Просветите пожалуйста или направьте по ссылке. Перерыл уже пол инета, ничего толкового по настройкам сетевых принтеров в реестре не нашел.
Windows реестр настройки принтера
Вопрос
Возникла ситуация, есть клиентский комп. на нем ос 7 про х86. в домене. у него висит принтер. Печатает принтер, но с портаком, а именно: когда печатаешь больше 1-ой странице, выходит сообщение на дисплее принтера: типа неправильно установлена кассета, нажмите восстановить или отменить. Нажмешь отменить — он печатает след. вторую и тд страницы. нажмешь восстановить — печатает предыдущую и остальные страницы. И так каждый раз при печати если выше 1 страницы. То есть нужно жмакать там кнопки на принтере.
Решили что проблема в принтере. Я подрубил к себе на комп. поставил дрова. у меня работает и ничего не спрашивает. Серия принтера canon mf 4700 USB — по сети не могу подрубить, нет сетевой точки лишней и этот вариант не устраивает.
1. Пытался настроить в настройках самого принтера, в нем естественно настройки копировальника только не более
2. Удалил из консоли управления печатью, принтер и его дрова оттуда. Затем подключил и установил принтер с другими дровами, — такая же проблема.
Мысть такая пришла, что нужно удалить теперь с реестра и с c:\\windows\system32\. — ну вот где то там. Не хочу удалить и тронуть лишнее поэтому пишу сюда.
Подскажите пожалуйста в каких каталогах еще хранится?? к примеру c:\\windows\sys32\spool\drivers\ могу я там все удалить )))0 ?
Решение проблем с печатью в Windows
Ошибка при предоставлении общего доступа к принтеру «Не удалось сохранить параметры принтера. Невозможно завершить операцию (ошибка 0x000006d9).»
Для устранение ошибки необходимо:
- Включить службу брэндмауэра (жмем правой клавишей на значке «Мой компьютер» и выбираем пункт «управление», далее находим пункт «службы», в появившемся списке выбираем брэндмауэр Windows и запускаем ее).
- Даем принтеру общий доступ.
- Отключаем брэндмауэр, если он нам не нужен.
P.S. Проверьте, что у вас запущена служба «сервер».
Не удается очистить очередь печати принтера, или зависает при запуске служба spoolsv
Для решения проблемы необходимо:
- Остановить службу Print Spooler (диспетчер печати)
- Очистить содержимое папки:
C:\Windows\System32\spool\PRINTERS - Запустить службу Print Spooler (диспетчер печати)
Вот командный (.BAT) файл для очистки очереди печати:
Faulting application spoolsv.exe, version XXX, faulting module unknown, version 0.0.0.0, fault address unknown
На одном компьютере под управлением ОС Windows XP, пропали все принтеры в «Принтеры и Факсы». На лицо остановка службы «Диспетчер очереди печати» (spooler). Но при попытке запустить службу, она сразу останавливается, в Журнале (Event) при этом сразу появляется сообщение вида: Faulting application spoolsv.exe, version , faulting module unknown, version 0.0.0.0, fault address unknown. Способы с остановкой службы, очисткой каталога C:\WINDOWS\system32\spool\PRINTERS и последующим запуском не давали никакого результата. Пришлось действовать координально.
Качаем Windows Server 2003 Resource Kit Tools, нам нужен Cleanspl.exe (Spooler Cleaner). Очищаем. Служба должна после очистки стартовать без проблем. Осталось установить драйвера для принтеров по новой. Но есть одна проблема, после очистки и последующей установке драйвера принтера, который подключен не по USB, а по сети (Ethernet), нам потребуется Standard TCP/IP Port, но его нет в списке.
Для того чтобы вернуть Standard TCP/IP Port, нужно восстановить ветки в реестре [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port].
Содержимое готового reg файла:
Аналогично, возникнут проблемы подключения принтера по USB, до тех пор пока мы не восстановим ветку [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\USB Monitor]
Содержимое reg файла:
Лучше всего конечно восстановить сразу всю ветку: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors]
Отключение уведомлений о печати в системном лотке Windows
В уведомлениях о печати обычно не содержится никаких полезных сведений. Если они раздражают, их можно отключить.
- Откройте меню «Пуск» (Start) и выберите опцию «Принтеры и факсы» (Printers and Faxes).
- В появившемся окне выберите опцию «Свойства сервера» (Print Server Properties) в меню «Файл» (File). В Windows 7 соответствующая кнопка расположена прямо на панели инструментов.
- Откройте вкладку «Дополнительные параметры» (Advanced).
- Снимите флажок «Показывать уведомления локальных принтеров» (Show Informational Notifications For Local Printers).
- При необходимости снимите также флажок «Показывать уведомления сетевых принтеров» (Show Informational Notifications for Network Printers).
- Нажмите «OK» и закройте окно «Принтеры и факсы».
В зависимости от конфигурации системы, может потребоваться отключить уведомления как локальных, так и сетевых принтеров.
Сбой при запуске Spoolsv.exe
Если открыть окно свойств принтера, появляется следующее сообщение об ошибке: Недостаточно ресурсов.
При попытке печати документа появляется сообщение об ошибке «Нарушение прав доступа» (программа Dr. Watson). В журнале программы Dr. Watson присутствует запись об ошибке в программе Spoolsv.exe с кодом ошибки C0000005.
Появляется следующее сообщение об ошибке и диспетчер очереди печати останавливается: Инструкция по адресу ‘адрес’ обратилась к памяти по адресу ‘адрес’. Память не может быть «read». Такое же сообщение появляется при попытке перезапуска службы «Диспетчер очереди печати» и при открытии папки «Принтеры».
Причиной проблемы может являться то, что используемый по умолчанию монитор локального порта заменен программой независимого производителя. Чтобы устранить ошибку, необходимо внести изменения в системный реестр. Для этого выполните следующие действия:
- Откройте редактор реестра.
- Найдите параметр Local Port в следующем разделе реестра. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port
- Дважды щелкните параметр Driver и измените его значение. Введите строковое значение Localspl.dll и нажмите кнопку ОК.
- Проверьте, присутствуют ли мониторы независимых производителей в следующем разделе реестра.
Удалите все мониторы, кроме используемых по умолчанию.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors
По умолчанию используются следующие мониторы.
AppleTalk Printing Devices (присутствует, если установлены службы для Macintosh)
BJ Language Monitor
Local Port
PJL Language Monitor
Standard TCP/IP Port
USB Monitor
Windows NT Fax Monitor
** LPR Port
Примечание. Удаление монитора LPR Port должно выполняться только по рекомендации специалиста службы технической поддержки корпорации Майкрософт. - Проверьте, присутствуют ли службы печати сторонних производителей в следующем разделе реестра.
Удалите все службы печати, кроме используемых по умолчанию.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers
По умолчанию используется следующие службы печати:
Internet Print Provider
LanMan Print Services - Проверьте, присутствуют ли обработчики печати сторонних производителей в следующем разделе реестра.
Удалите все обработчики печати, кроме используемых по умолчанию.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors
По умолчанию используется следующий обработчик печати
WinPrint
Чтобы определить обработчик печати, используемый принтером, с помощью средства
MPS_REPORTS (Microsoft Product Support Reporting Tool) откройте файл MachineName_PRINTDRIVERS.TXT
и найдите в нем нужный обработчик печати независимого производителя и очереди, которые его используют. - Замените обработчик печати независимого производителя обработчиком WinPrint:
- Нажмите кнопку Пуск и выберите в меню Настройка пункт Панель управления.
- Дважды щелкните значок Принтеры, щелкните правой кнопкой мыши нужный принтер и выберите команду Свойства.
- Перейдите на вкладку Дополнительно и нажмите кнопку Обработчик печати.
- В списке Обработчик печати выберите WinPrint.
- Дважды нажмите кнопку ОК.
- Закройте редактор реестра.
После внесения изменений в реестр перезапустите диспетчер очереди печати.
Для этого запустите консоль управления (MMC) и добавьте оснастки «Управление компьютером» или
«Службы». Щелкните правой кнопкой мыши службу Диспетчер очереди печати и выберите команду Пуск.
Произвольные зависания print spooler после установки принтера HP
Проблемы связаны с одним или несколькими из следующих файлов:
Hpbmmon.dll (HP Master Monitor)
Hpzpi4wm.dll (HP Print Processor)
Hpzpp4wm.dll (HP Print Processor)
HPtcpMon.dll (HP TCP Port monitor)
Решение проблемы, связанной с файлом Hpbmmon.dll
Для решения этой проблемы необходимо удалить HP Master Monitor. Для этого выполните следующие шаги:
- Запустите редактор реестра.
- Откройте следующий ключ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\HP Master Monitor - В меню «Файл» выберите «Экспорт».
- В поле «имя файла» введите HPprinter и нажмите «Сохранить».
- Кликните правой кнопкой мыши на разделе HP Master Monitor и выберите «Удалить».
- Нажмите «Да»
- Выйдите из редактора реестра и перезагрузите компьютер.
- Переименуйте файл Hpbmmon.dll file в «Hpbmmon.old.» Этот файл находится по этому адресу:
C:\WINDOWS\system32\Hpbmmon.dll
Решение проблемы, связанной с файлами Hpzpi4wm.dll или Hpzpp4wm.dll
Обратите внимание: если этот принтер не работает с WinPrint, следующие шаги могут не работать. В этом случае свяжитесь с HP для обновления «обработчика печати» («Print Processor») HPZPP4WM до более новой версии.
- Нажмите «Старт», и выберите «Панель управления».
- Откройте «Принтеры и факсы».
- Кликните правой кнопкой на принтере и выберите «Свойства».
- Откройте вкладку «Дополнительно» и кликните на «Обработчик печати» («Print Processor»).
- Выберите «WinPrint» в окне «Обработчик печати», выберите RAW в качестве типа данных по умолчанию. Нажмите «ОК» два раза.
- Переименуйте файл Hpzpi4wm.dll в «Hpzpi4wm.old.» Файл находится по следующему адресу:
C:\WINDOWS\system32\spool\drivers\w32x86\3\Hpzpi4wm.dll. - Переименуйте файл Hpzpp4wm.dll file в «Hpzpp4wm.old.». Файл находится по следующему адресу:
C:\WINDOWS\system32\spool\PRTPROCS\W32X86\Hpzpp4wm.dll
Решение проблемы, связанной с файлом HPtcpMon.dll
- Запустите редактор реестра
- Откройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\HP Standard TCP/IP Port - В меню «Файл» выберите «Экспорт».
- В поле «имя файла» введите HPprinter и нажмите «Сохранить».
- Кликните правой кнопкой мыши на разделе HP Standard TCP/IP Port и выберите «Удалить».
- Нажмите «Да»
- Откройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port - Кликните 2 раза на ключ реестра «Driver» и проверьте, что его значение — tcpmon.dll
Обратите внимание: если ключ реестра Driver не существует или же его значение не tcpmon.dll, создайте ключ реестра Driver и выставьте его значение в tcpmon.dll. Для этого:- В меню «Правка» выберите «Создать» и выберите «Строковый параметр» (String value).
- Укажите название «Driver».
- Кликните правой кнопкой мыши на Driver и выберите «Изменить».
- Введите новое значение tcpmon.dll и нажмите ОК.
- Закройте редактор реестра и перезагрузите компьютер.
- Переименуйте файл HPtcpMon.dll в «HPtcpMon.old». Этот файл находится по следующему адресу:
C:\WINDOWS\system32\HPTcpMon.dll
Продукты третьих фирм, которые описываются в этой статье, разработаны компаниями, которые не зависят от Microsoft. Microsoft не может гарантировать работоспособность или производительность данных продуктов.