2017-02-03 11 views
3

私はカスタムデバイス用の署名付きUSBシリアルインフォファイルを作成し、Windows 7(32/64)、Windows 8.1(64)ではなくWindows 10にドライバを正常にインストールするインストーラを作成しました。これはデバイスマネージャを使用してPNPUTILを使用して、ファイルに直接インストール(右クリック、インストール)します。デバイスドライバは正常にインストールされますが、代わりにOEM usbserドライバが使用されます。 「ドライバの更新」をクリックしてデバイスマネージャでドライバを選択すると、Windowsに「このデバイス用に最適なドライバソフトウェアがインストールされています」というメッセージが表示されます。デバイスマネージャを使用して「ディスク使用」を選択すると、Windows 10でドライバを強制的に実行して問題を回避できます。これは、成功したinfファイルとインストーラを持っていることに私を近づかせるものではありません。Windows 10 Professionalでカスタムinfをインストールする際に問題が発生しました。 WindowsはOEMドライバでオーバーライドします

デフォルトのインストールのための私のプロセス:

  1. を抜くUSBポート
  2. ロード新しくインストールしたWindows 10プロフェッショナル
  3. 右クリックのスナップショットからデバイス、.infファイル
  4. にインストール
  5. デバイスを接続する
  6. デバイスマネージャを参照して、ドライバではなくMicrosoft製の標準USBシリアルデバイスドライバを使用してください。

それをアンインストールして手順3〜5を繰り返すと、カスタムドライバがスティックすることがあります。

私のドライバはWindows 10 Enterpriseにインストールされていると言われています。これはさらに問題を混乱させます。

質問:私は間違っていますか?

マイINFファイル:

;************************************************************ 
; Windows USB CDC ACM Setup File 
; Copyright (c) 2000 Microsoft Corporation 

; Version v1.1, updated 17 April 2013 


[Strings] 
DriverPackageDisplayName="Rinstrum USB Serial Drivers" 
ManufacturerName="Rinstrum" 
ServiceName="USB RS-232 Emulation Driver" 
linux.gserial="Rinstrum USB Gadget Serial" 
MFGNAME="Rinstrum" 

[DefaultInstall] 
CopyINF=c500.inf 

[Version] 
DriverVer=03/02/2017,1.0.0.0 
Signature=$Windows NT$ 
Class=Ports 
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} 
Provider=%MFGNAME% 
CatalogFile=c500.cat 
DriverPackageDisplayName=%DriverPackageDisplayName% 
PnpLockdown=1 

[Manufacturer] 
%MFGNAME%=Models,NTx86,NTamd64,NTarm 

[DestinationDirs] 
DefaultDestDir=12 
FakeModemCopyFileSection=12 

[Models.NTx86] 
%linux.gserial%=DriverInstall, USB\VID_1FC9&PID_816A, USB\VID_1FC9&PID_816A&MI_00 

[Models.NTamd64] 
%linux.gserial%=DriverInstall, USB\VID_1FC9&PID_816A, USB\VID_1FC9&PID_816A&MI_00 

[Models.NTarm] 
%linux.gserial%=DriverInstall, USB\VID_1FC9&PID_816A, USB\VID_1FC9&PID_816A&MI_00 

[DriverInstall] 
Include=mdmcpq.inf 
CopyFiles=FakeModemCopyFileSection 
AddReg=DriverAddReg 

[DriverAddReg] 
HKR,,DevLoader,,*ntkern 
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys 
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 

[DriverInstall.Services] 
Include=mdmcpq.inf 
AddService=usbser,0x2,DriverService 

[DriverService] 
DisplayName=%ServiceName% 
ServiceType=1 
StartType=3 
ErrorControl=1 
ServiceBinary=%12%\usbser.sys 
LoadOrderGroup=Base 

更新:setupapi.dev.log

>>> [Device Install (DiInstallDriver) - C:\Users\R&D\Desktop\c500.inf] 
>>> Section start 2017/02/03 17:17:58.321  
cmd: "C:\Windows\System32\InfDefaultInstall.exe" "C:\Users\R&D\Desktop\c500.inf"  
ndv: Flags: 0x00000000  
ndv: INF path: C:\Users\R&D\Desktop\c500.inf  
inf: {SetupCopyOEMInf: C:\Users\R&D\Desktop\c500.inf} 17:17:58.337  
inf:  Copy style: 0x00000000 ! 
inf:  Driver package is already in driver store  
inf:  Driver Store Path: C:\Windows\System32\DriverStore\FileRepository\c500.inf_amd64_4fee793fb11027ac\c500.inf inf:  Published Inf Path: C:\Windows\INF\oem4.inf  
inf: {SetupCopyOEMInf exit (0x00000000)} 17:17:58.368 
<<< Section end 2017/02/03 17:17:58.399 
<<< [Exit status: SUCCESS] 

Updateから追加情報:しようとしたとき setupapi.dev.logは、次のエラーを与えますデバイスをインストールする

sig:      Success: File is signed in Authenticode(tm) catalog. 
sig:      Error 0xe0000242: The publisher of an Authenticode(tm) signed catalog has not yet been established as trusted. 

更新: VBoxゲスト追加インストーラは、WIN10にinfファイルをインストールすることを管理します。ここではソースです:

https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Additions/WINNT/Installer/VBoxDrvInst.cpp#L433

+0

あなたのデバイスはコンポジットですか?回答によっては、[モデル]セクションにリストする2つのデバイスIDの1つが間違っています。デバイスマネージャのスクリーンショットを投稿して、デバイスIDを確認する必要があります。 –

+0

モデルセクションと[MSDNドキュメント](https://msdn.microsoft。)で行っているように、同じ行に2つのデバイスIDが表示されることはありませんでした。com/ja-jp/windows/hardware/drivers/install/inf-models-section)は同じように扱われていないことを示しています。デバイスIDごとに1行。 –

答えて

2

Windows 10のOEMドライバを無効にする権限がユーザーに与えられる前に、Windowsをアクティブ化する必要があります。テストマシンのウィンドウをアクティブにするとこの問題が解決しました。

2

今日の日付と1.0.0.0で、正しくDriverVerディレクティブを設定してみてください。日付は、Windowsが使用するドライバを決定する際に目にするものの1つです。

+0

それを指摘してくれてありがとう。残念ながらそれは効果的ではありませんでした。 –

関連する問題