Windowsでエラー0x0000007eが発生!ネットワークプリンターに接続できない原因と解決策
ネットワークプリンターへの接続時に発生するエラー0x0000007eは、Windows 10およびWindows 7の両方で頻繁に報告される問題です。多くの場合、このエラーは、プリンターが別のWindowsコンピューター(プリントサーバー)に直接接続され、ネットワーク経由で他のコンピューターから共有印刷できるよう構成されている環境で発生します。
筆者のケースでは、次のような構成でこのエラーが発生しました。32ビット版のWindows Server 2008 x86上にプリントサーバーを構築し、複数のHP(ヒューレット・パッカード)製プリンターを共有しています。このサーバー上のプリンターに、64ビットクライアント(Windows 10またはWindows 7)から接続しようとすると、OSはプリントサーバーから正しいバージョンのHPプリンタードライバーを正常にダウンロードしますが、インストール段階で0x0000007eエラーが発生して失敗します。
エラーの症状
Windows 7などの環境では、以下のメッセージが表示されます。
Windowsはプリンターに接続できません。
操作はエラー0x0000007eで失敗しました。

Windows 10のコンピューターでは、表示が少し異なります。
操作を完了できませんでした(エラー0x0000007e)。
指定されたモジュールが見つかりません。

一方、同じプリントサーバーからの共有ネットワークプリンターの接続・インストールは、32ビット版Windowsでは問題なく行えます。
エラーが発生する条件と原因
エラー0x0000007eは、32ビットプリントサーバー(Windows Server 2003 x86またはWindows Server 2008 x86で稼働)にインストールされた共有HPプリンターへ、64ビットクライアントから接続しようとした場合にのみ発生します。また、すべてのHPプリンターで起こるわけではなく、ユニバーサルプリンタードライバーHP PCL(HP Universal Print Driver)を使用している機種に限定される点に注意してください。
事前確認:両アーキテクチャ用ドライバーのインストール状況
まず最初に、プリントサーバーに32ビット版と64ビット版の両方のドライバーがインストールされていることを確認しましょう。下の画像のとおり、HP Universal Printing PCL 6ドライバーのx64版とx86版が揃って登録されているかチェックします。

根本原因:32ビット用スプーラーパスの固定指定
HPおよびTechNetのフォーラムを調査したところ、Universal HP Printingドライバーの設定に、32ビットシステム用のスプーラーファイル(印刷キュー)への固定パス(spool\drivers\w32x86\3)が指定されており、64ビットクライアントはこのパスを解決できないため、エラー0x0000007eが発生することが判明しました。
このファイルパスは、プリントサーバー上のプリンタードライバー設定で指定されています。筆者の環境では spool\DRIVERS\W32X86\3\hpcpn112.dll でしたが、DLLファイル名はドライバーのバージョンによって異なります。要するに、32ビット版のHP Universal Printingドライバーはx64版Windowsと互換性がないのです。ただし、この問題は手動で修正可能です。
解決策1:レジストリのBIDIキーを削除する
この問題を解決するには、共有プリンターが直接接続されているプリントサーバー側で、HPプリンタードライバーの破損した(不正な)レジストリキーを削除します。32ビットプリントサーバーでの手順は以下の通りです。
- レジストリエディター(regedit.exe)を開きます。
- レジストリキー
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\に移動し、対象プリンター名のブランチを展開します(本記事の例では「HP Color LaserJet 5550 PCL 6」)。
- 問題が発生しているプリンターのレジストリキー内にある CopyFiles セクションの BIDI キーを削除します。
注意: 本番環境では、削除前に該当レジストリキーを個別のregファイルとしてエクスポートしておくことを強くお勧めします。これにより、問題が起きた際に元の設定へロールバックできます。 - クライアント側で印刷スプーラーサービスを再起動します。
net stop spoolernet start spooler
- サーバー側でBIDIレジストリキーを削除した後、Windows 10 x64クライアントから共有HPプリンターへの接続を再度試みてください。今度はエラーなしで正常にインストールされるはずです。
解決策2:ローカルポート経由で接続する(回避策)
上記の方法がうまくいかない場合や、HP以外のプリンターで0x0000007eエラーが発生する場合は、ローカルポート経由でプリンターに接続する回避策を試せます。手順は以下の通りです。
- コントロールパネルから、新しいローカルプリンターを追加します(「ローカルプリンターまたはネットワークプリンターの手動設定を追加する」を選択)。

- 「新しいローカルポートを作成する」を選択します(ポートの種類:Local Port)。
- ポート名には、共有プリンターへの完全なUNCパスを指定します。たとえば、プリンターが接続されているコンピューター名が「ManchPC1」、共有プリンター名が「Xerox2320」の場合、UNCアドレスは
\\ManchPC1\Xerox2320となります。コンピューター名の代わりにIPアドレスを指定して\\192.168.1.55\Xerox2320とすることも可能です。
- 最後に、適切なプリンタードライバーを選択(または新規インストール)すれば完了です。
解決策3:LPTポートマッピングを使用する方法
同様のアプローチとして、LPTポートのマッピングを利用してネットワークプリンターに接続する方法もあります。
- 接続対象プリンターのドライバーをドライバーリポジトリから削除します。「プリントサーバーのプロパティ」→「ドライバー」タブを開き、該当ドライバー(32ビット・64ビット両方)を選択して「削除」をクリックします。

- 新しいローカルポート LPT2 経由の接続でローカルプリンターを作成します。
- 次のコマンドを実行し、仮想LPTポートから共有プリンターのUNCアドレスへの永続的なマッピングを作成します。
net use LPT2 \\ManchPC1\Xerox2320 /persistent:yes
- プリンタードライバーをインストールし、テストページを印刷して動作を確認します。
まとめ
エラー0x0000007eは、32ビットプリントサーバー上のHPユニバーサルドライバーが32ビット専用のスプーラーパスを固定指定していることが原因で、64ビットクライアントから接続できないために発生します。レジストリのBIDIキー削除が根本的な解決策となり、それでも解決しない場合は、ローカルポート接続やLPTポートマッピングといった回避策が有効です。レジストリを編集する際は、必ず事前にバックアップを取得してから作業を行いましょう。
-
OBSの「サーバーへの接続に失敗しました」エラーを解決する9つの方法【Windows 10】
Open Broadcaster Software(OBS)は、ライブ配信や動画録画のためのオープンソースソフトウェアです。無料で利用できることから、世界で最も人気のあるストリーミングエンコーダーのひとつとされています。開発者コミュニティによって支えられており、Windows、macOS、BSD、Linuxといった幅広いプラットフォームに対応しています。また、ゲーム実況者がチュートリアルやプレゼンテーション用の画面キャプチャを共有する際にもよく使われています。OBSは多彩な音声・映像ソースを提供しており、クリエイティブな配信コンテンツの制作をサポートします。 しかし、OBSを使用していると「サ
-
Windows 7で「ユーザープロファイルサービスによるログオン処理に失敗しました。ユーザープロファイルを読み込めません」と表示されたときの対処法
Windows 7にログインしようとした際に「ユーザープロファイルサービスによるログオン処理に失敗しました。ユーザープロファイルを読み込めません」というエラーメッセージが表示されて困っていませんか?そもそもユーザープロファイルとは何なのかまったくわからない、Windows 7でユーザープロファイルを読み込めないエラーへの対処方法が知りたい——そんな方に向けて、この記事では以下の3つの観点から徹底的に解説します。 1. ユーザープロファイルとは2. Windows 7でユーザープロファイルを読み込めない原因3. ユーザープロファイルサービスのログオン失敗エラーの修正方法 1. ユーザープロファ