I am installing a bus driver in a machine which succeeds the installation and generates a OEMxx.inf file in the driver store.
But the below mentioned configuration flags are not available in the system registry -
HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94\ .
Configurations
Descriptors
Strings
When I add the same above mentioned drivers to an windows off-line image with DISM tool by,
“Dism /Image:D:\test\offline-image /Add-Driver /Driver:D:\drivers\bus_driver.inf”
the mentioned entries are created properly.
Would there be any thing missing in the driver code which relates on missing of registry entries? If yes please help me to know the procedure.
I am not aware on the above area. Any advice is appreciated
The driver database key you are referring to is private to the os and its behavior is undocumented. What bigger problem are you seeing that is causing you to think there is a problem here?
From: xxxxx@gmail.commailto:xxxxx Sent: Tuesday, December 29, 2015 10:28 PM To: Windows System Software Devs Interest Listmailto:xxxxx Subject: [ntdev] HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf*** not properly configured
Hi,
I am installing a bus driver in a machine which succeeds the installation and generates a OEMxx.inf file in the driver store. But the below mentioned configuration flags are not available in the system registry - HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94\ . Configurations Descriptors Strings
When I add the same above mentioned drivers to an windows off-line image with DISM tool by, “Dism /Image:D:\test\offline-image /Add-Driver /Driver:D:\drivers\bus_driver.inf” the mentioned entries are created properly.
Would there be any thing missing in the driver code which relates on missing of registry entries? If yes please help me to know the procedure.
I am not aware on the above area. Any advice is appreciated
I see the problem when I clone the stand-alone machine hard-drive image in a SAN LUN(FC-storage). When booting via the CLONED SAN LUN - bus_driver failed to start.
devnode of this bus driver shows Problem: CM_PROB_NOT_CONFIGURED. So that we are seeing system-crash with bug check 7B.
(The child HBA adapter is not started because the parent bus driver is not yet started)
The same above explained behavior successfully boot’s up via LUN by adding drivers with “DISM” tool. Because when adding driver with DISM ,
the mentioned entries are created under "HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94".
Please help to know why in stand-alone case these registries are not properly configured? Is there any specific procedure to resolve this?
For a boot critical device, you used to need CriticalDeviceDatabase registry entries. Since the Win 8 PnP boot start changes, I’m not sure if this is still correct. The storage device class installer used to know what to do when installing a storage class device. It used to work to create the correct CriticalDeviceDatabase entries from INF registry entries too.
Since it sounds like your device is a virtual bus, I assume it will not get installed by the storage class device installer. What install class is your bus device? I thought devices in the System class also had automagic CriticalDeviceDatabase handling too.
Which OS version are you talking about?
Jan
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Wednesday, December 30, 2015 12:06 AM
To: Windows System Software Devs Interest List Subject: RE:[ntdev] HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf*** not properly configured
Hi,
I see the problem when I clone the stand-alone machine hard-drive image in a SAN LUN(FC-storage). When booting via the CLONED SAN LUN - bus_driver failed to start. devnode of this bus driver shows Problem: CM_PROB_NOT_CONFIGURED. So that we are seeing system-crash with bug check 7B. (The child HBA adapter is not started because the parent bus driver is not yet started)
The same above explained behavior successfully boot’s up via LUN by adding drivers with “DISM” tool. Because when adding driver with DISM , the mentioned entries are created under "HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94".
Please help to know why in stand-alone case these registries are not properly configured? Is there any specific procedure to resolve this?
wrote in message news:xxxxx@ntdev… > Hi, > > I see the problem when I clone the stand-alone machine hard-drive image in a SAN LUN(FC-storage). When booting via the CLONED SAN LUN - bus_driver failed to start. > devnode of this bus driver shows Problem: CM_PROB_NOT_CONFIGURED. So that we are seeing system-crash with bug check 7B. > (The child HBA adapter is not started because the parent bus driver is not yet started) > > The same above explained behavior successfully boot’s up via LUN by adding drivers with “DISM” tool. Because when adding driver with DISM , > the mentioned entries are created under "HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94". > > Please help to know why in stand-alone case these registries are not properly configured? Is there any specific procedure to resolve this? > > Thanks in advance >
>For a boot critical device, you used to need CriticalDeviceDatabase registry entries. Since the Win
Since Win8, CriticalDeviceDatabase is gone.
It is replaced by the in-registry Driver Database, which seems to contain much more then the CriticalDeviceDatabase, essentially most if not all data from INFs parsed and converted to the registry tree.
Also, since Win8, the drvindex.dat, drvstore.dat and companion files have gone, being replaced by the same in-registry Driver Database.
We are using Windows Server 2012 R2. Our bus device is using Class=System, ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Although our bur driver is system installer class, registries are not properly/fully configured in the "HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94".
I am installing a bus driver in a machine which succeeds the installation and generates a OEMxx.inf file in the driver store.
Just to quick terminology note: the OEMxx.INF files go in
\Windows\Inf. That’s NOT the driver store. The driver store gets an
exact copy of your complete package using the original file names, in
\Windows\System32\DriverStore\FileRepository.
And, by the way, “bus_driver.inf” is a terrible name for an INF file…
But the below mentioned configuration flags are not available in the system registry -
HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2cc415d6e3dd94\ .
Do you realize that those final digits are derived from a checksum of
your files? If you change the driver package, that number is going to
change.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I’m thank-full to every one for warm inputs and clarifying my confusion.
Hi Tim,
Let us discuss two scenarios. Success(Inject using DISM tool) and Failure(Direct install)
Failure - on direct installation of bus driver on a Server and clone the server Image to a SAN-LUN. Then Booting via particular LUN we are seeing the BSOD.
Success - Adding driver to off-line windows image by DISM tool then install image directly to the LUN. Boot through the LUN is working.
On comparing the registry of failure and success case, The following entries are are missing in the failure case.
HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2c c415d6e3dd94\
|— Configurations
|— Descriptors
|— Strings
I have imported the success case entries (Configurations,Descriptors,Strings) in the failure case . Finally the issues is fixed and was successfully booted via SAN-LUN.
If I could make a way to root cause ,
Why in case of direct install on a server, the above mentioned registry entries are missing ?
Is there something we have to implement in driver code to make the entries proper?
Also Please help me to understand, Why in case of DISM tool how are the registry entries properly updated?
From: xxxxx@gmail.commailto:xxxxx Sent: Wednesday, December 30, 2015 10:01 PM To: Windows System Software Devs Interest Listmailto:xxxxx Subject: RE:[ntdev] HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf*** not properly configured
I’m thank-full to every one for warm inputs and clarifying my confusion.
Hi Tim,
Let us discuss two scenarios. Success(Inject using DISM tool) and Failure(Direct install)
Failure - on direct installation of bus driver on a Server and clone the server Image to a SAN-LUN. Then Booting via particular LUN we are seeing the BSOD.
Success - Adding driver to off-line windows image by DISM tool then install image directly to the LUN. Boot through the LUN is working.
On comparing the registry of failure and success case, The following entries are are missing in the failure case. HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_6b2c c415d6e3dd94<br>|— Configurations |— Descriptors |— Strings
I have imported the success case entries (Configurations,Descriptors,Strings) in the failure case . Finally the issues is fixed and was successfully booted via SAN-LUN.
If I could make a way to root cause , Why in case of direct install on a server, the above mentioned registry entries are missing ? Is there something we have to implement in driver code to make the entries proper?
Also Please help me to understand, Why in case of DISM tool how are the registry entries properly updated?
How? What apis? Dpinst? Are you copying files directly?
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Wednesday, December 30, 2015 11:43 PM
To: Windows System Software Devs Interest List Subject: RE:[ntdev] HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf*** not properly configured
Yes. We are installing our bus_driver with the help of msi.
Hi Holan,
I am not that much proficient in those installation scenario. If I am giving any wrong inputs (apis,Dpinst) that might divert the issue. So I am explaining a simple scenario which I worked out,
Imagine our driver is a Inbox driver which is coming inbuilt with Windows Server 2012 R2 OS(Say Driver Version 2.0). After fresh OS installation in device manager under “System Devices” I can see the driver installed for the hardware. Also inside the
Now I am updating the driver with version 3.0 using the “inf” from the Device Manager. The update is successful. A new entry “bus_driver.inf_amd64_YYYYYYY” is added inside HKLM\SYSTEM\DriverDatabase\DriverPackages, but those Configurations,Descriptors,Strings entries are missing.
As mentioned above just importing the Configurations,Descriptors,Strings in this newly created entry is fixing my boot failure.
I want to know the procedure how to properly add the (Configurations,Descriptors,Strings) inside the HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_YYYYYYYYY at the time of updation itself.
Note: In the offline image if we are injecting the same bus_driver.inf(3.0) using DISM tool, these entries are properly added. I have tried to collect some information on how the DISM.exe is doing that? But I could not get any hints. Please refer if any links or docs available.
At-least we would like to know how could dism.exe tool alone properly configuring the HKLM\SYSTEM\DriverDatabase\DriverPackages\bus_driver.inf_amd64_YYYYY when we are adding the driver in the offline image using the following command