Your absolutely right. You'll have to add the appropriate drivers manually in the sysprep.inf. I assumed he was doing this already.

No it's not that bad. It's only going to install what it needs to install.

Yes exactly...

You can use vernalex's sysprep driver importer to create a list of drivers and install post sysprep

You'll want to have the exe in the same folder as this batch script

@ECHO OFF
ECHO Setting Driver Signing Policy to OFF
START WatchDriverSigningPolicy.exe
ECHO Importing Drivers to Registry
START /WAIT spdrvscn /p c:\D /e inf /d %windir%\inf /a /s /q
ECHO Starting Driver Manager
START devmgmt.msc
ECHO Starting Install of Hardware
START /WAIT RunDll32.exe Syssetup.dll,UpdatePnpDeviceDrivers
taskkill /f /im WatchDriverSigningPolicy.exe
taskkill /f /im mmc.exe

Driverforge wasn't designed to inject drivers into the registry beforehand. Driverforge was designed to be a post sysprep tool.

However, I will be adding that functionality at some point soon to FindHWIDs. You could always use Vernalex's Sysprep Driver scanner, which is exactly what my addition would be doing.

v3.2d @ 2009-02-26 -
-- Fixed issue with timers displaying properly.
-- Speeds up exporting via Excel by hiding Excel
-- Adds ClassGUID to outputs Excel and CSV
-- Change GUI background to white
-- Scanning process no longer minimizes main window and adds Tooltip processing. Processing staying in main window and updates Statusbar area.
-- Fixes issue with _INIReadSectionEx to skip commented out lines (or should, I did test wink )
-- Fixes issue with adding any HWID filters. You must use the Pipe symbol on all filter seperations. Updated the help functions to coincide with changes.

Working on a fix, thanks!

You can respond to all updates to FindHWIDS here. That way we don't have to copy and past our comments in both.

I guess I'm wrong about just version in some cases!

Quoted from http://www.microsoft.com/whdc/winlogo/d … WinUp.mspx

"Detection - DriverVer.
All drivers must have the DriverVer directive present in the INF. Only the date portion is required for Windows Update detection matching.
The INF file [Install] sections must key off the most specific Plug and Play IDs only. Plug and Play IDs must be specific as per WHQL INF file requirements for PCI devices. Information about the INF Requirements for PCI Devices is available at http://www.microsoft.com/whdc/system/bus/PCI/infreq.mspx."

More INF Resources:
http://www.microsoft.com/whdc/archive/w2inf.mspx
http://www.osronline.com/ddkx/install/c … f_4l47.htm
http://www.microsoft.com/whdc/connect/pci/infreq.mspx

Is anyone familiar with Regular Expression??

v3.2b is out and on the main page! Scanning just Graphics pulled only 4,530 HWIDS with v3.2 and v3.2b pulled 5,811 HWIDS! A difference of 1,281 HWIDS that weren't there previously!

Always happy to oblige more work for you oh master of thy graphics!

After trialing the UDF I am finding that it's capturing all the HWID's. This is great news!!

I specifically tested D\G\A1\CX_72271.inf and it pulled 1006 HWID's, exactly the amount I manually copied and pasted from the INF file. Previously it only pulled 392. An improvement indeed!

I'll be creating a new version of FindHWIDS for testing purposes and try and post it tonight or tomorrow.

After some testing I see what's happening. I think it's the INIReadSection that's doing it.

It's not so much that after PCI\VEN_XXX_DEV_XXX_SUBSYS_XXX that it won't pick up but it stops after a certain amount of read data! It is just a coincidence that it stopped there...

And I quote "Only the first 32767 chars are taken in account in an section due to Win9x compatibility." I can't wait till it's bye bye 9x compatibility!

I'll see what I can find in regards to expanding it so I can get the rest of the data!

...

I found a UDF that will allow reading of all the values. I'll be testing tonight!

I just tested (posted this elsewhere) with the latest Graphics A, path D\G\N5\nv4_disp.inf. I didn't miss one HWID in the inf.

Try testing with just the folder or inf file directly to scan instead of a whole the root D.

Also, do you think it'd be a good idea to move this thread to Software?

Jaak wrote:

erm, in this topic kickarse said he'd take a hint at face value, and leave the 'System class OUT!'

In one of my ramblings I hinted there are dupe HWIDs across different GUI class.
For a datamining tool, I think we have to fully understand the way weighing works.
(I am sure a few of our members know how it works, so I would like to see their imput so I can catch up.)

a super generic in modem sound and sound and videograb cards and graphics (HDMI/sound/TV connector on many) comes to mind.
Where will the GUI class weigh more?
(modem and sound often caused conflict.. Then came along HDMI and this has caused some issues for DriverPack Graphics A/b and sound)
...

Automated weighing by tool or by human, I think neither can be perfect.
What do you think we do? What is the best thing to do?

As Jeff and I discussed in IM we definitely see the human aspect to never go away with this. Mainly because there are so many variables. However, I do think that giving weight to a driver is a good idea. Something that gives certain drivers precedence and scale. So something to the affect of "driver a is top priority to install, but only if the system is hp coded, else use this driver here". Something like that. However, that's a TON of work.

Or do we only rely on specific manufacturers releases for hardware? Not relying on OEM releases, but the manufacturer release if we can help it? Like Broadcom drivers being released by Broadcom or HP, choose broadcom. That way it's a broader scale. Same thing we do for the likes of intel, nvidia, ati, adaptec.

For driver installation, if my research is correct, I believe the only thing that Windows DLL install method and the Microsoft Driver Installer Framework only work off of version release number, I don't think they even look at the date. So if the version is greater than the driver will be updated. But with the MS driver installer framework you can force a lower version driver to be applied.

Also, do we want to apply more weight (ie. install first) to more generic drivers. Like a hwid for PCI\VEN_XXX instead ahead of PCI\VEN_XXX_DEV_XXX ?

And I said I'd leave System out of the mass storage drivers scan smile

Thanks for the vote of confidence Jaak!

As it turns out, it seems, that the support code I wrote this application in doesn't support an array value of a certain size and thus crops it. I think that this is the only limitation thus far. Something that I will certainly look into and find a work around so that the blind spots are thus eliminated.

Other than that issue with path size being too big (and I'm assuming windows might not like it either) we've got a fairly good handle on INF's and how they are created/written. I learned how to develop an INF and the dynamics behind it. How to catch for variables and find the correct hardware id's every time no matter how they looked (even though some are truncated as it seems because of the flaws of autoit).

The complete path to the offending INF's would be greatly appreciated in order to sleuth out the issues present.

215

(3 replies, posted in DriverPack Sound)

Hi Babasera you're actually in the wrong sub section if your looking for actual drivers. But you would want to get that information from the manufacturers site.

I'll look into it. Is it in the latest Graphics pack? A, B?

Thanks!

You can't set autologon previous to running Sysprep and have it work after. It won't translate to the "new" machine. Although you can autologon with a local account with the sysprep.inf settings.

Mrguiter, if I'm reading this right the issue I think is that you are putting both INF's in. Do only the *ide.inf or *id2.inf, not both.

The issue is that the finisher will run against the location of INF's for driverpacks (C:\D) and miss all the drivers that windows has in it's collection (C:\Windows\inf) by default. And the reason why it chooses the driverpacks version is because it's newer. I think the only real way to accomplish this is to somehow change the version of the original driver to a later date than the one in the driverpacks. Or the other way around. However, I haven't tested this, it's only a theory.

Perhaps an option for the SoFI ini would be to skip driverpacks in favor of the windows driver?

219

(42 replies, posted in Universal Imaging)

Not exactly. Mysysprep only helps with getting the proper HAL working on the machine. Nothing to do with BSODs because of incorrect mass storage drivers.

Np! Those strings are a pain in ass. Found that a "For $element in $aArray" in was faster than counting the array size and using a "For $a =0 to Ubound($aArray)-1". I think this is because I had to first count it. Otherwise it would probably have been as fast.

v3.2 is out!

v3.2 @ 2008-10-26 11:48pm EST - Created a function to scan for variables within the INF. Reducing bad data (hopefully eliminated). Scan speed is about the same.
v3.1.9.1 @ 2008-10-23 2:19pm EST - Scan time has also been reduced about 20%.
v3.1.9 @ 2008-10-23 11:49pm EST - Fixed flawed logic with strings. Hopefully rebuilding soon with a better way of handling strings. Though this version fixes some missed converting of strings into hwids.
v3.1.8 @ 2008-10-22 6:28pm EST - Adds install as an option (with DPinst.exe 32bit english only, copyright Microsoft), installing only hardware found on machine. Improves on scanning speed. Fixes some strings issue.

222

(210 replies, posted in Software)

That's true, they probably don't care. But I don't want you to get sued or anything.

223

(38 replies, posted in Software)

Yeah that's why I wrote mine in autoit.

224

(38 replies, posted in Software)

Oh, and sometimes there are multiple HWIDs per line separated by a comma. And sometimes they are variables (like %C01%) that you have to pull from the strings section.

225

(210 replies, posted in Software)

Your program just get's better and better!

Just something to think about Warm Snow devcon.exe cannot legally be distributed by any third party. However, dpinst.exe can.

Also, I just sent you an email with an updated language file.