Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2012/2012 R2 (http://forum.oszone.net/forumdisplay.php?f=117)
-   -   splwow64.exe блокирует запуску приложения. (http://forum.oszone.net/showthread.php?t=342160)

diagnoz_ 12-09-2019 15:05 2887629

splwow64.exe блокирует запуску приложения.
 
Здравствуйте.
Есть терминальный сервер на Windows Server 2012R2. На него логинятся пользователи. У каждого свой рабочий стол со своими приложениями для работы. С недавнего времени появилась проблема "не запуска" специализированного приложения для предприятия. Запускаешь его, а в ответ тишина. Начал изучать проблему и наткнулся вот на что: сам процесс приложения висит в Диспетчере задач, далее анализирую цепочку ожидания для этого процесса и в цепочке вижу в подвешенном состоянии процесс splwow64.exe, который и мешает дальнейшей загрузке приложению. Стоит завершить splwow64.exe из этой цепочки, так приложение успешно открывается. Аналогично под любым пользователем у которого установлено данное приложение. Пробовал из статьи https://support.microsoft.com/ru-ru/...shes-in-window установить timeout - не помогло. Хотя это и не совсем по моей теме. Интересно, отчего этот процесс не завершается и блокирует запуск приложения? Спасибо.

Ageron 12-09-2019 15:37 2887635

Цитата:

Цитата diagnoz_
Интересно, отчего этот процесс не завершается и блокирует запуск приложения? »

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

возможно при запуске делается опрос всех доступных принтеров,
и есть те, которые уже не доступны

diagnoz_ 12-09-2019 15:49 2887636

Ageron,
думал можно попробовать удалить все подключенные принтеры для эксперимента.
Цитата:

Цитата Ageron
возможно при запуске делается опрос всех доступных принтеров, »

это да, скорее всего, раз рождается этот процесс. Как собственно и масса других приложений, например, пакет Microsoft Office.

Пробовал еще установить по умолчанию XPS, минуя сетевой принтер.

Ageron 12-09-2019 15:56 2887638

Цитата:

Цитата diagnoz_
думал можно попробовать удалить все подключенные принтеры для эксперимента. »

достаточно остановить службу, диспетчер печати

Iska 12-09-2019 18:08 2887649

Цитата:

Цитата diagnoz_
думал можно попробовать удалить все подключенные принтеры для эксперимента. »

Э… Для полного удаления надо бы зайти в свойства сервера печати и удалить сам драйвер принтера. Можете опробовать в качестве эксперимента, если простое удаление принтера не поможет.

diagnoz_ 12-09-2019 19:00 2887651

Завтра буду пробовать, да вот ситуация в том, что это приложение установлено в нескольких отделах, а в этих отделах разные принтеры. Неужели вдруг сразу все драйверы\принтеры дали "сбой". Спулер печати то один. Разве что искать виновного...

diagnoz_ 13-09-2019 07:42 2887707

Начал с минимума. Остановил print spooler и приложение успешно запустилось.

diagnoz_ 13-09-2019 08:53 2887713

Пробовал удалить принтеры как под локальным администратором так и под пользователем - не удаляются. Появляется уведомление " the operation has been cancelled due to restrictions in effect on this computer....". Удалил только через диспетчер устройств - скрытые устройства - очередь печати. Но при авторизации пользователя принтеры автоматически монтируются на него :)

diagnoz_ 13-09-2019 09:12 2887717

Попробовал отключить root print queue в диспетчере устройств. Принтеры не монтируются и пропали совсем, что логично. Но проблема не ушла. Так понимаю проблема конкретно в службе печати.

diagnoz_ 13-09-2019 11:44 2887734

Выяснил следующее: при запуске приложения, создаются ДВА процесса этого приложения и два splwow64.exe с одинаковым PID. splwow64 - это очередь печати для приложений (Print driver host for applications), а не сама подсистема печати spoolsv как таковая Из созданной цепочки: myapplication.exe - > splwow64.exe - > splwow64.exe, завершаю один, не два процесса, и приложение успешно запускается. Как я понимаю происходит переполнение очереди печати из-за формирования двух процессов и двух очередей печати.

diagnoz_ 13-09-2019 12:28 2887736

Вот скрин.

diagnoz_ 13-09-2019 12:46 2887740

Запустил Word, там такая же картина как и на скрине. Но Word отработал. Возможно это и норма, но почему не освобождается splwow64?

diagnoz_ 13-09-2019 13:10 2887745

Цитата:

Цитата diagnoz_
Word отработал »

а закрывать его - зависает. Только освободил splwow64 в процессе word.exe, завершился успешно...

diagnoz_ 13-09-2019 17:42 2887797

Кажется разобрался. С помощью Process Monitor проследил цепочку в момент формирования процессов и потоков и вышел на драйвер hp 1536. До этого пробовал удалять из сервера печати драйверы вместе с пакетами, но почти все не могли быть удалены. Принтеры кстати удалил, но не помогло.Таким образом в папке %windir%\system32\spool\drivers вышел на папку с этим драйвером. Папка под названием "3". Там сто и были "сбойные" inf-файлы. Пока без полного удаления, вырезал эту папку. Приложение запускается. splwow64 как дочерний процесс освобождается. Позже буду заниматься драйверами. Word также отлично завершается.

diagnoz_ 16-09-2019 13:58 2888202

Битва продолжается. Как выяснил, не только в драйвере hp1536 дело, но и для hp1210\1212. Удалю драйверы - приложение запускается успешно. Или же, если драйвер установлен и его не трогать, а просто установить принтер HP по умолчанию, то приложение также "висит" при запуске. Как только меняю любой "принтер" по-умолчанию, будь то OneNotes, XPS Document Writer... то программа успешно загружается. Менял различные версии драйверов - не помогает конечно же. Какие-то проблемы с доступом кажется...

Ageron 17-09-2019 10:24 2888313

Цитата:

Цитата diagnoz_
Какие-то проблемы с доступом кажется... »

вы с папкой для временных файлов ничего не делали?
делали общей для всех пользователей, переносили в другое место?

diagnoz_ 17-09-2019 10:37 2888316

Ageron,
Проблема массового характера.
https://social.technet.microsoft.com...office-with-hp
https://support.microsoft.com/en-us/...32-bit-applica
https://social.technet.microsoft.com...it-application
http://h10032.www1.hp.com/ctg/Manual/c03635717 (см. страницу 10)
и т.д. ссылок много.
поиск по ключевому слову splwow64
Пробовал устанавливать Fix - не помогает. Драйверы также менял различные. Решения как такового нет как я понял.

splwow64.exe - это подсистема печати для 32-битных приложений. 32-битные приложения не могут загружать 64-битные драйверы, поэтому им нужна подсистема WOW64. splwow64.exe - и является посредником между 32-разрядными приложениями и драйверами принтера в 64-разрядной версии Windows. Когда приложения запускается (с Office 2010 та же история) происходит связь и вызов с тем принтером, который установлен по-умолчанию и автоматически запускается файл splwow64.exe. А у меня стоит HP. На предприятии почти все HP.

Ageron 18-09-2019 09:50 2888430

Цитата:

Цитата diagnoz_
На предприятии почти все HP »

переходите на универсальный драйвер от HP, вместо установки отдельного драйвера под каждый принтер

diagnoz_ 18-09-2019 12:06 2888455

Менял драйверы как новее версией, как непосредственно под конкретную модель, так и универсальные менял на сервере печати. Ничего не помогает. Есть пару Canon - ситуация аналогичная. Пока что вариантов несколько: приложение имеет функцию экспорта в xls (работает), переустановить на Server 2008 x32 (без R2), ну или использовать 64-х разрядные пользовательские приложения, если бы такие были. Также и при открытии любого pdf-файла - splwow64.exe делает свое дело :). Да и вряд ли когда-то будет решение для старых ОС от Microsoft. Если конечно это их проблема. Форум ответов answers.microsoft.com полон такой проблемой.

diagnoz_ 18-09-2019 14:59 2888470

Как вариант пробовал добавить на север-печати x86 драйверы. Добавил, драйвер виден как х86 в списке. Но вот с терминала в свойствах принтера - дополнительно - драйвер - в списке драйвер x86 не виден, а видны только х64. Добавил также x86 драйвер на терминальный сервер - то же не видны пр смене драйвера.


Время: 18:29.

Время: 18:29.
© OSzone.net 2001-