Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

Windows XP Drivers

- - - - -

  • Please log in to reply
55 replies to this topic

#26
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
yesssssssss... Summet interesting in my .inf file. I have not looked at it till now.

It has this

[SourceDisksFiles]
Rtenic.sys = 1
Rtenicxp.sys = 1
Rtenic64.sys = 1
RTNicProp32.dll = 1
RTNicProp64.dll = 1
RTNUninst32.dll = 1
RTNUninst64.dll = 1


So if i am thinking right if i chanege the values and make them point to my particular folder when the PC picks up the .inf inside of Windows\INF then i should not have to browse.....

Sounds very interesting.....Need to read more i think regarding this....

My next test was going to be a bit simpler and something I have not yet tried.

Making my new folders. having the driver files copied there at install. Not worry about the .inf being in Windows\INF but adding to WINNT.sif

OemPnpDriversPath="Windows\NuDrvrs|Lan" ( not sure if the inverted commas are needed )

This is like a mixture of the simple $OEM$\$1\Drivers and the more complicated TXTSETUP editing and new folder srtucture...if that makes sence.....It sort of does in my head but to bee honest there is that much whirling round in there i could be mixing myself right up...

mmmmmmmmmmmm tnx thinks...... :blink:


How to remove advertisement from MSFN

#27
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
I'm looking at it right now. Integrating drivers in a way that they will be automatically detected and installed is more complicated ;) Just give me some time. I hope I'll be able to accomplish it today.
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#28
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

I'm looking at it right now. Integrating drivers in a way that they will be automatically detected and installed is more complicated ;) Just give me some time. I hope I'll be able to accomplish it today.



Ohhhhhhhhhhhhhhh...Sounds great. :thumbup

Time hey.....take all the time you need. :rolleyes:

Foor me this has become one of those problems which does not really need getting over. What i mean is nLite does a pretty good job,but summet about it bugs me. Then installing the drivers after an install is no big deal really either..Butttttttttttttttttt,welllllllllllllll..

It's got to the stage where I NEED to do it or i wont be happy with my self,if you know what I mean and to get extra help,well thats fantastic....

#29
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

Just a thought...

You might need to change the path of [SourceDisksNames] within the .inf so that it knows where to find the files...
Just take a look what is the current string. Here is one site for a general description of SourceDisksNames.

To be frank, I don't really know much how to go about it but it is good you are trying to see what works. Keep us posted. :thumbup



been thinking a lot about what you put in your post. I have spent all this time trawling the net looking for info. Found a lot of stuff but I dont really undersatnd it.....

What i am just about to do now is install a fresh XP OS onto my test drive but one I added the drivers to using nLite. What i am hoping to find is where all the files are located. Is the driver.inf actually in Windows\INF and if so as nLite altered the driver.inf file at all
What i will do is copy all the files that nLite installed and compare them using "Beyhond Compare 3" This will show all,any differences in the files after install.

But here is what is in my driver.inf file

[SourceDisksNames]
1=%DISKNAME%,,,

[SourceDisksFiles]
Rtenic.sys = 1
Rtenicxp.sys = 1
Rtenic64.sys = 1
RTNicProp32.dll = 1
RTNicProp64.dll = 1
RTNUninst32.dll = 1
RTNUninst64.dll = 1


At first I was confusing my self thinking the "= 1" was a reference to the TXTSETUP [WinntDirectories] 1 = "\" ( what ever "\" means )

But is is obvious to me now.....So it gets me to thinking that my driver.inf file

[SourceDisksNames]
1=%SystemRoot%\NuDrvs\LAN ----- This is my folder which is created at install and all the driver files are copied to......

This then should point the .inf file right to all the other driver files enabling them to be installed.......I have to test this. To me it does sound like it could be the missing piece in my puzzle...

That is,if I have %SystemRoot%\NuDrvs\LAN correct being my foler which is in Windows\NuDrvs|LAN

Time will only tell..

#30
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
Well not learnt much after install XP with intergrated LAN drivers using nLite.
It makes a folder structure similar to mine and does NOT install the driver.inf file into Windows|INF.

All I found out is it made a file called

INFCACHE.1

and I have no idea what this does.

Off to read up on this

#31
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
Right,another test is on the way.

What I have done.

Using my set up which copies all the drivers onto the system into Windows\NuDrvs\LAN. Edited DOSNET + edited TXTSETUP + my WINNT file I have added to $OEM$\$$\INF and inside here I have placed my driver.inf file.

The driver.inf file will be copied into Windows\INF nicely and I have edited the file,

[SourceDisksNames]
1=%systemroot%\NuDrvs\LAN,,,

[SourceDisksFiles]
Rtenic.sys = 1
Rtenicxp.sys = 1
Rtenic64.sys = 1
RTNicProp32.dll = 1
RTNicProp64.dll = 1
RTNUninst32.dll = 1
RTNUninst64.dll = 1


I have no idea if this is right or wrong. i have found nothing detailing this on the web at all. Which probebly inidicates it's wrong. Like all good experiments it comes down to trial and error....

What I ahve just thought about. Before i go to install I will remove the compressed driver.inf from the install source. Two of the same file might cause problems...

#32
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
Well test done...

Result.....

ohhhhhhhhhhhhhhhhhhhhhhhh soooooooooooooo close.

The install picked up the .inf file. It brought up "Found New Hardware" wizzard and I had to browse to my folder....C:\Windows\NuDrvs\lan

I had in my driver.inf

[SourceDisksNames]
1=%systemroot%\NuDrvs\LAN,,,


I had wrote it wrong...

Going to try again and ammend it to

[SourceDisksNames]
1=%systemroot%\NuDrvs\lan,,,


If that fails i will try

[SourceDisksNames]
1=C:\Windows\NuDrvs\lan,,,



#33
cdob

cdob

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,000 posts
  • Joined 29-September 05
Compare http://www.msfn.org/...to-txtsetupsif/

Drivers are copied to hard disk at a new directory
And HIVESFT.INF DevicePath is adjusted to this new directory.

Be aware: default txtsetup.sif used 8.3 fileĀ“names.
Longer names are expanded. Read txtsetup.sif for examples.

Try folder $OEM$\$1\Drivers\ and adjust DevicePath.

#34
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

Compare http://www.msfn.org/...to-txtsetupsif/

Drivers are copied to hard disk at a new directory
And HIVESFT.INF DevicePath is adjusted to this new directory.

Be aware: default txtsetup.sif used 8.3 fileĀ“names.
Longer names are expanded. Read txtsetup.sif for examples.

Try folder $OEM$\$1\Drivers\ and adjust DevicePath.



that link is interesting. I have actually seen it before but this time around i understand more of this process. The

c) HIVESFT.INF
I. open c:\XPCD\content\I386\HIVESFT.INF and search for %SYSTEMROOT%\inf. the line should be
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SYSTEMROOT%\inf"
II. add the custom driver path to this setting. this is the same path we used in 5.a.II. (%SYSTEMROOT%\nvidia\raid\). the line should look like
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SYSTEMROOT%\inf;%SYSTEMROOT%\nvidia\raid"
III. save and close the file


is very interesting indeed... That could hold the key.....

The $OEM$\$1\Drivers........ i know of this way and i have tested it a couple of times and it works. I just dont want my drivers sat on the root of C: drive....... I know it's a small thing,but i am too far into this just to give up...

I have copying my files from sourc to destination locked down now. using etited DOSNET and TXTSETUP......I understand what changes to make and file system to use...

As for my latest tests.....Nope......Very close !!

With my edited driver.inf I still get the found new hardware wizzard popping up. It tells me that the files are in C:\Windows\NuDrvs\lan and that is exactly where they are but I still have to browse for them...

So it's not the missing piece..

I think my next test will be to forget about my driver.inf being copied into Windows\INF. Going to look at the "HIVESFT.INF" and add my folder path to that which contains ALL my driver files...

My destination folder path is "C:\Windows\NuDrvs\lan" So Looking at the "HIVESFT.inf" I should be looking at

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SYSTEMROOT%\inf;%SYSTEMROOT%\NuDrvs\lan"



Definatly summet new to try....So I will....

Cheers for this new info "cdob"

#35
Geej

Geej

    Senior Member

  • Member
  • PipPipPipPip
  • 635 posts
  • Joined 01-January 08
  • OS:XP Pro x86
  • Country: Country Flag
Your [SourceDisksNames] does not conform to it's syntax.
Try something like this

[SourceDisksNames]
1="NuDrvs LAN Files from current dir of this .inf sub dir",,,NuDrvs\LAN
and put your source file in C:\windows\inf\NuDrvs\LAN instead of C:\windows\NuDrvs\LAN
I think it will not prompt to browse for file.
Unfortunately I couldn't get the inf to pick up file from C:\windows\NuDrvs\LAN. It has to be from the '"installation root", which is where the inf resides.
Unless your driver.inf is located in C:\windows dir...

#36
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

Your [SourceDisksNames] does not conform to it's syntax.
Try something like this

[SourceDisksNames]
1="NuDrvs LAN Files from current dir of this .inf sub dir",,,NuDrvs\LAN
and put your source file in C:\windows\inf\NuDrvs\LAN instead of C:\windows\NuDrvs\LAN
I think it will not prompt to browse for file.
Unfortunately I couldn't get the inf to pick up file from C:\windows\NuDrvs\LAN. It has to be from the '"installation root", which is where the inf resides.
Unless your driver.inf is located in C:\windows dir...



Thanks for that. very interesting.......

I left things last night,too much buzzing round my head....

Picking it up again today And I am just about to test with the ammended HIVESFT file......This points to Windows\inf and my folders.....

Cheers for the extra info....... :thumbup

#37
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
DONE IT...

DONE IT ...

I have done it......

OHhhhhhhhhhhhhhhhhhhhhhhhhh yipeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee...

Just gunna write it up now........

:thumbup :thumbup :thumbup

#38
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
Right this is what i have done.

I'm sure you all know the simple things,obtaining the OS files,downloading the drivers,compressing the drivers. that sort of thing. But if you do need more info,just ask...

I compressed all my driver files and copied them to the source disc,

i386\NuDrvs\lan

I have amended four files

DOSNET.inf
TXTSETUP.sif
HIVESFT.inf
WINNT.sif

DOSNET.inf

[Directories]
d11 = "\i386\MyDrvs\lan"

[OptionalSrcDirs]
MyDrvs

[Files];LAN Drivers
d11,netrtle.cat
d11,netrtle.inf
d11,rtenic64.sys
d11,rtenic.sys
d11,rtenicxp.sys
d11,rtnicprop32.dll
d11,rtnicprop64.dll
d11,rtnuninst32.dll
d11,rtnuninst64.dll


TXTSETUP.sif

[SourceDisksNames]
500 = %cdname%,%cdtagfilei%,,"\i386\MyDrvs\lan"

[WinntDirectories]
600 = NuDrvs\lan

[SourceDisksFiles];LAN Drivers
netrtle.cat = 500,,,,,,,600,0,0
Netrtle.inf = 500,,,,,,,600,0,0
Rtenic.sys = 500,,,,,,,600,0,0
Rtenic64.sys = 500,,,,,,,600,0,0
Rtenicxp.sys = 500,,,,,,,600,0,0
RtNicprop32.DLL = 500,,,,,,,600,0,0
RtNicprop64.DLL = 500,,,,,,,600,0,0
RTNUninst32.dll = 500,,,,,,,600,0,0
RTNUninst64.dll = 500,,,,,,,600,0,0


HIVESFT.inf

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SYSTEMROOT%\inf;%SYSTEMROOT%\NuDrvs\lan"


WINNT.sif

DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore


Amend all these files and copy them back into the source disk i386 folder.

This worked a treat.....And I can not express how happy this had made me feel....

I want to thank each person who has helped me with this project. Each person has held a piece of the puzzle and now they all fit perfectly.....

Well what I have to do now is ttry with more than one driver abd see what happens...

Thanks evry body...

:thumbup

Any questions just ask....

Edited by tnx, 01 August 2012 - 08:06 AM.


#39
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
Good job :thumbup

I've almost managed to do it too but using a different approach. I'm trying to add the drivers using exactly the same way as Micro$oft used. It's actually very simple :w00t: but I still need to go through the last step.
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#40
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

Good job :thumbup

I've almost managed to do it too but using a different approach. I'm trying to add the drivers using exactly the same way as Micro$oft used. It's actually very simple :w00t: but I still need to go through the last step.



Sounds interesting....

Do tell please...

#41
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
I've done it. It is extremely easy.


1. Prepare your driver files. In my case I used the drivers for my Realtek RTL8111E LAN controller:
RtNicprop32.DLL
RTNUninst32.dll
Netrtle.inf
netrtle.cat
Rtenic.sys
2. Go to i386 and unpack driver.cab to a folder called "driver" in the i386 directory. You can use any archiver or just from commandline:
md driver
expand driver.cab -f:* driver
3. Copy your driver files to "i386\driver" except for the INF and CAT file:
RtNicprop32.DLL
RTNUninst32.dll
Rtenic.sys
4. Repack the driver.cab. From commandline inside the i386 directory:
cabarc -m lzx:21 N driver.cab driver\*
You can now remove the i386\driver folder.

5. Open i386\drvindex.inf and add the files from (3) to the list under [driver]. You can omit this step. It's only for informative purpose and doesn't play any practical role here.

6. Open the INF file (Netrtle.inf) and change:
[SourceDisksNames]
1=%DISKNAME%,,,
to
[SourceDisksNames]
1=%DISKNAME%,driver.cab,,"..\driver cache\i386"
7. Pack the INF and CAT files so that they become IN_ and CA_:
cabarc -m lzx:21 N Netrtle.in_ Netrtle.inf
cabarc -m lzx:21 N netrtle.ca_ netrtle.cat
Instead of packing you can just rename them to Netrtle.in_ and netrtle.ca_.

8. Move Netrtle.in_ and netrtle.ca_ to i386.

9. Open i386\txtsetup.sif and add:
[SourceDisksFiles]
Netrtle.inf = 1,,,,,,,20,0,0
netrtle.cat = 1,,,,,,,20,0,0
10. Open i386\dosnet.inf and add:
[Files]
d1,Netrtle.inf
d1,netrtle.cat

That's it. The drivers will be installed at this part of Windows setup (use classic setup in XP):
Attached File  CropperCapture32.png   11.24KB   5 downloads

There's exist also another method but it involves editing the layout.inf file which is digitally signed so you must "patch" syssetup.dll/setupapi.dll too. It's more complicated than this one anyway.
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#42
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

I've done it. It is extremely easy.


1. Prepare your driver files. In my case I used the drivers for my Realtek RTL8111E LAN controller:

RtNicprop32.DLL
RTNUninst32.dll
Netrtle.inf
netrtle.cat
Rtenic.sys
2. Go to i386 and unpack driver.cab to a folder called "driver" in the i386 directory. You can use any archiver or just from commandline:
md driver
expand driver.cab -f:* driver
3. Copy your driver files to "i386\driver" except for the INF and CAT file:
RtNicprop32.DLL
RTNUninst32.dll
Rtenic.sys
4. Repack the driver.cab. From commandline inside the i386 directory:
cabarc -m lzx:21 N driver.cab driver\*
You can now remove the i386\driver folder.

5. Open i386\drvindex.inf and add the files from (3) to the list under [driver]. You can omit this step. It's only for informative purpose and doesn't play any practical role here.

6. Open the INF file (Netrtle.inf) and change:
[SourceDisksNames]
1=%DISKNAME%,,,
to
[SourceDisksNames]
1=%DISKNAME%,driver.cab,,"..\driver cache\i386"
7. Pack the INF and CAT files so that they become IN_ and CA_:
cabarc -m lzx:21 N Netrtle.in_ Netrtle.inf
cabarc -m lzx:21 N netrtle.ca_ netrtle.cat
Instead of packing you can just rename them to Netrtle.in_ and netrtle.ca_.

8. Move Netrtle.in_ and netrtle.ca_ to i386.

9. Open i386\txtsetup.sif and add:
[SourceDisksFiles]
Netrtle.inf = 1,,,,,,,20,0,0
netrtle.cat = 1,,,,,,,20,0,0
10. Open i386\dosnet.inf and add:
[Files]
d1,Netrtle.inf
d1,netrtle.cat

That's it. The drivers will be installed at this part of Windows setup (use classic setup in XP):
Attached File  CropperCapture32.png   11.24KB   5 downloads

There's exist also another method but it involves editing the layout.inf file which is digitally signed so you must which"patch" syssetup.dll/setupapi.dll too. It's more complicated than this one anyway.



Great work.

Will have o give it a go and see which is easier.

#43
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
This script will do the whole thing automatically:

Spoiler

Edit: An updated version of the script is available in #47.

Just save it as drivers.cmd next to the i386. Then create a folder called "drivers" and inside it create separate folders for drivers for each device, ex.

drivers\realtek
drivers\soundblaster
etc.
You must edit the [SourceDisksNames] in all INF files manually and then you can run the script which will automatically do the rest of the integration.

Edited by tomasz86, 02 August 2012 - 08:42 AM.

Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#44
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag

This script will do the whole thing automatically:

SETLOCAL ENABLEDELAYEDEXPANSION
ECHO/>>I386\TXTSETUP.SIF
ECHO>>I386\TXTSETUP.SIF [SourceDisksFiles]
ECHO/>>I386\DOSNET.INF
ECHO>>I386\DOSNET.INF [Files]
ECHO/>>i386\drvindex.inf
ECHO>>i386\drvindex.inf [driver]
RD/Q/S i386\driver >NUL 2>&1
MD i386\driver
EXPAND i386\driver.cab -F:* i386\driver
FOR /F "tokens=* delims=" %%I IN ('DIR/AD/B/S drivers') DO (
	FOR /F "tokens=* delims=" %%J IN ('DIR/A-D/B/S "%%I\*.inf" "%%I\*.cat"') DO (
		SET EXT=%%~xJ
		cabarc -m lzx:21 N "i386\%%~nJ!EXT:~0,-1!_" "%%J"
		ECHO>>I386\TXTSETUP.SIF %%~nxJ = 1,,,,,,,20,0,0
		ECHO>>I386\DOSNET.INF d1,%%~nxJ
	)
	FOR /F "tokens=* delims=" %%J IN ('DIR/A-D/B/S "%%I"') DO (
		IF /I NOT "%%~xJ"==".inf" IF /I NOT "%%~xJ"==".cat" (
			COPY "%%J" i386\driver
			ECHO>>i386\drvindex.inf %%~nxJ
		)
	)
)
CABARC -m lzx:21 N i386\driver.cab i386\driver\*
RD/Q/S i386\driver
PAUSE
Just save it as drivers.cmd next to the i386. Then create a folder called "drivers" and inside it create separate folders for drivers for each device, ex.

drivers\realtek
drivers\soundblaster
etc.
You must edit the [SourceDisksNames] in all INF files manually and then you can run the script which will automatically do the rest of the integration.



WOW....You have been a busy boy...That is vey clever.....

I thought i was doing well with my little scripts....

@echo off

type "Chipset Files List".txt | powershell -Command "$input | ForEach-Object {$_ -replace \"$\", \" = 500,,,,,,,600,0,0\"} | out-file SourceDisksFiles.txt"

pause


I have a script to make a list of file names in a certain folder. then that script adds the corresponding [SourceDisksFiles] info. Of course I have to make a new script for each driver but no big deal. Some of my drivers have a lot of files in them. This just makes it that little bit easier...

I like your script though.....

Wish i was that clever.. :w00t:

Edited by tnx, 01 August 2012 - 12:48 PM.


#45
Geej

Geej

    Senior Member

  • Member
  • PipPipPipPip
  • 635 posts
  • Joined 01-January 08
  • OS:XP Pro x86
  • Country: Country Flag
tnx, glad you see it through and made it! And thanks to you and tomasz86 for sharing the solution. I think now only at msfn forum can a user find a solution even if they google hard.

I seems to have the impression that hfslip's driver integration method is similar to tomasz86's method.

#46
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
I've found some more "issues" regarding driver INF files and the [SourceDiskFiles] section. I'll try to figure out what the problem is about. I'm also going to test the SATA driver integration (btw, I don't like this name "SATA drivers" because I'm actually testing it with SAS drivers, not SATA :whistle:). I've been studying how nLite does it but I think nLite's integration is FAR from perfect because not everything is installed during the setup but rather after the system is started for the first time. I think it would be nice to have everything installed before the first boot :)

Anyway, first I need to fix my system because it's barely running at the moment and I can't even browse the web without the browser crashing :/

@Geej
I'm not sure if HFSLIP can integrate drivers like this. I'll try to check it later but as far as I know HFSLIP is capable of adding files to driver.cab but I've got doubts whether it can install them automatically.

Edit: This is a list of various topics/websites I used when I was testing the method described in #41. I think some of them may be useful:

http://www.msfn.org/...in-txtsetupsif/
http://www.msfn.org/...etupsif-syntax/
http://www.msfn.org/...tinf-reference/ (a good one)
http://www.msfn.org/...3185-drivercab/ (check #2)
http://www.msfn.org/...urcedisksnames/
http://www.msfn.org/...king-drivercab/
http://www.msfn.org/...te-driver-cabs/
http://www.msfn.org/...-to-driverscab/
http://www.osronline...format_0icy.htm (crucial info)

Edited by tomasz86, 02 August 2012 - 05:44 AM.

Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#47
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
I've managed to successfully integrate and install drivers for:

Realtek RTL8111E
nVIDIA GeForce 6600
Sound Blaster Live! 24-bit

Here is an updated version of the script:
SETLOCAL ENABLEDELAYEDEXPANSION
ECHO/>>I386\TXTSETUP.SIF
ECHO>>I386\TXTSETUP.SIF [SourceDisksFiles]
ECHO/>>I386\DOSNET.INF
ECHO>>I386\DOSNET.INF [Files]
ECHO/>>i386\drvindex.inf
ECHO>>i386\drvindex.inf [driver]
RD/Q/S i386\driver >NUL 2>&1
MD i386\driver
EXPAND i386\driver.cab -F:* i386\driver
FOR /F "tokens=* delims=" %%I IN ('DIR/AD/B/S drivers') DO (
	ECHO>>i386\drvindex.inf ;%%~nI
	FOR /F "tokens=* delims=" %%J IN ('DIR/A-D/B/S "%%I\*.inf" "%%I\*.cat"') DO (
		SET EXT=%%~xJ
		cabarc -m lzx:21 N "i386\%%~nJ!EXT:~0,-1!_" "%%J"
		ECHO>>I386\TXTSETUP.SIF %%~nxJ = 1,,,,,,,20,0,0
		ECHO>>I386\DOSNET.INF d1,%%~nxJ
	)
	FOR /F "tokens=* delims=" %%J IN ('DIR/A-D/B/S "%%I"') DO (
		IF /I NOT "%%~xJ"==".inf" IF /I NOT "%%~xJ"==".cat" (
			COPY "%%J" i386\driver
			ECHO>>i386\drvindex.inf %%~nxJ
		)
	)
)
CABARC -m lzx:21 N i386\driver.cab i386\driver\*
RD/Q/S i386\driver
PAUSE
Files will be listed like this in i386\drvindex.inf:
[driver]
;nVIDIA GF6600
nv4_disp.dll
nv4_mini.sys
nvapi.dll
nvcod.dll
nvcpl.dll
nvcpl.hlp
nvhwvid.dll
nvmccs.dll
nvmctray.dll
nvnt4cpl.dll
nvoglnt.dll
nvwcplen.hlp
nvwddi.dll
;Realtek RTL8111E
Rtenic.sys
RtNicprop32.DLL
RTNUninst32.dll
;SoundBlaster Live 24-bit
A3d.dll
ct2mgm.sf2
CtDvInst.dll
ctoss2k.sys
ctsfm2k.sys
P17.dll
P17.sys
P17CPI.dll
P17res.dll
Pfmodnt.sys
sfman32.dll
sfms32.dll
so you can easily check which files belong to which driver.

For testing purposes you can use lower compression rate (=faster compression time) in this line:
CABARC -m lzx:15 N i386\driver.cab i386\driver\*
When testing for the first time the drivers for SB Live didn't install because the INF file couldn't find its source files. I checked it and this is how it looked like (after adding the lines in [SourceDisksNames]:
[SourceDisksNames]
101 = %DriverDisk%,driver.cab,,"..\driver cache\i386"

[SourceDisksFiles]
P17.sys      = 101,I386
Pfmodnt.sys  = 101,I386
ctoss2k.sys   = 101,I386
ctsfm2k.sys   = 101,I386
sfman32.dll   = 101,I386
sfms32.dll    = 101,I386
CtDvInst.dll  = 101,I386
ct2mgm.sf2    = 101
A3d.dll      = 101
P17.dll      = 101
P17CPI.dll   = 101
P17res.dll   = 101
This ",I386" was the problem. I had to edit it like this:
[SourceDisksFiles]
P17.sys      = 101
Pfmodnt.sys  = 101
ctoss2k.sys   = 101
ctsfm2k.sys   = 101
sfman32.dll   = 101
sfms32.dll    = 101
CtDvInst.dll  = 101
ct2mgm.sf2    = 101
A3d.dll      = 101
P17.dll      = 101
P17CPI.dll   = 101
P17res.dll   = 101
After doing so they were correctly installed :)

I think now only at msfn forum can a user find a solution even if they google hard.

That's true. I couldn't find any detailed information in Google. In most places everyone simply said that it was "impossible" or people were giving different suggestions but I couldn't see anything describing how to add drivers directly to driver.cab (and install them automatically). Frankly speaking, I was surprised myself that it was so easy and that editing layout.inf / patching other system files was not necessary.

Edited by tomasz86, 02 August 2012 - 08:37 AM.

Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#48
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
Last night I was adding ALL my drivers to DOSNET,TXTSETUP and HIVESFT also amended my WINNT too. It took me ages to sort them all out and I put the instll files onto my usb stck ready for a test install.
Today though I have been too busy to mess with my PC so not had chance to test the install. As soon as time allows I will see what happens and reportt back.

The way I have done would allow me to easily add new ones or indeed remove any unwanted ones.

I have also as a side project been making an up to date disc too. With all the hotfixes,critical updates manually intergrated too. I have yet to test this.
I am hopefully going to end up to install discs.
One for me to use purely on my machine and one to use on other folks PC's

NO MORE nLite for me.....

#49
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
If you want to manually update the drivers later then of course putting them into separate folders is better... but it's also extremely time-consuming, isn't it? :o I think it's much easier to use the script and just start once again from the beginning with a default driver.cab when adding/updating drivers. The process is done automatically and doesn't take too much time anyway.

At the moment I'm working on SATA/SCSI driver integration. It's a little bit more tricky but not too difficult once you know the rules.
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#50
tnx

tnx

    Newbie

  • Member
  • 37 posts
  • Joined 23-July 12
  • OS:Windows 7 x64
  • Country: Country Flag
Well after intergrating all of my drivers,TEN in total.
From graphics,audio to the Abit Guru drivers.

One error popped up. A file connected to the graphics driver was not copied at install and the PC picked up on this and wrned me it was missing.
It didn't seem to stop the graphics drivers working.

Apart from that it woked like a charm.

So I will look into why the file wont copy. Probebly I may of just simply missed copying it into the source foder.

I am feeling pretty pleased with my self I can tell you.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users