Jump to content

Drivers Instalation in Post-Install stage (New Method)


MadBoy

Recommended Posts

Thank you, it's working now :) But when it's preparing the database the following error pops up. It has something to do with your source-code I think. Have you seen this before?

Preety sure it is. Can you please send me the log file? and screenshot of application (so i can see Image Manager GUI along with error, not the error alone).

EDIT: also please send me the .xml file.

Edited by MadBoy
Link to comment
Share on other sites


Gah,

Changelog for 2.0.0.18 (public)

- Changed amounts of elements from 30000 to 8300000 (my bad)

Sorry guys. Value of array in special function was increased from 30000 to 8300000. This is hardcoded value so the speed of program can be fast. Hopefully it will be enough. I left 30000 value as i was doing some tests and showing array with 8300000 elements with ArrayDisplay isn't something fast :)

So pSycho-Y2K and everyone else please redownload.

Link to comment
Share on other sites

Ahh wonderfull! :D But unfortunately (I sound like a whiner now :P) the Found New Hardware Wizard still pops up and the user has to press the Next button manually. I doublechecked the XML script but I don't think there's anything wrong with it:

<hardware_wizard>
<wizard_use>Yes</wizard_use>
<wizard_title>Wizard Nieuwe hardware gevonden</wizard_title>
<wizard_button_cancel>Annuleren</wizard_button_cancel>
<wizard_button_next>Volgende</wizard_button_next>
<wizard_button_finish>Voltooien</wizard_button_finish>
</hardware_wizard>

As you can see, I'm using the dutch version and the title and button labels are correctly typed (see screenshot). Maybe another bug? :) PS. Good job on the fast bugfixing! :thumbup I'm looking forward to see the program working fully functional.

post-34235-1200658765_thumb.png

Link to comment
Share on other sites

Thank you for your report. I will need the log file, .xml and the screenshot (so i can see my program GUI). This will give me ability to know when the Hardware Window showed up. Might be that i've put the Hardware Closing function in wrong place. What about the NEW aproach to drivers. Database working? Is it finding the drivers and working fine other then the Hardware windows showing up?

Link to comment
Share on other sites

I guess the New method works and that the devices are scanned and removed properly. I attached the requested files to the post :) The image involves a desktop screenshot where your drivertool has brought into focus. Good luck bughunting! :D

Hardware_config.xml

post-34235-1200664761_thumb.png

hardware_installer_log.txt

Edited by pSycho-Y2K
Link to comment
Share on other sites

  • 2 weeks later...

Is it possible to add an attached working file with a folder that consist all the contents in their correct directory?

for example:

Drivers Instalation in Post-Install stage

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers uncompressed

AND

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers compressed

Link to comment
Share on other sites

MadBoy,

I'm having problems with the program locating drivers in the database.

I am testing the program with a system that has 9 devices needing drivers, and I know 4 or 5 of them should get detected and installed with the program, but none of them are found.

Errors are like this:

Device => PCI\VEN_14E4&DEV_170C&SUBSYS_01AF1028&REV_02 Driver Path => NOT FOUND in DB

I traced it to the issue of the "REV_xx" suffix, so there is no matching up being done with the db that is built.

Looking at the inf file for that specific driver, there is no suffix like "REV_02" listed with the device name, so the db appears to be building correctly.

However, I tried the same driver set with version 0.6.7.0 of the program, and it worked!

There must be something different about how the 2 versions make a device match.

I've attached the log, xml, and db since I know you will ask.

logs.zip

Edited by hoolie
Link to comment
Share on other sites

Is it possible to add an attached working file with a folder that consist all the contents in their correct directory?

for example:

Drivers Instalation in Post-Install stage

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers uncompressed

AND

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers compressed

Yes it is possible. Read helpfile on the first page how to do it.

@hoolie, i'll take a look probably my program is not removing last part &REV when it should.

@pSycho-Y2K, not yet found :| no time + too many things on my head

Link to comment
Share on other sites

Changelog for 2.0.0.19 (public)

- Added workaround for devices with &REV_ (tnx hoolie)

@hoolie please test if it works for you.

@pSycho-Y2K turn on debug as logging option. and try the program again. I've moved the function up a bit in the code and added some debug lines to see where it doesn't work. Report back with .xml file and log file attached if it's not fixed please.

Link to comment
Share on other sites

Madboy,

Now I have a different problem as the system I was testing on has all the drivers.

I deleted the driver for the ethernet adapter and uninstalled it from device manager to test the new version, but it hangs and never completes. However, it does find the driver in the db, so that part seems to work.

I think it has to do with the device status "This device is not configured correctly (Code 1)" since there may be information on the required driver somewhere in an inf file on the hard disk that I cannot find. When not running your program, and using windows to reinstall the driver (after I deleted it from the hd), in the found new hardware wizard it keeps asking for a driver location (since I deleted the driver) and all I can do is cancel out and that might be triggering the issue with your program where the device status is not correctly set in the registry.

This happens with both .18 an .19 versions, so it has something to do with removing a driver that was working correctly in order to test the program.

I'll have to try this again on a fresh install, but need to change hd's first. I'll try again tomorrow.

Here's some logs and pictures for you.

logs_ver19.zip

Link to comment
Share on other sites

Is it possible to add an attached working file with a folder that consist all the contents in their correct directory?

for example:

Drivers Instalation in Post-Install stage

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers uncompressed [folders & sub folders only]

AND

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers compressed [empty .7zip files]

then by downloading any of these all we (end users) have to do is to place the compressed or uncompressed drivers where they should be and everything would just work, hands off.....

Edited by ideas
Link to comment
Share on other sites

Is it possible to add an attached working file with a folder that consist all the contents in their correct directory?

for example:

Drivers Instalation in Post-Install stage

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers uncompressed [folders & sub folders only]

AND

contents:

Pro-s_hardware_installer_2.0.0.18.exe

Hardware.xml

Drivers compressed [empty .7zip files]

then by downloading any of these all we (end users) have to do is to place the compressed or uncompressed drivers where they should be and everything would just work, hands off.....

The thing is that there are far a lot of possiblities to use the tool. Depending on what you want to achieve you have to set diffrent settings. I was thinking of creating help file with all kind of scenarios on what settings to use for each scenario. However i don't have much time to play with this.

The most important part of the .xml file that is attached on the first page is:

<drivers_method>New</drivers_method>

<drivers_database_use>No</drivers_database_use>

<drivers_database_recreate>No</drivers_database_recreate>

<drivers_database_path>$ProgramDir\hardware_database.db</drivers_database_path>

<drivers_directory_path>RELATIVE:\PenDrive\Drivers</drivers_directory_path>

<drivers_packed>No</drivers_packed>

<drivers_copy>No</drivers_copy>

<drivers_copy_path>C:\DriversTest</drivers_copy_path>

<drivers_copy_delete>No</drivers_copy_delete>

Rest can left as default.

Scenario 1.

Lets say you want to put all your drivers on USB Pen (drive letter H:). The drivers need to be unpacked for fast deploy. The directory with drivers that you want to use is stored on C:\Drivers directory.

Things to do:

1. Copy drivers from C:\Drivers to directory on USB Pen to directory H:\D

2. Copy pro_s-hardware.exe along with .xml file to the root of H:\

3. Modify the .xml file to either <drivers_directory_path>H:\D</drivers_directory_path> or <drivers_directory_path>RELATIVE:\D</drivers_directory_path>. Of course the H:\D will only work on your computer. While the RELATIVE means RELATIVE drive letter to the pro_s-hardware.exe. Which means it doesn't matter under what letter you will have your drive detected on other computer. The drive letter will always be the same for your D directory as long as pro_s-hardware.exe is on same place as your drivers.

4. If you just wanted standard functionality that's all you have to do.

Scenario 2.

Lets say you want to put all your drivers on USB Pen (drive letter H:). The drivers need to be packed as the size matters. The directory with drivers (packed) that you want to use is stored on C:\Drivers (.7z or .rar archives) directory. The drivers should be unpacked by program to C:\DriversUnpacked

Things to do:

1. Copy drivers from C:\Drivers to directory on USB Pen to directory H:\D

2. Copy pro_s-hardware.exe along with .xml file to the root of H:\

3. Modify the .xml file to either <drivers_directory_path>H:\D</drivers_directory_path> or <drivers_directory_path>RELATIVE:\D</drivers_directory_path>. Of course the H:\D will only work on your computer. While the RELATIVE means RELATIVE drive letter to the pro_s-hardware.exe. Which means it doesn't matter under what letter you will have your drive detected on other computer. The drive letter will always be the same for your D directory as long as pro_s-hardware.exe is on same place as your drivers.

4. Modify the following .xml entries to

- <drivers_packed>Yes</drivers_packed>

- <drivers_copy>Yes</drivers_copy>

- <drivers_copy_path>C:\DriversUnpacked</drivers_copy_path>

5. Now if you want to leave the directory DriversUnpacked to be left intact after program is done working leave entry <drivers_copy_delete>No</drivers_copy_delete> intact. However if you want program to delete the drivers as those will be no longer in use set <drivers_copy_delete>Yes</drivers_copy_delete>

Now the things that will work for both scenarios and that are for you to experiment with whether you want to use them or not are:

- <drivers_method>New</drivers_method>

- <drivers_database_use>No</drivers_database_use>

- <drivers_database_recreate>No</drivers_database_recreate>

- <drivers_database_path>$ProgramDir\hardware_database.db</drivers_database_path>

Those are described on the first page. Maybe i'll spend some more time later on to explain all 4 entries again with full description but i realy don't have that much time :) If someone wants to make .chm file for my program and help me out with creating a lot of scenarios and add at the end help me with creating this a MAJOR package with all that let me know ;)

Link to comment
Share on other sites

Changelog for 2.0.0.20 (public)

- Fixed bug where some .inf's would be ignored (tnx GrandCat), nasty typo :P

- Fixed bug where database wouldn't be recreated if one already existed and $variables were used

@GrandCat please test this. Thanks for your report (however next time please be more descriptive ;P Had to think a bit what you mean and found another bug when fixing your problem.

Link to comment
Share on other sites

MadBoy, the first, thank for your tool!

I a, trying it, but I have always the same error when aplication starts:

Methot must be set: SetupCopyOemInf or RegistryDevicePath. Terminating!

Off course the tag methot is correct. With original hardware-config.xml the same error.

P.D. in another machine, there is NOT error.

Link to comment
Share on other sites

MadBoy, the first, thank for your tool!

I a, trying it, but I have always the same error when aplication starts:

Methot must be set: SetupCopyOemInf or RegistryDevicePath. Terminating!

Off course the tag methot is correct. With original hardware-config.xml the same error.

P.D. in another machine, there is NOT error.

Open XML file in Internet Exploer (in non modified default setting pressing enter on .xml should open it in Internet Explorer by default). If you open it in IE you will see that most likely IE will tell you that you typed in something wrong in the .xml that causes the .xml to "crash". Fix it by going thru errors that IE shows up. Unless no errors then as always "send me the .xml" :P

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