Jump to content

Drivers


tain

Recommended Posts

I want Win2k to install drivers during the installation routine and have narrowed the field down to two different ways of doing so:

The AutoIT method: http://www.msfn.org/board/index.php?showtopic=51406

And Pyron's method: http://www.msfn.org/board/index.php?showtopic=12566

Have you guys tried either of these? Which one do you recommend? Or is there a better way with HFSLIP?

Link to comment
Share on other sites


@TAiN: I was looking at these same two threads this morning. I think I like this one better:

http://www.msfn.org/board/index.php?showtopic=51406

only because it seems easier, but I haven't tried it, so YMMV.

My $.02. When doing his 3 steps, create your OEM subfolders alongside your SOURCE\i386 folder. Once all 3 steps are complete, run HFSLIP and you're good to go.

Link to comment
Share on other sites

I was using Pyron's method for about a year before I start using HFSLIP. It is very simple and worked for me fine. Unfortunatelly I have to quit using it. I even wrote about it in Drivers section and was recommended switching to AutoIt method by Bilou_Gateux :hello: And I tried it. But in both cases I had a problem with running .CMD and .INF files in my SVCPACK folder (to be exact HFSLIP.CMD was not running). Probably svcpack.inf wasn't working with both methods because of modified setup.exe.

I'm not saying that methods are not working at all. Maybe the reason was on my side :blink:

And it would be cool to have DRIVERS folder integrating drivers too :whistle:

Or have a small sub-script just for this purpose - uncab/cab/include in drivers.cab (and get some out ;)

PS Now I'm just using an old official method of winnt.sif and OEM folders structure. The obsolete folders with drivers are deleted during the first startup by cleanup.cmd that is usefull anyway because it also deletes some more crap from just installed system.

Edited by Oleg_II
Link to comment
Share on other sites

Thanks for crediting me. But according to the first post by a06lp:

This is not my method. I merely tried out hp38guser's method, and outlined the steps.

Thanks also go out to Pyron for making SetupCopyOEMInf.exe, which is used in this method.

Nethertheless, i highly recommend using autoit method by hp38guser because you don't need to use the special setup.exe by Pyron and presetup.cmd. AutoIT method don't need to swap original MSFT files with special ones.

Link to comment
Share on other sites

@Bilou_Gateux - Would it be better to somehow modify the Drivers.au3 file so it looks for the i386\prodspec.ini file instead of the XP cd root files? That prodspec.ini file is on w2k and newer OS's. If changed correctly, won't the driver method work for all OS's? I don't know the syntax of the Drivers.au3 file, so I don't know how to modify it. Any tips?

Link to comment
Share on other sites

Bilou_Gateux

Sorry for misunderstanding, I meant you introduced this method to me ;)

And I was wrong - there is no modified setup.exe. But anyway, I tried it and it didn't work for me. Maybe because it is only for Windows XP? Is it really possible to modify it somehow so that it works with Windows 2000?

Link to comment
Share on other sites

@Bilou_Gateux - Would it be better to somehow modify the Drivers.au3 file so it looks for the i386\prodspec.ini file instead of the XP cd root files? That prodspec.ini file is on w2k and newer OS's. If changed correctly, won't the driver method work for all OS's? I don't know the syntax of the Drivers.au3 file, so I don't know how to modify it. Any tips?

Actually the au3 script don't parse any file searching for some path. It only runs two commands, the first is WatchDriverSigningPolicy.exe which stays in memory, then launch SetupCopyOEMInf.exe which scan the specified folder and add all infs to Windows inf folder and when job is finished, WatchDriverSigningPolicy is removed from memory (like using taskill to kill the process).

The path to use is first searched from WINNT.SIF with the Detached command which parse $WINNT$.INF to find dospath value.

What value want you to get from prodspec.ini?

You may ask confirmation to hp38guser but his method works with all flavour of modern OS (Win2K, WinXP and Win2003).

SetupCopyOEMInf

The SetupCopyOEMInf function copies a specified .inf file to the %windir%/Inf directory.

Remarks

The SetupCopyOEMInf function copies a specified .inf file into the %windir%\Inf directory. SetupCopyOEMInf does not recopy the file if it finds that a binary image of the specified .inf file already exists in the Inf directory with the same name or a name of the form OEM*.inf. When SetupCopyOEMInf copies a file, it renames the copied file to OEM*.inf. Name provided is unique and cannot be predicted.

SetupCopyOEMInf uses the following procedure to determine if the .inf file already exists in the Inf directory:

All .inf files with names of the form OEM*.inf are enumerated and any files that have the same file size as the specified .inf file are binary compared.

The Inf directory is searched for the source filename of the .inf file. If an .inf file of the same name exists and is the same size as that of the specified .inf file, the two files are binary compared to determine if they are identical.

If the specified .inf file already exists a further check is performed to determine if the specified .inf file contains a CatalogFile= entry in its [Version]section. If it does, the .inf files's %windir%\Inf primary filename with a ".cat" extension is used to determine if the catalog is already installed. If there is a catalog installed, but it is not the same as the catalog associated with the source .inf, this is not considered to be a match and enumerations continue. It is possible to have multiple identical .inf files with unique catalogs contained in %windir%\Inf directory. If an existing match is not found, the .inf and .cat files are installed under a new and unique name.

OEM .inf files that do not specify a CatalogFile= entry are considered invalid with respect to digital signature verification.

In cases where the .inf file must be copied to the %windir%\Inf directory, any digital signature verification failures are reported.

If the .inf and .cat files already exist, these existing filenames are used and the file replacement behavior is based on the specified CopyStyle flags. Replacement behavior refers only to the source media information stored in the .pnf. Existing .inf, .pnf, and .cat files are not modified.

If all drivers are digitally signed (have a .cat file), we can avoid using WatchDriverSigningPolicy.exe. I have already launched an install without it (all my drivers are digitally signed) and having no issues.

Edited by Bilou_Gateux
Link to comment
Share on other sites

About drivers signing: When using hfslip, I think (didn't check) that there shouldn't be the problem of drivers signing (so maybe there is no need to use WatchDriverSigningPolicy.exe), as the registry is modified during setup by an inf file to disable driver signing... Or is this something else?

Besides that, now i am confused :) Does this method work with Windows 2000 or not? :unsure:

Link to comment
Share on other sites

saugatak

During unattended I run appz.cmd (place it in HFSVPK :yes: which installs all my programs from installation disk and does simple tasks like this:

xcopy "%CDDRIVE%\tweak\clean.cmd" "%UserProfile%\Start Menu\Programs\Startup\" /Y

This line copies CLEAN.CMD from my installation disk to Default User Profile. During the first logon my profile is created from and inherits all files and shortcuts from Default User Profile. As you know all files or shortcuts placed in Startup will run automatically on startup.

So, windows starts the first time and runs CLEAN.CMD where I specify:

RD /Q /S %SystemDrive%\drivers

This line deletes DRIVERS folder and all its content including sub-folders from the system disk. There are some more stuff I delete in CLEAN.CMD.

The batch has a command to delete itself at the end so it won't disturb you any more.

fdv also suggested a method with WELLCOME.EXE. I haven't tried it yet but it has potential :D

PS Send me PM and I'll include the content of my CLEAN.CMD and other stuff you need in reply :hello:

Edited by Oleg_II
Link to comment
Share on other sites

tommyp

I tried again AutoIt method yesterday but wasn't lucky again. But I probably found where is my mistake: I have not commented OemFilesPath=\$OEM$ and OemPnPDriversPath="drivers\0;drivers\1;drivers\2" - that's maybe my problem.

Let's see if I have some time today to try on my other computer.

By the way there is a good script to compress drivers found here _http://www.msfn.org/board/index.php?showtopic=35869

Link to comment
Share on other sites

@Oleg, don't have the technical knowledge to follow everything you did but it would be incredibly cool to create a welcome.exe and slip it into the FIX folder that created your profile and drivers.

I will PM you my email. Thanks. I'd love to take a look at the script.

Link to comment
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.
×
×
  • Create New...