Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Drivers Instalation in Post-Install stage (New Method)

- - - - -

  • Please log in to reply
619 replies to this topic

#51
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
http://oppetid.no/ma...dware_0.4.9.exe --> and add in hardware.ini Debug = Yes Now most of the variables should be put in log before they are used and also unpacking and packing have now output so we should be able to tell what's wrong. I also put newest 7zip in it so hopefully problem is gone. Please check it out.

Tnx!!!


How to remove advertisement from MSFN

#52
Troutmask

Troutmask
  • Member
  • 1 posts
Can this neat little proggy find drivers under subdirectories in the installation path? Can't try this out myself just now, but I was just wondering.

For example, if I had a DVD filled with drivers and they would be categorized by type in different set of folders (like, say, E:\Chipset\nForce\, E:\Display\ATI\ or E:\Network\3Com\ etc.), can I just use something like;

Drivers_drive=CDROM
Drivers_dir=\
(E: being in this example the CD/DVD drive) and the program will automatically crawl through the subdirectories fetching the right set of drivers for any 'Unknown Devices' there might be?

#53
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
That's the whole idea :) Otherwise it wouldn't be usefull...

[21:37:20] - Setting path into registry using RegistryDevicePath method.
[21:37:20] - Added to registry: C:\DriversTest\D\C\A
[21:37:20] - Added to registry: C:\DriversTest\D\C\AM\1
[21:37:20] - Added to registry: C:\DriversTest\D\C\AM\2
[21:37:20] - Added to registry: C:\DriversTest\D\C\AM\3
etc

;) and so on..

#54
ty628659

ty628659

    Newbie

  • Member
  • 15 posts

http://oppetid.no/ma...dware_0.4.9.exe --> and add in hardware.ini Debug = Yes Now most of the variables should be put in log before they are used and also unpacking and packing have now output so we should be able to tell what's wrong. I also put newest 7zip in it so hopefully problem is gone. Please check it out.

Tnx!!!


1) Compaq PC, format and clean install Compaq xp home sp2 CD, no any other programs been installed
2) Dell PC, format and clean install Dell xp Pro sp2 CD, no any other programs been installed
both attachment with 2 log in each file. 1st use your 7z.exe has error for unpack, 2nd with v.4.26 successful unpacking and packing
both PC -"Drivers path was set successfully into registry" but not taking any action. i hope it can help you for debuging

:no:
Attached File  hardware_compaq.zip   53.21KB   46 downloadsAttached File  hardware_dell.zip   30.14KB   126 downloads

Edited by ty628659, 22 August 2006 - 12:35 AM.


#55
devilrunner

devilrunner

    Junior

  • Member
  • Pip
  • 53 posts
I like your program and would like to see the code for this...
I see you made it with autoit?

Could I get the decompile pasphrase?

#56
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
There's no decompile passphrase for it. I compile it without the ability to decompile. I'm not releasing source until it will be FULLY working release ;) As in not having all the problems issues and when i'm done coding it. It might take a while. In the meantime you could help by testing out current version and trying to spot errors ;) Like the one that other guy has. Wonder if it's only him having it or more ppl does.

#57
ty628659

ty628659

    Newbie

  • Member
  • 15 posts
after 3 days reporting error of v0.49/0.44, does anyone reproduce the issue or i am the only one testing the program. i realy like this program if it works, I hope more people can spend little time try it. :hello:

MadBoy- are you working on the issue i was found?

Edited by ty628659, 24 August 2006 - 10:07 AM.


#58
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
Yes i'm working on this issue. I tried to include DLLCALL to 7zip.dll but it has diffrent aproach so would have to rebuild some functions preety heavy. So instead i will try to download driverpacks and test on new ones why the problem with unpacking occurs. As for non-finding unpacked drivers can you check "DIR /A:D /S" in cmd line and paste like first 5 lines or so? Can you also try with drivers unpacked? Just put drivers in clean format if it works? It would be very weird if it doesn't ;) Since i tested that on couple of computers and never had problems.

#59
ty628659

ty628659

    Newbie

  • Member
  • 15 posts
Attached File  SCREEN_CUT.zip   24.69KB   52 downloadsIN C:\ ROOT Directory

Just put drivers in clean format if it works?
Attached File  CleanFormat.zip   6.56KB   52 downloads

here is the log file and hardware.ini, Sorry :realmad: it doesn't worked in local hard drive

If you can't reproduce my problem, I can setup a Remote Workstation, so you can Remote Desktop my Testing WS. ( I need your email address, so can send you ip address and login user and password)

Edited by ty628659, 26 August 2006 - 02:00 AM.


#60
devilrunner

devilrunner

    Junior

  • Member
  • Pip
  • 53 posts
Does your program use external programs for :
SetDevicePath & SetupCopyOEMinf?
Or does it use internal code that does the same thing?

I am looking for a SetupCopyOEMinf alike routine...

What's wrong with SetupCopyOEMinf.exe you ask?
Well this is heavily dependant on API calls and if one has suspended all processes until SetupCopyOEMinf finishes this API isn't active.

Edited by devilrunner, 29 August 2006 - 03:51 PM.


#61
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
[devilrunner]
It uses internal routines written in AutoIt v3 with a slight use of "DIR" command ;) On begining i used Pyron's external programs but as soon someone explained me how those programs works i wrote them in AutoIt.
I don't like the SetupCopyOemInf routine either as it's including all the drivers into WINDOWS so in my opinion it's NOT great. But it works :P

[ty628659]
Thank you for your offer of help but i seriously don't know how to fix your issue even if i would be working on your computer :) I am just wondering wtf is wrong ;) Would be nice if someone else could try the exact steps you're doing so i could confirm it's one big BUG that needs fixing, still it would be weird that it doesn't work in your cases at all ;) I don't see where you oculd have done wrong and where the program could be wrong. Especially i'm curious why 7zip doesn't work as it should as i think 7zip is backwards compatible.

#62
devilrunner

devilrunner

    Junior

  • Member
  • Pip
  • 53 posts
Well I don't like it either but it's the only way arround the setdevicepath limitations for me..
I am using quite allot of drivers:-)

Would it be able to receive the code of that routine?
I am having problems with pyron's exe in conjunction with a suspended setup.exe as illustrated (HERE)

I don't like the available setup.exe resume/wait/resume solution.

Edited by devilrunner, 30 August 2006 - 10:36 AM.


#63
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
Devilrunner:

If $method = "SetupCopyOemInf" Then
		_AddLineBox("Integrating drivers with SetupCopyOemInf method.")
		$DirOutput = Run(@ComSpec & " /c DIR /A:D /S " & $path_to_drivers, '', @SW_HIDE, 2)
		While 1
			$DirData = StdoutRead($DirOutput)
			If @error Then ExitLoop
			If $DirData Then
				$DirOutputOnce &= $DirData
			Else
				Sleep(10)
			EndIf
		WEnd
	; Remove spaces from output
		$DirOutputOnce = StringStripWS($DirOutputOnce, 3)
	; Split output into array
		$DirSplit = StringSplit($DirOutputOnce, @CRLF, 1)
		$NrCopiedInfs = 0
		For $i = 1 To $DirSplit[0]
			If StringInStr($DirSplit[$i], $path_to_drivers) Then
				$registrystring = StringSplit($DirSplit[$i], ": ", 1)
				If $registrystring[0] = 2 Then; Testing amount of elements in array, if more then 2 Exits
					If StringInStr($registrystring[2], $path_to_drivers) Then; Making sure that Drivers path exists in string
						$drivers_directory = $registrystring[2]
						
						$search_ini = FileFindFirstFile($drivers_directory & "\*.inf")
						If $search_ini = -1 Then
						Else
							$dll_exe = DllOpen("setupapi.dll")
							While 1
								$search_file = FileFindNextFile($search_ini)
								$full_path_to_inf = $drivers_directory & "\" & $search_file
								If @error Then ExitLoop
								$dll_result = DllCall($dll_exe, "int", "SetupCopyOEMInf", "str", $full_path_to_inf, "str", "", "int", 1, "int", 8, "str", "", "int", 0, "int", 0, "str", "")
								If $logging_option = "Advanced" Then
									If @error = 0 Then
										_AddLineBox("Inf integration passed: " & $drivers_directory & "\" & $search_file)
										$NrCopiedInfs = $NrCopiedInfs + 1
									ElseIf @error = 1 Then
										_AddLineBox("Inf integration failed: " & $drivers_directory & "\" & $search_file)
									ElseIf @error = 2 Or @error = 3 Then
										_AddLineBox("Unknown return type or Function not found in DLL. Tell author about it!")
									EndIf
								EndIf
							WEnd
							DllClose($dll_exe)
						EndIf
						FileClose($search_ini)
					EndIf
				EndIf
			EndIf
		Next
		If $NrCopiedInfs = 1 Then _AddLineBox("SetupCopyOemInf method completed. " & $NrCopiedInfs & " driver was integrated.")
		If $NrCopiedInfs = 0 Then _AddLineBox("SetupCopyOemInf method completed. No drivers were integrated.")
		If $NrCopiedInfs <> 0 And $NrCopiedInfs <> 1 Then _AddLineBox("SetupCopyOemInf method completed. " & $NrCopiedInfs & " drivers were integrated.")
		$DeviceDrivers = "PASSED"
	EndIf

Enjoy

#64
devilrunner

devilrunner

    Junior

  • Member
  • Pip
  • 53 posts
Thx man...
U rock!


I expect to be releasing my own drivers from cd method with this fix very soon...
So we can all get rid of that resume/wait/resume/wait fix.
Many thx to madboy

Edited by devilrunner, 04 September 2006 - 02:16 PM.


#65
twig123

twig123

    Advanced Member

  • Member
  • PipPipPip
  • 325 posts
How can this be changed to include the previous version on 7zip? because the newest seems to be causing an issue with un-compressing the 7z files.

#66
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
I have uploaded new version 0.5.0 on first page. DOwnload it from there and lemme know if the Unpacking works now. I redownloaded commandline version from page changed things a bit. Please check and give feedback. Use Debug = Yes in config file for debugging :)

#67
urie

urie

    Senior Member

  • Member
  • PipPipPipPip
  • 519 posts
MadBoy, great program would it be possible to add your instructions on how to use it i.e hardware.ini switches e.c.t as a help file,
I copied text from Possible settings for hardware.ini from first post. But it would be great if instructions could be included with program.

Thanks keep up the great work :D

#68
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
Sure, it will be done when ppl will say it WORKS :P I mean there seems to be a problem with packed drivers for some users until i am told ALL is WORKING there's no sense to add help file ;)

#69
Doc Symbiosis

Doc Symbiosis

    Advanced Member

  • Member
  • PipPipPip
  • 333 posts
Does this method also work for SATA drivers?
I've just created an unattended 64 bit XP-CD and now want to integrate some SATA/RAID drivers.

#70
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
This method is completly diffrent method. Sata/Scsi drivers HAVE to be included in Windows installation as otherwise your hdd's will be invisible for Windows so you won't be able to install it. This method is good for other drivers such as graphic cards, audio cards etc

Cheers,

#71
Avneet

Avneet

    Member

  • Member
  • PipPip
  • 175 posts
found new hardware wizard still pops up.. anyone knws how to get rid of that.. i mean install drivers without that screen popping up

actually i have no idea y this happaesns.. even when u plug in a usb flash drive .. the wizard pops up and u have to press next to install the usb driver (which infact shouldnt happen.. shud be done automatically) anyone knws y this is happeining

Edited by Avneet, 08 September 2006 - 02:44 PM.


#72
urie

urie

    Senior Member

  • Member
  • PipPipPipPip
  • 519 posts

found new hardware wizard still pops up.. anyone knws how to get rid of that.. i mean install drivers without that screen popping up

actually i have no idea y this happaesns.. even when u plug in a usb flash drive .. the wizard pops up and u have to press next to install the usb driver (which infact shouldnt happen.. shud be done automatically) anyone knws y this is happeining


[INFO]
Start=Manual
Mode=Standard
Drivers_drive=CDROM
Drivers_dir=\All_Drivers
Device_manager=On
Method=RegistryDevicePath
Logging_to_file=Yes
Logging_option=Advanced
Drivers_Packed=No
Copy_drivers=No
Copy_where=C:\Drivers
Delete_drivers=No
Create_backup=No
Leave_registry_entries=No

Try changing Device_manager=On to Device_manager=Off i,e

Device_manager - possible options are on or off. If you leave it On when your devices will be removed you can see progress on how your devices are being redetected. Usefull for testing.


hope this helps

#73
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
urie:

He means that when he connects any device Windows asks him with it's WIZARD to point the drivers for device.

Avneet:

Check registry key HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\

Find there key: DevicePath
Type of the key: REG_EXPAND_SZ
Value of the key must have at least this: %SystemRoot%\inf;
It can also have other paths after semi-colon.

Check it,

Hope it helps.

#74
twig123

twig123

    Advanced Member

  • Member
  • PipPipPip
  • 325 posts

Sure, it will be done when ppl will say it WORKS :P I mean there seems to be a problem with packed drivers for some users until i am told ALL is WORKING there's no sense to add help file ;)


7zip packed drivers are now working correctly.

However, I have a sound card that has a "Problem ID 10" which the software says that it is removing unknown hardware, but directly after that it says that there was no devices removed... Sometimes when the program runs it tries to reinstall the old malfunctioning drivers that are already on the computer, instead of the new driver provided in BTS DriverPacks. Any incite on this issue?

Edited by discountpc, 13 September 2006 - 02:22 AM.


#75
MadBoy

MadBoy

    Advanced Member

  • Member
  • PipPipPip
  • 467 posts
  • OS:none specified
  • Country: Country Flag
Well my programs shows all devices that have some problems. Only some of those problems are driver related. My program only removes devices that match: 1, 18, 28, 37, 39 problems. You can find what they mean here: http://support.micro...kb/310123/en-us

Your code: Code 10
If the device has a FailReasonString value in its hardware key, that string appears as the error message. The driver or enumerator puts this registry string value there. If there is no FailReasonString in the hardware key, you receive the following error message:

This device cannot start. (Code 10)

Recommended resolution


Device failed to start. Click Update Driver to update the drivers for this device. On the General Properties tab of the device, click Troubleshoot to start the Troubleshooting Wizard. "


I'm not sure if this code should be added to my program. Can you tell me what happens if you delete device from DeviceManager and rescan p&p? DOes it work correctly? Finds drivers and all? If yes then i can add code 10 to my program. I could probably even add line in .ini where you could specify which codes are removed and which aren't but it might be risky for some ppl ;)


As for the old drivers being used instead of the new supported it's because in registry path you have old_path for drivers ("%SystemRoot%\inf;") and the new paths are added after that. So the searching starts in Windows dir first then it goes to wherever your drivers are. I wonder if we will do little swap places so the "%SystemRoot%\inf;" would be added to end, and new drivers paths to begining. We can make some test like that. Eventually we could also have an option to completly not use "%SystemRoot%\inf;" in the registry path (and only have program set it back to defaults on exit, as it is doing it now). That way Windows will be forced to look for new drivers instead using old ones. Only disadvantage i can see now is that some devices that are nativly supported by Windows (like usb devices) might not be detected correctly while the program is working. Okey i'll try to prepare some new version with what i just said ;) And gimme shouts about the Code 10 and other codes if you think they should be added. Or maybe that .ini option will be better??




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users



How to remove advertisement from MSFN