[タイトル]
Javaクライアントとネイティブプリンタドライバを使用している場合にプリンタが自動作成されない
[現象]
JavaクライアントVersion 9.4とネイティブプリンタドライバを使用している場合に、ICAセッションでプリンタが自動作成されません。
Presentation Server上で次のイベントが記録されます。
イベントID:1106
「クライアントプリンタの自動作成に失敗しました。ドライバをインストールできません。原因として、次のことが考えられます。ドライバがサーバー上に登録されていません。ドライバが見つかりません。ドライバのマッピングが指定されていません。クライアント名:(WI_iMjZEqy7HtNhJekLK)プリンタ:(セッション3のWI_iMjZEqy7HtNhJekLKからのHP LaserJet 4100 Series PCL)プリンタドライバ:()」
[原因]
Sun Java Print API(Application Programming Interface)では、プリンタの自動作成が許可されていません。このAPIでは、ローカルコンピュータにインストールされているプリンタの名前を取得することはできますが、プリンタドライバが公開されていません。プリンタの自動作成時には、Presentation Serverの印刷サブシステムによって、クライアント上のプリンタ名と、該当するプリンタドライバがチェックされます。
デフォルトでは、Javaクライアントは、自動検出されたプリンタ名をPresentation ServerまたはPCL(Printer Command Language)のユニバーサルドライバと関連付けます。
クライアントは、プリンタの自動作成時にプリンタ名とプリンタドライバを送信する必要があります。上記のイベントログで特に興味深いのは、「プリンタドライバ()」という箇所です。これは、サーバーが空のドライバを受け取っていることを示しています。
ポリシーでユニバーサルプリンタドライバ(UPD)を有効にしている場合は、プリンタの自動作成に失敗するとユニバーサルプリンタドライバが使用されます。
[回避策]
Javaクライアントを使用しなければならない場合は、以下の3つの回避方法があります。
• Presentation Server管理コンソールのマッピング機能を使用します([プリンタの管理]をマウスの右ボタンでクリックし、[ドライバ]、[マッピング]の順に選択します)。
この一覧で、ネットワーク共有プリンタを、システム上のコンピュータ上のネイティブドライバおよび名前付きのローカルプリンタにマップすることができます。

• WTSUPRN.INFファイルまたはWTSPRNT.INFファイルを使って、上記と同じことをサーバーファーム内の各サーバーから実行できます。この処理はスクリプトでも簡単に実行できます。
• Web Interfaceサーバーで、Program Files\Citrix\Web Interface\4.2\ICAWEB\icajavaフォルダにあるICAPrinterDrivers.txtファイルを編集して、Presentation Serverサーバーファーム内にインストールされているドライバだけが記述された状態にします。
各ユーザーは、各自のコンピュータで初めてログオンしたときに、この一覧から(Javaクライアントによって検出された)クライアントプリンタを選択して、手動でドライバを関連付ける必要があります。この変更は、次回以降の接続でも維持されます。
[追加情報]
CTX106639 – 管理者ガイド - Citrix Presentation Server Java クライアント Version 9.x
CTX105421 – ICA Javaクライアント8.0で[クライアントのデフォルトプリンタのみ接続する]オプションが機能しない
[関連情報]
この資料は米国のCitrix Knowledge Baseで提供している情報をもとに作成したものです。
Document ID: CTX112521
No Printers are Autocreated when Using the Java Client and Native Print Drivers