a06lp

Drivers from CD: Simple Method

227 posts in this topic

can u use batch while installing windows?

i tried to creat a batch file at $oem$

and creat a driver.cmd

and make a CMDLINES.TXT

[COMMANDS]

"Driver.CMD"

@echo off

pssuspend.exe setup.exe

start watchdriversigningpolicy.exe

setupcopyoeminf.exe Drivers

pskill.exe -t watchdriversigningpolicy.exe

pssuspend.exe -r setup.exe

exit

and remove the entries

(IN WINNT.SIF)

[GuiUnattended]

DetachedProgram = ".\system32\cmd.exe"

Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J (start /min /D%J Autoit3.exe Drivers.au3)))"

but it won't install any driver for me... just testing....

0

Share this post


Link to post
Share on other sites

i tried AGAIN, but it froze.

it had nothing to do with the driver itself (as i suspected).

I counted how many drivers were processed - 30 before the computer froze.

The only thing I can think of is that the Setup itself, if PAUSED for too long, will freeze the computer so that it will restart itself on next reboot.

I have no way of really testing this theory, but I can tell you that the exact same disc, with the only difference being the addidtion of the pssuspend is what caused the problem.

if im right, we shouldnt, and cant, pause the actual setup,. this brings me back to the original method - the one in the first post of this thread.

i need other people to test and comment on this. this is me, calling for help.

to those whose setup worked (using the pssuspend): how many drivers inf files were integrated/processed?

about how long did it take?

Edited by a06lp
0

Share this post


Link to post
Share on other sites
can u use batch while installing windows?

i tried to creat a batch file at $oem$

and creat a driver.cmd

and make a CMDLINES.TXT

and remove the entries

(IN WINNT.SIF)

but it won't install any driver for me... just testing....

if you wanna try batch way, remove Drivers.cmd in CMDLINES.TXT, and keep the [GuiUnattended] part:

[GuiUnattended]DetachedProgram = ".\system32\cmd.exe"

Arguments="/Q /C FOR /F %I IN (%SystemRoot%\system32\$winnt$.inf) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J (START /MIN /D%J Drivers.cmd)))"

got no CDR now, but when i insert my old disc(using DetachedProgram with batch @T-39). i've done following tests:

when setup.exe starts, press Shift-F10 to open command prompt, and enter "PsSuspend setup.exe" when DetachedProgram starts. the setup.exe totally frozen(even no repaint). i didn't put drivers on cd, compressed drivers instead, the 7z extracting console works fine as usual. the setup.exe stopped until "PsSuspend -r setup.exe"(30min at least, out for something).

tho i didn't execute any WatchDriverSigningPolicy/SetupCopyOEMInf, do that using OemPnPDriversPath(my driver lists' short), the issue using DetachedProgram to install pnp drivers is time exceeded T-34.

the setup.exe freeze, drivers extracting smoothly, nothing geek to me. it seems okay using PsSuspend in DetachedProgram with batch.

ps. full SP2 source image last year without nLited, no hotfixs, nothing patched.

Edited by idle.newbie
0

Share this post


Link to post
Share on other sites
i've done following tests

...

This is the code I tested (although it can't be the problem, because I also tested the autoit scripts form page 8)

When run in Windows, it works perfectly...But when I run it during setup, my setup freezes.

CLS
@ECHO OFF
TITLE Drivers-from-CD Installation
color 1F

:: Pause Setup
.\PsSuspend.exe setup.exe
:: Allow for Unsigned Drivers
start .\WatchDriverSigningPolicy.exe
:: Install Drivers
IF EXIST Drivers.7z (
.\7za.exe x -y -aoa -o"%SystemDrive%\Drivers" ".\Drivers.7z"
.\SetupCopyOEMInf.exe "%SystemDrive%\Drivers"
) ELSE (
.\SetupCopyOEMInf.exe Drivers
)
:: Close WatchDriverSigningPolicy
TASKKILL /F /IM WatchDriverSigningPolicy.exe
:: Resume Setup
.\PsSuspend.exe -r setup.exe

EXIT

(my driver lists' short)

I need someone to test a CD with about 50 drivers .inf files, so that I can see if this is the problem I'm having.

Edited by a06lp
0

Share this post


Link to post
Share on other sites

Thanks idle.newbie

will try again...

i still having the lag while copying inf.... =)

0

Share this post


Link to post
Share on other sites

I haven't been closely following this thread, and I've tried to read through and follow everything, but to be honest I don't have everything down that's going on here. Soooo, if this has been brought up, my sincerest apologies. With all of the recent use of pssuspend and pskill, I'm just wondering if using AutoIt's builtin function ProcessSetPriority has been explored here. On it's face, it seems like it would do what you want it to do.

0

Share this post


Link to post
Share on other sites
I'm just wondering if using AutoIt's builtin function ProcessSetPriority has been explored here. On it's face, it seems like it would do what you want it to do.

Yeah, it's been explored. It doesn't pause Setup, it slows it. Some people had so many drivers that setup continued without finishing copying the driver infs. hence all this pausing setup talk.

0

Share this post


Link to post
Share on other sites

I was thinking more along the lines of setting setup.exe to idle and your AutoIt script to high. Perhaps a double whammy like that could force the issue.

0

Share this post


Link to post
Share on other sites

Hey Everyone!!!!!!! :D

I'm Back!!!!! :thumbup How's it going Erik, Rogue, Bashrat!

Wow, Things have sure come a long way since we developed the KTD Method! I am still catching up on everything to date. How is it working? I assume we have finally merged KTD & Unlimited Methods? :yes:

0

Share this post


Link to post
Share on other sites

@ a06lp -->> thanks , hehe I did read the whole thread and still managed to overlook the install instructions

Ok, everything up and running and so far no probs. First testrun installed ok.

Next question, is it possible to combine this method with something that makes it possible to get the MassStorage drivers to install as well . Yes, I know AutoIt is only for PnP devices, but I want my MTV as well ;) Any hint greatly appreciated. Or would it be better/easier?? to go generic and go for BTS Driver Pack solution instead

0

Share this post


Link to post
Share on other sites
I was thinking more along the lines of setting setup.exe to idle and your AutoIt script to high. Perhaps a double whammy like that could force the issue.

That won't really matter - it may work now, but then, eventually, someone will have too many drivers and it won't finish in time.

@X-Savior:

The method that's still in the first post of this thread works...sort of. It works in the sense that everything installs, but the problem is that if you try to install too many drivers setup moves on without installing all of them.

idle.newbie and I have been doing some tests.

Seems that the problem is that SetupCopyOEMInf freezes (but only when using this PsSuspend - not when using the first-post-method)

0

Share this post


Link to post
Share on other sites

maybe will need to use other replacement type of installing driver without using PsSuspend

as same as a06lp said...

i remove the pssuspend from running ...

copying inf work perfectly...

i'm using without pssuspend now and everything is working fine....

and my driver is about 30 folder with all nvidia, ati, realtek, via, nforce drivers....

the best thing is all my drivers successfully finish the copy....

=)

Edited by cyberloner
0

Share this post


Link to post
Share on other sites

Interesting... :unsure:

Well, when I get caught up in this thread over the next week I will see if I can help the cause again. I almost went insane testing to figure out KTD Method. 4 - 5 OS Installs a Night :wacko:

There has to be a way to keep it simple. :thumbup

The more 3rd Party stuff involved the more complicated it gets. :rolleyes:

0

Share this post


Link to post
Share on other sites

Meaby it's PsSuspend related. Try using PauseP as described here please.

0

Share this post


Link to post
Share on other sites
I may have found the solution :)

Drivers.au3

$list = ProcessList("setup.exe")
$setuppid = $list[1][1]
Run(@ScriptDir&"\pausep.exe "&$setuppid)
Run(@ScriptDir & "\WatchDriverSigningPolicy.exe")
RunWait(@ScriptDir & "\SetupCopyOEMInf.exe Drivers")
ProcessClose("WatchDriverSigningPolicy.exe")
Run(@ScriptDir&"\pausep.exe "&$setuppid&" /r")

Could you change that AutoIt coding into Batch file code?

Then I'll test it :wacko::}:wacko:

[edit]

What I really need is a method to get the PID of "setup.exe" - pausep requires the PID, not the task name.

Edited by a06lp
0

Share this post


Link to post
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.