По результатам тестов с разными ОС выяснилось, что inf из примера написан через.. плохо.
Вот несколько лучший вариант.
На 64-битных windows я его так и не проверил, зато оно работает с XP, Vista и Win7.
CODE
[Version]
Signature = "$Windows NT$"
Class = Ports
ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}
Provider = %MSFT%
DriverVer = 09/14/2010, 0.0.4.0
;;LayoutFile = layout.inf
[DestinationDirs]
DefaultDestDir = 12
[Manufacturer]
%MSFT% = Models, NTx86, NTia64, NTamd64
[Models.NTx86]
%SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[Models.NTia64]
%SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[Models.NTamd64]
%SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[Models]
%SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[SerialInstall.NT]
Include = mdmcpq.inf
AddReg = SerialAddReg
CopyFiles = FakeModemCopyFilesSection
[SerialAddReg.NT]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[SerialInstall.NT.Services]
Include = mdmcpq.inf
AddService = usbser,0x0002,LowerFilter_Service_Inst
[Strings]
MSFT = "MSFT"
SERIAL_DEV = "USB serial port"
PS "некий ID" в случае USB называется VID и PID. Их надо менять парой - в контроллере и в данном файле.