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

#101
Pyron

Pyron

    Junior

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

--
Pyron


How to remove advertisement from MSFN

#102
bilemke

bilemke

    Member

  • Member
  • PipPip
  • 211 posts
  • Joined 08-December 03
Sweet, thanks for the minor, but very usefull changes Pyron!! :)

Now that it is possible to resolve the little issue with setup.exe not being original, I am going to finish finding where the info in unnattend.sif gets called in to play during setup.. Then try to get that same info there without having the .sif file in txtsetup mode.

My goal is still to have a unnattended wtihout the use of a unnattended config file.

#103
Guest_arnonh_*

Guest_arnonh_*
  • Guests
  • Joined --
very nice job done here
i am using this method but at the end of the setup after the last reset
when windows installs drivers and codecs it asks me if i wont to continu installing unsignd drivers
thenks in advance arnon

#104
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
*After* the last reset? At that point all drivers should be installed already (well, most of them).
I assume you are installing exe-only drivers like from ATI or Creative, so you can tune Windows' behaviour by changing these registry keys:

REGEDIT4

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

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

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

Just import a regfile before installation, that should help. Windows won't bother anymore when you install unsigned drivers. But I would recommend setting these keys back to their original values after you are finished.

--
Pyron

#105
Guest_arnonh_*

Guest_arnonh_*
  • Guests
  • Joined --
thenks for the quick repliy :D
windows had some driver signing problem with the codecs thet ware installd

#106
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03
@Pyron:
Great tool that SetDevicePath.exe!! :thumbup

I'm using a tool of mine, mt39, to execute multiple programs from winnt.sif's DetachedProgram. With this, I extract each of 7zip compressed (not sfx) archive containing my drivers. That way its easier to maintain drivers (one archive for each driver):

<?xml version="1.0" encoding="ISO-8859-2" standalone="no"?>
<mt39 version="0.8.1" testingmode="0" logging="1">
<item>
  <!-- nVidia video card's driver -->
  <program>%SourceDrive%\Programmes\7zip\7z.exe</program>
  <arguments>x -y -o"%systemdrive%\setup\drivers\nvidia" "%SourceDrive%\Programmes\drivers\nvidia.7z"</arguments>
  <hide>1</hide>
  <wait>300</wait>
</item>
  <!-- Scanner's driver -->
  <program>%SourceDrive%\Programmes\7zip\7z.exe</program>
  <arguments>x -y -o"%systemdrive%\setup\drivers\scanner" "%SourceDrive%\Programmes\drivers\scanner.7z"</arguments>
  <hide>1</hide>
  <wait>300</wait>
</item>
<item>
  <!-- dbmsmbus's driver -->
  <program>%SourceDrive%\Programmes\7zip\7z.exe</program>
  <arguments>x -y -o"%systemdrive%\setup\drivers\dd4550\dbmsmbus" "%SourceDrive%\Programmes\drivers\dd4550\dbmsmbus.7z"</arguments>
  <hide>1</hide>
  <wait>300</wait>
</item>
...


Right now, I need to include the OemPnPDriversPath in my winnt.sif to point to each of the folder:
   OemPnPDriversPath="setup\drivers\nvidia;setup\drivers\dd4550\dbmsmbus;setup\drivers\dd4550\ecran;setup\drivers\dd4550\gameport;setup\drivers\dd4550\hp845c;setup\drivers\dd4550\lan;setup\drivers\dd4550\sound"

As suggested by Bilou_Gateux on this thread, running SetDevicePath.exe from this could prevent from using the winnt.sif's OemPnPDriversPath section.

What I did was to add this:
<item>
  <program>%SourceDrive%\Programmes\drivers\devpath.exe</program>
  <arguments>%systemdrive%\setup\drivers</arguments>
  <hide>1</hide>
  <wait>300</wait>
	</item>
to mt39's config file and commented the OemPnPDriversPath section. But it didn't worked :(

There is surely no registry @ t-39 so its surely impossible to edit it... So using this tool from there can't be done...

Does anyone think that editing $winnt$.inf could do it? Or maybe any other way to tell windows to go find its drivers to a certain path (@ t-39, not latter...), without specifiying them in winnt.sif?

thanx

#107
edmoncu

edmoncu

    Advanced Member

  • Member
  • PipPipPip
  • 331 posts
  • Joined 28-April 04
hey pyron, just wanna say congratulations!

everything worked well now with xpsp2 with your updated setup.exe! cool!!!
Please join the growing Filipino Community of PC Experts and Enthusiasts
Posted Image

#108
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
@edmoncu:
Thanks! :D

@big_gie:
Well, there definitely is a rudimentary registry at t-39, because I usually add my RunOnceEx Keys before starting the setup and also use SetServicePath.exe at that point. Technically it is even before t-39, since the countdown starts with the setup. Although I cannot tell where your problem exactly lies, I don't think it has anything to do with the registry.
EDIT: I assume you renamed the program, so that
<program>%SourceDrive%\Programmes\drivers\devpath.exe</program>
is not a typo?
--
Pyron

#109
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03
No its not a typo, I renamed the program :)

Thanx for the clarification on the registry...

#110
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03
Does anyone used SetDevicePath.exe @ t-39 succesfully? I'm still looking for a correct way of using it...

#111
serialzs

serialzs

    Member

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

Does anyone used SetDevicePath.exe @ t-39 succesfully? I'm still looking for a correct way of using it...

@big_gie

this is the correct way... :thumbup
SetDevicePath.exe %cdrom%\Drivers

the 1st part is SetDevicePath.exe is for command for your REGISTRY

and the 2nd part is %cdrom%\Drivers is for the folder were you put the drivers files... :yes:

to test it if its working...
1. Run REGEDIT
2. goto HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion dont close REGEDIT... remember what data is in DevicePath key...
3. execute the SetDevicePath.exe with the Drivers folder path.
(eg. SetDevicePath.exe D:\drivers)
4. go back to REGEDIT then then press F5 to Refresh Registry, look @ DevicePath
if it add the Drivers Folder Path on DevicePath Key then it works good... :thumbup


-=[serialzs]=-

#112
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03
Yes thats what I did during my unattended installation.
I extracted my drivers (since they are compressed on the cdrom) to C:\setup\drivers. I then called, at t-39 (winnt.sif's DetachedProgram) SetDevicePath.exe C:\setup\drivers but my drivers aren't installed (I checked in the device manager and got plenty of small yellow "!").

Thats why I wanted to see if somebody else did the same as me but successfully...

#113
serialzs

serialzs

    Member

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

can i see what you put in your winnt.sif...
i wanna help you.. i will try it out... :w00t:
and what kind of file compression are you using???


@Pyron

why i can't execute a compiled autoit file in your presetup.cmd???
i test and modify it many times but no luck... :unsure:

-=[serialzs]=-

#114
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03

can i see what you put in your winnt.sif...

[Unattended]
;OemPnPDriversPath="setup\drivers\nvidia;..."
DriverSigningPolicy=Ignore

[GuiUnattended]
DetachedProgram="%systemdrive%\setup\mt39.exe"
Arguments="/xml:%systemdrive%\setup\dd4550u.xml:/xml"

mt39 is a tool of mine to execute multiple program.

mt39 then extract 7zip compressed archieve:

...
<item>
  <!-- nVidia video card's driver -->
  <program>%SourceDrive%\Programmes\7zip\7z.exe</program>
  <arguments>x -y -o"%systemdrive%\setup\drivers\nvidia" "%SourceDrive%\Programmes\drivers\nvidia.7z"</arguments>
  <hide>1</hide>
  <wait>300</wait>
</item>
<item>
  <!-- Scanner's driver -->
  <program>%SourceDrive%\Programmes\7zip\7z.exe</program>
  <arguments>x -y -o"%systemdrive%\setup\drivers\scanner" "%SourceDrive%\Programmes\drivers\scanner.7z"</arguments>
  <hide>1</hide>
  <wait>300</wait>
</item>
...

And then run devpath.exe (renamed SetDevicePath.exe):

...
<item>
  <!-- Add OEM drivers' location to registry -->
  <program>%SourceDrive%\Programmes\drivers\devpath.exe</program>
  <arguments>%systemdrive%\setup\drivers</arguments>
  <hide>1</hide>
  <wait>300</wait>
</item>


But after trying this it didn't worked. Its quite hard to test since drivers can't be tested in a virtual machine, except the vmware/virtualpc svga drivers...
I'll try to make some testing with them...

Thanx for helping :)

#115
serialzs

serialzs

    Member

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

Arguments="/xml:%systemdrive%\setup\dd4550u.xml:/xml"

what is this for??? :unsure:

i test it with no arguments and "logging" = 0 and "testingmode" = 0...
it woks great to me... :w00t:

QUESTION:
did you test it to run this program in presetup.cmd???
is it working???

-=[serialzs]=-

#116
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03

Arguments="/xml:%systemdrive%\setup\dd4550u.xml:/xml"

what is this for??? :unsure:

%systemdrive%\setup\dd4550u.xml is the mt39's xml config file. It contains programs to execute.

did you test it to run this program in presetup.cmd???
is it working???


No, I don't use batch files.


So your telling me that you were able to remove the winnt.sif's OemDriverPath, execute SetDriverPath.exe (with whatever technic) @ t-39 and that your drivers were installed?? Testing this in a vmware wont work as your drivers aren't needed in a virtual machine (it could be tested with vmware's svga drivers though).

#117
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
@serialzs:
The startup environment is very limited, maybe compiled autoit-scripts just don't work there, I didn't test it however. Running Autoit.exe with an uncompiled script does work, I am using this technique in my unattended installs.

--
Pyron

#118
serialzs

serialzs

    Member

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

i did'nt test it in vmware or MS Virtual PC... i test it in my PC...
vmware or MS Virtual PC have a different hardware, even you run it in your PC...
thats why it does'nt install the unattended drivers...

@pyron

thanks for your reply...


-=[serialzs]=-

#119
BennyC

BennyC
  • Member
  • 1 posts
  • Joined 23-August 04

@ovilla2001

I am looking for what makes the call to setup.exe... The special something that would normally call the stock setup.exe, and make it run a different file name. That way we never have to rename setup.exe to begin with.

Isn't it in "HKLM\SYSTEM\Setup\cmdline" in the rudimentary registry installed by text-mode setup?

BTW renaming setup.exe does work, and here's why: windows maps the executables it runs to memory, very similar to the way CreateFileMapping works. At that point, it doesnt care much for the filename anymore, just the raw blocks on the filesystem. Renaming should not be a problem, but moving to another filesystem will not work. Deleting should work on UNIX, because that OS only frees data blocks once all filehandles to it are closed. Not on Windows however.

#120
edmoncu

edmoncu

    Advanced Member

  • Member
  • PipPipPip
  • 331 posts
  • Joined 28-April 04
@pyron: i plan on doing this method but instead from the CD, the drivers are compressed and be extracted on the target partition... anyways, with the new scheme used in presetup.cmd with regards to xpsp2, i am curious, may i see your entire presetup.cmd file? i just have to make sure where to place the file-renaming portion used by presetup.cmd. thanks.
Please join the growing Filipino Community of PC Experts and Enthusiasts
Posted Image

#121
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
Ok, here it is. I have to admit that I am using compressed drivers from CD for a while now and I thought it was obvious how to do it (one additional line in presetup.cmd). But there is so much talk about that lately that I think I have to update the guide someday.
But for those of you who don't want to wait, here is how my own unattended setup looks like:

presetup.cmd
set tagfile=\WIN51

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

%systemdrive%
cd %systemroot%\system32
if exist setup.exe ren setup.exe setupold.exe
if exist setupORG.exe ren setupORG.exe setup.exe

call %CDDRIVE%\OEM\bin\cmdlines.cmd

Not much work is done here, I just start another script from CD. This makes testing much easier in vmware, because I can do a snapshot after textmode and start from there whenever I change something, because presetup.cmd is copied to disk (so it is in the snapshot) and cmdlines.cmd comes fresh from (virtual) CD after (virtual) reboot.

So here is the real work:
cmdlines.cmd
set tagfile=\WIN51

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

REM uncompressing drivers
%SystemDrive%
cd \
%CDDRIVE%\OEM\bin\7za.exe x -y -aoa %CDDRIVE%\OEM\drivers.7z

REM Adjusting DevicePath
%CDDRIVE%\OEM\bin\SetDevicePath.exe %SystemDrive%\drivers

REM Uncompressing additional stuff (OEMLogo, some reskit tools, etc.)
cd %SystemRoot%\system32
%CDDRIVE%\OEM\bin\7za.exe x -y -aoa %CDDRIVE%\OEM\data\System32.7z

REM Automating GUIMode Setup
start %CDDRIVE%\OEM\bin\AutoIt.exe %CDDRIVE%\OEM\bin\guiinstall.aut

REM Preparing t-13 install
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\998 /V 1 /D "%CDDRIVE%\OEM\bin\quietex.exe %CDDRIVE%\OEM\bin\t-13_install.cmd" /f

REM Preparing postinstall
REG ADD %KEY%\999 /V 1 /D "REG ADD %KEY%\zzz999 /V 1 /D %CDDRIVE%\OEM\bin\postinstall.cmd /f" /f

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

So you see it is not that different from my original work, just some adjustments.

Hope it helps!

--
Pyron

#122
big_gie

big_gie

    Senior Member

  • Member
  • PipPipPipPip
  • 617 posts
  • Joined 27-July 03
@Pyron

As I understand, you are running SetDevicePath.exe at t-39. Do you remove the OemDriverPath from winnt.sif?

I want to remove OemDriverPath from winnt.sif and call SetDevicePath.exe at t-39 but I and Bilou_Gateux weren't able to do so!!! :no:

I hope it could be made possible...

Thanx

#123
edmoncu

edmoncu

    Advanced Member

  • Member
  • PipPipPip
  • 331 posts
  • Joined 28-April 04
@Pyron: here's how my presetup.cmd looks like:
%systemdrive%

cd %systemdrive%\drivers
start /wait drivers.exe -y /q /r:n

cd %windir%\system32

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

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

REM Workaround to work with XPSP2
cd %systemroot%\system32
if exist setup.exe ren setup.exe setupold.exe
if exist setupORG.exe ren setupORG.exe setup.exe
start /WAIT setup.exe -newsetup

im just being overly cautious here, but it seems to show that in your code
if exist setup.exe ren setup.exe setupold.exe
if exist setupORG.exe ren setupORG.exe setup.exe

call %CDDRIVE%\OEM\bin\cmdlines.cmd
you're doing the rename prior to running the decompression of drivers and running the rest of the driver tweaks (SetDevicePath.exe, WatchDriverSigningPolicy.exe).

i was wondering if it will have an adverse effect when i did it quite the other way on my presetup.cmd file?
Please join the growing Filipino Community of PC Experts and Enthusiasts
Posted Image

#124
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
  • Joined 04-December 03
I don't think so, since none of my other scripts depends on setup.exe (or its name). I am doing it in this order just for simplicity of testing in vmware. Only commands that won't change are in presetup.cmd. Everything else is in cmdlines.cmd.
I think the order of commands has no bad effect as long as the logical order is preserved (calling SetDevicePath.exe after uncompressing drivers ;) ).

--
Pyron

#125
turbomcp

turbomcp

    Never give out your password or credit card number in an insta

  • Member
  • PipPip
  • 173 posts
  • Joined 04-March 04
does detachedprogram support cmd/bat files?

i run these commands but it doesnt even start:
[GuiUnattended]
DetachedProgram="%SystemRoot%\system32\presetup.bat"
i made sure the file is in this destination(shift+f10)
and if i run it from there it runs ok

presetup.bat:

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

DRIVERZ.exe is self extracting winrar archieve that works fine

in txtsetup.sif i have this:

dmload.sys = 1,,,,,,4_,4,0,0,,1,4
ftdisk.sys = 1,,,,,,3_,4,0,0,,1,4
intelide.sys = 100,,,,,,3_,4,1,,,1,4
pciidex.sys = 100,,,,,,3_,4,0,0,,1,4
isapnp.sys = 1,,,,,,3_,4,1,,,1,4
presetup.bat = 1,,,,,,,2,0,0

anyone have an idea why its not working/starting at t-39??????????
again if i start it manually it works fine




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users