MSFN Forum: Having Windows Keep The Drivers - MSFN Forum

Jump to content


  • 7 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • This topic is locked

Having Windows Keep The Drivers Any way to make them permanent? Rate Topic: -----

#1 User is offline   X-Savior 

  • Member
  • PipPip
  • Group: Members
  • Posts: 124
  • Joined: 23-February 05

  Posted 19 March 2005 - 03:42 PM

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


#2 User is offline   rendrag 

  • grrrrrr
  • PipPipPipPip
  • Group: Members
  • Posts: 687
  • Joined: 28-October 04
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 19 March 2005 - 09:30 PM

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.

#3 User is offline   X-Savior 

  • Member
  • PipPip
  • Group: Members
  • Posts: 124
  • Joined: 23-February 05

Posted 19 March 2005 - 11:55 PM

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.

#4 User is offline   erik_demon 

  • Master Chief
  • PipPip
  • Group: Members
  • Posts: 253
  • Joined: 22-August 04

Posted 21 March 2005 - 09:18 AM

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


#5 User is offline   RogueSpear 

  • OS: SimplyMEPIS
  • Group: Supreme Sponsor
  • Posts: 1,529
  • Joined: 18-September 04

Posted 21 March 2005 - 11:48 AM

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.

#6 User is offline   erik_demon 

  • Master Chief
  • PipPip
  • Group: Members
  • Posts: 253
  • Joined: 22-August 04

Posted 21 March 2005 - 02:54 PM

@ 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 )

Quote

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.

#7 User is offline   RyanVM 

  • Like a big surly teddy bear.
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,661
  • Joined: 31-August 03

Posted 21 March 2005 - 04:20 PM

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.

#8 User is offline   erik_demon 

  • Master Chief
  • PipPip
  • Group: Members
  • Posts: 253
  • Joined: 22-August 04

Posted 22 March 2005 - 03:46 AM

@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:

Quote

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:

#9 User is offline   X-Savior 

  • Member
  • PipPip
  • Group: Members
  • Posts: 124
  • Joined: 23-February 05

Posted 22 March 2005 - 05:58 PM

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?

#10 User is offline   ZileXa 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 767
  • Joined: 27-May 04

Posted 22 March 2005 - 07:50 PM

Perhaps it is a lot easier than you think! check this topic:
http://www.msfn.org/...showtopic=35869
Driver Compressor Tool

#11 User is offline   erik_demon 

  • Master Chief
  • PipPip
  • Group: Members
  • Posts: 253
  • Joined: 22-August 04

Posted 23 March 2005 - 04:20 AM

@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.

#12 User is offline   djbe 

  • Member
  • PipPip
  • Group: Members
  • Posts: 169
  • Joined: 20-October 04

Posted 24 March 2005 - 04:16 AM

erik_demon, on Mar 23 2005, 11:20 AM, said:

@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.

#13 User is offline   Bâshrat the Sneaky 

  • aka Wim Leers
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,214
  • Joined: 29-October 03
  • OS:none specified
  • Country: Country Flag

Posted 24 March 2005 - 11:55 AM

Yep, erik_demon, djbe wrote that.

But djbe: I wasn't sure if it would work, and hp38guser confirmed that cabbed files are also recognised by Windows!

#14 User is offline   X-Savior 

  • Member
  • PipPip
  • Group: Members
  • Posts: 124
  • Joined: 23-February 05

Posted 28 March 2005 - 12:29 AM

Ok,

Well, I have been very bust lately :whistle: (So Have we all!)

I should have a chance in the next few days to experiment and see what the end result is. :)

#15 User is offline   X-Savior 

  • Member
  • PipPip
  • Group: Members
  • Posts: 124
  • Joined: 23-February 05

Posted 29 March 2005 - 01:11 PM

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. :)

#16 User is offline   Bâshrat the Sneaky 

  • aka Wim Leers
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,214
  • Joined: 29-October 03
  • OS:none specified
  • Country: Country Flag

Posted 29 March 2005 - 01:14 PM

You guys really want to do it the hard way... But of course it's the better way. As soon as anyone can outline it DETAILED, I'll add it to the DriverPacks as an option.

As much as I'm interested, I don't have the time to figure it out.

#17 User is offline   erik_demon 

  • Master Chief
  • PipPip
  • Group: Members
  • Posts: 253
  • Joined: 22-August 04

Posted 29 March 2005 - 02:45 PM

@X-Savior

Nice job, this is a really good start.

The key here is indeed DRVINDEX.INF
You don't have to Re-install you OS to test this.

The file DRVINDEX.INF can be found in your %systemroot%\inf folder

I read somewhere that the file was not digitily signed (I thought RyanVM mentioned that somewhere) so it should be easy to modify the file.

I don't have much time this week, but next week I will test the following:

- I will create a CAB file called DP_Erik.cab and put it in my systemroot\Driver Cache\i386 folder.

- I will add/modify the following lines in the DRVINDEX.INF file:
[Version]
signature="$Windows NT$"
CabFiles=SP2,driver,DP_Erik

[DP_Erik]
;driver files (I think I will test in on my monitor drivers)

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


- Uninstall my monitor drivers

- Reboot, and hope for the best :P

I will report back somewhere next week.

@Bâshrat:

When we got this working and well, either X-Savior or myself will write a detailed "how-to". It would be very cool to contribute something to your Driverpacks B) .

EDIT:
@X-Savior

Quote

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


DRVINDEX.INF looks for it's drivers in the following folder:
%systemroot%\Driver Cache\i386


that is number: 39

#18 User is offline   RogueSpear 

  • OS: SimplyMEPIS
  • Group: Supreme Sponsor
  • Posts: 1,529
  • Joined: 18-September 04

Posted 29 March 2005 - 06:04 PM

Ok I'm following all of this without too much difficulties because I looked into myself a number of months ago. At that time I decided it was simply too much for me to tackle. What I remember though was wondering about layout.inf, which I believe IS digitally signed.

If true integration can be achieved without breaking (editing) layout.inf, then what is the true purpose of this file? It almost seems to be redudant to me.

Second. Does the driver index file map out the drivers contained within drivers.cab? I know that when you slipstream SP2 over Gold, you end up with drivers.cab and sp2.cab (unless you merge with nLite or manually). Both of these contain drivers as I understand it. Soooo.. can we make say DP_MS.cab, DP_LAN.cab, etc? Because without any compression, the collection of BTS DriverPacks is enormous to just keep around the hard drive. Especially when I have my unattendeds copy over the i386 directory and install basic apps, a 30 gig laptop drive starts to look pretty small pretty fast.

#19 User is offline   RyanVM 

  • Like a big surly teddy bear.
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,661
  • Joined: 31-August 03

Posted 29 March 2005 - 07:28 PM

I know that the driver INFs in i386 basically use layout.inf as their [SourceDisksFiles] section, which is why adding files to driver.cab is extraordinarily difficult.

#20 User is offline   X-Savior 

  • Member
  • PipPip
  • Group: Members
  • Posts: 124
  • Joined: 23-February 05

Posted 29 March 2005 - 09:05 PM

Ok, I GOT IT!

:thumbup

I tested all afternoon and made some headway but the results will surprise most of you I think.


Here is what I have done... :D

I had 2 Files I was working with...
USB100M.SYS
USB100M.INF

All you need is the *.SYS too be in the "%Systemroot%\Windows\Driver Cache" folder
and the *.INF in the "%Systemroot%\Windows\INF".

THATS IT!

So here is what I did,

1) I compressed the USB100M.SYS into the I386 folder on the DVD.
2) Edited the DOSNET.INF and added the following...

[FLOPPYFILES.1]
D1,USB100M.SYS

[FILES]
D1,USB100M.SYS


3) Next I added to the TXTSETUP.SIF

241 = "DRIVER CACHE"

USB100M.SYS = 1,,,,,,,241,0,0


4) Lastly on the Windows DVD I placed the USB100M.INF into the
"$OEM$\$$\INF " Folder.

Done.

After I re-installed the OS I plugged in the USB Card, it detected it, asked if I wanted to look online, said no... Then Selected Search and it found it and installed it.

This is not QUITE as perfect as I would like. I want it to just do it without asking anything but none the less it works just fine. :unsure:

Something I noticed is that after the first time it installs it created a USB100M.PNF
Not sure what that is about. :wacko:

Share this topic:


  • 7 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy