私はカスタムデバイス用の署名付きUSBシリアルインフォファイルを作成し、Windows 7(32/64)、Windows 8.1(64)ではなくWindows 10にドライバを正常にインストールするインストーラを作成しました。これはデバイスマネージャを使用してPNPUTILを使用して、ファイルに直接インストール(右クリック、インストール)します。デバイスドライバは正常にインストールされますが、代わりにOEM usbserドライバが使用されます。 「ドライバの更新」をクリックしてデバイスマネージャでドライバを選択すると、Windowsに「このデバイス用に最適なドライバソフトウェアがインストールされています」というメッセージが表示されます。デバイスマネージャを使用して「ディスク使用」を選択すると、Windows 10でドライバを強制的に実行して問題を回避できます。これは、成功したinfファイルとインストーラを持っていることに私を近づかせるものではありません。Windows 10 Professionalでカスタムinfをインストールする際に問題が発生しました。 WindowsはOEMドライバでオーバーライドします
デフォルトのインストールのための私のプロセス:
- を抜くUSBポート
- ロード新しくインストールしたWindows 10プロフェッショナル
- 右クリックのスナップショットからデバイス、.infファイル にインストール
- デバイスを接続する
- デバイスマネージャを参照して、ドライバではなく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ファイルをインストールすることを管理します。ここではソースです:
あなたのデバイスはコンポジットですか?回答によっては、[モデル]セクションにリストする2つのデバイスIDの1つが間違っています。デバイスマネージャのスクリーンショットを投稿して、デバイスIDを確認する必要があります。 –
モデルセクションと[MSDNドキュメント](https://msdn.microsoft。)で行っているように、同じ行に2つのデバイスIDが表示されることはありませんでした。com/ja-jp/windows/hardware/drivers/install/inf-models-section)は同じように扱われていないことを示しています。デバイスIDごとに1行。 –