Help - Search - Members - Calendar
Full Version: SOLVED: drivers from CD
MSFN Forums > Unattended Windows Discussion & Support > Device Drivers
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

   
Google Internet Forums Unattended CD/DVD Guide
Pyron
Major Update 12. Sep 2004 (finally!)

You want to install PnP-drivers directly from the CD?
Or extract them from an archive before installation?
Maybe you want a repair cd without winnt.sif but with custom drivers?

All this is possible.
NOTE: this only works with drivers that have an .inf!

I did some programming in my (rare) spare time and created some custom tools to accomplish the above.

This is what you have to do:
1. download the following files: (updated: 12. Sep 2004)
SETUP.EX_ ca. 2K
presetup.cmd ca. 1K
SetDevicePath.exe ca. 12K
WatchDriverSigningPolicy.exe ca. 4K

In case you are having problems, try this:
setup_dbg.exe ca. 5K
This works exactly like the above one, except that the window of presetup.cmd is visible, so you can see what is happening. (You have to rename it to setup.exe and cab it yourself)

2. create a directory OEM\bin in the root of your CD-folder and copy
WatchDriverSigningPolicy.exe and SetDevicePath.exe into it.

3. go to your I386 directory and uncab SETUP.EX_ like this:
CODE
expand SETUP.EX_ setupORG.exe

4. copy my SETUP.EX_ to your I386 directory and overwrite the old one.

5. copy my presetup.cmd to your I386 directory.
This is an example file which assumes that all user related files reside in \OEM\bin on the CD.
Feel free to change it to your needs, I added some comments, shouldn't be too hard.

6. create a directory OEM\drivers in the root of your CD-folder and copy your uncompressed drivers there OR create an archive containing your drivers and put them on the CD, for example OEM\drivers.7z or OEM\data\mydrivers.rar... you get the idea.
You can sort them into subdirectories, these will be scanned recursively by SetDevicePath.exe.

7. edit TXTSETUP.SIF directly under [SourceDisksFiles] to include the following entries:
CODE
setupORG.exe = 1,,,,,,,2,0,0
presetup.cmd = 1,,,,,,,2,0,0

These two are absolutely neccessary, everything else can come from CD later on.

Done.

This is what happens during installation
After the first reboot the installation starts in GUI-mode and executes "setup.exe -newsetup".
Well, it *thinks* it does... biggrin.gif
My setup.exe executes presetup.cmd first (the window is hidden by design) which in turn starts the original setup.
It waits till presetup.cmd terminates, then it terminates itself and Windows reboots.

So as you might have guessed already, the neat stuff happens in presetup.cmd.
The driveletter of the CD is searched first:
CODE
set tagfile=\WIN51
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist "%%i:%tagfile%" set CDDRIVE=%%i:

(thanks to serialsz for the shorter version, slightly modified)

Remark: note that the tagfile might be different for you. You might have to change it to '\WIN51IP' or '\WIN51.SP2'.

Uncompressed drivers directly on CD
If they are uncompressed on the CD, just do it like this:
CODE
%CDDRIVE%\OEM\bin\SetDevicePath.exe %CDDRIVE%\OEM\drivers

The drivers directory on the CD is scanned for subdirectories. The list of subdirectories is then written to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath. ("%SystemRoot%\Inf" is added in front of it)

Compressed drivers from an archive
In case you want to use compressed drivers (and who wouldn't want to smile.gif), you have to extract them into a directory on HD, then run SetDevicePath.exe on that directory. Note that you can sort your drivers into as many subdirectories as you like and you can have as many driverpacks as you like, as long as you extract them under a single directory, because SetDevicePath.exe takes only one parameter.

Unsigned drivers
Now comes the tricky part. The installation of unsigned drivers will trigger the usual warning messages.
So you may think: "No problem. I just change the 'HKLM\Software\Microsoft\Driver Signing' value in HIVESFT.INF!"
Should work, but does not. Windows Setup resets the "Driver Signing" entries when it starts.
The following line in presetup.cmd will take care of this issue.

CODE
start %CDDRIVE%\OEM\bin\WatchDriverSigningPolicy.exe

(the 'start' is important, or presetup.cmd will hang!)

It installs a notification hook on the "Driver Signing" regkey and changes it back whenever necessary.
It changes another key as well:
The geniuses at Microsoft implemented a mechanism to disallow the change of the "Driver Signing" keys through regkeys, which is a good thing™ but at the same time they build a backdoor for circumventing this mechanism.
HKCU\Software\Policies\Microsoft\Windows NT\Driver Signing\BehaviorOnFailedVerify (=0)
This essentially means that when Windows finds out that the policies have been tampered with, it just does not care...

Things to do after the installation:
Microsoft recommends to reset the DevicePath to "%SystemRoot%\Inf" after setup:
CODE
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"DevicePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
 00,74,00,25,00,5c,00,49,00,6e,00,66,00,00,00

If you used WatchDriverSigningPolicy.exe, you should reset the appropriate keys if you don't want unsigned drivers to be installed without warning:
CODE
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Driver Signing]
"Policy"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing]
"Policy"=hex:01

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows NT\Driver Signing]
"BehaviorOnFailedVerify"=dword:00000001

(Apparently this does not work at the end of presetup.cmd after the invocation of setup.exe. It seems that Windows is in some weird limbo state there and registry-changes are ignored/reset.)

Final notes:
Please note that you cannot start all programs in presetup.cmd.
The environment is rather limited at this point of the setup.
regedit.exe for example does not work, but reg.exe does.
taskmgr.exe does not work either. They will work a minute later, when the real setup has started.
rundll32.exe works so you can install custom infs.
WinRAR-sfx-archives only work with consolemode-sfx-module, 7z-sfx archives work out of the box. (figured out by edmoncu here)
BTW, things added to RunOnce will be executed somewhere at mark 34min, parallel to the driver installation.
RunOnceEx gets executed at mark 13min, as usual.

You can also use AutoIt to automate the installation in case you don't want to use winnt.sif. (for a repair cd)

My old version of setup.exe started GUI-setup automatically after presetup.cmd had finished, this new one does not! You have to do it youself at the end of presetup.cmd. This way you can do stuff after setup as well, like cleanup.
This version of setup.exe forwards its parameters to presetup.cmd. This means that you should start the installation like this:
CODE
setup.exe %*
(thanks, Biggles, for the shorter version) in case Windows wants to do some special stuff, like ASR (Automated System Recovery). This was mentioned by ovilla2001 here, although he reported the repair option failed, I just assume he meant ASR. (AFAIK "-newsetup" is used by normal and repair setup, only the entries in $winnt.inf$ change)
SetupORG.exe must be renamed to setup.exe before installation to resolve a bad signature issue reported by ovilla2001 here, look into the example presetup.cmd to see how this is to be done.

--
Pyron
Spooky
Thank you Pyron. All I do is point to a .cmd file in cmdline.txt that runs the .inf file for the drivers. works for me.
stinkywea
wow, this may be a huge help...does it still matter the location of the drivers in winnt.sif though?
Pyron
Well, actually I never tried this with an unattended install using winnt.sif.
I have to install windows daily (sometimes several times a day) at work and I
needed a CD with custom drivers AND the posibility to do a repair installation.

In theory you can use the OEMPnPDriversPath in winnt.sif with an empty directory
from the CD, then fill in the files on HD before the driver installation even starts.
(This was discussed elsewhere already)

--
Pyron
Bachus
Interesting...very interesting. This should work for Windows 2000, too, right?
Gism0
woah, very very good work biggrin.gif
Pyron
@Bachus:
It *should* work for Windows 2000, but I didn't test it yet.
The only showstopper could be Windows' File Protection but after discovering
that Windows XP doesn't protect setup.exe I doubt Windows 2000 does.

--
Pyron
disgraceful33
this'd be great, too bad the only drivers i have that arent auto installed are the catalyst and audigy sad.gif

and i know there's the auto install for catalyst but i couldn't get the control panel app to work correctly so i just install them after.
Bachus
Finally getting around to implementing this and I have a quick question. I should put all driver files in one directory, right? I can't put them in, for example, \OEM\bin\ati, \OEM\bin\nforce2, etc?
Alanoll
QUOTE
then the drivers directory on the CD is scanned for subdirectories. The list of subdirectories is then written to
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath.


i'm guessing is recursive and include the subdirectories.
so grouping should prolly work...
ie
Driver\Nvidia
Driver\Creative

instead of everything being in Driver
Pyron
SetDevicePath.exe scans a directory recursively for subdirectories and adds all found
subdirectories to the registry. So you can sort them however you like, but they have
to reside in a single root-directory.

So you can even have this kind of structure:

\drivers\chipset\sis
\drivers\chipset\via
\drivers\graphics\nvidia
\drivers\graphics\ati
\drivers\sound\creative
...

CODE
SetDevicePath.exe \drivers
will suffice.

But you cannot have two or more drivers directories like this
CODE
SetDevicePath.exe \drivers1
SetDevicePath.exe \drivers2
as the second call will overwrite the registry-entries made by
the first!

--
Pyron
bucketbuster
Hi,

what should I do with the PnPDriversPath entry in winnt.sif???

Should I leave it blank or.....??
Alanoll
QUOTE (bucketbuster @ Dec 30 2003, 04:17 PM)
Hi,

what should I do with the PnPDriversPath entry in winnt.sif???

Should I leave it blank or.....??

if you use the Winnt.sif, it will probally overwrite those settings.
but then again, why would you use the PNPDriversPath with this.

in winnt.sif you need to have the drivers and whatnot copied to the harddrive using the $OEM$ folder.
this method makes it so you don't copy your drivers from the CD. Making the path in winnt.sif mute.
eirogge
Thank you very much for this effort in unattended driver installation! :-)

I've got only one problem: it does not install unsigned drivers respectively my ATI Catalyst 4.3 with a patched and non-signed ati2mtag.sys.

These are the last two lines of my presetup.cmd :

CODE
%CDDRIVE%\$OEM$\SetDevicePath.exe %CDDRIVE%\$OEM$\Treiber
start %CDDRIVE%\$OEM$\WatchDriverSigningPolicy.exe


I changed the folders to fit my folder structure. Are the paths hardcoded in the exe files so it may be caused by this?
Bilou_Gateux
@Bachus

for Windows 2000, i suggest to edit presetup.cmd and change the 2nd line
QUOTE
rem find cdrom
set tagfile=\WIN51
to
QUOTE
rem find cdrom
set tagfile=\CDROM_NT.5

because WIN51 file don't exist on Windows 2000 installation CD

@Pyron
Can you detail what exactly changes in the registry with WatchDriverSigningPolicy.exe :
QUOTE
It installs a notification hook on the "Driver Signing" regkey and changes it back whenever necessary.

because i like to understand what the program do to help solve problems

more information on the BehaviorOnFailedVerify
http://www.tburke.net/info/regentry/topics/93271.htm
http://www.winguides.com/registry/display.php/1298/
http://archives.neohapsis.com/archives/sf/...02-q1/0455.html
for frenchies
http://www.hotline-pc.org/WHISTLER/systeme.htm
[URL=http://e.padrixe.free.fr/Optimise_XP_.txt[/URL]
Pyron
@Bilou_Gateux:

I simply use RegCreateKeyEx to set the appropriate Keys and RegNotifyChangeKeyValue to "watch" it like this:

CODE
(simplified, not working code)

while(1) {
   // Set Key with RegCreateKeyEx here
   // Setting Main Driver Signing Policy under
   //   HKLM\\Software\\Microsoft\\Driver Signing\\Driver Signing Policy = 0
   // Setting User Driver Signing Policy under
   //   HKCU\\Software\\Microsoft\\Driver Signing\\Driver Signing Policy = 0
   // Setting BehaviorOnFailedVerify under
   //   HKCU\\Software\\Policies\\Microsoft\\Windows NT\\Driver Signing\\BehaviorOnFailedVerify = 0

   // Watch the registry key for a change of value.
   RegNotifyChangeKeyValue(HKLM\\Software\\Microsoft\\Driver Signing\\Driver Signing Policy);

   // Wait for an event to occur. (i.e. key has changed)
   WaitForSingleObject(event);
}


I attached the main sourcefile (for VC++6). No big secrets in there...

@eirogge:
Since I found out about this I installed various systems using this method, but occassionally the dialog for the installation of unsigned drivers pops up nevertheless. I have no idea why, but Setup seems to ignore the registry values sometimes. :(

(In the meantime I worked on an unattended installation using AutoIt. Seems to be a bit clumsy but works very reliable.)

--
Pyron
Alanoll
the Driver Policy key is restet when GUI install starts, regardless of what it was set to previously.

unsigned don't get installed becuase of teh "score" they get is lower then any other matches.


why did you modify ati2mag.sys?
eirogge
QUOTE (Alanoll @ Mar 26 2004, 11:02 PM)
why did you modify ati2mag.sys?

unlocking all 8 pixel pipelines on a radeon 9800se with the radeon 9800pro layout
RyanVM
So let me get this right. We're omitting the OEMPnPDriversPath from winnt.sif and are instead running a program which manually sets the path later in installation (and the path can be set to a CD or whatever). It would be a gigantic space and time saver if I could make a self-extracting solid RAR archive will all the driver files in it!
RyanVM
Argh, so much information to absorb...wacko.gif
Alanoll
this is true, but if you wanted to save space on your disk, why would you install the drivers from the disk? They'd have to be in an uncompressed form.

And actually the Path is set right when Windows Setup starts (before the GUI part starts) same was when it imported from Winnt.sif


I dunno about time saver? I seems like it'd be easier to have the drivers easily editable on a disk, rather then change the drivers make sure structure is correct, and then recreate the archive.
RyanVM
There's two possibilities I'm seeing: First, you could save time by having the drivers install directly from the CD seeing as how they wouldn't need to be copied. Otherwise, you could compress them to save space and have them be extracted, possibly saving time as well since you'd be reading one contiguous file rather than thousands of small ones.

And I don't mind making an archive, I've got a fast computer smile.gif. Yes, I would leave them uncompressed on my hard drive.
Alanoll
this is true....
you would have one file to copy over, but then you'd have to extract it would might take awhile depending on the size (a few minutes really).


so the real question comes down to , Speed vs. Size, as it always does tongue.gif
RyanVM
Just for the sake of experimenting, I made a solid RAR archive of my Drivers folder. It went from 102MB to 21MB! ohmy.gif

So how would I make sure it executed before PnP device detection?

And if you did it that way, I could extract it to C:\Drivers and never even need to change my winnt.sif.
Alanoll
use DetachdProgram

that should get it there before detection begins. I think anywayz...

Or maybe you could use a combined method of this and the rar. Use the setup and presetup.cmd files from this, but only to extract the archive, and then continue the setup.
RyanVM
If I understand how DetachedProgram works, it runs it concurrently with windows setup, correct? What has me nervous is that for a large archive, it might take so long to extract the archive that by the time it's done, some hardware will have already been missed. I guess that's where your method comes into play.
Bâshrat the Sneaky
I've been trying to do this too. I've made a SFX archive with WinRAR, which is set up to extract to %systemdrive%\Drivers.

It silently unpacks like this: drivers.exe /S. But it doesn't get unpacked at all when I run it detached by winnt.sif!!!

However, I've noticed again something interesting: when you create a SFX archive you can choose a SFX-module, somewhere in properties.

You can choose between:

-default.sfx
-DOS.sfx
-Win.con.sfx (Windows Console)

The last two, and specificly the last one could be very usefull I think? Could anyone test this, as I'll be in London the next two days? (school trip)
RyanVM
By george, it worked like a charm!

And Bashrat, your problem was likely that you didn't put the /S flag in the Arguments string. It doesn't go with the exe. But I used the standard RAR SFX module and had it show me progress and it worked like a charm. No need for flags if you create the SFX archive properly.

XP Setup even waits for it to finish running before it does PnP Device detection! Win-win!
Alanoll
::marks another on the board for good ideas::

wow, this good idea thing is starting to rack up tongue.gif
RyanVM
For those using WinRAR to achieve this, this is my method for creating an SFX archive that worked. RAR up the subdirectories within your Drivers folder (I personally do it with the best compression and as a solid archive and it got a 5:1 compression ratio). Make it self extracting, but don't worry about any SFX options for the time being. Once the archive is created, add a comment to the archive (a shortcut to this is Alt+M) with this info in it:
CODE
;The comment below contains SFX script commands

Path=%systemdrive%\Drivers
SavePath
Silent=2
Overwrite=1
That will tell it to extract to Drivers on root (in other words, generally C:\Drivers). It will show an extraction progress dialog (so you can verify that it is indeed working. Change Silent=2 to 1 if you want it to be completely hidden. Overwrite=1 tells it to overwrite any files it comes across (not that it'll be an issue if you're doing a clean install).

So now you should have an exe (mine's called Drivers.exe and I'll be using it as an example) with the above comment in it (you can test its functionality too by double clicking and verifying that it extracts how you want it to). Place it in your $1 folder inside $OEM$. In the [GUIUnattended] section of winnt.sif, add the following line:
CODE
DetachedProgram="%systemdrive%\Drivers.exe"
Leave your OEMPnPDriversPath settings in winnt.sif the same as if the files were uncompressed on the CD. They will be extracted prior to PnP device detection, so this will not be a problem.

Attached is a picture of what the archive should look like.
Alanoll
what I like about this method (the one at the beginning) is that it recursively goes through the directories, and that means less user error tongue.gif It's happened a few times.
Alanoll
I'm going to pin this topic. It could come in handy. I've seen a few people asking for this.
RyanVM
QUOTE (Alanoll @ May 7 2004, 07:59 AM)
what I like about this method (the one at the beginning) is that it recursively goes through the directories, and that means less user error tongue.gif It's happened a few times.

The way I see it is that both methods have their merits and each kind of serve their own unique purpose. The advantage to Pryon's method is that it can be used with a "vanilla" XP CD which allows for repairs and doesn't require the files to be copied from the CD prior. The advantage to the second method is that it allows for compression which inevitably means room for more stuff! biggrin.gif
Alanoll
yeah more stuff.....

go DVD!! tongue.gif I still got about 1 gig of room to fill on it. so....yeah...tongue.gif
RyanVM
QUOTE (Alanoll @ May 7 2004, 08:44 AM)
yeah more stuff.....

go DVD!! tongue.gif I still got about 1 gig of room to fill on it. so....yeah...tongue.gif

Yeah, I'm really starting to yearn for a DVD burner. I'm thinking one of those SATA Plextor ones coming out soon sounds nice (thin cables...mmm...). But as it stands right now, my XP install CD is standing at 420MB (yay for jdboeck's cleanup batch files), so no need for it quite yet. I'd image if I go DVD at some point, I'll be scripting office2003 and such in there as well, though.
Alanoll
yeah, that office sends it over the limit. tongue.gif

wish I had a cable SATA drives myself. I only have two ports, but I'm sure they have expandsion cards or something. I currently have 6 IDE drive on 4 cables (They're not long enough, and I'm too lazy to buy a new one)
edmoncu
im sorry guys if i didn't got it correctly huh.gif , does this approach work with an unattended xpcd?
Alanoll
yes.

I personally use a slightly modified version of the very first post.
edmoncu
WOW! thumbup.gif

Does this approach work when combined with the detached program method?

part of winnt.sif
CODE
[Unattended]
   UnattendMode=DefaultHide
   OemSkipEula=Yes
   OemPreinstall=Yes
   TargetPath=\WINDOWS
   FileSystem=*
   UnattendSwitch="No"
   WaitForReboot="No"
   DriverSigningPolicy=Ignore
;OemPnPDriversPath="Drivers\06_storage;...;Drivers\06_storage\nvidia"

[GuiUnattended]
   AdminPassword=*
   EncryptedAdminPassword=NO
   OEMSkipRegional=1
   TimeZone=215
   OemSkipWelcome=1
   DetachedProgram="%systemdrive%\drivers\drivers.exe"


presetup.cmd
CODE
%systemdrive%
cd %windir%\system32

REM Scanning for driverdirectories
%systemdrive%\SetDevicePath.exe %systemdrive%\drivers

REM Enable installation of unsigned drivers
start %systemdrive%\WatchDriverSigningPolicy.exe
Alanoll
no. Not what you're doing. You'r trying to combine the original post, and then Ryan's. If you use DetachedProgram, then you need all the paths spelled out in OEMPnPDriversPath in your Winnt.sif as they will appear after your DetachedProgram executes.

If doing the first one, it allows for not having to type out all the paths, but the drivers have to be all extracted and to a certain folder, whether on CD or harddrive.

As a little experiment to combine the two, and since you're alrady setup.....
try adding the line for your Detached Program in presetup.cmd, leave out OEMPnPDriversPath and DetachedProgram in Winnt.sif and see if it works.
edmoncu
i wonder if files are case-sensitive. i had an error during the initial gui part of the setup that setupORG.exe is missing. my setuporg.exe file is placed on the i386 folder of the cd including the custom setup.ex_ file i downloaded.
edmoncu
sorry, made a double post. please disregard this one. whistling.gif
RyanVM
I'm not exactly sure what you're talking about, but Detached Programs should be placed in the $OEM$\$1 folder if that's what you're asking.
edmoncu
@Alanoll, so in doing this method, aside from REM'ming out the OemPnPDriversPath, i should REM out the DetachedProgram as well?

@RyanVM, just a couple of questions: biggrin.gif

have you tried this method in an unattended cd setup? if so, are you using SFX-compressed archives in containing the drivers? i would also like to know where did you placed the necessary files? may i also know what does your presetup.cmd contains? thanks so much. biggrin.gif
Alanoll
don't REM the lines. To comment in the Winnt.sif file, use a ; at the beginning of the line.

If it's complaining about a missing setuporg.exe, make sure you made the entries to txtsetup.sif AND dosnet.inf as shown in the first post. Otherwise, it's never copied from the CD, and presetup.cmd is launched from hdd.

@RyanVM

I believe edmoncu is trying to combine the two methods. But keep in mind, that your your SFX archive with all the drivers files, must be in $OEM$\$1 somewhere, and the line that then calls it is also refers to the directory it will be in. If you had a working DetachedProgram line, I said copy that to presetup.cmd. But it appears that you've only taken snippets from each of the methods, and trying to make it work.
edmoncu
@Alanoll,

Oh, I get it now (I hope)! Thanks! biggrin.gif

So the decompression of the SFX-Compressed Archive has to be done under presetup.cmd?

I hope it would be possible to make an SFX RAR-Compressed archive that will work on a console (pre-gui) or dos-like environment. Or any SFX RAR-Compressed archive will do?

Will try this later this day... I plan on using these commands under presetup.cmd
CODE
start /wait %systemdrive%\Drivers\drivers.exe

%systemdrive%
cd %windir%\system32

REM Scanning for driverdirectories
%systemdrive%\SetDevicePath.exe %systemdrive%\drivers

REM Enable installation of unsigned drivers
start %systemdrive%\WatchDriverSigningPolicy.exe


what made me a bit confused is the 2nd and 3rd line of commands
CODE
%systemdrive%
cd %windir%\system32


i wonder is there still a need for these commands.

anyway, as for winnt.sif, shall i still have to comment-out on OemPnPDriversPath and DetachedProgram.

am i right on track? rolleyes.gif
edmoncu
hmm, it seems that the SFX archive needs to use WinCon.SFX (Windows console RAR SFX) module, rather than the Default.SFX (Windows GUI RAR SFX).

in other words, when making a WinCon-based SFX, functionality is limited, you cannot pre-specify a destination folder for the uncompressed file. meaning when using this with presetup.cmd, you have to make sure you execute the WinCon-based SFX archive at the folder you're going to extract files to. in my case, since I have the drivers.exe on the drivers folder of the root directory of the system drive (copied via $OEM$\$1\Drivers), i have to adjust the parameters within presetup.cmd:
CODE
%systemdrive%

cd %systemdrive%\drivers
start /wait drivers.exe

cd %windir%\system32

REM Scanning for driverdirectories
%systemdrive%\SetDevicePath.exe %systemdrive%\drivers

REM Enable installation of unsigned drivers
start %systemdrive%\WatchDriverSigningPolicy.exe
edmoncu
would like to ask a followup question though, under winnt.sif's OemPnPDriversPath setting, you can specify the order at which drivers were searched. i was wondering, in what order does this approach recursively search for drivers?
Alanoll
Windows doesn't really determine the order based on the exact settings in OemPNPDriversPath. It creates the list dynamically and adds them to it. Then it sorts, then searches. So either way, the list should come out the same.

in OEMPnpDrivers path you could have 002,004,001,005,003 but when Windows searched for drivers it would see it as 001,002,003,004,005
edmoncu
thanks Alanoll. biggrin.gif

btw, just a note, sfx-winrar archive doesnt work at being uncompressed at this part of the installation. though sfx-winrar (compressed using windows console mode) will work, as well as sfx-zip archive compressed via 7zip.
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.