I’m in the process of “upgrading” a server from Windows 2003 server to Windows 2008 server, and one of the things this server does is manage a few serial devices. Therefore, it contains an old PCI serial board, but the manufacturer has since moved on to newer hardware, and hasn’t bothered to update the drivers.
Trying to install the Windows 2003 drivers yielded the following:
a service installation section in this inf is invalid
And, naturally, refused to install. To track down the source of this error, there is a file created in \Windows\inf called “setupapi.dev” that logs details about the driver installation process. Reading through this file, the reason for the error is evident:
inf: ServiceBinary=C:\Windows\system32\DRIVERS\mf.sys (mf.inf line 39) !!! dvi: Add Service: Binary 'C:\Windows\system32\DRIVERS\mf.sys' for service 'mf' is not present. !!! inf: {Install Inf Section [MFINSTALL.mf.Services] exit(0xe0000217)}
Intriguingly, a quick search through C:\Windows\System32\DriverStore\FileRepository showed that the driver does exist, it just happens not to be installed. There’s a folder called mf.inf_Identifier (where “Identifier” appears to be random junk) that contains a file called mf.sys. Copying this file into C:\Windows\System32\Drivers allowed the device drivers to install, and they appear to work perfectly well.