Content Type
Profiles
Forums
Events
Posts posted by erik_demon
-
-
jbm is right, when you install from a CD your $OEM$ folder has to be parallel to the i386 folder.
If your installing by using winnt.exe or winnt32.exe the $OEM$ folder has to be inside the i386 folder
Maybe the problem is your winnt.sif:
Do you have the following lines there?
[Data]
UnattendedInstall="Yes"
[Unattended]
OemPreinstall=Yes0 -
I am back with some good news
I Tried using subdirs in my DRVINDEX.INF like I mentioned in post nr. 49 (but without the spaces). That didn't work.
I tried everything with subdirs, but no go.
Then I just removed the subdirs path's, and it works!!
It seems that The entire .Cab file with all it's subdirs is searched when the filename is inside DRVINDEX.INF.
This was the last big obstacle. Now the method seems to work perfect
@Bashrat
I haven't tried that yet, I will get back to you in about half an hour!!
EDIT:
I just finished a test with all your DP's except the DP MassStorage, and it took me 14 min. to compress the drivers on a P4 3,2 GHZ system with 1 GHZ DDR RAM of memory. (nice guess)
@RyanVM
Thanks, I have to say that I am quite a compression N00b, and that I was quite happy that I got Cabarc to work I will give it another shot.
EDIT:
I tried it again, but this time with LZX:21 compression, and the filesize went down from 270 tot 196 MB, Thanks alot!!
EDIT 2:
I think that I will write a detailed 'how-to-guide' sometime this week.
0 -
Okay, I did an interesting discovery today,
I think I found a way to save some space on the CD B) .
For this method, I used Bashrat's DP method 2 to install the drivers during setup.
Now I always thought that DRVINDEX.INF in the i386 folder needed to be edited before a format. After my testing it now seems that you can also edit DRVINDEX.INF which is in the %systemroot%\inf folder after a format.
Since there now is no reference in DRVINDEX.INF about the new DP.cab, you don't have to include the .Cab file on your CD (which saves you 2x 270MB !!! ).
Normaly Bashrat's pack add's these lines to winnt.sif
command8= "%SystemDrive%\DP\BTS_DPs_Control_Panels.cmd"
command9= "%systemdrive%\DP\Delete_after_reboot.cmd"I changed that into this:
command7= "%SystemDrive%\DP\BTS_DPs_Control_Panels.cmd"
command8= "%SystemDrive%\DP\create_cab_file.cmd"
command9= "CMD /C RD /S /Q %SystemDrive%\DP"create_cab_file.cmd
cmdow @ /HID
@echo off
SET tagfile=\I386\presetup.cmd
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:
REM +===============================================+
REM | Create DP-Erik.cab |
REM +===============================================+
%CDDRIVE%\WINXP\OEM\bin\cabarc.exe -m LZX:21 -r -p N %SystemDrive%\DP\DP-Erik.cab %SystemDrive%\DP\*
REM +===============================================+
REM | Copy DP-Erik.cab to the \Driver Cache, and the \Driver Cache\i386 folders|
REM +===============================================+
COPY "%SystemDrive%\DP\DP-Erik.cab" "%systemroot%\Driver Cache\"
COPY "%SystemDrive%\DP\DP-Erik.cab" "%systemroot%\Driver Cache\i386"
REM +===============================================+
REM | Copy the INF files and the new DRVINDEX.INF to the %systemroot%\INF folder|
REM +===============================================+
start /wait %CDDRIVE%\WINXP\OEM\bin\inf.exe
EXITINF.exe is a self extarcting winrar file that copies all .INF files, and a new (edited) version of DRVINDEX.INF to the %systemroot%\INF folder
Beside the space saving element, you now also don't have to edit dosnet.inf, and txtsetup.sif anymore !!
EDIT:
We could of course change INF.exe into INF.7zip if we want to safe more space
0 -
@X-Savior
Great work again
Is this without editing txtsetup.sif? that would be GREATI had no problems at all. It found the Driver's. Also, during OS install it will scan the New CAB anyways and install the drivers in it.Last night I made a full out CAB file with everything except for Chipset & Mass Storage. I figure we should keep the usual way for them. It's not like your gonna change the MB very often w/o re-installing the OS. Just the drivers for things that are changed more often (Video Cards, Network, USB, Sound, Etc.)Yeah, I agree
I tried this key, and it works. Windows now only asks if you want to search for the drivers somewhere on your computer.WHat about disabling the Driver Search (Internet) that comes up;----- Don't search Windows Update for drivers (when new HW detected)
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DriverSearching]
"DontSearchWindowsUpdate"=dword:00000001
"DontPromptForWindowsUpdate"=dword:00000001Keep up the very good job
@Bashrat
I'll try to make itIf you have time, please do. It's a hell of a job to put them in manually.
But I would like to see ONE more feature: BETTER COMPRESSION!!!!Yeah, I would like to see that to. With .7zip files all DP's except MassStorage and chipset are around 127 MB. When you use .CAB files, this will be around 270 MB
EDIT:
I think I found an aswer to this problem, see my next post!!
@ All
Is it possible to put 1 file, two times in the txtsetup.sif file?
I ask this because the new DP.CAB has to be both in %systemroot%\driver cache\ and %systemroot%\driver cache\i386.
Is there someway to tell txtsetup.sif to copy this file to both location?
(of course you can put the file in $OEM$\$$\driver cache but then you would have two files with a filezise of ~270 MB on your CD)
0 -
Yeah, I will try it out sometime this weekend.
In your example you did this:
[Files]
d1,driverfile.sys, subfolder\driverfile.sysIn dosnet.inf there is the following line that is doing the same thing:
d1,ntdll.dll,system32\ntdll.dll
Note that there isn't a space between the file and the subdir, so shouldn't your example be like this?
d1,driverfile.sys,subfolder\driverfile.sys
0 -
Thanks,
In that case I wonder if this works with a .cab file:
If the folder structure of that .CAB file = DP\W\L\2\name of file
DRVINDEX.INF
[Version]
CabFiles=erik,SP2,Driver
[Directories]
d1 = \DP\W
[erik]
d1,BCMWL5.SYS, L\2\BCMWL5.SYS
d1,LSBCMNDS.CAT, L\2\BCMWL5.SYS
d1,LSIPNDS.CAT, L\2\BCMWL5.SYS
d1,LSIPNDS.SYS, L\2\BCMWL5.SYS
d1,LSIPNDSX.SYS, L\2\BCMWL5.SYS
d1,WMP11NDS.CAT, L\2\BCMWL5.SYS
d1,WMP11NDS.SYS, L\2\BCMWL5.SYS
[Cabs]
erik=erik.cab0 -
@X-Savior
Thanks for all the testing, this really helped me a lot
Okay, I did some test the last few days, and I now have some results myself.
Test 1: No success !!
My first test had everything to do with presetup.cmd (see post nr. 35)
My goal was the following.
- I wanted to create a Erik.cab file, and get it copied to the %systemroot%\driver cache\ and %systemroot%\driver cache\i386 folder during presetup.cmd
I modified presetup.cmd like in post nr. 42 (but with some different filenames
Of course I modified my driver DRVINDEX.INF file. Now it looks like this:
[Version]
CabFiles=erik,SP2,Driver
[erik]
BCMWL5.SYS
LSBCMNDS.CAT
LSIPNDS.CAT
LSIPNDS.SYS
LSIPNDSX.SYS
WMP11NDS.CAT
WMP11NDS.SYS
[Cabs]
erik=erik.cabthe *.INF files I place here
$OEM$\$$\INF
I did not modify txtsetup.sif and dosnet.inf because I didn’t want the drivers to get installed during setup. I only wanted to test if the drivers get installed after setup.
I had the following error:
De following value in the SIF file is corrupt or missing
De value 0 on the line with the key erik.cabNote that I never modified txtsetup.sif, so this means that setup also looks inside DRVINDEX.INF before it starts copying the files.
This means that if you modify DRVINDEX.INF like I did, erik.cab has to present in the i386 folder.
This method will not work!
Test 2: success
This time I did it more your way, but with a twist .
It looks very much like the way you did it in post nr. 44
The driver installation part during setup is done by Bashrat's method 2
(presetup.cmd)
I believe that this is far more efficient than modifying txtsetup.sif for every file in the new driver pack. The only thing that we need the new .CAB file for, is for detecting driver after the setup.
DOSNET.INF
[Files]
d1,erik.cabDRVINDEX.INF
[Version]
CabFiles=erik,SP2,Driver
[erik]
BCMWL5.SYS
LSBCMNDS.CAT
LSIPNDS.CAT
LSIPNDS.SYS
LSIPNDSX.SYS
WMP11NDS.CAT
WMP11NDS.SYS
[Cabs]
erik=erik.cabTXTSETUP.SIF
[SourceDiskFiles]
erik.cab = 100,,,,,,,39,0,0
DriverCabName=Driver.cab,SP2.cab,erik.cab
[FileFlags]
erik.cab = 16Ok, so then I just add a copy of the *.Cab to...
$OEM$\$$\Driver Cache
And the *.INF to...
$OEM$\$$\INF
My install went great,
And when I plug & played my wireless card, windows detected it. I only had the question if I wanted to search for them, like you had as well.
This method works, and tells us that we can use Bashrat's method 2 and this method together
EDIT:
I still don't have a clue how to work wit subdirs in DRVINDEX.INF when you use a .CAB file
0 -
This is the script that I use now
0 -
Yes, as long as you first copy the Generals folder to your harddrive, and than run the script (which should be inside the Generals folder) it should work. If you run it from A CD, generals will ask for CD 2. In that case you can try my second method. (which I use now, because I install from a second harddrive and I have plenty of space. Now I don't even need CD's enymore because I both install, and play games from ISO files)
0 -
I already created (a very simple) AutoIt script for generals:
You can download it here
As long as you copy all file to the harddrive setup won't ask for the second CD.
If you however install from the CD, setup will ask for it.
For the last one there is also a solution:
Check-out this topic (and the link that I posted)
Good luck!
0 -
What your doing is not totally correct.
SET PP=%SystemDrive%\Apps\
So %PP%AdbeRdr60_dan_full.exe tells your runonceex it must execute C:\Apps\AdbeRdr60_dan_full.exe ( C:\ could of course be something else)
Now I looked at your file structure and I noticed you have a $OEM$\$1\Install folder
You should change:
SET PP=%SystemDrive%\Apps\
Into this:
SET PP=%SystemDrive%\install\
Good luck!!
EDIT:
By the way,
The rest of your filestructure looks great
EDIT 2:
If you want to find some switches, check this part of the forum
EDIT 3:
Avoid using a "SPACE" in file or folder names. This will prevent a lot of troubles, and with quotation. intead of:
REG ADD %KEY%\013 /V 1 /D "%PP%Office 2003\setup.exe" /f
use:
REG ADD %KEY%\013 /V 1 /D "%PP%Office_2003\setup.exe" /f
and a switch for office can be found here
EDIT 4:
(Reaction on the post below me) BAM, I totally agree with you. I wish that more new users started this way instead of asking things that are already explained clearly.
0 -
Okay, I am preparing myself for some testing tomorrow:
This is how my presetup.cmd will look like:
SET tagfile=\WINXP\I386\presetup.cmd
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:
%SystemDrive%
CD %SystemRoot%\system32
%SystemDrive%
CD \
%CDDRIVE%\WINXP\OEM\bin\7za.exe x -y -aoa %CDDRIVE%\WINXP\OEM\DriverPack_*.7z -o"%SYSTEMDRIVE%"
REM +===============================================+
REM | NEW!! CREATE A .CAB FILE |
REM +-----------------------------------------------+
%CDDRIVE%\WINXP\OEM\bin\cabarc.exe -r -p N %SystemDrive%\DP\DP-Erik.cab %SystemDrive%\DP\*
REM +===============================================+
REM | COPY CAB file to 2 important dirs |
REM +-----------------------------------------------+
COPY "%SystemDrive%\DP\DP-Erik.cab" "%systemroot%\Driver Cache\"
COPY "%SystemDrive%\DP\DP-Erik.cab" "%systemroot%\Driver Cache\i386"
REM +===============================================+
REM | DELETE DP-ERIK.CAB |
REM +-----------------------------------------------+
del "%systemdrive%\DP\DP-Erik.cab" /q
%CDDRIVE%\WINXP\OEM\bin\SetDevicePath.exe %SystemDrive%\DP
START %CDDRIVE%\WINXP\OEM\bin\WatchDriverSigningPolicy.exe
REM SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\999 /V 1 /D "%CDDRIVE%\WINXP\OEM\bin\SetDevicePath.exe %SystemRoot%\Inf" /f%CDDRIVE%\WINXP
No error here I use this because I install from a second harddrive, an not from the root of that drive.
I tested the cabarc part. And it worked great
Could someone please check the above lines for errors??
EDIT:
@RogueSpear
change the registry to look there for installation source filesCould you explain me what reg keys you used here?
EDIT 2:
I tested the new Presetup.cmd in windows, and it works. It first extactacts the DP's, the it makes a .cab of them and copies them to "%systemroot%\Driver Cache\ and "%systemroot%\Driver Cache\i386. Then it deletes the .CAB file in the DP folder and goes on with the rest of the normal presetup section.
0 -
At least that means that I am right
when you use winnt.exe you can only use short file names
Please download the Windows XP Service Pack 2 Deployment Tools here
extract the .CAB file, and open deploy.chm
Then search the document for something like: how to use winnt.exe
The info is somewhere inside.
Good luck!
0 -
I used an AutoIt script to install Battlefield Vietnam, I will post the script here later today, (I need to go now)
EDIT: this is the script that I use for Battlefield Vietnam:
For more information about the automatic cd change: check here, and read my post
0 -
Check out this topic.
You can use WatchDriverSigningPolicy.exe to install NON-WHQL drivers
0 -
If you use winnt.exe or winnt32.exe, the $OEM$ folder must be inside the i386 folder
0 -
How does this sound to you people?
PERFECT, GOOD JOB
Although my approach will be a little different, I now know this method works.
About the double .CAB file, I may have found something
Look at this place in the registry:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]
There you will find:
DriverCachePath = %SystemRoot%\Driver Cache
It is binary code like this:
SEE ATTACHMENT
We can change this to
DriverCachePath = %SystemRoot%\Driver Cache\i386
like this:
SEE ATTACHMENT
Maybe now we need only one .CAB file in the %SystemRoot%\Driver Cache\i386 folder
EDIT:
For some reason, the binary code looked wrong when I posted it with the code tag. You can now see the code in the attachment
EDIT 2:
@X-Savior:
usb100m.cat = 100,,,,,,,44,3,3
Why do you copy a .cat file to system32\dllcache?
0 -
I noticed that as well
The goal of this topic was to let windows identify drivers when you plug them in, and use them even when the OS is already installed. like for instance, you just bought a wireless card and you want to use it without doing a format. (I would like that because my wireless card sucks ).
after reading Serialzs topic My intention are to do this:
- use your method 2 to extract the DP's and set the DevicePath like you did in method 2
- Use Cabarc to create a .CAB file from the extracted DP files (I still like to use the first step because .7zip is much smaller than .CAB)
- Copy the .CAB file to %systemroot%\Driver Cache\i386
Of course they DRVINDEX.INF has to be edited before this. This also makes sure that I don't have to edit txtsetup.sif, and dosnet.inf except for the .INF file which need to be in the i386 folder (or I create another .7Zip file with only inf files that need to be copied during presetup to the %systemroot%\INF folder)
This seems to be MUCH easier than I thought (I know, you said so )
There however still is one problem: How can i modify DRVINDEX.INF to look into subfolder of the .CAB file?? If this isn't possible, I won't create a .CAB file. Is it possible then to point DRVINDEX.INF in the direction of the normal subfolder. For instance: %systemroot%\Driver Cache\i386\DP\W\enz? (I don't know a great deal of INF files. I am learning though)
0 -
@ Bashrat:
it starts with 1 or 100, 1 means XP Vanilla, 100 means SP1 (maybe also SP2, so any SP?)If we want to add new drivers, does it matter if I use 1, or 100??
I don't think it matter, because you use the following for presetup.cmd
presetup.cmd= 1,,,,,,,2,0,0
And presetup ofcourse has nothing to do with the Vanilla version of XP.
EDIT:
I found this interesting post today, It comes from this forum (it didn't show up with the search function .) It seems that this is a perfect way to A: install the drivers, B: let windows recognize the drivers when you plug an play a device: THNX. ALOT Serialzs (seems that I was getting very close aswell )
0 -
Yeah, this looks very promising, I can't wait to see the result
EDIT:
I found something a bit suprising,
there are NO .inf files in Driver.cab or SP2.cab
EDIT2:
It seems like all .inf files are directly in the i386 folder, and they all get copied to the %systemroot%\inf folder by txtsetup.sif, this should mean that using the $$\Inf folder also works
EDIT3:
Okay, it seems that every file in the Driver.CAB and SP2.CAB file have a reference inside txtsetup.sif
just some examples from both DRIVER.CAB and SP2.cab files:
hpcjrrps.dll = 100,,,,,,,,3,3
hpwm535m.gpd = 1,,,,,,,,3,3
hpwm5con.ini = 1,,,,,,,,3,3
eplvcd00.dll = 1,,,,,,,,3,3
eplvcd00.ini = 1,,,,,,,,3,3
lxaacln4.out = 1,,,,,,,,3,3
epndde01.dat = 1,,,,,,,,3,3
epndde02.cfg = 1,,,,,,,,3,3
cn160.hlp = 1,,,,,,,,3,3
ir_begin.wav = 1,,,,,,,,3,3
atievxx.exe = 1,,,,,,,,3,3
kodak.jpg = 1,,,,,,,,3,3
ncss4406.icm = 1,,,,,,,,3,3It seems like 3,3 tells setup to do *something* with the files in the .CAB file
I think that this is very important (maybe also for installing drivers via the new made CAB file) does anyone know what it means??
****, I can't wait till I have some time to help testing, I think we now are very close!!
EDIT 4:
It seem to be a bit different with .sys files:
apmbatt.sys = 1,,,,,,,4,1,1
enum1394.sys = 1,,,,,,,,3,3,,1,4
cmdide.sys = 1,,,,,,3_,4,1,,,1,4
exabyte2.sys = 1,,,,,,,4,1
ndisip.sys = 100,,,,,,,4,1
rio8drv.sys = 1,,,,,,,4,0,0
riodrv.sys = 1,,,,,,,4,0,0
ql12160.sys = 1,,,,,,4_,4,1,,,1,4But still also here there is pretty much the same
Also I think that
= 1,,,,,,4_,4,1,,,1,4 and
= 1,,,,,,3_,4,1,,,1,4is for Masstorage drivers, they also exist under [sCSI]
EDIT 5:
Yes, I seem to be write about the Masstorage drivers:
abp480n5.sys = 1,,,,,,4_,4,1,,,1,4
amsint.sys = 1,,,,,,4_,4,1,,,1,4
aliide.sys = 1,,,,,,3_,4,1,,,1,4These files are inside driver.cab
Edit 6:
these value are used by windows for the nvidia drivers:
nv4_disp.dll = 100,,,,,,,,3,3
nv4_disp.inf = 100,,,,,,,20,0,0
nv4_mini.sys = 100,,,,,,,,3,3nv4_disp.dll, and nv4_mini.sys are in SP2.CAB, and nv4_disp.inf is in the i386 folder
It now seem that *added* drivers in .CAB files (I mean drivers that are not windows core driver, and are no part of the *originale* windows setup files) = 100,,,,,,,,3,3 for all their files, except the INF, it uses = 100,,,,,,,20,0,0 and is located in the i386 folder
0 -
That is GREAT news ,
I will try to experiment with INF files this weekend.
ATM, I really know absolutly nothing about INF files , I think that I will pay Gosh's site a visit.
EDIT:
Is it really necessary to create a CAB file??
can't we just put the DP folders uncompressed in the "%Systemroot%\Windows\Driver Cache" folder?
This worked for X-Savior (okay, he only did it with 2 files, but should that matter?), the only thing he didn't do was to make references in DRVINDEX.INF
0 -
I wonder if it's possible to do it a way similar to this:
It would be nice if this should work. Then atleast I can do this for my own driverpack which has no more then 10 drivers included.
You can avoid identical filenames in your pack aswell, but then you should have to make references to 412 Directories (DP Masstorages and DP chipset excluded)
Edit
Or... You can can create 412 .CAB files
Edit 2: then you start to wonder how Microsoft tackled this problem, maybe I should send them an e-mail
0 -
Okay, I now created a DP-Erik.cab file
But it has a lot of subfolders inside.
A few line from the DRVINDEX.INF file
[driver]
1394vdbg.sys
2gmgsmt.sf2
3145pcl.gpd
3155pcl.gpd
3165pcl.gpd
31x5hc01.cnt
31x5hc01.hlp
31x5hs01.cntAs we take a look at the files above, we can see that these files are on the root of the driver.cab file
Now I want to know if I can also use subfolder in the DRVINDEX.INF file
Is this possible:
[DP-Erik]
DP\000_chipset\intel_inf_drivers\815.cat
DP\000_chipset\intel_inf_drivers\815.inf
DP\000_chipset\Via\VIAHyperion4in1455v\WinXP\viaagp1.cat
DP\003_display\samsung710T\SM710T.infSee the image below for an overview of my DP-Erik.cab
0 -
Sorry be patient but you must be talking to the dumbest of all users
No problem, I will explain it some more.
When you install unattended, the recovery console is disabled, so you can't press "R"
You have to install the utility yourself.
I have to say that I never tried it before, so it was a good experiment for me
Actually it is very simple. once you are inside windows, use the following steps:
1. Insert your unattended disk
2. open CMD
3. type in D:\i386\winnt32.exe /cmdcons
(assuming D:\ is your CD drive)
4. Let the setup utility do it's stuff (I believe you need an internet connection)
5. Reboot
6. You can now use recovery consoleI tested it, and it worked
Good luck!
0
Unattended Inastall
in Unattended Windows 2000/XP/2003
Posted · Edited by erik_demon
This is wrong.
What you are doing here, is creating a directory path.
d1 = \i386
That means that every line that starts with d1, will copy it's files from the i386 directory.
You now get a copy error because you tell setup to copy a file from all four directories.
I think your problem is within txtsetup.sif
check out these lines:
Maybe you could change this to:
I am not quite sure about this so I hope that someone can confirm this.
Edit:
About problem nr. 3
this is what I found in the ref.chm file:
I never knew this either
I think that you should delete this line and use /tempfile to decide on which drive you want to install.