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

SOLVED: drivers from CD

* * * * * 1 votes

  • Please log in to reply
465 replies to this topic

#126
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03
I think bat doesnt work but cmd works, or vice versa

I created mt39 to make it easier to execute multiple programs at that setup's stage (it does support variables like %SourceDrive%, can hide windows, etc).


How to remove advertisement from MSFN

#127
ovilla2001

ovilla2001

    Newbie

  • Member
  • 14 posts
  • Joined 09-October 03
Hi guys.

Anyone already tried to use the system restore feature on on TXT mode Setup (using the final Windows XP SP2)????

It was working for me on last RC build but now, when I try to use it the first boot on GUI mode is the Windows desktop (with another screen resolution, the original wallpaper and lots of things not working fine) and not the GUI mode setup screen....

Just now, when everything else was working very fine in my solution (drivers, WMP10, silently installing utilities, etc), I am afraid that they changed something between the RC and the final version. :(


O. Villa

#128
ovilla2001

ovilla2001

    Newbie

  • Member
  • 14 posts
  • Joined 09-October 03
First I mean repair option when I say system restore.

I did a couple of tests and I think that I am figuring out whta is happening.
My tests:

1- I burned another CD using the last Pyron´s SETUP. EXE and I got the same error.
2- I booted using the WINPE and I deleted Pyron´s SETUP.EXE and I renamed the SETUPORG.EXE to SETUP.EXE. After the restart I got the correct GUI mode setup screen.

I think that using the repair option Windows is trying to use a special feature of SETUP.EXE. I will try to put some debug what is really happening.

O.Villa
PS: Of course I may be messing up something else....... :wacko:


BTW the error messaging that I am receiving is:
Windows cannot find ´/Idlist,:224:760,c:\windows\system32\´. Make sure you typed the name correctly and try again. To search for a file, click the start button and then click search.

#129
ovilla2001

ovilla2001

    Newbie

  • Member
  • 14 posts
  • Joined 09-October 03
ok.... sorry.... it was my fault (I guess...)

I entered a wrong string in my presetup.cmd.
The weird thing is that installing a new Windows XP the wrong command didn´t provoque anything wrong....
But..... at a repair instllation.... the presetup.cmd was aborted.

Sorry again. :blushing:

O.Villa

PS:
1- at least my setup.exe version has some cool features now
- pressing "-", I can see presetup.cmd running
- if anything else than -newsetup is passed to the new setup.exe, I will run just the original setup.exe

2- HEY... where is everybody today? :hello:

#130
evilvoice

evilvoice

    Ditchy McAbandonpants

  • Member
  • PipPipPipPipPip
  • 946 posts
  • Joined 27-January 04
ok, I think I have one question for pyron, but maybe more...Ive noticed the compressed guide has been unstickied, and Bashrat replied in that one:

So why did I prefer this one: because it's UNIFORM (again: if it was working). With Pyron's method you still have to point to EACH compressed file to extract it. On the other side this is an advantage, because you can choose your own folder structure (you're not stuck with a fixed folder).


Now couldnt cmdlines.cmd be rewriteen like so to allow uncompressing of multiple files?
REM uncompressing drivers
%SystemDrive%
cd \
%CDDRIVE%\$OEM$\bin\7za.exe x -y -aoa %CDDRIVE%\OEM\*.7z

Now, here is the thing when doing this...within each 7z folder, you must compress the main folder you want it to go to....so if you want this in %systemdrive%\drivers, you must compress the drivers folder with whatever driverpack youre using...so if its sound, I believe within the paths section of your archive, it should be "drivers\sounds\x\*" (where x is a number and * is the name of the driver)...I believe pyrons method will work with that...

Im also gonna change some things to more represent what serialzs had with compressed guide...like 7za being in the i386 source and compressed, along with much more of pyrons items....unless, pyron, youve tested this and it cant be done?
When I spotted this little cutie with some sex appeal. I winked at her, she gave me a look like I'm a booger. I thought b***h, I'd rather spend my money on a hooker. Then a bright idea ran across my mind, if I could swipe a manikin I'd have a freak all the time.

#131
idle.newbie

idle.newbie

    Junior

  • Member
  • Pip
  • 93 posts
  • Joined 01-August 04
Pyron's method needs a driver root for SetDevicePath, you can add 7zip's output dir switch -o to anywhere, then give it to SetDevicePath.

path\to\7za.exe x -y -aoa -o"%SystemDrive%\path\to\anywhere" "path\to\archive.7z"
path\to\SetDevicePath.exe "%SystemDrive%\path\to\anywhere"

can't sure if long-path will casue any problem for OemPnPDriverPath 4096Bytes limitation, but i prefer some shorter path eg:\DRV.

#132
evilvoice

evilvoice

    Ditchy McAbandonpants

  • Member
  • PipPipPipPipPip
  • 946 posts
  • Joined 27-January 04
@idle.newbie, i think you misunderstood what I was saying...now, I have no idea where the archives will extract, but i assume since pyron is using this method, it extracts to %systemdrive% per the code before the actual 7zip command...the way most archives work is this...lets say you are in %systemdrive% (herenow referred to as c:), so we are sitting at the root of c: and we run 7za.exe [command] [options] *.7z...it will expand in c:, so technically, there is no need for a "-o path"...now, as I understand it, setdevicepath needs the main folder, in this case, drivers...so why couldnt what I posted work

%systemdrive% (sends us to drive windows was installed on)
cd \ (puts us at the root of the drive)
7za.exe x -y -aoa *.7z (extract command - I didnt include folders as this is only an example)
setdevicepath.exe %systemdrive%\drivers

doesnt setdevicepath recurse subdirs? (or for those who want it in real terms, doesnt it look through EVERY folder in drivers?)

PS...do not talk about the path of *.7z or stuff like that...because for my usage im gonna have it all point to %systemdrive%\Install\Drivers...but I wanted to make this post general so everyone could see what im talking about...my drivers WILL NOT stay on the cd...and if you wanna know why, its mainly cuz i want them on my hard drive...my personal preference, and I dont wanna create yet another folder in my cdroot.

PPS the only reason I am talking about this is for those who were really hoping for the compressed guide to work...Bashrat gave a reason as to why compressed guide was better, now im trying to make pyrons method do the same thing that was supposed to do.
When I spotted this little cutie with some sex appeal. I winked at her, she gave me a look like I'm a booger. I thought b***h, I'd rather spend my money on a hooker. Then a bright idea ran across my mind, if I could swipe a manikin I'd have a freak all the time.

#133
idle.newbie

idle.newbie

    Junior

  • Member
  • Pip
  • 93 posts
  • Joined 01-August 04
if you didn't give 7za a -o switch, it will extract everything under current directory, so the resulting drivers directory will depend on how you compress your archive.
given a -o will extract everything under C:\DRV, no matter how you compress your driver archive, and SetDevicePath will recurse into C:\DRV and find every driver's inf.

eg: i have 2 driver sfx, one from BtS Drivers_MassStorage.7z, another for IntelINF.7z.
archive content:
7za l Drivers_MassStorage.7z
Drivers\006_MassStorage\via\ideraid\viaraid.sys
7za l IntelINF.7z
INTELINF\p64h2.inf

when i omitting -o, the resulting driver will be:
C:\Drivers\006_MassStorage\via\ideraid\viaraid.sys
C:\INTELINF\p64h2.inf

with -oC:\DRV:
C:\DRV\Drivers\006_MassStorage\via\ideraid\viaraid.sys
C:\DRV\INTELINF\p64h2.inf

that they will have the same driver root, so i dont need to worry about where i compress my driver, all i need is give that driver root(C:\DRV) to SetDevicePath, and SetDevicePath will find them all(recursively).

CompressGuide fixed where to put your driver archive & where it will be extracted. PyronGuide's far more flexible than CompressGuide, it's batch scripting, edit with notepad for your needs. you can put your archives anywhere(CD/HD/RamDrive), using 7za -o to uniform the driver root.
when BtS's any driver pack updates, grab his new driverpack.7z into your cd source, it's done, you don't need to uncompress and repack.

another way to uniform driver root for my case:
7za x -y -aoa Drivers_MassStorage.7z(omitting -o)
7za x -y -aoa IntelINF.7z -o%SystemRoot%\Drivers(with -o)
after extracting:
C:\Drivers\006_MassStorage\via\ideraid\viaraid.sys
C:\Drivers\INTELINF\p64h2.inf
then give C:\Drivers(driver root) to SetDevicePath.

put drives archive in cd saves a dime copying time @textmode.

#134
Bâshrat the Sneaky

Bâshrat the Sneaky

    aka Wim Leers

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,214 posts
  • Joined 29-October 03
  • OS:none specified
  • Country: Country Flag

when BtS's any driver pack updates, grab his new driverpack.7z into your cd source, it's done, you don't need to uncompress and repack.

That was my purpose!

Also, if everyone would like another folder structure, I'll change it... But I made it like this:

When extracting (not extracting TO a specific folder) from %systemdrive%, these folders will be created:

%systemdrive%\Drivers\name of driverpack\...

#135
evilvoice

evilvoice

    Ditchy McAbandonpants

  • Member
  • PipPipPipPipPip
  • 946 posts
  • Joined 27-January 04
I dont think idle.newbie is understanding what im trying to say, but its cool, I understand what im doing and ill do it my way...everyone else can do it his way, and mine will be the only one that no matter how many driverpacks I have, ill never have to reupdate the command script...but its cool.
When I spotted this little cutie with some sex appeal. I winked at her, she gave me a look like I'm a booger. I thought b***h, I'd rather spend my money on a hooker. Then a bright idea ran across my mind, if I could swipe a manikin I'd have a freak all the time.

#136
bitmonster

bitmonster

    Newbie

  • Member
  • 35 posts
  • Joined 29-March 04
I have a small issue when trying this method. First my presetup.cmd looks like this:

rem find cdrom
set tagfile=\WIN51

IF EXIST C:%tagfile% SET CDDRIVE=C:
...
IF EXIST Z:%tagfile% SET CDDRIVE=Z:

%systemdrive%
cd %windir%\system32
if exist setup.exe ren setup.exe setupold.exe
if exist setuporg.exe ren setuporg.exe setup.exe

REM Scanning for driverdirectories
%CDDRIVE%\$OEM$\SetDevicePath.exe %SystemDrive%\Drivers

REM Enable installation of unsigned drivers
start %CDDRIVE%\$OEM$\WatchDriverSigningPolicy.exe

REM Starting regular Setup
start /WAIT setup.exe -newsetup

So there is nothing special and no compression till now. Drivers install fine. The problem is that I get an error message at the end of the installation, just before windows tries it first real logon (t+0). It says it can't find "setupORG.exe" and waits till I press the OK-Button. Why is Windows looking for this file again? The rename seemed to work, because "setupold.exe" is in system32 and the original as "setup.exe" also.

#137
edmoncu

edmoncu

    Advanced Member

  • Member
  • PipPipPip
  • 331 posts
  • Joined 28-April 04
pyron, i just want to clarify something...

at the first page of this thread, you mentioned something about...

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.
start %CDDRIVE%\OEM\bin\WatchDriverSigningPolicy.exe
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 doesn't care...


i was wondering, does this part disables WHQL checking? i mean, can i install non-WHQL device drivers -- like the catalyst perhaps? or this just disables warning messages? i was hoping if there would be a possibility on installing non-WHQL drivers.
Please join the growing Filipino Community of PC Experts and Enthusiasts
Posted Image

#138
idle.newbie

idle.newbie

    Junior

  • Member
  • Pip
  • 93 posts
  • Joined 01-August 04
i'm such a dumb a** to do this.
CD /D "%SystemDrive%\" (don't need this line)
FOR %%I IN (%CDDRIVE%\Driverz\*.7z) DO 7za x "%%I" -y -aoa -o"%SystemDrive%\DRV"
FOR %%I IN (%CDDRIVE%\Driverz\*.cab) DO EXTRAC32 /Y /E /L "%SystemDrive%\DRV" "%%I"
UnRar x -y -o+ *.rar "%SystemDrive%\DRV\"
SetDevicePath.exe "%SystemDrive%\DRV"
7za/EXTRAC32(for .cab) didn't accept *.7z/*.cab, so i wrap it with a FOR.

The code above does the same thing as Serialzs' CompressGuide and evilvoice's code: it extracts every *.7z/*.cab/*.rar to C:\DRV. So that's UNIFORM.
Of course you can change the directoryName/fileName to whatever you like, and you can do more, that's what I meant by 'flexible'.
You don't need to change anything after that, put every drivers archive you need to specified directory, and it will be extracted to a common driver root. and Pyron's lovely SetDevicePath will dig them out.

driver root, you can do it by restricting how/where you compress your drivers, or do that with 7za -o or EXTRAC32 /L, I personally prefer the second one, and I prefer the 7z sfx way, never change any batch script after it's working.

I'm comfortable with BtS's directory structure, or anybody else's driver pack (who's structure may like anywhere\345_anyDev\anyCorp\andModel), grab it and go.

Edited by Bâshrat the Sneaky, 12 September 2004 - 10:29 AM.


#139
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
@bitmonster
You are probably using the setup.exe from the front page. Look here for the "new" one. The original tries to run setupORG.exe after presetup.cmd.

@edmoncu:
Yes, the installation of non-WHQL-drivers should be possible through this, but I had some cases (especially in vmware) where it just didn't work.

--
Pyron

#140
evilvoice

evilvoice

    Ditchy McAbandonpants

  • Member
  • PipPipPipPipPip
  • 946 posts
  • Joined 27-January 04
@idle.newbie, so you DID understand what I was trying to say...PRAISE GOD!!! LOL (I would have said halle....whatever that word is, but I forgot how to spell it lol)...well, thanks for the code...to me, it just seemed like we were on completely different pages...After I had actually tested it, I was gonna post what I was doing later so you could see...but saying it and doing it are 2 different things...
When I spotted this little cutie with some sex appeal. I winked at her, she gave me a look like I'm a booger. I thought b***h, I'd rather spend my money on a hooker. Then a bright idea ran across my mind, if I could swipe a manikin I'd have a freak all the time.

#141
bitmonster

bitmonster

    Newbie

  • Member
  • 35 posts
  • Joined 29-March 04

@bitmonster
You are probably using the setup.exe from the front page. Look here for the "new" one. The original tries to run setupORG.exe after presetup.cmd.

THX for the reply.
:blushing:
Yes you are right. It was the wrong setup.exe. I read the hole thread before and at the end as I wanted to start to make my package, I had in mind there are updated files, so I quick-searched the whole thread for attachements and links. But I must have oversight the most important post.

Might be time to update the start-posting (and include the compressing idea). Actually this method is very nice and quite simple to setup, but this long thread introduces more dead ends and faults than it eliminates.

#142
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
I am actually in the process of updating it, I am also modifying my setup.exe. I still have to do a bit of testing, if everything goes well, I'll update the original guide tomorrow.

--
Pyron

#143
idle.newbie

idle.newbie

    Junior

  • Member
  • Pip
  • 93 posts
  • Joined 01-August 04
@evilvoice
wrote myself a dirty WSH .js to generate DDF for makeCAB, after some tests, .cab might be another option to go with Pyron's guide. take BtS MassStorage pack for example, .7z=1720k(-mx9), .cab=1968k(LZX:21), .rar=2870k(Maximum), .cab's compress ratio is not the best, but we don't need any extra program to extract it, built-in %SystemRoot%\system32\EXTRAC32.exe.
i haven't test if EXTRAC32 works at timeline that Pyron's guide goes. could you test that for me :blushing: , my box crashed :no: . if EXTRAC32 works with Pyron's guide, maybe i'll go with cab.

attached cabIt.js do the makeCAB thing, give it a folder to compress(in cmd window), output .cab in parent directory named folderName.cab.

Attached Files

  • Attached File  cabIt.js   1.61KB   69 downloads


#144
Bâshrat the Sneaky

Bâshrat the Sneaky

    aka Wim Leers

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,214 posts
  • Joined 29-October 03
  • OS:none specified
  • Country: Country Flag

@evilvoice
wrote myself a dirty WSH .js to generate DDF for makeCAB, after some tests, .cab might be another option to go with Pyron's guide. take BtS MassStorage pack for example, .7z=1720k(-mx9), .cab=1968k(LZX:21), .rar=2870k(Maximum), .cab's compress ratio is not the best, but we don't need any extra program to extract it, built-in %SystemRoot%\system32\EXTRAC32.exe.
i haven't test if EXTRAC32 works at timeline that Pyron's guide goes. could you test that for me :blushing: , my box crashed :no: . if EXTRAC32 works with Pyron's guide, maybe i'll go with cab.

attached cabIt.js do the makeCAB thing, give it a folder to compress(in cmd window), output .cab in parent directory named folderName.cab.

You can also move 7za.exe into your system32 directory, to get built-in-Windows support!

(like this: $OEM$\$$\system32\7za.exe)

EDIT: Check the first post! Pyron has updated the guide!

#145
serialzs

serialzs

    Member

  • Member
  • PipPip
  • 140 posts
  • Joined 21-December 03
@pyron

1st of all thanks for your guide... i make my guide runs great... :lol:

Use this code its working and it saves space too... :thumbup
set tagfile=\WIN51

for %%p 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 "%%p%tagfile%" set CDDRIVE=%%p

Nice New Guide... :thumbup
THANKS AGAIN...

-=[serialzs]=-

#146
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
I already feared that someone would come by someday and say: "Why are you using such an antiquated method to search for the CD?", now it finally happened...
But you are right, it's better and wastes less space, thanks!

--
Pyron

#147
bitmonster

bitmonster

    Newbie

  • Member
  • 35 posts
  • Joined 29-March 04
I have also a small suggestion to make. Since I like to use more than one compressed-driver-package and also some uncompressed drivers, I have modified my presetup.cmd to something like this:
REM +=======================================================+
REM | Unpack the drivers                                    |
REM +=======================================================+
MKDIR "%SystemDrive%\Drivers"
FOR %%I IN (%CDDRIVE%\$OEM$\Driverz\*.7z) DO "%CDDRIVE%\$OEM$\7za.exe" x "%%I" -y -aoa -o"%SystemDrive%\Drivers"
So it uncompresses every package that can be found in CDROM\$OEM$\DriverZ to HDD\DriverS. Uncompressed drivers I can put into CDROM\$OEM$\$1\DriverS so they will also be copied over to HDD and can be installed through the same call to SetDevicePath.exe.

But this brings me also to another question. Might it be possible to modify SetDevicePath.exe in a way, that it will scan two directories on two different drives? This way one could use compressed and uncompressed drivers simultaneous without the need to copy the uncompressed drivers to HDD and the presetup.cmd would even be more universal.

#148
Lucius Snow

Lucius Snow

    Member

  • Member
  • PipPip
  • 247 posts
  • Joined 17-August 04
Thanks a lot Pyron :D

I have a few questions about your method, could you please bring me some precisions ?

4. copy my setup.exe to your I386 directory and overwrite the old one.

You mean your setup.ex_, correct ?

In case you want to use compressed drivers (and who wouldn't want to ), you have to extract them first, then run SetDevicePath.exe on the newly created 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.

- Extract them where ? Anywhere ?
- Then i run SetDevicePath.exe from inside the folder created by the decompression, right ? But i don't understand what it'll do exactly. Will it update SetDevicePath.exe ? Then i have to put it back in $OEM$\Bin ? Sorry, i'm confused :blushing:

Microsoft recommends to reset the DevicePath to "%SystemRoot%\Inf" after setup:

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

So that reg must be just added in our existing tweak reg file which applies during runoncex.cmd, that's right ?

One last question :
How will it decompress 7z archives ? Do i just need to add 7za.exe to $OEM$\$$\system32 ?

#149
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03

4. copy my setup.exe to your I386 directory and overwrite the old one.

You mean your setup.ex_, correct ?

Yes, already corrected.

- Extract them where ? Anywhere ?
- Then i run SetDevicePath.exe from inside the folder created by the decompression, right ? But i don't understand what it'll do exactly. Will it update SetDevicePath.exe ? Then i have to put it back in $OEM$\Bin ? Sorry, i'm confused  :blushing:

You extract your archive into a directory of your choice.
Then you run SetDevicePath.exe <full path to directory of your choice>

(snipped regfile)
So that reg must be just added in our existing tweak reg file which applies during runoncex.cmd, that's right ?

Yes.

One last question :
How will it decompress 7z archives ? Do i just need to add 7za.exe to $OEM$\$$\system32 ?

Basically, yes. Unless you mean if it extracts your archives automatically, then it's no. You have to do it yourself in presetup.cmd. If you want it to happen automatically, name your archive drivers.7z, place it in \OEM and 7za.exe in \OEM\bin, thats what is already prepared in presetup.cmd. But since you seem to be using the $OEM$ directory structure you better modify presetup.cmd to suit your specific needs.

--
Pyron

#150
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03

But this brings me also to another question. Might it be possible to modify SetDevicePath.exe in a way, that it will scan two directories on two different drives? This way one could use compressed and uncompressed drivers simultaneous without the need to copy the uncompressed drivers to HDD and the presetup.cmd would even be more universal.

Do you really need this? I don't see any practical use here.
Nevertheless, I think about it.

--
Pyron




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users