Printing preferences from the print server don't synchronize in Windows 10 version 1607

Applies to: Windows 10, version 1607Windows Server 2012 R2 DatacenterWindows Server 2012 R2 Standard More

Symptoms


Consider the following scenario:

  • You have a print server configured in Windows Server 2008 R2 Service Pack 1 (SP1), Windows Server 2012, or Windows Server 2012 R2.
  • You share a printer that uses the unidrvui.dll or ps5ui.dll driver as the configuration file.
  • You change the printer settings by going into the Printing Defaults options (such as print on both sides, print in Black-And-White, paper size, and so on).
  • You map the shared printer on a computer that's running Windows 10 version 1607.
If you go to Printing Preferences on a Windows 10 client in this scenario, you notice that the settings have changed on the server (such as print on both sides, print in Black-And-White, paper size, and so on) and that you're not synchronized on the client. Instead, the default driver settings are applied.

To check for the configuration file that the driver uses, follow these steps:

  1. On print server, start Registry Editor (regedit.exe).
  2. Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3
  3. Choose the driver key.
  4. On the right side, look for the Configuration File value.
Note This issue does not occur in Windows 10 version 1511 and earlier clients. This issue also does not occur if the print server is configured in Windows Server 2016.

Cause


This issue occurs because of a mismatch of file versions between the print server in Windows Server 2012 R2 or Windows Server 2008 R2 and Windows 10 version 1607.

Resolution


This issue is fixed in the March 14, 2017 update.
Note This update does not require the workaround from the "Workaround" section. If you have already implemented the workaround, you do not have to reverse the changes on the server.


Workaround


To work around this issue, follow these steps.

Note Make sure that the versions of the PS5UI.dll, PSCRIPT5.dll, UNIDRVUI.dll, and UNIDRV.dll files on the print server match the versions on the client. This should help resolve this issue.

  1. On the existing print server, locate the C:\Windows\System32\spool\drivers\x64\3\ folder, and then rename the following drivers:
    • Rename PS5UI.dll as PS5UI_old.dll.
    • Rename PSCRIPT5.dll as PSCRIPT5_old.dll.
    • Rename UNIDRVUI.dll as UNIDRVUI_old.dll.
    • Rename UNIDRV.dll as UNIDRV_old.dll.

  2. On the client computer that's running Windows 10 version 1607, locate the C:\Windows\System32\spool\drivers\x64\3\ folder, and then copy the following drivers:
    • PS5UI.dll
    • PSCRIPT5.dll
    • UNIDRVUI.dll
    • UNIDRV.dll

  3. On the existing print server, paste the drivers from step 2 to the desktop and then to the C:\Windows\System32\spool\drivers\x64\3 folder. Be aware that you need administrator rights to perform this step.
  4. On the existing print server, restart the spooler service. Make sure that the configuration file is same as the one that's available in Windows 10 version 1607.
  5. Map a printer from this print server to the Windows 10 version 1607 client, and then check whether the settings are in sync.
If you are an IHV or OEM, you can repackage the print drivers that use the PS5UI.dll or UNIDRVUI.dll configuration file together with the redistributable Windows 10 version 1607 builds of these files. Installing this updated package on the print server should help resolve this issue.