Jump to content

Drivers Instalation in Post-Install stage (New Method)


MadBoy

Recommended Posts

Are we suppose to do anything during the action "Install Missing Drivers"?? Because the found new hardware window isn't suppressed and when I click cancel it cancels everything for installing that hardware (pro-s still open btw). When I click find drivers automatically, it can't find them and closes out of the hardware wizard. And when I re-run pro-s it can't find that piece of hardware (maybe it's set to off now??) anymore. Once I restart the computer and run pro-s again it can enumerate just fine.

If I use my install script it works. Weird...

The program that he was talking about I think is from here... Called SetDevicePath.exe

http://unattended.msfn.org/unattended.xp/view/web/35/

Edited by kickarse
Link to comment
Share on other sites


Are we suppose to do anything during the action "Install Missing Drivers"?? Because the found new hardware window isn't suppressed and when I click cancel it cancels everything for installing that hardware (pro-s still open btw). When I click find drivers automatically, it can't find them and closes out of the hardware wizard. And when I re-run pro-s it can't find that piece of hardware (maybe it's set to off now??) anymore. Once I restart the computer and run pro-s again it can enumerate just fine.

If I use my install script it works. Weird...

The program that he was talking about I think is from here... Called SetDevicePath.exe

http://unattended.msfn.org/unattended.xp/view/web/35/

As for the SetDevicePath my script is ought to do exactly the same. As for your problem. Can you please check HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath if anything is applied there prior to those wizards comming up?

I've been working on sat/sunday on function that creates database of all supported HW_ID's by each .inf. It puts them in file in format like:

[\C\AM\1\Amdagp8x.inf]

1=AMDAGP_Install,PCI\VEN_1022&DEV_7454

2=AMD2k_Install,PCI\VEN_1022&DEV_7455

3=AMDXP_Install,PCI\VEN_1022&DEV_7455

[\C\AM\2\amdioapic.inf]

1=NO_DRV,PCI\VEN_1022&DEV_7451

[\C\AM\3\Amd8131.inf]

1=Amd8131_Inst,PCI\VEN_1022&DEV_7450&CC_0604

2=Amd8131_Inst64,PCI\VEN_1022&DEV_7450&CC_0604

File created from all driver_packs is about 900kb in size. It takes about 20 seconds to create this on my drive (program scans all inf's for data, and believe me if those were exactly the same format it would be great, but some files like voodoo3.inf sucks to work with). I haven't yet build a function to read that file and look for matches but that's a matter of time. What do I need that for you ask?

For example program detects that you miss drivers for 3 devices. So instead of going thru all directories with infs and adding them all (and breaking the limit of 4096 chars) to registry (just like SetDevicePath and my program does now) it would scan that db file looking for that devices. If it will found correct HW_ID in that file it will then add path to where the .inf is located to registry. So lets say you got 3 devices you will probably end up with 3 or up to 10 paths added to registry (considering that there might be multiple matches). Now this will:

a) speed up detection by windows as windows won't have to go thru all .inf's (not related ones aswell)

B) get rid of 4096 limit

But that's future :) Lets focus on fixing what's broken first :) Awaiting your answer kickarse ;)

Link to comment
Share on other sites

I'll try that out soon. Thanks!

ed.

Yeah the device paths are in there properly. I'm guessing that it's trying to search for the entire HW_ID string in the INF and it's not finding it because these inf's can be very general.

Edited by kickarse
Link to comment
Share on other sites

I'll try that out soon. Thanks!

ed.

Yeah the device paths are in there properly. I'm guessing that it's trying to search for the entire HW_ID string in the INF and it's not finding it because these inf's can be very general.

Searching for inf's it's not yet implemented. So i'll check the setting device paths function. WHere it's wrong ;)

Link to comment
Share on other sites

You can insert progress bar during scanning.

Go here or here.

I know how to add progress bars :) Especially that if you look closly on those posts i have submited my response to one "Thank You" long time ago.

However progress bar is tricky thing. You have to know where you are and where you are heading. You never wondered why Microsoft apps sometimes show 0seconds left and still going? Because they have to predict at which stage progress bar is at 20% or 20seconds left ahead. And it's kinda tricky when you don't know what is gonna happen (and in this case i can't predict few things). Anyways i will try to add more features (including gui's features). Does the current version works thou as it should for you?

Link to comment
Share on other sites

Great program MadBoy! :thumbup

I have just one suggestion (or offer), that's to spell-check the GUI portion of the code to make it look more professional. I can do it for you if you provide the source...just a thought.

Some of the code functions aren't spelled correctly either, but that doesn't matter that much (helps in debugging)

<auto_reboot_when_nessecary>No</auto_reboot_when_nessecary>

spelled "necessary"

No other issues, it runs great. Thanks again for a great product.

Link to comment
Share on other sites

Great program MadBoy! :thumbup

I have just one suggestion (or offer), that's to spell-check the GUI portion of the code to make it look more professional. I can do it for you if you provide the source...just a thought.

Some of the code functions aren't spelled correctly either, but that doesn't matter that much (helps in debugging)

<auto_reboot_when_nessecary>No</auto_reboot_when_nessecary>

spelled "necessary"

No other issues, it runs great. Thanks again for a great product.

Tnx, fortunetly that option isn't in use yet so changed it asap. As for other typos... i was planning at a later date to make it multi-lang and have it load setttigs from .xml file. But first things first. There's much more important things to add/fix ;)

Thanks for your comment :) I'm glad program works.

Link to comment
Share on other sites

Last Updated: 14.IX.2007 Current Version 2.0.0.10

This file is not downloadable...hardware_config.zip link is broken...do I need it or can I just copy the .xml code

@slatz the config file can be downloaded (just checked now). From all things only config file is located on this forum (due to size restrictions) so it must have been forum problem. If you still won't be able to download it lemme know and i'll put it on my server.

Link to comment
Share on other sites

  • 2 weeks later...

This is an awesome program, but I am having problems configuring it.

I have tried various combinations with the XML settings, sometimes the Found New Hardware wizard comes up asking for files like "sbsetup.exe" (Sound Blaster file) and other times, this doesn't pop up but it seems no drivers install.

I am using Bashrats driverpacks, so no drivers are compressed (all are broken down to their SYS and INF files, the driverpacks 7z files are already decompressed off the CD and onto the hard drive with the RELATIVE setting in the XML config file and a pre-prepared folder full of drivers.

I have always used the SetupCopyOemInf method because I know using all Bashrats driverpacks goes well over the 4096 character limit for the Registry.

Still, I don't think my XML file is right!

If anyone else is using Bashrats packs and this program, can you please post your XML file in code tags? It doesn't matter if your path to the driver folder is different to what I would use - my main problem is... not knowing if devices are installing, because I am testing in VMware and it always has a perfect Device Manager with no devices that need any drivers installing!

I don't know if the XML should have the "forced" setting on "Yes". I think when I set that, devices do install but I get the Found New Hardware wizard popping up... eeeeek! Can anyone post an XML configuration that they KNOW is tried and tested with Bashrats (unpacked) drivers?

Well, here is what I think is my final XML file but I still don't know if drivers are installing. I will have to try to set the time aside to do a real install on my real system and do it for real...

<?xml version="1.0" encoding="utf-8"?>
<settings>
<basic_configuration>
<choice>automatic</choice>
<drivers>
<drivers_drive>RELATIVE</drivers_drive>
<drivers_directory>\D</drivers_directory>
<drivers_packed>No</drivers_packed>
<drivers_copy>No</drivers_copy>
<drivers_copy_path></drivers_copy_path>
<drivers_copy_delete>No</drivers_copy_delete>
<options>
<method>SetupCopyOemInf</method>
<registry_path>Begin</registry_path>
<problem_ids>01,10,18,24,28,37,39</problem_ids>
<update_all>No</update_all>
<plug_and_play>
<option>Internal</option>
<time_to_wait>15</time_to_wait>
</plug_and_play>
<shutdown>
<auto_reboot_when_nessecary>No</auto_reboot_when_nessecary>
<auto_reboot_when_done>No</auto_reboot_when_done>
<auto_login>Yes</auto_login>
<notify_when_done>Yes</notify_when_done>
</shutdown>
<time_to_run>0</time_to_run>
<force_run>No</force_run>
<device_manager>No</device_manager>
</options>
</drivers>
<log>
<log_overwrite>No</log_overwrite>
<log_to_file>Yes</log_to_file>
<log_filename>hardware.log</log_filename>
<log_path>$ProgramDir</log_path>
<log_option>Simple</log_option>
</log>
<gui>
<hide_legacy_devices>No</hide_legacy_devices>
<fade_in_effect>No</fade_in_effect>
</gui>
</basic_configuration>
</settings>

Edited by LeveL
Link to comment
Share on other sites

Forced mode is used to get things running even thou that there are no devices with problem. Other then that your .XML look fine but you won't be going far without 'real testing'. Unless i made mistake somwhere ....

Edited by MadBoy
Link to comment
Share on other sites

  • 3 weeks later...

hi, is there anyway to get it working over a nework?

the .exe & .xml file are here \\Workshop\Install

and the drivers dir is here \\Workshop\Install\d

i tried setting this in the .xml

<drivers_drive>RELATIVE</drivers_drive>
<drivers_directory>\D</drivers_directory>

but when ran i get

path doesnt exist (\:\d). now terminating

thanks for any help, and thanks for an awesome utility, i have it working fine from dvd & usb flash.. but need network paths too if possible

kC_

p.s i realise i could map a network drive and add it as a drive letter, but this process is part of an automated batch. including our preinstalled apps

so unless any knows how to do this in the bacth file?

1. login to network

2. map a share as a drive letter

3. run the drivers (easy)

4. delete the mapped drive

Edited by kC_
Link to comment
Share on other sites

p.s i realise i could map a network drive and add it as a drive letter, but this process is part of an automated batch. including our preinstalled apps

so unless any knows how to do this in the bacth file?

1. login to network

2. map a share as a drive letter

3. run the drivers (easy)

4. delete the mapped drive

More or less it would be like this but i haven't tested it so just try it out yourself. I will probably add that functionality later on directly into program but for now i am busy with other projects :)

net use X: \\someserver\Share password /USER:Domain\Username

run program

net use X: /delete

NET USE

[devicename | *] [\\computername\sharename[\volume] [password | *]]

[/uSER:[domainname\]username]

[/uSER:[dotted domain name\]username]

[/uSER:[username@dotted domain name]

[/sMARTCARD]

[/sAVECRED]

[[/DELETE] | [/PERSISTENT:{YES | NO}]]

NET USE {devicename | *} [password | *] /HOME

NET USE [/PERSISTENT:{YES | NO}]

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