Problem: Windows printer driver upload starts but aborts with the error code 0x0000023f

Problem:

An administrator has logged on to a Microsoft Windows client and wants to upload a new printer driver to a UCS Samba print server. The printer driver upload starts but aborts with the error code 0x0000023f.

Background:

This can happen if a printer driver uses the Package Aware Point and Print printer sharing technology. In that case the .inf file of the driver has a setting PackageAware=TRUE and may have DriverFile statements that refer to files that are not part of the driver itself. In the Package Aware Point and Print printer sharing concept, the driver can expect some core driver files to be present on the print server. This assumption falls short for Samba based (i.e. non-Microsoft) print servers.

Solution:

Check the log file /var/log/samba/log.smbd on the UCS Samba print server. There could be an error message similar to this, which indicates the name of the file that is missing:

move_driver_file_to_download_area: Unable to rename [x64/{17C88AC7-BAB9-4FD5-BC61-794D2731290D}/mxdwdrv.dll] to [x64/3/mxdwdrv.dll]: NT_STATUS_OBJECT_NAME_NOT_FOUND

If this is the case, then you can open the .inf file on the administrative Windows client with an editor and look for CopyFiles statements, which specify a comma separated list of files and file groups that should be uploaded. If this list contains e.g. a file group called @corefiles, then you may find a section named [corefiles] in the .inf file too. You can just append the missing file name (e.g. mxdwdrv.dll in this example). Save the file and retry the upload. Windows should fetch the core driver from C:\Windows\System32\DriverStore\FileRepository\ and upload it to the UCS Samba server, e.g. to the directory /var/lib/samba/drivers/x64/3/.

Related advice:

  • Additional adjustments of the .inf file may be required, e.g. if it includes the setting PackageAware=TRUE:
  • These kinds of adjustments the device drivers invalidate the driver signature, but will not affect the automatic printer driver rollout if you follow this article:
Mastodon