Jump to content

Having Windows Keep The Drivers


X-Savior

Recommended Posts

Hi there,

I have added the drivers to the Winnt.sif with all the directory's and also added the driver packs that way. I used NLite to add a bunch of the smaller stuff but they don't seem to be retained by Windows. Is there any way to add them so in case you make a hardware change the drivers will auto install? :blink:

Thanks! :D

Link to comment
Share on other sites


are you talking about keeping the drivers present so incase you add a piece of hardware the driverpacks support it will auto install?

if that's the case, you wouldn't delete the folder that all your drivers are in, then if you do add a certain piece of supported hardware, when the add new hardware wizard comes up, just point to the folder that the drivers are located.

if you want it automated, the only way I know how is to integrate the drivers into the driver.cab i believe, however if someone else has an alternate method, obviously chime in.

Link to comment
Share on other sites

Hi,

Yea, I would like to get them in the Driver.cab :thumbup

I want the install fully automated. That way I can TRUELY have an upgraded Driver Database. :D

No, the question goes out.... HOW? :wacko:

I figure it would be like integrating SATA drivers. You need to make entry's into the TXTSETUP.SIF I believe. :blink:

Just not sure where to make the entry's.

Link to comment
Share on other sites

I didn't try to add those files to driver.cab yet. You are right, there will be a problem with the txtsetup.sif

This line is used in txtsetup.sif

driver.cab   = 1,,,,,,_x,39,0,0

The problem is the "X"

the "X" tells setup to look-up this file in LAYOUT.INF

in this file the the orginal filesize is stored. This means that if you added files to the driver.cab, your filesize will be different. When this happens setup will give an error that the file is either modified or corrupt.

I see two solutions here:

1. Change the LAYOUT.INF (not recommended see link below)

2. change the "X" into something else (after reading Gosh's info, I think you can delete the "_X". I'm not sure though)

Maybe a little help from some experts here?? :P

txtsetup.sif info

Gosh explains txtsetup.sif

EDIT: Same problem with SP2.cab

sp2.cab      = 100,,,,,,_x,39,0,0

Link to comment
Share on other sites

Or you would need a batch method to add all of the appropriate lines into the LAYOUT.INF file. Certainly not a task for the weak. Ultimately a batch or script that would recursively go through all of the BTS DPs, adding the lines to the inf and making the new HUGE drivers.cab file.

Link to comment
Share on other sites

@ RogueSpear

Thank you for your response.

I don't think that you have to add all the lines to LAYOUT.INF. This file is only Necessary if you want to use the "_x" in on of the lines.

Example: Bashrat's pack (method 2) uses SETUPORG.EXE Bashrat adds the following lines:

TXTSETUP.SIF

setupORG.exe= 1,,,,,,,2,0,0

DOSNET.INF (important if you install with WINNT.EXE or WINNT32.EXE)

d1,setuporg.exe

He doesn't add a line to LAYOUT.INF. But it works like a charm.

The line in TXTSETUP.SIF could have also been like this (correct me if I am wrong):

setupORG.exe= 1,,_x,,,,,2,0,0

Now setup looks for this line in LAYOUT.inf, and there will be an error message (since the line is not present.)

So I guesse that if you don't use the "_x" in the TXTSETUP.SIF file, you don't have to add all the lines to LAYOUT.INF. You do however need to add all the lines to TXTSETUP.SIF and DOSNET.INF (which is a hell of a job :P )

Ultimately a batch or script that would recursively go through all of the BTS DPs, adding the lines to the inf and making the new HUGE drivers.cab file.

Yes, I agree. This would result in the ultimate drivers slipstreaming method.

Link to comment
Share on other sites

If you add them to driver.cab, you're almost certainly going to have to edit layout.inf. If you look at the driver INF files in i386, you'll notice that they basically use layout.inf as their [sourceDisksFiles] section. Unfortunately, layout.inf is digitally signed and, unless you hack syssetup.dll, setup will throw up a signature verification error very early into the GUI portion.

Link to comment
Share on other sites

@RyanVM

Ok, I didn't know that, thnx.

Maybe we don't want to add the drivers to driver.cab

We do however want to do this:

are you talking about keeping the drivers present so incase you add a piece of hardware the driverpacks support it will auto install?

Now I found another interesting file called DRVINDEX.INF. this is some info I found about this file:

A new device requires corresponding driver files in order to work. Setup reads the Drvindex.inf file to find entries for the device. If an entry exists, Setup searches the following paths:

systemroot\Driver Cache\Platform\Driver.cab
systemroot\Driver Cache\Platform
The original Windows XP Professional installation source, such as a network share or a local CD-ROM drive. The Windows XP Professional source location is stored in the registry entry SourcePath in the subkey HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup.
If the required files do not exist in any of the preceding locations, or if references are not located in the Drvindex.inf file, Setup prompts the user to supply the required files.

Click here to visit the site

When we take a look to this file. We see 3 important area's

[Version]
signature="$Windows NT$"
CabFiles=SP2,driver


[driver]
1394vdbg.sys
2gmgsmt.sf2
;alot of drivers :P

[SP2]
1394bus.sys
4mmdat.sys
;again a lot of drivers :P

[Cabs]
driver=driver.cab
SP2=SP2.cab

Would it be possible to modify this file like this:

[Version]
signature="$Windows NT$"
CabFiles=SP2,driver,BTS

[driver]
1394vdbg.sys
2gmgsmt.sf2
;alot of drivers :P

[SP2]
1394bus.sys
4mmdat.sys
;again a lot of drivers :P

[BTS]
;our new drivers

[Cabs]
driver=driver.cab
SP2=SP2.cab
BTS=BTS.cab

Would this work??

EDIT: Maybe a stupid question, but where can you see if a file (like layout.inf) is digitally signed :blushing:

Link to comment
Share on other sites

Wow.... :blink:

I Didn't think it was going to be this difficult to figure out.

Thanks everyone pitching to figure this out. I agree with Erik. Is it possible to create your own CAB and just have Windows reference it prior to asking for drivers. You would think this system should be modular to allow future expansions and additions. :)

I am tempted to try the above method if someone else thinks this might possibly work. :rolleyes:

I might try playing around with DRVINDEX.INF on my latest DVD with a USB Linksys LAN card. I know Windows does not include it and when I plug it in AFTER OS install it does not recognise it. This will provide definitive proof the integration works. :thumbup

Anyone else have further info or experience on the matter?

Link to comment
Share on other sites

@ZileXa

Yes, this program by hp38guser is indeed an amazing peace of art. It has proven to be very usefull (I believe Bashrat already uses this method in his pack (method1)). Altough I like the program, it will not help here.

Our goal is to find a way to let windows autodetect drivers after the installation (when you plug and play a new device which isn't recognised by windows at this moment.)

@X-Savior

Don't forgot to add the LAN-card files to TXTSETUP.SIF and DOSNET.INF. If you don't windows setup will give you a copy error. I am very curiouse to see if this works. Good luck!

@All

What happens when you uninstall drivers that are used in DRVINDEX.INF? If you reboot, will windows auto detect and autoinstall them again? this could be a problem when you want to install newer drivers.

Link to comment
Share on other sites

@ZileXa

Yes, this program by hp38guser is indeed an amazing peace of art. It has proven to be very usefull (I believe Bashrat already uses this method in his pack (method1)). Altough I like the program, it will not help here.

Do you mean that part when it compresses all drivers (cabbing them all)? nope, that's being done through a quite simple batch program (I wrote it :whistle: ) :P.

Link to comment
Share on other sites

Ok, I have been playing around. I compressed and added the single file USB100M.SYS (USB100M.SY_) to TXTSETUP.SIF along side other device drivers and also added 2 lines to DOSNET.INF

Sorry, at a different machine so I can't paste exactly what I added but there was a spot where I did it under D1 (Disc 1) near the top and then also

D1,USB100M.SYS

down a little further as well.

In the TXTSETUP.SIF I used directory 4 (\System32\Drivers)

No Errors during Install. After the install I looked and the driver was there, uncompressed. Everything looked fine but when I plugged in the USB LAN Card it did not find the driver when I searched for it. :thumbup

When you add a device, where does windows search FIRST to see if there is a match? This might be the key to adding them. I assume there must be a reference somewhere else to the drivers. :no:

I Did not add anything to DRVINDEX.INF though. I will try adding to it as well and see if it makes any difference. :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...