Error win32spl.dll, no permite imprimir
Llevo luchando contra este problema desde octubre del 2021. En esas fechas Windows actualizó su dll win32spl.dll y dejo de permitir la impresión en unas impresoras determinadas, éstas impresoras van asociadas a un Fiery que es el que gestiona colores, tamaños y demás parámetros de la impresión.
Hasta el día de hoy lo logré solventar creando un script para sustituir la dll de cada actualización por la dll que funcionaba. La última dll que me ha funcionado has sido de octubre del 2021. El tema del script y la dll buena está detallado más abajo.
Hoy he logrado descubrir cual era el problema y como solventarlo. Por seguridad, esta dll desde esas fechas prohibe el envío de datos si estos provienen de un puerto «Local Port». Nosotros usabamos Local port porque teníamos que indicarle a que cola enviamos cada impresión, si queremos imprimir directamente sin retocar nada, pues lo mandamos a la cola «print, si queremos ajustar algún parametro, lo mandamos a la cola «hold» y de esta manera podiamos crear en la configuración del puerto de la impresora como Local Port con la ruta \\192.168.1.23\print o \\192.168.1.23\hold según fuese a una u otra cola.
La solución ha sido crear, con la ayuda de un técnico que por fin nos ha prestado la ayuda necesaria, un puerto TCP/Ip que nos permitiese indicar el nombre de cola (la configuración por defecto, no muestra el nombre de cola)
Ahora a la dll en cuestión no le sienta mal que enviemos datos a esa cola y nos deja imprimir, por fin se ha solucionado nuestro problema con los Fierys y la dll win32spl.dll
El script que he utilizado hasta ahora ha sido el siguiente:
net stop spooler timeout /t 5 /nobreak del /Q /S /F C:\Windows\System32\spool\PRINTERS\*.* Takeown /F "C:\Windows\System32\win32spl.dll" icacls "C:\Windows\System32\win32spl.dll" /inheritance:e del /Q /F C:\Windows\System32\win32spl.dll.vieja ren "C:\Windows\System32\win32spl.dll" "win32spl.dll.vieja" copy C:\Windows\System32\win32spl.dll.buena C:\Windows\System32\win32spl.dll /Y net start spooler timeout /t 5 /nobreak pause
Y la dll que ha funcionado hasta el día de hoy, tanto en windows 10 como en windows 11 la dejo aquí compartida:
win32spl.dll del 15/09/2021 verisón 10.0.19041.1237
Espero que este autopost os ayude como a mi 😉