ОБНОВЛЕНИЕ:. В ответ на этот вопрос мне удалось заставить это работать в Windows 7. С тех пор я понял, что Windows 10 устанавливает, но переопределяет мой драйвер с помощью OEM USB последовательный драйвер. Пожалуйста, смотрите: Trouble installing custom inf in Windows 10 Professional. Windows overrides it with OEM driverInf-файл не может найти usbser.sys только в Windows 7
-
Я попытался сделать Inf файл, который устанавливает USB-устройства с последовательным интерфейсом, используя стандартные окна USB-последовательный драйвер. Этот файл успешно устанавливает драйвер в Windows 8.1 и Windows 10, но сбой в Windows 7 32bit и Windows 7 64 бит. Я попытался щелкнуть правой кнопкой мыши установку драйвера с рабочего стола (установка по умолчанию). В первый раз, когда я попытался это сделать, мне была представлена ошибка «Файл inf, который вы предложили, не поддерживает этот метод установки». Я добавил разделы defaultInstall в файл inf. После этого ошибка исчезла, но система не смогла найти usbser.sys. «Файл« usbser.sys »на windows cd необходим».
Что нужно добавить к файлу inf ниже, чтобы сделать это успешно установленным из Windows 7?
Текущий инф файл:
;************************************************************
; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
; Version v1.1, updated 17 April 2013
[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MFGNAME%
LayoutFile=layout.inf
CatalogFile=%MFGFILENAME%.cat
DriverVer=11/15/2007,5.1.2600.0
[Manufacturer]
%MFGNAME%=DeviceList, NTamd64
[DestinationDirs]
DefaultDestDir=12
;------------------------------------------------------------------------------
; Windows 2000/XP/Vista-32bit Sections
;------------------------------------------------------------------------------
;DEFAULT SECTION ADDED
;---------------------------------------------
[DefaultInstall.nt]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.nt
AddReg=DriverInstall.nt.AddReg
[DefaultInstall.nt.Services]
AddService=usbser, 0x00000002, DriverService.nt
;---------------------------------------------
[DriverInstall.nt]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.nt
AddReg=DriverInstall.nt.AddReg
[DriverCopyFiles.nt]
usbser.sys,,,0x20
[DriverInstall.nt.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[DriverInstall.nt.Services]
AddService=usbser, 0x00000002, DriverService.nt
[DriverService.nt]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
; Vista-64bit Sections
;------------------------------------------------------------------------------
;DEFAULT SECTION ADDED
;---------------------------------
[DefaultInstall.NTamd64]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.NTamd64
AddReg=DriverInstall.NTamd64.AddReg
[DefaultInstall.NTamd64.Services]
AddService=usbser, 0x00000002, DriverService.NTamd64
;----------------------------------
[DriverInstall.NTamd64]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.NTamd64
AddReg=DriverInstall.NTamd64.AddReg
[DriverCopyFiles.NTamd64]
%DRIVERFILENAME%.sys,,,0x20
[DriverInstall.NTamd64.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[DriverInstall.NTamd64.Services]
AddService=usbser, 0x00000002, DriverService.NTamd64
[DriverService.NTamd64]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\%DRIVERFILENAME%.sys
;------------------------------------------------------------------------------
; Vendor and Product ID Definitions
;------------------------------------------------------------------------------
; When developing your USB device, the VID and PID used in the PC side
; application program and the firmware on the microcontroller must match.
; Modify the below line to use your VID and PID. Use the format as shown below.
; Note: One INF file can be used for multiple devices with different VID and PIDs.
; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
;------------------------------------------------------------------------------
[SourceDisksFiles]
[SourceDisksNames]
[DeviceList]
%linux.gserial%=DriverInstall, USB\VID_1FC9&PID_816A, USB\VID_1FC9&PID_816A&MI_00
[DeviceList.NTamd64]
%linux.gserial%=DriverInstall, USB\VID_1FC9&PID_816A, USB\VID_1FC9&PID_816A&MI_00
;------------------------------------------------------------------------------
; String Definitions
;------------------------------------------------------------------------------
;Modify these strings to customize your device
;------------------------------------------------------------------------------
[Strings]
MFGFILENAME="c500"
DRIVERFILENAME ="usbser"
MFGNAME="Rinstrum Pty Ltd"
INSTDISK="Rinstrum USB Gadget Serial Driver Installer"
linux.gserial="Rinstrum USB Gadget Serial"
SERVICE="USB RS-232 Emulation Driver"
Если я затем использовать команду RUNDLL32.EXE SETUPAPI.DLL, InstallHinfSection DefaultInstall 132 c500.inf в командной строке я побудила с ошибкой «Установка не удалась».
Благодарим вас за ответ. Я заметил, что вы вызвали ваш inf-файл непосредственно в разделе CopyFiles. Разве это не плохая практика? «Примечание. Директива CopyFiles не должна ссылаться на файл каталога или сам файл INF, а SetupAPI автоматически копирует эти файлы». - https://msdn.microsoft.com/en-us/windows/hardware/drivers/ifs/creating-an-inf-file-for-a-file-system-filter-driver –
Посмотрите еще раз, я не есть директива 'CopyFiles', которая ссылается на мой собственный файл INF. –
Прошу прощения. Я, кажется, добился успеха в Win7 32 после вашего шаблона. Теперь попробуйте другую ОС. –