Symptoms
Client printers fail to autocreate when users log on. An event is written to the Event Log with ID 1116 from source “MetaFrame Events.” The event contains Reason: AddPrinter() failed with status 0x704.
Converting hex “704” into decimal and using net helpmsg does not provide any additional information.
C:\Documents and Settings\Administrator.FTLRLAB>net helpmsg 1796
The specified port is unknown.
The user may be able to add a printer manually through the client network, but it will be inaccessible.
This autocreation failure and Event Log entry may also appear after installing a hotfix or hotfix rollup pack. In that case, cause 2 and resolution 2 may apply.
Cause 1
The problem arises when the Client Printer Port Monitor is set to the incorrect dll. Starting with Presentation Server 4.0, this file is cpmon.dll. The file is indicated in the registry of the server. Occasionally, on servers that were upgraded from an earlier version of Presentation Server, this setting is not updated correctly and remains defined as cpmmon.dll.
Cause 2
This problem can also result from a mismatched version of ctxprn.dll. To solve specific issues with custom applications, ctxprn.dll was copied from %programfiles%\citrix\system32 to %systemroot%\system32
Resolution 1
WARNING! Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
Modify the following registry value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Client Printer Port
Value = Driver
Data = cpmon.dll
Resolution 2
When a hotfix or hotfix rollup pack is installed, it updates the files in their default location. Any file copied to another location will most likely not be updated by the hotfix rollup pack or hotfix.
In the case of ctxprn.dll, its default location is %program files%\citrix\system32.
On most systems, %systemroot%\system32 is higher in the PATH variable than %programfiles%\citrix\system32. Therefore the file ctxprn.dll picked up will be the older one from %systemroot%\system32, resulting in the autocreation failure.
To work around this, remove the additional copy of ctxprn.dll from %systemroot%\system32.
More Information
For more information, see CTX107137 – Troubleshooting Printing Problems In Presentation Server 4.0.