Printer Maestro サービスが起動せず、Reprint Console で印刷できない(CLSID エラー:クラスが登録されていません)
症状
Printer Maestro サービスを起動しようとすると、特に説明のないエラーメッセージが表示され、サービスが開始できません。
アプリケーションログのイベントビューアーを見ると、CLSID が登録されていないという COMException のエラーメッセージが記録されています。
サービスを開始できません。System.Runtime.InteropServices.COMException (0x80040154):
CLSID {EAC071C3-2CC4-4201-9B5D-76E209673C10} のコンポーネントの COM クラスファクトリの取得に失敗しました。エラー内容:
80040154 クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))。
at Maestro.Service.MaestroService.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
システムのプリンタープロファイルを確認すると、弊社ドライバーのバージョンが v1.0 と表示されています。
インストールログなどには他のエラーは表示されません。
Maestro サービスが起動できないため、Reprint Console ではすべての印刷ジョブのステータスが「不明」となり、再印刷もできません。Maestro のプリンターデータに依存するサービスも、すべてのプリンターを「不明」と誤って表示します。
環境
BarTender 2019 以降
Drivers by Seagull
原因
BarTender や弊社ドライバーの下層には Driver Automation Library(DAL)があります。DAL は通常、次のいずれかの方法でインストールされます:
- Drivers by Seagull と一緒にインストールされる
- BarTender と一緒にインストールされ、主に Printer Maestro で使用される
DAL は、プリンターの状態を弊社ドライバーや、状態やドライバー情報に依存するシステムに報告するためのレジストリキー群です。これに依存している主なコンポーネントは、Printer Maestro、Reprint Console、History Explorer のプリンターセクションです。場合によっては Integration Services も依存しています。
DAL の場所
DAL は、レジストリ内の特定の CSLID の下にあります:
HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{EAC071C3-2CC4-4201-9B5D-76E209673C10}
このシナリオで Printer Maestro サービスが「登録されていません」というエラーを出す場合、DAL の登録に失敗しており、この CSLID 全体が存在しません。これは、メーカー製プリンタードライバーと Drivers by Seagull の間の競合などが原因で発生することがありますが、他にも原因がある場合があります。
この問題は一般的ではありません。
DAL の問題を解決する方法
DAL は自動化されたプロセスで追加する必要があります。手動でレジストリキーを作成して追加することはできません。
プリンタードライバーの再インストール
まず、影響を受けているプリンターをシステムから完全に削除します。
- まだ行っていない場合は、弊社ウェブサイトからドライバーインストーラーをダウンロードし、解凍します。
- すでに解凍済みの場合は、フォルダー内の DriverWizard.exe を実行します。
- 「プリンタードライバーの削除」を選択します。
- 「詳細なプリンタードライバー削除オプションを使用する」を選択します。
- Drivers by Seagull を使用しているすべてのプリンターにチェックを入れ、「次へ」をクリックします。
- 該当するドライバーが選択されます。一部のモデルでは、メーカー製ドライバーが存在する場合はそれも削除してください。
- 「次へ」をクリックし続けます。ウィザードが他のオプションを自動で入力します。
- 最後まで進んだら、「完了」をクリックしてドライバーをシステムから削除します。
- プロセス完了のため、コンピューターを再起動します。この手順は必ず実施してください。
- ウィザードを使ってプリンターを再インストールします。プリンターが多数ある場合は、まず1台だけインストールしてください。
少なくとも1台のプリンターがシステムに追加されたら、Printer Maestro サービスの再起動を試みてください。サービスが起動しない場合は、次のセクションに進んでください。
Printer Maestro の修復
Printer Maestro は以下の手順で修復できます:
- コントロールパネルの「プログラムの追加と削除」または同等の機能を開きます。
- BarTender を選択します。
- 「変更」ボタンをクリックします。
- メニューから「修復」を選択します。
修復が完了したら、Windows のサービス一覧で Maestro サービスが開始されているか確認してください。
DAL 問題修正時の注意点
この修正は過去のジョブには適用されません。DAL が壊れていた間に処理されたジョブは、引き続きステータスが「不明」となり、Reprint Console で再印刷できません。この修正は今後の印刷ジョブにのみ有効です。
修正後にレジストリを確認しても、DAL キーが表示されない場合があります。ただし、Maestro サービスが正常に起動し、Reprint Console にプリンターの状態が正しく報告されていれば、DAL は正しく登録されていると判断できます。