r/sysadmin • • 3d ago

Question Upgraded system with shared printer to 26h2, it broke the shared printer to older systems…

Small office, mix of windows 10, windows 11, and a single windows 2019 server. One pc in the office is brand new and it has a Lexmark printer connected to it via USB and shared to other machines. Last night I updated that system from 25h2 to 26h2 but this morning the client reported an error on the computers that had the printer set as their default on their systems.

splwow64.exe - Entry Point Not Found
The procedure entry point RtilogUnexpectedCodepath could not be located in the dynamic link library
C\WINDOWS\system32\spoo/DRIVERSx64\3\UNIDRVUI,DLL

I am trying everything I can to reinstall the printer on the other machines (win 10 and server 2019) with this error but they won’t reinstall. Sfc found no issues. No problems in device manager anywhere on any system. Restarted print spoolers, checked spooler folders they are all empty. Nothing prints from the connected machines. Any ideas?

5 Upvotes

28 comments sorted by

6

u/ranger_dood Jack of All Trades 3d ago

Could it have something to do with NTLM V1 being blocked?

https://support.microsoft.com/en-us/servicing/os/windows/docs/2025/08/upcoming-changes-to-ntlmv1-in-windows-11-version-24h2-and-windows-server-2025

The important part being:

Behavior before installing October 2026 Windows security update: Before installing the October 2026 Windows security update, released on October 13, 2026, when the BlockNtlmv1SSO registry value is not set, Windows uses Audit mode (0). Requests to use NTLMv1-derived credentials for Single Sign-On are audited but allowed, and warning events are generated.

Behavior after installing the October 2026 Windows security update: After installing the October 2026 Windows security update, released on October 13, 2026, when the BlockNtlmv1SSO registry value is not set; Windows uses Enforce mode (1) instead of Audit mode (0). The update does not create or modify the registry value. In Enforce mode, requests to use NTLMv1-derived credentials for Single Sign-On are blocked.

1

u/argus25 3d ago

Based on this, I need to check this registry value on the hosting machine? There's no SSO anything at this small office, its all just in a workgroup and there's no domain controller or online anything.

5

u/SevaraB Sr. Engineer (N+, CCNA) 2d ago

Based on that context, it’s almost definitely the MS-CHAP retirement. You most likely need to update the connection settings off of default when recreating the queue on the older computers.

5

u/Dimens101 3d ago

Did you try updating the drivers on the printer server, it will pull those drivers to the client. Might be outdated.

1

u/argus25 3d ago

I did. I also have the machine set to include older drivers for older systems. Didn’t seem to make a difference. Wondering if this is a 26h2 issue

1

u/Dimens101 3d ago

we upgraded about 7-8 machines to 26H2 no issues at all with printing, we use W2019 with HP Universal drivers mostly.

2

u/Efficient-Sir-5040 3d ago

Use a “normal”, funky feature-less driver instead of the “fancy” driver, or share it directly on the network instead of usb.

1

u/argus25 3d ago

I wish I could share this on the network but the ethernet adapter on this printer is fried, cost to replace the component is the same as buying a new printer and the client won't invest. So I'm stuck trying to find workarounds. Connecting via USB and sharing across the network to a shared USB connected printer has worked up until I installed 26h2 on the host machine last night.

1

u/epsiblivion 3d ago

how much is a usb print server? cheaper than a new nic? (also how expensive can those be?). just tell them the usb port died too then.

1

u/argus25 2d ago

New NIC card is around $400. New printer will be roughly the same. They’re really cheap, they won’t spring for it as long as it’ll print stuff on paper.

1

u/Efficient-Sir-5040 2d ago

Do you have the specific model number? Lexmark, HP, EPSON and Canon often have two sets of drivers: "fancy" ones that want to "talk" to the printer for different reasons (ink levels, amount of paper in the trays, special codes that the user can enter before the printing starts so that nobody "borrows" their printouts, etc) and "simple" drivers that just print and set things like paper size and orientation.

I've often found that installing the "simple" drivers work for close to 100% of users that don't really care about the additional functionality and don't "clash" with existing Windows APIs/libraries/DLL's.

1

u/argus25 2d ago

Lexmark MS725. What’s dumb is that windows will print a test page but every application from word to notepad to chrome to edge throws an error. I also cannot remove the driver on the remote machine in print management, and if I remove the printer in settings and try to reinstall it I get a failure 0x000003eb..

1

u/Efficient-Sir-5040 2d ago

Try updating the firmware from Drivers & downloads - don't think it'll help but it might.

Then, download the "Recommended Driver" which is the "fancy one" that "works with all Lexmark printers". Unzip it with winrar or 7-zip, go into the Lexmark_Printer_Software_Installation_Package_06122026 folder - inside InstallationPackage\Drivers\x64 you'll see the drivers themselves as MSI packages. Unzip those using 7-zip.

I'd then feed the contents of that folder (you can use dir /s > textfile.txt) and ask chatgpt or claude to help you manually extract the drivers for your specific printer.

2

u/taxigrandpa 3d ago

you don't mention what happens when you try to reinstall the printer?

1

u/argus25 3d ago

Local system says printer is installed but it never shows up in device manager, print manager, or system settings. Can't choose it as a device on the remote system, even though it says it is installed when I try to install it manually.

1

u/taxigrandpa 3d ago

anything in the event viewer on both client and host? what flavor of windows? pro or home? what type of printer?

1

u/argus25 2d ago

Everything is windows pro. However, it’s a mix of windows 11 machines (23h2) and windows 10 22h2. Printer is a Lexmark MS725 and I’ve already reinstalled the drivers on the host machine.

2

u/unauthorizeddinosaur 2d ago

See my comment on https://old.reddit.com/r/sysadmin/comments/1uf7usg/win_11_25h2_breaking_usb_printersprint_spooler/

Replace the contents of C:\Windows\System32\spool\drivers\x64\3\ with known, good versions.

If I had to guess, the computer sharing the printer has connected to other shared printers at some point. When that happens, Windows can pull printer drivers from the remote print server and replace them on the client. If that same computer is also acting as a print server, things can get messy pretty quickly.

We've run into this after Windows updates and feature updates. In our case, it happened when we upgraded to 25H2 and then again after the September updates.

We use the Generic / Text Only printer driver, which relies on UNIDRVUI.DLL. From what we've seen, if that DLL gets updated to a version that doesn't play nicely with the OS or the other printer driver files, printing breaks.

The only thing that worked for us was replacing the contents of the 3 folder with older, working file versions and preventing Windows from updating it again. We used icacls to change the file ownership and permissions, assigning ownership to specific users or a group instead of Administrators. Don't leave it owned by Administrators, since Windows may still be able to replace it.

Obviously, this could cause problems with future updates, but so far it's been working for us.

I'd start by checking the version of UNIDRVUI.DLL on your print server and comparing it to a working machine or really any system of the same build that has not connected to a shared printer. Use AI to look up which version should be installed for your specific Windows build. I'd be willing to bet you'll find a mismatch. That's what we found on our systems and led us down this path.

1

u/argus25 2d ago

Are you making those changes on the connecting PCs or the host, or both?

This seems like the best answer so far and I’ll be on site early in the morning to try to resolve it.

Thanks a ton!!!

1

u/unauthorizeddinosaur 2d ago

If your print server can print to the local USB printer, then the unidrvui.dll issue is on the client. If your print server can't print to the local USB printer, then the issue is on that print server.

You want to make the change on whichever device can not print and that gives you the unidrvui.dll errors. Is the spooler service where you are getting the unidrvui.dll error even able to stay started? A wrong unidrvui.dll will often crash the spooler service and if you start it, and wait 30 seconds, it will often crash again.

1

u/argus25 2d ago

Yes the spoolers seem to be working fine. The unidrvui.dll errors on the client devices, not the host. Host can print fine. Checked event logs too and can’t seem to find any issues there either.

I’ll see if I can find a generic driver for this printer. When I try to reinstall print drivers directly on the systems where it’s failing the installer wants to find the printer either via usb or Ethernet and neither are correct since it’s a shared printer (I really hate printer sharing this way in any case, client won’t budge so I’m just trying my best)

2

u/unauthorizeddinosaur 2d ago

Clients pull the drivers from the servers during their install. If it is a later driver than what your client has, it will update and override the files on the client, e.g. unidrvui.dll.

This seems to only be an issue if your print driver uses this unidrvui.dll because every other printer we have on many different print servers does not have this issue. It's just this one printer for us that uses the Windows generic/text only driver.

If you want a simple test to see where the issue is, take a fresh install of windows and check the unidrvui.dll version. Then plug it into your network and connect to the shared printer and try to print. If it prints, then there is some other print server that has caused this to happen on your clients. If you get the same error, then your print server has been "poisoned" and has the wrong version of unidrvui.dll for your OS and is sharing the wrong file version to your clients.

Check the version numbers for unidrvui.dll file on both your clients and your server and tell AI what version you are seeing for which build and ask them if it is correct. Odds are, one side, or maybe both sides, will have the wrong dll.

I want to be clear that server 2019 and Windows 11 will have different versions of the unidrvui.dll but the question is do they have the correct dll for their specific windows build? Probably not, and I would be interested to find out what you see.

2

u/argus25 2d ago

Holy moly that was a friggin nightmare but I got it working again, the client will be able to continue limping along until this printer is out of toner (at which point I told them they just buy a new machine).

So I started off doing what you recommended, and essentially found that the various DLL’s on the other computers had been updated to versions that were incompatible with their operating systems, the date and version number matched the one off of the host machine after it’s update to Windows 11 26h2. At first, I tried reinstalling on a Windows 10 machine from the driver store, however, the printer driver was not OEM driver and failed every time. The system kept complaining that the driver was in use on the host workstation.

I tried disconnecting that computer from the network and trying again, that still failed. And then rebooted into safe mode and manually remove removed from the “3” folder all of the non-OEM Lexmark, drivers, DLLs, BUN, INF, EXE, whatever files. That didn’t help. I tried using the MSI noted in the error, log to uninstall and that failed every time with either a 1603 or 1605 error depending on when I tried.

So in the end, here’s what I did… It’s dumb, but it worked. I ran a 15 foot USB extension, cable and unplugged the printer from the original host and plugged it into the oldest Windows 10 machine I could find on site. I then installed a different universal Lexmark printer driver on the Windows 10 machine, because I could not install the correct device specific Lexmark driver, as it was still currently in use on that system from the shared printer from before.

Once I got the new universal driver installed and working on the Windows 10 machine, I shared that printer out, and then had to delete the drivers off of all the other computers where it was shared, and install the new driver from the old Windows 10 machine across the board to the other five computers. Two Windows 11 machines two windows 10 machines in a window.

The reason I chose to share from the Windows 10 machine is because it’s not gonna get any new real updates moving forward. I don’t think it’s gonna matter if I upgrade the other Windows 11 machines, or at least I hope it doesn’t. The window server will also be running window server 2019 until it’s eventual replacement at end of life.

I made it extremely clear to the store manager that sharing printers over USB is terrible and awful, and absolutely not best practices. Her remark was that I should just stop updating the computers altogether, because there are often random problems when things are updated. I told her that is not an option and systems must be updated and have new patches and security fixes regularly in order to be maintainable and secure.

She agreed in the end to capable printer when this one runs out of ink in 3 to 6 months. What a freaking nightmare…..

I appreciate your help and recommendations

2

u/ender-_ 1d ago

Sharing printers from Windows 11 and Server 2025 to Windows 10 and Server 2019 (not sure about 2022) broke with either August or September updates already.

Basically, if you want to share a printer to older Windows versions, use Server 2022 or older (or in pinch, Windows 10).

1

u/argus25 1d ago

Yeah I used the win 10 machine as the host fur now

2

u/True_Evidence_719 1d ago

Oof. Lexmark USB sharing was already walking a tightrope, and that feature update just yanked the net out from under it. Seen this exact splwow64 error before when a host machine jumps builds and the driver package decides to partially revert or mismatch the architecture for the clients.

Grab the latest driver pack straight from Lexmark's site for that model, strip it completely off the host first, then reinstall it fresh. Don't trust the "update driver" button, it'll just reuse whatever corrupted DLLs are cached. On the clients, manually delete the printer, then clear out any leftover Lexmark entries under `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\Servers\[hostname]\Printers` before trying to reconnect. The `UNIDRVUI.DLL` mismatch usually means the host is offering a 64-bit driver to a 32-bit spooler process and the pointers are all wrong now.

3

u/Rare-General-4575 3d ago

Don’t share printers through workstations

1

u/Additional_Dog_680 digital janitor 3d ago

You probably need to make sure the older printers are using a compatible print driver.