インストーラーは TAP アダプターを作成できなかったと表示しますが、その一文は少なくとも三つの異なる失敗を覆っています。パッケージが一度も配置されていないのか、配置されたがデバイスが作成されていないのか、あるいはデバイスは存在するが問題のある状態にあり、インストーラーがそれを一つの一般的なエラーとして報告したのか。どれに当たるかで、誰が直すのか、どんな証拠が必要かが決まります。

何よりも先に、ビルド番号とインストールのタイムスタンプを集めてください。どちらも、ログのフォルダーを実際に実行できる検索に変えます。

三つの段階、三つの異なるログ

第一の段階はインストーラー自身で、ファイルを展開し、独自のログを保ち、1603 のような要約コードを報告します。これはトランザクションが失敗したと言うだけで、どこで失敗したかは言いません。第二はドライバーストアで、署名済みパッケージが後で使うために配置されます。これはハードウェアに結び付けることとは別の成果です。第三はデバイスの作成で、Windows がデバイスインスタンスを作り、INF を適用し、結果を setupapi ログに記録します。これらの段階のどこか二つの間の静かな空白が、利用者に見える同じ一文を生みます。

要約コードはトランザクションに属し、失敗した操作は同じログのどこか手前側にあります。コードを説明しようとするのではなく、コードから後ろ向きに検索してください。

試行の前後の setupapi.dev.log を読む

デバイスのインストールはどれも C:\Windows\INF\setupapi.dev.log に一つの節を書き込み、SetupAPI ログのガイド はそれらの節と最終状態がどう構成されるかを説明しています。タイムスタンプがあなたの試行を挟む節を見つけ、目に付いた最初のエラー行ではなく節全体を読んでください。無関係なデバイスに関する警告は長いログの随所に現れ、この失敗について何も説明しません。該当する節の最終状態こそ、報告書に引用する価値のある事実です。

その節を、アダプター名、デバイス識別子、インストーラーのログに記された INF パッケージと突き合わせてください。三つの識別子が同じタイムスタンプで一致することが、帰属を安全にします。

パッケージとデバイスを別々に確認する

配置済みパッケージが証明するのは、署名済みの INF がドライバーストアに届いたことだけです。この世代の Windows では、pnputil /enum-drivers がサードパーティのパッケージをプロバイダー、クラス、バージョン、公開名で一覧するので、oem 番号から推測する代わりに OpenVPN アダプターのパッケージを見つけられます。その一覧には、デバイスが存在する、起動した、見つけたパッケージに結び付いている、ということは何も書かれていません。それらは別々の答えを持つ別々の問いです。

デバイス側には独自の見方があります。読み取り専用のアダプター一覧は、Windows が現在インターフェイスについて何を信じているかを示し、非表示の項目は存在するが非アクティブなデバイスを覆います。二つの一覧を比べれば、どの段階が失敗したかが分かります。パッケージがない、デバイスがない、あるいはデバイスはあるが問題のある状態である、のいずれかです。

署名に触れる前にアダプターを検証する

インストーラーの要約ではなく、マシンから状態を読んでください。以下のコマンドは、配置済みのドライバーパッケージ、非表示項目を含むアダプター一覧、OK を報告していないネットワークデバイスを列挙します。再起動後に実行して、保留中のデバイス操作を落ち着かせてください。

pnputil /enum-drivers
Get-NetAdapter -IncludeHidden | Select-Object Name, InterfaceDescription, Status
Get-PnpDevice -Class Net | Where-Object Status -ne 'OK'

パッケージはあるが対応するデバイスがない場合は、デバイスの作成を指し、そのタイムスタンプの setupapi の節が理由を説明します。デバイスがあり問題のある状態なら、ドライバーかその署名を指し、これはデバイスがない場合とは別の話です。存在して切断と報告するアダプターは、アクティブなトンネルのない動作中のデバイスであり、インストールの失敗ではありません。修復する段階を選ぶ前に、三つの出力を合わせて読んでください。

署名の強制を無効にし、ネットワークスタックをリセットし、あるいはすべてのアダプターを削除すると、証拠は消えます。その三つのどれも、まだ特定していない段階を修復しませんし、それぞれが、どの段階だったかを教えてくれたはずのものを取り除きます。

関連記事