Re: FindHWIDS v3.2s - The INF Searching, Hardware ID Exporter
3.f is out!
WTF happened to the "export to excel" option? :?
I used that 99% of the time.
Not all heroes wear capes, some wear Kevlar!
You are not logged in. Please login or register.
3.f is out!
WTF happened to the "export to excel" option? :?
I used that 99% of the time.
kickarse wrote:3.f is out!
WTF happened to the "export to excel" option? :?
I used that 99% of the time.
Err.. your welcome?
I took it out because CSV exports EXACTLY the same functionality at half the speed. I suppose I could add it back in but it's exactly the same as CSV export.
Last edited by stamandster (2009-03-22 03:52:29)
LOL, Yeah, I spotted that after I ran it again. It is faster. Sorry...
THANK YOU!!!
This tool is awesome! I can't imagine working with these DriverPacks without it.
Requesting feedback from you guys. What would you like to see in the releases to come?
Things I'm planning have been updated in the first post. Please let me know if there are other things you would like.
Wow, you were right. CSV output is about 10 times faster than .xls. I don't blame you for dropping it now!
My only request would be to reduce the app 'focus' so that it's not on top of everything! I like doing other things while scanning.
Yeah it is isn't it! I exported about 30,000+ drivers in around 90seconds.
Ahh... what about if I write it to minimize automatically while scanning and return it back when it's done?
Last edited by stamandster (2009-03-24 05:19:25)
Yeah, that would work too. Thanks!
Hi,
I have a noticed a bug with version 3.2f with nvidia nforce lan drivers. They don't get all listed. For instance if you run the tool with NV4 folder you only get 1 hwid and there is 29 in reality. Nvidia network hwids are particular since they use a different format: {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054D.
Thank you.
Hi Jake,
Actually there are two for D\L\NV4\nvenetfd.inf
[Nvidia]
%NVENET.DeviceDesc% = NVENET_2k.NDI, {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EF
[Nvidia.NTx86.5.1]
%NVENET.DeviceDesc% = NVENET_XP.NDI, {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EF
and one for D\L\NV4\nvnetbus.inf
[Standard]
%nvnetbus.DeviceDesc%=nvnetBus_Device, PCI\VEN_10DE&DEV_03EF
I think you're looking at the wrong section for exportation of drivers. You're looking at this
[ControlFlags]
ExcludeFromSelect = {1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV008C,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV00DF,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0038,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0057,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0269,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0373,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0389,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EF,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03E6,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0452,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0453,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV047A,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV047B,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054E,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054F,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0086,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV00E6,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0037,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0056,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0268,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0372,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03E5,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV03EE,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0450,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0451,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0478,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0479,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054C,\
{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV054D
This "bug" would have been present since v2.5 From my understanding this is only used to give the user an option during installation of drivers as to what the driver supports internally. However, the driver only supports and installs what in the INF Models sections or Driver Node section so that's what I'm pulling from.
However, it's possible I'm completely wrong... to quote http://msdn.microsoft.com/en-us/library/ms794357.aspx
"Each install-section-name must be unique within the INF file and must follow the general rules for defining section names, described in General Syntax Rules for INF Files. The DDInstall section name referenced in a per-manufacturer Models section also can have extensions appended to the given install-section-name, thus defining additional DDInstall sections for the OS-specific or platform-specific installation of the given devices. For more information about using extensions in cross-platform and dual-operating system files, see also Creating an INF File.
Any specified hw-id or compatible-id value can also be specified in the INF ControlFlags section to prevent that device from being displayed to the end user by the Add Hardware Wizard during manual installations. For more information about hw-id and compatible-id values, see Device Identification Strings.
For each device and driver installed using an INF file, the device installers use the information supplied in the INF Manufacturer section and per-manufacturer Models sections to generate Device Description, Manufacturer Name, Device ID if the installation is manual, and, possibly, Compatibility List value entries in the registry"
http://msdn.microsoft.com/en-us/library/ms794546.aspx
"ExcludeFromSelect
Removes all (if * is specified) or the specified list of devices from certain user interface displays, from which a user is expected to select a particular device for installation.
For the NT-based operating system, the specified devices will not be displayed by the Add Hardware Wizard, but will be displayed by the Found New Hardware and Hardware Update wizards.
For Windows 9x/Me, the specified devices will not be displayed by any device selection wizard.
To exclude a set of OS-incompatible or platform-incompatible devices from this display, one or more ExcludeFromSelect entries can have the following case-insensitive extensions appended:
.nt
Do not display these devices on computers running Windows 2000 or later.
.ntx86
Do not display these devices on x86-based computers running Windows 2000 or later.
.ntia64
Do not display these devices on Itanium-based computers running Windows XP or later.
.ntamd64
Do not display these devices on x64-based computers running Windows XP or later.
For more information about how to use the system-defined .nt, .ntx86, .ntia64, and .ntamd64 extensions, see Creating INF Files for Multiple Platforms and Operating Systems."
"Typically, a ControlFlags section has one or more ExcludeFromSelect entries to identify devices that are listed in the per-manufacturer INF Models section, but which should not be displayed to the end user as options during manual installations.
The system's Add Hardware wizard builds a list of installable devices by searching through all available INF files. It extracts information about models/devices from each of these INF files and displays this information to the end user, unless an INF overrides this behavior by suppressing the display of one or more models/devices in that INF's ControlFlags section.
Listing a device's hardware ID or compatible ID in an ExcludeFromSelect entry removes it from the display shown to the end user. Specifying * (an asterisk) for the ExcludeFromSelect value removes all devices/models defined in the INF file from this user-visible list.
An INF writer should use the InteractiveInstall directive sparingly and only in the following situations:
* To install drivers for devices that have corrupted or otherwise incorrectly defined hardware IDs. For example, when two or more different devices share the same Hardware ID. This case is strictly forbidden by the Plug and Play standard, but some hardware vendors have made this error in hardware.
* To install drivers for devices that require their own driver and absolutely cannot use the generic class driver or another driver supplied with the operating system. The InteractiveInstall directive forces Device Manager to ask the user for confirmation for compatible ID matches.
INF files that install exclusively PnP devices can have a ControlFlags section unless they set the NoInstallClass value entry in their respective SetupClassGUID registry keys to TRUE, as described in the reference for the INF ClassInstall32 section.
In the future, WHQL might not grant the Windows Logo to devices whose INF files include InteractiveInstall entries.
Example
This example of the ControlFlags section in the system mouse class installer INF suppresses the display of devices/models that cannot be installed on NT-based x86 platforms.
[ControlFlags]
; Exclude all bus mice and InPort mice for x86 platforms
ExcludeFromSelect.ntx86=*PNP0F0D,*PNP0F11,*PNP0F00,*PNP0F02,*PNP0F15
; Hide this entry always
ExcludeFromSelect=UNKNOWN_MOUSE
The following INF file fragment shows two devices: one that is fully PnP-capable and requires no user intervention during installation and another that requires its own driver and cannot use any other driver. Specifying InteractiveInstall for the second device forces Setup to install this device in a user's context (a user with administrative rights), including prompting the user for the location of the driver files (INF file, driver file, and so on) as required.
; ...
[Manufacturer]
%Mfg% = ModelsSection
[ModelsSection]
; Models section, with two entries
%Device1.DeviceDesc% = Device1.Install, \
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_01
%Device2.Device.Desc%= Device2.Install, \
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02
[ControlFlags]
InteractiveInstall = \
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02
; ..."
http://msdn.microsoft.com/en-us/library/ms795520.aspx
"The INF ControlFlags section of a modem INF file can have one or more ExcludeFromSelect entries. Each ExcludeFromSelect entry specifies a device that is excluded from the Select Device dialog box, as well as from all other user interfaces during modem installation.
The following guidelines apply to the use of the ExcludeFromSelect directive in modem INF files:
* Do not use ExcludeFromSelect if your modem is not compatible with Plug and Play and if the user must select the modem from the Select Device dialog box.
* If your modem is a child device on a multifunction card, use ExcludeFromSelect to exclude it from the Select Device dialog so that the user selects the ID of the multifunction card itself. Using ExcludeFromSelect with a multifunction card does not exclude the child modem device from the Device Manager dialog boxes. Users might employ the Device Manager dialog boxes to change a device driver for a child device.
* Do not use ExcludeFromSelect if your Plug and Play modem is not on a multifunction card, if you are creating an INF for an installation disk to be shipped with the modem, and if your modem ID string is a Hardware ID.
Note In Windows XP or later, if you examine the modem INF files in the \Windows\Inf directory, ExcludeFromSelect is used with all modem IDs, because it is fully Plug and Play, unlike previous versions of the operating system. The Plug and Play system detects the modem and installs it without displaying the Select Device dialog box. "
Also, the formation of the PNP ID doesn't matter as my program doesn't go by a certain expression for reading the PNP ID's. So it'll capture all the weird ones too!
Last edited by stamandster (2009-03-30 13:46:44)
You were right about me looking in the wrong section...I need some vacation I guess
Jake, were you the one who pm'd me and wanted to take over developing DriverForge?
Last edited by stamandster (2009-04-03 04:44:22)
New version out!
v3.2g @ 2009-04-02 -
-- Fixed issues with OS type and OS Arch filters filtering properly
-- Added 2008 and Vista to OS type and OS arch filter
-- At start of scan window will minimize, at end of scan window will restore
-- Choosing no export types will show a prompt telling you to choose an export type
-- Changed Export Hardware list with an additional Service property and changed arrangement of output
x32 MD5 - C0EA65EC0268BCD9956CD33B312549B7
x64 MD5 - E3D18FFC124C45DA6C80F6602314A453
Nope KickArse, I have no skill in coding. Just some scripting
Ooh, x64?
That's new!
Yeah I don't have an x64 machine built but if you guys want to check to see if it works please let me know how it goes!
Line -1 error.
Unknown function name.
Ahh bummer... Well I can't test why it's not working soooo... I don't know what to say but I'll have to remove it
When do you get the error? When initially loading?
New Version, enjoy! Oh and no x64 version this time.
MD5 - 67DCAC05E3DF495CA7742EF36B781D96
v3.2h @ 2009-04-11 -
-- Added ability to set CSV and Sysprep filenames and locations. If you don't use the default sysprep location it will warn you that sysprep will not process. All Warnings will continue after 5 seconds and a Error messages will close after 5 seconds bring you back to the Main window.
-- Added a progress bar that will show the total amount of INF files scanned, so the user has some feedback on how long the process is taking
-- If the CSV file already exists it will delete it NOT append to it. If the sysprep.inf file exists it will append to it, if the file does not exist but the location is writeable a file will be created.
Last edited by stamandster (2009-04-12 10:06:19)
Just about to release a new version. And I'm wondering if you'd all like the ability to filter search the Manufacturer, Model or other columns. So you can put in something like Nvidia|Ati and it'll search the Manufacturer title for nvidia and ati.
How do you guys like the ability to set your file locations? and the new progress bar?
Ooh, is there a way to filter out x64 strings in the "OS Arch" column?
ie, anything with "*AMD64*" or "*IA64*" doesn't get listed.
Creative is notorious for including i386, x86, AMD64, IA64, and generic all in the same .inf!
Awesome! That should trim about 500 entries from the Sound DriverPacks!
Is there anyway to arrange the file exported CVS, in order to identify the duplicated HWIDs?
Thanks
No, however, you can use excels conditional formatting to highlight duplications for a certain column. There are also other tools that are in a post in the Testing Team section to help you out in creating the packs, whether it be finding duplicate files or other utilities. It's the post stickied "How to Update the Driverpacks".
Don't worry Mr.Smartepants I haven't forgotten about you. I've just been swamped!
Last edited by stamandster (2009-06-08 22:35:08)
No worries! Whenever you get the chance...
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 3 official extensions. Copyright © 2003–2009 PunBB.
[ Generated in 0.025 seconds, 10 queries executed ]