Topic: Integrate Driverpacks in Unattended Network Installation

Hi,
I install XP over the network installation using an 'unattend.txt', instead of 'winnt.sif'.
Unattend.txt is used with winnt32.exe.
When I integrate driverpacks using 'Method 2', I see that the 'setup.exe' in the 'i386' folder is patched.
Maybe this is done to start 'Presetup.cmd' during textmode setup.
Am I right?
Presetup.cmd then looks for the folder 'OEM' in the root of the cdrom and uncompresses the driverpacks to %systemdrive%.
and so on.
To integrate driverpacks in the network installation I should know what Presetup.cmd does, and how integrating works.
Can anybody tell me exactly that?
Thanks, Seiba

Re: Integrate Driverpacks in Unattended Network Installation

your correct. no explanation necessary.

In case anyone else missed it.
for method two "M2" base 7.52 and previous versions rename MS's setup.exe to setuporg.exe and inserts our setup.exe ("fake" setup). Fake setup calls presetup.cmd which extracts the packs to %systemdrive% and then calls setuporg.exe. quite simple, and harmless, but it is necessary to have the files and search path in place before setup begins. this became neccesary when the drivers exceeded the path limit allowed by the OEM preinstall technique that is normaly used. the winnt.sif file entry OemPnpDriversPath= has a maximum path length of 4096 characters. 

try renaming winnt32.exe to setuporg.exe and copy "fake" setup to winnt32.exe and see where that takes you.

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Integrate Driverpacks in Unattended Network Installation

Thanks,
just got it to work, but please don't touch winnt32.exe (-:
Patched Presetup.cmd and other stories.
If someone is interested, I can post the whole story.
Seiba

Re: Integrate Driverpacks in Unattended Network Installation

Hi,
I am all ears.

The answer was 42?
Kind regards, Jaak.

Re: Integrate Driverpacks in Unattended Network Installation

Love to hear the whole story...

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Integrate Driverpacks in Unattended Network Installation

Yes, it would be nice to hear the whole story, Seiba!

Re: Integrate Driverpacks in Unattended Network Installation

I'm all ears as well... smile

Re: Integrate Driverpacks in Unattended Network Installation

Hi,

Seiba will do what you said (-:

There are many descriptions in the internet, how to create an unattended network installation.
I assume that you know how to
- create the distributionfolder with i386
- generate unattend.txt
- run winnt32.exe with unattend.txt

Your network share where your unattended installation lies may look like this:
\\server\autoinst\xp\i386.

1. Integrate all driverpacks to your network share \\server\autoinst\xp.
Start DPs_Base.exe
- Settings - Location - Location: \\server\autoinst\xp
- Settings - Location - Installation Platform: disc
- Settings - Driverpacks: All incl. Massstorage
- Settings - Driverpacks Method: Slipstream Method 2
- Settings - Finisher Method: RunOnceEx
Integrate.
This will integrate presetup.cmd and massstorage drivers into txtsetup.sif and dosnet.inf.

2. Now you have 2 new Folders near your \\server\autoinst\xp\i386 folder:
  - $OEM$ (see 3)
  - OEM (see 5-9)
Let them for the moment, you need them temporary, you delete them later!

3. Move folder \\server\autoinst\xp\$OEM$ to \\server\autoinst\xp\i386\$oem$.
There have to be 2 files: cmdlines.txt and roe.exe
(Normally $oem$ is your preparation folder when you use an unattended network installation).
Delete \\server\autoinst\xp\$OEM$.

4. Create the $1 folder in your new $oem$ folder.
Now it looks like this:  \\server\autoinst\xp\i386\$oem$\$1.
($1 folder will be %systemdrive% after installation)

5. Extract the driverpacks from \\server\autoinst\xp\OEM\*.7z to \\server\autoinst\xp\i386\$oem$\$1.
After extracting you will see \\server\autoinst\xp\i386\$oem$\$1\D folder and many subfolders where the drivers are extracted.

6. Copy \\server\autoinst\xp\OEM\aticpp.ins (if it exists) to \\server\autoinst\xp\i386\$oem$\$1.

7. Extract \\server\autoinst\xp\OEM\bin\DPsFnshr.7z to a temp directory.

8. Copy DevPath.exe and DSPdsblr.exe from temp directory to \\server\autoinst\xp\i386\$oem$\$1.
They are needed in PreSetup.cmd later.

9. Delete folder \\server\autoinst\xp\OEM completely.

11. Edit presetup.cmd in \\server\autoinst\xp\i386.

12. Delete whole text and add this 2 lines:
%systemdrive%\devpath.exe %systemdrive%\d
start %systemdrive%\dspdsblr.exe
Save it.

Now your unattended network installation is prepared to use the driverpacks.

Re: Integrate Driverpacks in Unattended Network Installation

You have basically reverted an M2 install to an M1 install without the benefit of cab compression.
Good thinking and my respect. big_smile 

Let's consider some options to improve on your method (if possible).

notes:
Since you are moving the drivers to the $OEM$ folder they are copied during textmode (16bit mode).
It is preferable to copy them from presetup because in GUI mode we are useing 32 bit drivers.
Ideally we would copy the original packs which would mean a smaller transferred size and at a higher speed.

It may be a textmode copy is unavoidable. I am not convinced that is true just yet... but let's assume it is.
     
  If they must be copied during text mode may i suggest you do it this way...
     move the OEM folder to the  \\server\autoinst\xp\i386\$oem$\$1\ folder.
     creating a \\server\autoinst\xp\i386\$oem$\$1\OEM\ folder (replaces step 4)
        This will reduce the size of the text mode copy from 1.5 gig to 300 meg.
        This will be a huge reduction in transfer time and network load.
        This technique will also eliminate steps 5, 6, 7, 8, and 9. (what happened to step 10?)
     use this modified version of presetup.cmd (replaces steps 11 and 12)

REM +==========================================================================+
REM |                                                                          |
REM |   This presetup.cmd file was dynamically generated by the DriverPacks    |
REM |   BASE, to work with the DriverPacks without any further editing.        |
REM |   However, if you would like to add some custom functionality, you can   |
REM |   edit this file without any problems. Just take into record that this   |
REM |   file will be erased if you run the DriverPacks BASE on these Windows   |
REM |   installation files again!                                              |
REM |                                                                          |
REM |   With special thanks to:                                                |
REM |   -Pyron, a06lp and iLE for their help with this method;                 |
REM |   -schalti for the optional 'Keep the Drivers' system and Pyron (again)  |
REM |    for turning it into an executable.                                    |
REM |   -SuperTibaldoKart for creating un7zip.exe                              |
REM |                                                                          |
REM +==========================================================================+


REM +==========================================================================+
REM |   Finding CD/DVD driveletter is modified to point to system root.        |
REM |--------------------------------------------------------------------------|

SET CDDRIVE=%SystemDrive%


REM +==========================================================================+
REM |   Decompressing the DriverPacks to the harddisk - using un7zip.exe.      |
REM |--------------------------------------------------------------------------|
%CDDRIVE%\OEM\bin\un7zip.exe %CDDRIVE%\OEM\DP*.7z %SystemDrive%\


REM +==========================================================================+
REM |   Copying/decompressing the files to finish the installation.            |
REM |--------------------------------------------------------------------------|
%CDDRIVE%\OEM\bin\un7zip.exe %CDDRIVE%\OEM\bin\*.7z %SystemDrive%\
COPY /Y %CDDRIVE%\OEM\bin\DPsFnshr.ini %SystemDrive%\
IF EXIST %CDDRIVE%\OEM\*.ins COPY /Y %CDDRIVE%\OEM\*.ins %SystemDrive%\


REM +==========================================================================+
REM |   Scanning for driverdirectories.                                        |
REM |--------------------------------------------------------------------------|
%CDDRIVE%\OEM\bin\DevPath.exe %SystemDrive%\D



REM +==========================================================================+
REM |   Deleting the source 7zip files used for the Network install.           |
REM |--------------------------------------------------------------------------|
IF EXIST %CDDRIVE%\OEM\  RD /S /Q %CDDRIVE%\OEM



REM +==========================================================================+
REM |   Disable Driver Signing Policy and keep it disabled.                    |
REM |--------------------------------------------------------------------------|
START %SystemDrive%\DSPdsblr.exe


EXIT

if it is possible to copy them from presetup.cmd that would be even better.
Then it would only be necessary to change the below lines in presetup.cmd
This would eliminate copying the OEM folder in text mode to the local drive.

the copy and extraction would be a single step process that takes advantage of the improved processing and IO performance of the PE platform. It is alsoexact same technique DriverPacks uses and supports with standard M2 CD / DVD install (that we support) wink

IE
     move the OEM folder to the  \\server\autoinst\xp\i386\$oem$\ folder.
     creating a \\server\autoinst\xp\i386\$oem$\OEM folder replacing steps 4, 5, 6, 7, 8, 9 and [potentially] 10 )

REM +==========================================================================+
REM |   Finding CD/DVD driveletter function now sets Network source location   |
REM |--------------------------------------------------------------------------|
net use z: \\server\autoinst [pass /user:admin /Y]
SET CDDRIVE=Z:\xp\i386\$oem$

If the servername or share name are not 8.3 then it can be in quotes and the [pass /user:admin /Y] is optional
IE    net use z: "\\MyServerHasLongName\AutoInstallationFolder"
or    net use z: "\\MyServerHasLongName\AutoInstallationFolder" Pa55w0rd /user:Administrator /Y

Thanks so much for sharing... if you dare to try my ideas can you give us a further update!!!

your one of the people who contribute, making DriverPacks a great place to be. thanks!

PS you gave no details on winnt32...

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Integrate Driverpacks in Unattended Network Installation

It gets Interesting. smile

The answer was 42?
Kind regards, Jaak.

Re: Integrate Driverpacks in Unattended Network Installation

Yes I have been thinking about RIS and SysPrep support for a while
feedback of this nature is the road to making it happen.

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Integrate Driverpacks in Unattended Network Installation

Hi Overflow smile,

First:
Thanks much for your tips, it is a pleasure for me to tell you more.

Second:
Yes you may be right, I could have done it a little bit easier - without uncompressing an things.
I know driverpacks fistly two weeks, and I had massive problems downloading it ...
But I wanted to know what's going on in my unattended installation.
Since integrating driverpacks with my method, network copy does not take noticeable more time.
If you have a fast network, this should be no problem.
For me it was a good deal to get it to work and to see what's going on.
The trick with patching setup.exe is great and genious, thanks to the patcher (Pyron an friends).

Third:
Setup.exe is started in GUI-Mode, not in Textmode.
Accordingly presetup.cmd.
So the drivers are shurely installed in 32-bit mode, because presetup.cmd and devpath.exe sets the devicepath in the registry before starting GUI-Mode.
So it is indifferent, if you copy the drivers with presetup.cmd or with my $1-feature !!!

Fourth:
I don't know what DSPdsblr.exe does.
It took it, and it worked.
Maybe I could leave it away, because in my Unattend.txt there is the statement "DriverSigningPolicy=Ignore" that disables policy warnings.
Maybe I will do a test next week.

Fifth:
You can use winnt32 to start unattended installation in the way it is documented by Microsoft.
Next week I will post my command-line, and unattend.txt and more.

Sixth:
I do unattended installations since NT4.0, and last 4 weeks I created an VistaPE boot media using winbuilder to start unattended installation in a domain environment.
I created serveral features like automatic partitioning, scripted start of unattended installation, running installation fully automatic, the only thing you have to tell is computername.

Seventh:
A few years ago I developed a tool. I call it the 'ProfileTree'.
With this tool you can install nearly 100 software packages in unattended mode (without interacting!)
The data it uses is stored in an Access database.
Access database stores all parameters that install scripts need.
Install scripts (VB-Scripts) that control package installation are created at runtime.
It is possible to select installation packages or not.
There is an installation control wether package is installed or not.
I have written it in Visual Basic 6 (I'm not a great programer!), and since long time I wanted to share it to the world ...
Maybe I do it anywhen.
A community could improve it shurely.

More next week. smile
Seiba

Re: Integrate Driverpacks in Unattended Network Installation

you are mistaken about #3 sir...

the $1 folder is COPIED to the local HDD during text mode

yes they are "installed" during PE (GUI setup), but that was not what i said was it? Nor was it my my point.
Please read more carefully.
it was about copying them from the source over the network to the destination that i was referencing.

my first method copies 300 meg in text mode.
(This may be our only choice if the NIC were not supported by PE prior to presetup and before the driverpacks installation occurs.)

my second method copies 300 meg in 32 bit mode and it extracts them on the fly utilizing resources that would be unused / idle on the target machine.

your method copies 1.5 gig in text mode.


I guarantee both of my methods are faster and reduce the size of your network copy by 1.2 gig.


#4 dspdisabler = Driver Signing Policy Dis-abler your unattended line will not help (by itself) if you use KTD.

#6 if you want to try and impress me your not going to do it by listing your accomplishments. I made my first dial-up connection in 1968 with an acoustic modem from a dumb terminal to a mainframe computer. I started learning on that mainframe.  My first PC was a KIT i had to assemble and we are talking about component level assembly not plugging cards in a slot. (it was a Poly88)

I didn't ask you what you did because i wanted to be taught. I asked you to see if i could offer some help. Sometimes when i see how people fail or choose poorly it helps me, in that i can potentialy avoid issues when i am programming. that way i can do error trapping to prevent them from making bad choices.

PS i am one of the coders for the base program and personally wrote the bartpe plugin
You may not be a good programmer but I am, and I have over 30 years practice.

#7 WPI (windows post installer) {what you planned to share} has already been done, and quite well i might add.
i also have over a hundred programs that are automated. So does every one else in the world...
at least the ones capable of finding there way here. wink

90% of the members / users here are hardened veterans with decades of experience, each and every one.
There are no noobs here. you are running with people here who have at least as much experience as you do.

We look forward to seeing you... big_smile
We're glad your here and giving back to the community you obviously love.

have a great day sir!

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Integrate Driverpacks in Unattended Network Installation

OverFlow wrote:
REM +==========================================================================+
REM |   Finding CD/DVD driveletter function now sets Network source location   |
REM |--------------------------------------------------------------------------|
net use z: \\server\autoinst [pass /user:admin /Y]
SET CDDRIVE=Z:\xp\i386\$oem$

If the servername or share name are not 8.3 then it can be in quotes and the [pass /user:admin /Y] is optional
IE    net use z: "\\MyServerHasLongName\AutoInstallationFolder"
or    net use z: "\\MyServerHasLongName\AutoInstallationFolder" Pa55w0rd /user:Administrator /Y

Thanks so much for sharing... if you dare to try my ideas can you give us a further update!!!

your one of the people who contribute, making DriverPacks a great place to be. thanks!

PS you gave no details on winnt32...

I'll be thinkin, when you replace the line "\\server\autoinst" in to the line where you store all the driverpacks (eg \\server\DriverPacks$ share) with all the drivers. Then if you have multiple operatingsystems (XP English, Dutch or Windows Server 2003), you don't have to store a lot of drivers, multiple times. This should be save you or the company a lot of storage, and money.

Even you don't have to take a lot of time to change/add DriverPacks to multiple OSes...

Note: I didn't test this way of distributing drivers, but it should be possible. I'll going be testing this way soon

Last edited by remy007 (2008-04-27 00:12:44)

Re: Integrate Driverpacks in Unattended Network Installation

Awsome  TIA for the feedback!

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.