I had no problem printing until the "print nightmare" bug. The print server was patched very quickly back then by our IT service. After that, I could not access the print server at all (which is normal). After installing the latest ESU updates, I could access it again, but I cannot print anymore, the spooler crashes. I have uninstalled the drivers and driver packages. Re-installing the printer works fine, drivers are downloaded. I can print a test page from the driver, and for some reason printing an image from Windows Photo Viewer works as well.
However, printing from Adobe Acrobat, Microsoft word, Notepad, etc. makes splwow64 crash. Actually I cannot even try to print: selecting the printer in the application print menu creates the error (I suppose, when the application tries to acces the printer to know its status). When printing from Acrobat it says the issue is with splwow64.exe, with Word it says winword.exe, but it's the same error, happening at the same moment when trying to print.
Is there anything I can try to do? The only thing I noticed is that the driver that is installed when installing the printer does not seem to be the latest one to be available from the printer manufacturer. From what I understand it is not possible to install another newer driver on the client than the one that the print server provides. Or at least I couldn't find how, is that really the case?
What is splwow64.exe? How to fix splwow64.exe error effectively? If you are not clear about them, then you come to the right place. This post of MiniTool will focus on splwow64.exe, including its basic information like definition, file size, and location, and solutions to splwow64 exe error.
Thunking of Spooler APIs is a Windows core process that makes 32-bit applications compatible with 64-bit system, while Splwow64.exe is an executable component of Thunking of Spooler APIs. Hence, splwow64.exe can be viewed as a Windows core system file as well.
However, splwow64.exe error sometimes occurs during the execution of a certain action on the computer. This error can happen to Windows 7/8/8.1/10. How to fix this error? The section below explores the possible causes behind the error and then provides you with some fixes based on that.
Step 2: Click the Printers & scanners option and move to the right side of the window. Find the printer that you suspect for the issue and then click on it. Click Manage option from the prompted menu.
Step 3: In the next window, choose a method to update your printer driver. As implied by the name, the Search automatically for updated driver software option can update the driver automatically, while the Browse my computer for driver software option requires you update the item manually. After selecting the option, follow the on-screen instruction to finish the process.
I understand that this process allows 32-bit applications to communicate with 64-bit printer drivers on a 64-bit system, and that the process should terminate when the application is finished communicating with the printer, i.e. when the print job has completed.
I realise that this behaviour indicates an underlying issue with a particular printer driver installed on the system, however, the server is running a set of ancient printers whose drivers cannot be updated.
The splwow64.exe process now consumes between 250KB-1MB RAM when the print job is sent, and this RAM is then subsequently released successfully by the process (previously the process was consuming 65MB-500MB RAM per print job, which wasn't then being released).
We have a print driver that captures the name of the printing exe within the driver's UI module. It does this by using the GetModuleFileName function. This works well until a 32-bit prints on a 64-bit machine. In that scenario Windows invokes splwow64.exe to print on behalf of the 32-bit application, and so GetModuleFileName returns "splwow64.exe" as the printing app rather than the one that is actually doing the printing.
We attempted to solve this by capturing splwow64.exe's parent process with the Toolhelp32 API, but this is not reliable since splwow64 remains loaded once the first app finishes printing in order to service other apps. This means that the parent process may or may not be the process that's actually printing. So far, we have been unable find any files or named pipes or other IPC objects that connect splwow64 and the printing application.
Microsoft released a hot fix (KB2815716) that causes splwow64 to terminate after a user-specified timeout period, but that doesn't solve the problem because splwow64.exe remains in memory indefinitely as long as the first printing app that invoked it remains loaded. It completely ignores the timeout the hot fix provides. (I would consider this a Windows bug.)
The solution can reside in a print driver or in a user-mode application -- either is fine. We would strongly prefer not to use techniques involving API hooking or code injection since those actions tend to be flagged by anti-virus software.
The GetPrintExecutionData function looks to provide the information you want. It does assume you're running in the context of the spooler, but from the question, that doesn't seem to be a problem. The function returns a PRINT_EXECUTION_DATA structure with a member
The issue referenced in KB2815716 may still affect this. I am assuming that the KB install has been verified and that the timeout is the default (2min) or non-zero. The KB is a little ambiguous about whether it's the process requesting printing that must terminate, or whether it's the print job that has to terminate. Also, if terminal services is involved in any way with the printing, as in KB2513330, then you may need to set the Sysprocs key.
Some Windows users are seeing a SPLwow64.exe error prompt whenever they attempt to deploy a certain action on their computer. For some users, this issue occurs when they attempt to execute a printing job, while others report that they see this type of error popup with every program that they attempt to open. This issue is confirmed to occur on Windows 7, Windows 8.1, and Windows 10.
This Windows native process is used to translate the print driver model of a 64-bit operating system and a 32-bit program. Issues associated with this executable are typically reported to occur if the executable is not closed automatically once the job is finished.
This method was used by a lot of affected users and the majority of them have reported that once they have disabled the Render print jobs on client computers feature from the Sharing tab of their printer Settings, the error pop up went away permanently.
If the first method was ineffective in your case, the next thing you should do is delete a couple of problematic registry keys that might hold conflicting data that is triggering this SPLwow64.exe error popup.
Several affected users dealing with the same kind of issue have reported that they were finally able to fix this problem by navigating to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers inside Registry Editor and deleting a couple of sub-keys prior to stopping the printer spooler and deleting the associated files.
As some affected users have reported, if this issue is somehow caused by the printer spooler service or printer dependency, this utility might hold an automated fix capable of fixing the issue. Keep in mind that Microsoft regularly updates these troubleshooters with new automated fixes to tackle various situations where this issue might appear.
Note: Depending on the type of fix that gets recommended, you might need to follow a series of additional manual steps.
Several affected users dealing with the same issue have managed to get the issue resolved by using Device Manager to delete every port created for this particular printer and reinstalling healthy new equivalents (either generic or dedicated).
Keep in mind that a couple of years ago, there was a surge of users encountering this issue due to a bad driver update that broke the functionality of this global driver on Windows 10. During that time, Xerox managed to resolve the issue swiftly by releasing a hotfix via a new iteration of that driver.
I am using a HP ENVY 4520 Printer. I have it attached to my PCs (Windows 7 Professional, ServicePack 1, all MS-Fixes applied) via a Printer-Server. Printing from 64-application works fine, but when printing from a 32-bit application (e.g. Thunderbird) I get the error-popup:
thanky a lot for your fast response! I tried what you suggested but when I pushed on the "Windows update" - button I got a long list of printer-drivers but a "ENVY 4524" was not listed, only a "ENVY 7640". I tried this printer but got the same results (crash in hpygidudm.dll).Please advise what I could do next.
SplWow64.exe 8192 is a system file in Windows operating systems that allows 32-bit applications to run on a 64-bit system. It is responsible for the compatibility between the two architectures. However, sometimes errors can occur with this file, causing issues with application execution.
If the issue persists, you can try reinstalling the affected application or repairing your Windows installation. Sometimes, the error is caused by a conflict between the application and the system files. Finally, if all else fails, you can seek assistance from Microsoft support or consult online forums and communities for further guidance.
c80f0f1006