When you try to print files or documents from within a Microsoft Office program like Word, Excel, Publisher, etc., and see the printing error message; Function address caused a protection fault along with some error codes, then this post will help you fix the errors.
When the print job fails, you receive the following instance of the error message;
Function address 12345 caused a protection fault.
(exception code 12345)
The application property sheet page(s) may not function properly.Some or all property page(s) may not be displayed.
Why does Function address caused a protection fault error occur?
Most users encountering this printing error report that they see the error whenever they try to print from within an Office application. Remember that this error message has various instances with different error codes. However, the underlying causes are the same – consequently, the same fixes should work on all the instances of this error.
You might encounter the error message due to one or more (but not limited to) of the following known causes:
- The correct printer is not set as the default.
- Outdated printer driver.
- Corrupt printer subkeys.
- System file corruption – System file corruption is a less likely but a possible culprit for this problem. Typically, it appears after a security scan ended up quarantining some items used by the printing service.
Fix Function address caused a protection fault
If you face a Function address caused a protection fault printing error, you can try the following solutions to resolve the issue.
- Run Printer Troubleshooter
- Run SFC and DISM scans
- Change the default printer
- Update printer driver
- Uninstall the printer driver, rename printing subkeys, and restart the Print Spooler service
- Change LegacyDefaultPrinterMode registry key Value data
- Perform System Restore
Let’s get into the details of each method.
Function address caused a Protection Fault – Printing error on Windows 11/10
1] Run Printer Troubleshooter
Running the Windows 11/10 in-built Troubleshooter will restart your printer and drivers, check for any errors, and fix them. Your printer must be connected during the entire procedure.
To run the Printer Troubleshooter on Windows 10, do the following:
- Click Start and select Settings.
- Go to Update and Security.
- Click the Troubleshooter tab.
- Scroll down and click on Printers.
- Click the Run the troubleshooter button.
- Follow on-screen instructions and apply any recommended fixes.
To run Printer Troubleshooter on Windows 11,
- Press Windows + I to open Settings
- Navigate to System > Troubleshoot > Other troubleshooters
- Scroll down and click on Run beside the Printer
- The troubleshooter will now run and fix issues, if any
Afterward, try printing and see if the Function address caused a protection fault printing error is resolved. If not, continue with the next solution.
2] Run SFC and DISM scans
The SFC and DISM utilities on Windows allow users to scan and repair corruptions in Windows system files and Windows system image respectively.
For ease and convenience, you can run the scan using the procedure below.
Open Notepad on your Windows PC and copy/paste the following content.
@echo off date /t & time /t echo Dism /Online /Cleanup-Image /StartComponentCleanup Dism /Online /Cleanup-Image /StartComponentCleanup echo ... date /t & time /t echo Dism /Online /Cleanup-Image /RestoreHealth Dism /Online /Cleanup-Image /RestoreHealth echo ... date /t & time /t echo SFC /scannow SFC /scannow date /t & time /t pause
- Save the file with a name and append the .bat file extension – eg; SFC_DISM_scan.bat
- Repeatedly run the batch file with admin privilege (right-click the saved file and select Run as Administrator from the context menu) until it reports no errors.
- Restart your PC.
Try the print job again and see if the issue is resolved. If not proceed with the next solution.
3] Change the default printer
The Function address caused a protection fault printing error can also occur in a situation where the printer that you want to use is not set up as the default in the Windows settings.
To change the default printer on Windows 10,
- Click on the Start button and search for Printers and scanners. Click on Printers & Scanners.
- In Printers & scanners settings, scroll down on the right pane and uncheck the Allow Windows to manage my default printer setting.
- Now, click the printer that you want to use and click on Set as default.
To change the default printer on Windows 11,
- Open the Settings app
- Select Bluetooth & devices and click on Printers & scanners
- Toggle the button off beside Let Windows manage my default printer.
- Now, click on the Printer you want to set as default to open its settings. In the printer settings, click on Set as default.
After you establish the correct printer as the default, restart your computer and see if the printing error is resolved. If not continue with the next solution.
Read: How to reset Printer to default factory settings.
4] Update printer driver
This solution requires you to make sure you have installed the latest print drivers for your printer. You can download the latest version of the printer driver from the manufacturer’s website based on your model and install it. If you have trouble finding the drivers, you can use third-party driver updating programs to update the drivers.
Check if it has fixed the issue.
5] Uninstall the printer driver, rename printing subkeys, and restart the Print Spooler service
This process involves a series of tasks (which involves uninstalling the printer driver, renaming printing subkeys, and restarting the Print Spooler service) that you need to complete to see if the Function address caused a protection fault printing error can be resolved.
Do the following:
- Log in to the affected computer.
- Press the Windows key + X to open the Power User Menu, then press the M key to open Device Manager.
- Once you’re inside Device Manager, navigate through the list of installed devices and expand the Print queues drop-down menu.
- Next, right-click on the printer driver that you want to remove and choose Uninstall Device.
- Click Uninstall once again to confirm the process.
Once the uninstall process completes, you can exit the Device Manager.
- Next, press the Windows key + R to invoke the Run dialog box.
- In the Run dialog box, type printui.exe /s /t2 and hit Enter to open up the Printer Server Properties UI.
- Once you’re inside the Print Server Properties screen, go to the Drivers tab and select the driver that is causing the issue. With the driver selected, click the Remove button.
- You’ll then be prompted by the Remove Driver And Package dialog.
- Select the radio button for Remove driver only.
- Click OK.
Once the process is complete, you can exit the Print Server Properties screen.
- Now press the Windows key + R to open up another Run dialog box.
- Type regedit inside the text box and press Enter to open up Registry Editor.
Important: Back up the registry before you continue with this procedure so that you can be able to restore the registry in the event something goes wrong.
- Navigate or jump to the registry key path below:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\
At the location, proceed to rename any subkeys or keys under Print Processors with the .old extension. This will force Windows to disregard those keys and create new folders and values instead.
Note: In this case, there’s just one subkey (winprint), so we renamed it to winprint.old.
Once this step is complete, you can safely close Registry Editor.
- Again, invoke the Run dialog box and type services.msc inside the text box and press Enter to open up the Services window.
- In the Services window, locate the Print Spooler service.
- Right-click on Print Spooler and select Properties.
- In the Properties window, click Stop.
This will stop the print queue process. Keep the Print Spooler Properties window open.
- Now, open File Explorer and navigate to the following location:
C:\WINDOWS\system32\spool\PRINTERS
- Delete all the files in the Printers folder.
If you don’t see any files, click the View tab and check the Hidden Items box.
- Close the File Explorer window.
- In the Print Spooler Properties window, click the Start button to restart the service.
Restart your computer once again and reinstall the necessary printer drivers at the next computer startup. Try the print job once more and see if the issue is resolved.
6] Change LegacyDefaultPrinterMode registry key Value data
In this solution, to resolve the Function address caused a protection fault printing error, you’ll need to change LegacyDefaultPrinterMode registry key Value data in Registry Editor.
Here’s how:
Remember to back up the registry.
- Navigate or jump to the registry key path below:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
- On the right pane, double-click LegacyDefaultPrinterMode to edit its properties.
- Set the Value data to 1.
This will return to the old default printer behavior under Windows 10.
- Click OK to save changes.
- Restart PC.
Check to see if the issue is resolved.
7] Perform System Restore
If you noticed that the Function address caused a protection fault printing error has started to occur recently, it’s entirely possible that the issue was facilitated by a change that your system has gone through recently.
If you have no idea what changed that might have broken the printing functionality of your Office applications, you need to perform a system restore to restore normalcy to your PC while printing.
Related read: Cannot print from Excel? Fix Excel printing problems in Windows 11/10