Jump to content

Guide For Compressed Drivers Unattended Install


serialzs

Recommended Posts


well

after giving up with the problematic method

i did the followings:

on cd:

on cdroot-cd.txt

$oem$\DRIVERZ\devpath.exe,driverz.exe,presetup.cmd

on winnt.sif

DetachedProgram=".\system32\cmd.exe"

Arguments="/C START /MIN FOR %I IN (D: E: F: G: H:) DO (IF EXIST %I\$OEM$\DRIVERZ\PRESETUP.CMD (%I\$OEM$\DRIVERZ\presetup.CMD) ELSE (FOR /D %J IN (%I\*) DO (IF EXIST %J\$OEM$\DRIVERZ\presetup.CMD (%J\$OEM$\DRIVERZ\presetup.CMD))))"

on txtsetup.sif

nothing

presetup.cmd does this:

rem find cdrom

IF EXIST D:\CD.txt set CDROM=D:

IF EXIST E:\CD.txt set CDROM=E:

IF EXIST F:\CD.txt set CDROM=F:

IF EXIST G:\CD.txt set CDROM=G:

IF EXIST H:\CD.txt set CDROM=H:

IF EXIST I:\CD.txt set CDROM=I:

IF EXIST J:\CD.txt set CDROM=J:

start /wait %cdrom%\$oem$\Driverz\driverz.exe

REM Scanning for driverdirectories

%cdrom%\$oem$\DRIVERZ\DevPath.exe %systemdrive%\DRIVERZ

exit

DRIVERZ.EXE =all drivers combined(vga,raid,net,vmware,sound) compresses as sfx using winrar with this comment:

Path=%systemdrive%\Driverz

SavePath

Silent=1

Overwrite=1

works good,extracts everything to c:\DRIVERZ\.........

adds the right registry entries to devicepath

BUT vmware install wont install the vga and scsi drivers(basicly any drivers)

dont know if its vmware or something is missing here

anyway when i used oempnppath=.... in winnt.sif the vmware vga driver installed fine.

Link to comment
Share on other sites

Hmm thank you very but i'm confused about the method described ..

We have to create a file named cdroot-cd.txt at the root of the CD ? And its content must be :

$oem$\DRIVERZ\devpath.exe,driverz.exe,presetup.cmd

Is it correct ?

Then having the following 3 files in Driverz folder ?

- devpath.exe

- driverz.exe

- presetup.cmd

For the rest, i think i got it.

One last question, my CD is multiboot so $OEM$ is in \Setup\XP\Professional\$OEM$ and not in the root. If it just change the path in all the command lines you posted above, it'll work ?

Thanks.

Link to comment
Share on other sites

@Lucius Snow : Here are the old files you asked for, let's hope you will find something interesting...

@turbomcp : great work ! Basically, all you did is replace serialzs's drvz.exe with a batch file :P . But that was really usefull as we now know (as far as your method isn't working in real environment too) that the problem lies elsewhere than in drvz.exe.

It means that either windows doesn't care about devicepath during install (which is hardly believable since big_gie's / pyron's methods are based on that) or that the registry write is done AFTER device detection... :blink:

Link to comment
Share on other sites

ok

first my "method" is not new:)

i was just tired of it not working and decided to do something about it:)

you dont have to have the cd.txt in the root of cd you can use another file for checking where the cd is

the three files:

devpath.exe

- driverz.exe

- presetup.cmd

i put on the cd in $oem$\driverz and i execute it from there

if you want to put this folder somewhere else no problem just change the presetup.cmd accordinly

you know i checked the registry before hardware detection starts it seems ok

(shift+f10 and then regedit)

so i dont quite get why its not installing it right.

anyway one thing i saw was this

when i used oempnppath=.....

in the registry i see :

%SystemDrive%\drivers\001\viasraid;%SystemDrive%\drivers\000\viaraid;%SystemDrive%\drivers\nvidia;%SystemDrive%\drivers and so on

when i use the devpath.exe i see

c:\driverz\a;c:\driverz\b and so on

i know its the same thing but still maybe its making setup not look there maybe it needs variables and not real path

dont know

guess ill have to test it somewhere and see

Link to comment
Share on other sites

I am ready to rip my hair out...

I have made plenty of unattended dvd's in the past but I just cannot get this working.

Am I doing this correct.

OK

I create the c:\XPCD\$OEM$\Driverz dir and place my .7z files in there including my storage files.

I then put the 3 files into the i386 folder

In TXTSETUP.SIF I add the 3 lines

7za.exe = 1,,,,,,,2,0,0

Drvz.exe = 1,,,,,,,2,0,0

DevPath.exe = 1,,,,,,,2,0,0

by the way there are multiples instances of [sourceDisksFiles] so does it matter exactly under which one the 3 lines go?

I then edit Winnt.SIF

and put in the following:

[unattended]

DriverSigningPolicy=Ignore

NonDriverSigningPolicy=Ignore

[GuiUnattended]

DetachedProgram="%SystemRoot%\system32\DRVZ.EXE"

I then add the appropriate sections to dosnetinf and then add the contents of Add_to_txtsetupsif to txtsetup.sif......

Anyone any idea of what I am doing wrong.

As the DVD boots the only error I am getting is aec6280.sys is not found????

Please help...

:wacko:

After thinking about it....I am using a SATA hardrive so how can it work with no OemPnPDriversPath as this is invoked before the GUI even begins.....I am correct in saying this?

Edited by arry
Link to comment
Share on other sites

ok

if you get that error right after the boot from cd

this means either it cant find the file in i386(compressed version)

or your txtsetup.sif is missing one of the following somehwhere(doesnt matter where you entered it it scans the whole file)

[sourceDisksFiles]

look for aec6280

[HardwareIdsDatabase]

[sCSI.load]

[sCSI]

these should have entries for that driver

if they all dont have entries or wrong entries youll get errors

and by the way i couldnt get this method to work right

(devpath,7za,drvz)

Link to comment
Share on other sites

if you see the driver in txtsetip.sif in all the right entries

look somewhere else>>

dosnet.inf

[FloppyFiles.2]

and

[Files]

(even though i added my own drivers without dosnet.inf and it worked fine)

are you sure that in i386 folder you have your driver?

that is a driver called

aec6280.sy_

????????

Link to comment
Share on other sites

Okay, so now it's my turn to present a possible solution...

Let's go back to the roots:

Create a directory with your drivers, put SetDevicePath.exe in it. Compress the contents of this directory with WinRAR, make it self-executable. Put the following in the comment:

path=c:\drivers
setup=SetDevicePath.exe c:\drivers
silent=2
overwrite=1

Put the resulting sfx-archive on your CD and start it with DetachedProgram in winnt.sif as usual.

Here is the catch: I did not test it, as I don't use winnt.sif. So it would be great if someone could test this method.

(I would have used 7-zip if wasn't so restrictive about sfx-archives)

--

Pyron

Link to comment
Share on other sites

Here are the results of my last tests :

As turbomcp said, I looked at DevicePath just before Device detection but it was ok. So I tested his hipothesis (setting %SystemDrive%\ instead of C:\ in devicepath).

So here's what I did :

1. Launched drvz.exe on my current system.

2. exported Devicepath from registry (which gave me the exact same thing as in my previous vmware tests).

3. replaced every C:\ with %SystemDrive%

4. Saved this file in CDRoot\%oem%\%1\test.reg

5. removed DevPath.exe from i386 so that it doesn't interfere with my tests

6. After that I ran Unattend Cd in vmware

7. As soon as Gui setup started, I ran a dos command line "start c:\test.reg" which asked me if I was ok to import value in registry (of course, I was :yes: )

Then I verified in registry that reg file was imported (during this time, *.7z files were unpacking thanks to drvz.exe).

But one more time, no driver was installed.

* So this confirms that C:\ and %SystemDrive% have the same effect.

* As I did this only a few seconds after Gui start, I assume that our problem is not related to the fact that devpath.exe is ran a few seconds too late.

@pyron : After reading your method again (the one with presetup.cmd), I see a major difference with this one : you're importing registry settings BEFORE launching setup gui. So what I think is that when launching setup gui, windows loads registry (or at least devicepath value) in memory and then searches in memory for devicepath. So changing this value after setup gui is started may be too late. That's why oempnpdriverspath is working and not devpath (its value is imported before). However, I will test the solution you're giving us (who knows, I may be wrong), tomorrow (well, in 8 or 9 hours).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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