Hi all,
I have to support a four-port serial PCI card which comes in different
physical appearances (all four or less than four ports may be externally
connected), which however cannot be distiguished by software. The
optimization of not installing useless COM ports (ports which can be
opened, but to which nothing can be attached) is burdened on the end user.
To achieve this, the INF file for the card has a models section with
several devices, where the device ID is always the same, but the
descriptions are different, indicating the number of ports, and of
course pointing at different install sections.
This used to work fine on 2000 and XP, and after I added a setup
application built around DriverPackagePreinstall() and
InstallSelectedDriver(), it worked reasonably well for Vista and 7, too.
Now with Windows 8, it won’t work any more: No matter what model is
selected, it’s always the same model that gets actually installed. And
it’s apparently not just a bug in my setup program: If I try to change
the model using device manager and “Update driver”, Windows claims to
have accepted my choice, but in reality has installed the “default”
driver again.
Here’s the final part of the Win8 SetupApi.log:
sto: {Configure Driver Package: exit(0x00000000)}
dvi: Install Device: Configuring device
(oem9.inf:pci\ven_1415&dev_9501,Bla_9501_2). 15:42:57.775
dvi: Install Device: Configuring device completed.
15:42:57.791
dvi: Install Device: Removing device sub-tree.
15:42:57.791
dvi: Install Device: Removing device sub-tree
completed. 15:42:57.932
dvi: Install Device: Restarting device. 15:42:57.932
dvi: Install Device: Restarting device completed.
15:42:57.963
ndv: {Core Device Install - exit(0x00000000)} 15:42:57.979
ump: {Plug and Play Service: Device Install exit(00000000)}
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 15:42:58.010
dvi: No class installer for ‘Serial PCI card, 2/4’
dvi: No CoInstallers found
dvi: Default installer: Enter 15:42:58.026
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)}
15:42:58.026
ndv: {Update Driver Software Wizard exit(00000000)}
<<< Section end 2012/10/01 15:43:03.859
<<< [Exit status: SUCCESS]
Where “Bla_9501_2” is the name of the section that I selected, and
“Serial PCI card, 2/4” is the corresponding display name. But what gets
installed has the properties from section “Bla_9501_1”, and device
manager displays it as “Serial PCI card, 1/4”, too.
0xe000020e is only DI_DO_DEFAULT, which shouldn’t be a problem, right?
Anything else that is unusual here?