Jump to content

Drivers Instalation in Post-Install stage (New Method)


MadBoy

Recommended Posts

It's good that you found correct solution. I'll probably add it to the list :-) Also was thinking to add that Hardware Wizard management option for case when it's still enabled. We will see. At the moment I've been playing with C# and Backup Drivers app. Need to find out how things work so maybe i'll release easy to use app to backup all drivers from system.

MadBoy

Link to comment
Share on other sites


I haven't had the time to test your latest release in combination with the reg fixes, finished the last XP based system earlier. The wait is now for another "victim" to test the program.

Before pro-s driver installer I was planning to do the method you describe: Backup a complete driverpackage and later on deploy that on another system.

I'm a tech. I work mainly with low budget, integrated hardware and notebooks. The plan was to separate driverpacks based on platform, for example Intel, SiS, Nvidia or Via.

Speed is the main concern, and automated processes will give me more time to do something else. Precious time!

So.....I will be following your inventions. What I like about Pro-S is the xml config. Very simple to setup, yet a lot of options.

I'll report back as soon as I have another system to test.

Cheers,

Escorpiom.

Link to comment
Share on other sites

  • 2 weeks later...

I'm happy to report the same, finally all issues have been resolved.

Window managing is done correctly now, making the process totally unattended.

I'm now playing with 7z compression to bring the size down. Decompressed drivers take up a huge space on my

harddisk. Hope it won't slow down the program to much.

Thanks again Madboy for your work on this tool, it is very much appreciated.

Cheers,

Escorpiom.

Link to comment
Share on other sites

Madboy, please bear with me. I know I'm a pain but it's all for the better.

I forgot to ask you about the subsys string issue, I had to edit some of the .inf files because they lack the subsys string and then the search&match function does not work.

If no subsys string is specified in the inf, the driver is not installed.

Look at the log file:

[DRIVERS] Running SEARCH & MATCH function. Please wait...
[03:33:41] - [DRIVER] Device => PCI\VEN_8086&DEV_24C6&SUBSYS_53494C21 Driver Path => NOT FOUND in DB
[03:33:43] - [DRIVER] Device => PCI\VEN_8086&DEV_2562&SUBSYS_25621849 Driver Path => NOT FOUND in DB
[03:33:43] - [DRIVERS] SEARCH & MATCH function found 0 matching drivers
[03:33:43] - [DRIVERS] SEARCH & MATCH function found 2 drivers that have no match. Oh dear..

The inf's had only the first part specified:

PCI\VEN_8086&DEV_24C6
PCI\VEN_8086&DEV_2562

After adding the entry in the .inf including susbys, it works marvelous.

But you would save me a lot of work if the search&match function ONLY looks at the first part, that is VEN_XXXX and DEV_XXXX

That way I don't have to edit all the inf's.

Can this be done?

Cheers,

Escorpiom.

Edited by Escorpiom
Link to comment
Share on other sites

Escorpiom please get the newest 2.0.0.27 and see if it works for you.

Your updates are faster than I can test them :D

I'm already quite pleased with the program. At the moment I'm using a XP distribution share with integrated LAN and MS drivers.

From ROE a batch is run to map the network drive where all the drivers are. The program hardware installer and hardware.db are also on this network drive.

After the drive mapping, the program runs from ROE. Drivers are installed, program exits and the rest of the programs are installed from ROE.

I do not recreate the hardware database anymore in automatic mode. It takes too long.

If the some drivers are added /updated on the server, or the folder structure changes, I run the program from the server and manually create a new hardware.db.

This way, the whole installation process is completely unattended, while maintenance is easy (integrating hotfixes and some ap from svcpack)

I can easily go and do something else, after a while the system will be ready.

Agreed, editing inf files is not recommended. Hope it won't be necessary anymore with the new version.

I have another request. It is about the "copy driver" option in the XML file. When activating it, it will copy EVERY driver to the local disk specified.

It would be nice that ONLY the drivers needed for that system are copied, not all drivers. You can perhaps do this in combination with the search&match function.

Will test the new version asap and get back to you. Thanks again, nice work!

Cheers,

Escorpiom.

Link to comment
Share on other sites

Escorpiom,

I do hope you know about map feature in the app itself right ?:-) But i guess you keep the program on share for easier maintenance with newer versions.

As for the copy feature it would be doable but it's not easy. I would need to realy get into .inf files and as you probably noticed my question on this board regarding backing up inf's i'm having a bit of problem with this :-)

Link to comment
Share on other sites

Spot on.

I prefer not to copy stuff when it's not needed. It has do be deleted afterwards anyway. And yes, keeping it on the share is easier.

As far as the mapping, it's a neat future but I don't need it.

Today I tested the new version and although I could not verify the subsys issue, came across something else. It's a little difficult to explain, please ask me if you don't understand.

I have the inf from C-media audio driver. It contains a lot of device id's. Will attach the file here.

For some strange reason, the hardware database is limiting the amount of device id's added. Please note my hardware.db is about 10MB at the moment.

For example, VEN_8086&DEV_24D5&SUBSYS_97611849 were referenced in the inf, but did not show in the hardware.db!

Only the first 53 lines from the 24D5 device were added, the rest was ignored.

You can see that the 8086 24D5 section has a lot more entries, I guess more then a hundred in total.

Because of this, the hardware was not installed. Error: Driver path not found in DB.

PCI\VEN_8086&DEV_24D5&SUBSYS_18841019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMICHX.INF,cmuda.cat,Unknown,
PCI\VEN_8086&DEV_24D5&SUBSYS_18851019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMICHX.INF,cmuda.cat,Unknown,
PCI\VEN_8086&DEV_24D5&SUBSYS_18861019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMICHX.INF,cmuda.cat,Unknown,
PCI\VEN_10DE&DEV_006A&SUBSYS_0A171019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMNVDA.INF,cmuda.cat,Unknown,
PCI\VEN_10DE&DEV_006A&SUBSYS_0A181019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMNVDA.INF,cmuda.cat,Unknown,
PCI\VEN_10DE&DEV_006A&SUBSYS_0A191019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMNVDA.INF,cmuda.cat,Unknown,

As you can see, the last line referenced in hardware.db is "PCI\VEN_8086&DEV_24D5&SUBSYS_18861019", after that the Nvidia section starts. But there are a lot more entries in the .inf file!

Either:

- The hardware.db is size-limited (10Mb?) and because of that the number of entries are cut-off

or

- Only a certain amount of entries per .inf file/device id is allowed/added to hardware.db

What could be the issue?

Cheers,

Escorpiom.

CMICHX.INF

Link to comment
Share on other sites

Spot on.

I prefer not to copy stuff when it's not needed. It has do be deleted afterwards anyway. And yes, keeping it on the share is easier.

As far as the mapping, it's a neat future but I don't need it.

Today I tested the new version and although I could not verify the subsys issue, came across something else. It's a little difficult to explain, please ask me if you don't understand.

I have the inf from C-media audio driver. It contains a lot of device id's. Will attach the file here.

For some strange reason, the hardware database is limiting the amount of device id's added. Please note my hardware.db is about 10MB at the moment.

For example, VEN_8086&DEV_24D5&SUBSYS_97611849 were referenced in the inf, but did not show in the hardware.db!

Only the first 53 lines from the 24D5 device were added, the rest was ignored.

You can see that the 8086 24D5 section has a lot more entries, I guess more then a hundred in total.

Because of this, the hardware was not installed. Error: Driver path not found in DB.

PCI\VEN_8086&DEV_24D5&SUBSYS_18841019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMICHX.INF,cmuda.cat,Unknown,
PCI\VEN_8086&DEV_24D5&SUBSYS_18851019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMICHX.INF,cmuda.cat,Unknown,
PCI\VEN_8086&DEV_24D5&SUBSYS_18861019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMICHX.INF,cmuda.cat,Unknown,
PCI\VEN_10DE&DEV_006A&SUBSYS_0A171019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMNVDA.INF,cmuda.cat,Unknown,
PCI\VEN_10DE&DEV_006A&SUBSYS_0A181019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMNVDA.INF,cmuda.cat,Unknown,
PCI\VEN_10DE&DEV_006A&SUBSYS_0A191019,\Sound\Cmedia\CMI_SIS_VIA_AC97\WDM\CMNVDA.INF,cmuda.cat,Unknown,

As you can see, the last line referenced in hardware.db is "PCI\VEN_8086&DEV_24D5&SUBSYS_18861019", after that the Nvidia section starts. But there are a lot more entries in the .inf file!

Either:

- The hardware.db is size-limited (10Mb?) and because of that the number of entries are cut-off

or

- Only a certain amount of entries per .inf file/device id is allowed/added to hardware.db

What could be the issue?

Cheers,

Escorpiom.

Hello Escorpiom,

Indeed. You found a bug. The problem is AutoIt has a limit to how much data can be in a section in an ini(inf is special case of ini) file. IniReadSection will only read up to 32,767 chars. While the whole file has a lot more.

This means i have to rewrite the function that is responsible for reading up the file :-) Will do it later this week when I'll get some time.

Nice catch :-)

Link to comment
Share on other sites

So I was busy but this couldn't get out of my head. So here's a fixed one.

Version 2.0.0.28 (public)

- Fixed Drivers database creation for larger inf files. (recommended upgrade to newest version because of that);

Version 2.0.0.27 (public)

- Tweaked logging a bit

- Tweaked SEARCH & MATCH function

Version 2.0.0.26 (public)

- Tweaked hardware wizard a bit. There's no longer need to provide string with & char before the underlined char on button

Get newest version at: http://pro-solutions.pl

Link to comment
Share on other sites

So I was busy but this couldn't get out of my head. So here's a fixed one.

Cool! Darn lucky we are to have you here Madboy.

Ok, just did a quick check on the hardware.db and indeed, it seems all id's have been correctly added.

The file itself grew 1.4Mbyte, so you might guess there were some more entries missing....

Please allow me to test the new version, will report asap.

Cheers,

Escorpiom.

Link to comment
Share on other sites

  • 3 weeks later...

Hello again,

It has been a while, but I'm pleased to report complete success with the latest version of the program.

I did have some issues with multiple inf's and matching device id's, but that's on my side and was easy to resolve.

The hardware database works in alphabetical order. Sometimes an older driver was installed for a device while a newer driver was available.

Renaming of the folders was necessary, for example 01 and 02 in front of the names was OK to have the correct driver installed.

I believe there is nothing more to solve as it works fine now. Your support to the community is one of a kind Madboy.

If you have some spare time, you could take a look at updating the other (installed) drivers also.

At this moment, Windows XP installs some outdated drivers and it would be nice if the program compares all found hardware Id's with those in the hardware.db.

It would take a little more time but in that way every driver would be updated to it's latest version, not only the error devices.

Anyway, thanks for this awesome tool.

Cheers,

Escorpiom.

Link to comment
Share on other sites

Hello again,

It has been a while, but I'm pleased to report complete success with the latest version of the program.

I did have some issues with multiple inf's and matching device id's, but that's on my side and was easy to resolve.

The hardware database works in alphabetical order. Sometimes an older driver was installed for a device while a newer driver was available.

Renaming of the folders was necessary, for example 01 and 02 in front of the names was OK to have the correct driver installed.

I believe there is nothing more to solve as it works fine now. Your support to the community is one of a kind Madboy.

If you have some spare time, you could take a look at updating the other (installed) drivers also.

At this moment, Windows XP installs some outdated drivers and it would be nice if the program compares all found hardware Id's with those in the hardware.db.

It would take a little more time but in that way every driver would be updated to it's latest version, not only the error devices.

Anyway, thanks for this awesome tool.

Cheers,

Escorpiom.

Hello Escorpiom,

I'm glad the program works. I know about it faults and i will try to make it better (aka use the highest version possible) for installing to unknown devices. As for the updating you could always use OldMethod which adds paths to all drivers to registry (may give some problems) instead of only choosen ones. This would force windows to search for newest driver (if you use the switch to update all drivers in xml). When i'll get time i'll most likely fix updating to new method (using db) and to use highest version only.

Unfortunetly I need the time to develop something i get money for ;-) So don't expect it to arrive in few days :-)

MadBoy

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...