TIP : How to extract drivers from different types of driver packages ?

Hi All,
Greets,

Friends,
I think : To understand & mod the drivers, It will be vital to be able to extract driver packages, get hold of folders with .inf files & read them. So, While I am trying to help with the same, I welcome suggestions from all of you.

The objective here is to extract driver packages & get the folder(s) with .inf driver file(s) :

I could not find an always working solution to extract drivers but some utilities & procedures come to my rescue. Sometimes a single utility or procedure does it all but sometimes multiple utilities and/or procedures do it for me.

(In some cases I got the .inf file in some initial steps but that was not the driver. When i double clicked the .inf file & read it to find the Device Hardware ID, It was not there. Then other procedure finally brought out the required .inf file folder & it was a totally different idea & location.)

The Utilities :

WinRAR : https://www.win-rar.com/start.html?&L=0
7-zip : https://www.7-zip.org/

( I am a 7-zip fan )

Universal Extractor : https://www.raymond.cc/blog/portable-uni…f-archive-files

UniExtract2 : https://github.com/Bioruebe/UniExtract2/releases [ Suggestion from a senior! ]

NOTE : While Universal Extractor is not being updated / maintained, I see UniExtract2 as the hope for future!

lessmsi : http://lessmsi.activescott.com
OR
https://www.raymond.cc/blog/how-to-view-…rom-a-msi-file/

The Procedures & Practices :
1.
(a) Many times I had to keep extracting the things with 7zip one after other, & finally i got the .inf driver files. For eg. In some cases, i extracted the original driver with 7zip & after 3-4 extraction , i got a .cab file. When i extracted the .cab file with 7zip, the driver was extracted.

(b) Sometimes i needed to use multiple utilities to finally extract the driver. For eg. I extracted the driver with 7zip & got a .msi. Then i extracted .msi with LessMSI & got my driver.

2. Command Line For Extraction :

(i) Get hold to ‘Readme’ file for the driver. The file tells about extracting the driver without installation. This worked for Chipset & IRST ( Intel Rapid Storage Technology driver )

The command line to extract Chipset : SetupChipset.exe -extract <PATH>
For eg. to extract it to a folder NEW ( Path ‘C:\NEW’ ) :
SetupChipset.exe -extract C:\NEW

The command line to extract IRST : SetupRST.exe -a -p <PATH>
For eg. to extract it to a folder NEW ( Path ‘C:\NEW’ )
SetupRST.exe -a -p C:\NEW

(ii) Sometimes Driver’s Release Notes mention the command line options for driver extraction ( From a Senior! )

3. Make Out The Extraction Folder

Warning : Always make system restore point before trying this out because in the process of driver extraction you can bug your current OS!

When we execute an installer, it is extracted to a folder before installation.
In some cases, the installer itself tells/asks about the extraction folder. So, it becomes very easy. For eg. hp
In some cases, the driver is always extracted to a particular folder for eg. some Intel drivers.
In some cases, the readme file tells about the folder.
In some cases, the log file for the driver installation tells about it. As for IMEI ( Intel Management Engine Interface )

In many cases, the driver is temporarily extracted to :
’‘C:\Users\USER\AppData\Local\Temp</i>’'
So, neither we have to complete the installation nor abort the installation, go to that location, copy the folder to a safe location & then abort the installation. In this way, we can extract the driver on a good OS without actually installing anything.
It was the case for IMEI driver & Killer Wireless AC 1550 driver (The Killer driver from the Killer site!)
( SOURCE : https://community.netgear.com/t5/WiFi-Ad…-in/td-p/991592 )

4. Sometimes a procedure got me a file & then i extracted it with a utility & the driver was extracted. For eg. I got .msi file from the ‘‘C:\Users\USER\AppData\Local\Temp’’ folder & then extracted it with LessMSI & the driver was extracted.

So. …

Thanks & Regards. …

I un-suggest UniExtract2 , and suggest UniExtract V1 original instead. I tried 2 for a while, much worse on extracting random things than the original.
It may be better for some things I suppose, but nothing I normally use this for (random EXE’s and BIOS EXE’s or other BIOS type packages) was batter with v2, much worse from what I noticed.
But, maybe V2 is better for general “driver” packages?

MSI can be extracted in cmd like this: msiexec /a "Setup.msi" and specify the Network Location folder.


I have seen better success rate with LessMSI!

Thanks & Regards. …