If you don't want to wait for my HID testpack uploads, you can make your own by creating a text file inside the \D\ folder (NT5) or in the root of the .7z archive (NT6) using the following format:

Known-problems-{name_of_dps}.txt

; The following drivers are known to cause problems during automatic integration.
; If your device is not installed during automatic installation, you can try these folders manually.
x64\All\3\Touchpad_Mouse\Alps\2\Apfiltr.inf
x64\All\3\Touchpad_Mouse\Alps\3\Apfiltr.inf
x64\All\3\Touchpad_Mouse\Alps\4\Apfiltr.inf
x64\All\3\Touchpad_Mouse\Alps\5\Apfiltr.inf
x64\All\3\Touchpad_Mouse\Elantech\1\ETD.inf
x64\All\3\Touchpad_Mouse\Elantech\2\ETD.inf
x64\All\3\Touchpad_Mouse\Elantech\3\ETD.inf
x64\All\3\Touchpad_Mouse\Cypress\1\cykbfltr.inf
x64\All\3\Touchpad_Mouse\Cypress\1\cymfltr.inf

OK, I've finished testing and here's v130501
http://www.mediafire.com/?97bu3hoemk9abcw
I'm also uploading 3 HID test packs as proof-of-concept for the removals...but the uploads are going slow.

SteveDun wrote:

I still cant figure out how to correct the keep other OS drivers in clean phase of script.....no matter what, it is broken.  Even if I set clean=n it still removes them.  Plus I think some of the silent=y then do something isnt working either.  Something change with the script being rewritten.  Think it is bed time for me now.  Good nite.

As you see from above post I too cant figure that out yet since the code has been optimized.  Will need mr_smartepants help for that I think for I havent found a solution to that yet but I am busy with school today so wont have much time, sorry.

I made some changes to the code, but I didn't see what you guys were seeing in testing.  So maybe I fixed it and didn't know it? wink

Well, I had a setback tonight.  I burned out one drive in my RAID-1 array.
So I'm down until the array has rebuilt itself.
Good thing I follow the 3-2-1 backup rules:
3 copies of critical data
2 copies on different media types (Hard drive, cloud storage, DVD, etc.)
1 copy stored off-site (mom's house)

I'll be back in the next day or so.

No reason.  It's safe to rename.
I renamed it .bat in testing and forgot to name it back.

Here is the code in my working copy.  The REM'd lines are active in the version you are using.  You can see that Synaptics isn't touched.

:: Remove known problem Touchpad HID drivers from driver pool
REM IF /I EXIST "%SYSTEMDRIVE%\D\3\H\A6\" RD /S /Q "%SYSTEMDRIVE%\D\3\H\A6\" >nul
REM IF /I EXIST "%SYSTEMDRIVE%\D\3\H\E\ETD1.inf" DEL /F /S /Q "%SYSTEMDRIVE%\D\3\H\E\ETD1.inf" >nul
REM FOR %%i IN (Elantech\2\ Elantech\3\ Alps\2\ Alps\3\ Alps\4\ Alps\5\) DO (IF /I EXIST "%SystemDrive%\D\%ARCHP%\All\3\Touchpad_Mouse\%%i" RD /S /Q "%SystemDrive%\D\%ARCHP%\All\3\Touchpad_Mouse\%%i" >nul)
REM :: debug
FOR %%i IN ("%SystemDrive%\D\Known-problems*.txt") DO (FOR /F "eol=; tokens=* delims=" %%D IN (%%i) DO (IF /I EXIST "%SYSTEMDRIVE%\D\%%D" RENAME "%SYSTEMDRIVE%\D\%%D" "%%~nxD.bak"))

Now, a single line takes care of disabling the .inf problem kids.

I'll add the Cypress and the older Elantech to the list.
Can you also post your full HWID list?

SteveDun wrote:

Also still installing two wrong drivers in programs installed under control panel but now doesnt install the touchpad at all.....is the the way you set it up?  before the synaptecs installed and it was correct.  As seen in the pic synaptecs was isntalled also but when check device manager even after reboot it shows just standard driver that micro installs from installation of the os.

Well that is very strange since I didn't touch anything from Synaptics.  Your system must have been installing the driver from one folder but using a synaptics app.
Can you go back to a previous install where the touchpad was working fine and go to the device manager "driver" tab, click the "driver details" button and take a screenshot of the .sys info?

Here's version 120428.
http://www.mediafire.com/?s15mqmy9661tx5c

:: Changelog:
:: v130428 v3.0 (Erik Hansen)
:: Modified code to remove more known problem Touchpad HID drivers from driver pool prior to dpinst. (Alps/Dell, Elantech)

I'll work on incorporating the new code to build the array from the new text files and build a few test packs to go with them.  This will add flexibility to SAD that will allow everyone to modify their own DriverPacks for their own use.

I thought about it some more and instead of deleting the directory, I may just rename the offending .inf files to .inf.bak and then include a "undo" script that a user can run after the fact that would rename any .inf.bak file to .inf and re-run SAD.
In the meantime, I'll post the code that I have right now until I can get some testing done on the new method.

OK, I rewrote the cleanup phase with array processing to make it easier to add/remove designated touchpad folders for deletion.  One line:

FOR %%i IN (Elantech\2\ Elantech\3\ Alps\2\ Alps\3\ Alps\4\ Alps\5\) DO (IF /I EXIST "%SystemDrive%\D\%ARCHP%\All\3\Touchpad_Mouse\%%i" RD /S /Q "%SystemDrive%\D\%ARCHP%\All\3\Touchpad_Mouse\%%i" >nul)

But I don't really want to "hardcode" those paths into SAD.  It's not very flexible.
How about adding a "known-problems-Third Party DriverPack-touchpad.txt" file to the root of the touchpad Third Party DriverPack?
If the contents of the "known-problems..." file have the paths to each problem folder then SAD can remove those dynamically with a modified array.

Something like this:

; The following drivers are known to cause problems during automatic integration.
; If your device is not installed during automatic installation, you can try these folders manually.
x86\All\3\Touchpad_Mouse\Alps\2
x86\All\3\Touchpad_Mouse\Alps\3
x86\All\3\Touchpad_Mouse\Alps\4

The array processing can be handled very simply and each pack can have its own "known-problems" file.
Something like this (untested of course):

FOR %%i IN ("%SystemDrive%\D\known-problems*.txt") DO (FOR /F "eol=; tokens=* delims=" %%d IN ('DIR /B /S "%%i"') DO (IF /I EXIST "%SYSTEMDRIVE%\D\%%d" RD /S /Q "%SYSTEMDRIVE%\D\%%d" >nul))

Ideas?  Thoughts?  Stone-throwing? wink

Please post your DP_Install_Tool log so I can see which ones are being tagged.

Here's version 120426.
http://www.mediafire.com/?550gwfwys51q576

:: Changelog:
:: v130426 v3.0
:: Modified OS detection code to use WMIC instead of query the registry.
:: Fixed bug where files were "cleaned" despite user choice.
:: Added code to remove known problem Touchpad HID drivers from driver pool prior to dpinst. (Alps/Dell, Elantech)

Ken@fri wrote:

Every time I use the switches (/S or -S  -no problem with /SR or -SR), at firstlogon, I have a message asking me to reboot my computer.

Which OS are you installing on?  Are you using SAD during setup prior to first login?  Is the message generated by Windows or part of the SAD script?
Can you post your log file?

Ken@fri wrote:

After fresh install on HP ProBook 4510s, the followings TouchPad drivers appear in Add/Modify programs CPL at the same time:

  • Dell Touchpad (from ALPS ELECTRIC CO., LTD)

  • ETDWare PS/2-X86 10.7.13.1_WHQL (from ELAN Microelectronic Corp.)

  • Synaptics Pointing Device Drivers(from Synaptics Incorporated)

Well, the only way I know to fix that is by removing the "touchpad" or "HID" folders from the driver pool and leave them for manual installation.  That kinda defeats the purpose of the automatic install.
I went back through versions 2.5 & 2.7 and I didn't see any code that would differentiate any HID drivers at all.
I'll keep looking into it.

thatwill wrote:

Hi guys, found a little bug in SAD3-130423.

If running with no parameters, the variable %CLEAN% is never set to N, so the clean always happens regardless of what the user chooses.

Now fixed in my working copy.

I'll look into both reports and upload a newer version tonight if needed.

140

(12 replies, posted in Vista / 7 DriverPack Mass Storage)

When doing a keyword search for "Intel Rapid Storage Technology RST", this is the result:
https://downloadcenter.intel.com/Search … C2%AE+RST)
I noticed that the whole 10.* series have been dropped.  Not worth mentioning?  Hmmm.

141

(12 replies, posted in Vista / 7 DriverPack Mass Storage)

Some new Intel drivers for you.
12.5.0.1066
https://downloadcenter.intel.com/Detail … p;lang=eng

3.6.0.1093
https://downloadcenter.intel.com/Detail … p;lang=eng

I added some code to pull the OS info from WMIC if the registry isn't loaded yet.  Using WMIC is slower, but more compatible.
The only problem IIRC is that in most cases, WMI isn't available during PE setup, so I'm not sure how useful that will be.
In my tests, pulling the info via WMI took 15 ms but the reg query only took 5 ms.

Cool, grabbing now.
You know, one of the great tools I use to do line-by-line code comparison is WinMerge.  http://winmerge.org/
It'll spot the difference between a space and a tab, as well as between a short-dash and long-dash which depending on the font used look the same.
Speaking of fonts, I prefer the free Adobe SourceCodePro.  http://sourceforge.net/projects/sourcecodepro.adobe/

I have two text editors of choice.  NotePad2 (with code folding) and SublimeText2.
http://xhmikosr.github.io/notepad2-mod/
http://www.sublimetext.com/2

Here's the latest RC SAD3-130423
http://www.mediafire.com/?q52c11zg41tysvv
Tested on XP and Win7-x64 using both method-1 and method-2.
Whew!  Done for now...

I'm currently chasing a bug in the :Elevate section (and elsewhere).  The bug is in how the variable %0 is used.
When the SAD script is called from a command line, then %0 populates as a fully qualified path with name.ext (C:\SAD\DP_Install_Tool.cmd).  But when the SAD script is double-clicked, the :Elevate .vbs script fails because %0 only populates with the name.ext, not the path (DP_Install_Tool.cmd).
This can be solved by substituting %0 with %~dpnx0 (DrivePathName.eXtension) which has a more consistent behavior.
To illustrate this behavior, create a test.cmd file with the following code:

@ECHO off

ECHO Path with '0'    : %0
ECHO Path with 'dp0'  : %~dp0
ECHO Path with 'dpnx0': %~dpnx0
PAUSE

Run from command line:

I:\target>test.cmd
Path with '0'    : test.cmd
Path with 'dp0'  : I:\target\
Path with 'dpnx0': I:\target\test.cmd

When double-clicked:

Path with '0'    : "I:\target\test.cmd"
Path with 'dp0'  : I:\target\
Path with 'dpnx0': I:\target\test.cmd

I'm still busy testing M1 and M2 in both XP and Win7...but I'm close!

Jeff is right about the DriverPacks archive streams.  When I build the final DriverPacks, I use the tool here: http://forum.driverpacks.net/viewtopic.php?id=4789
I don't think the testing packs are built the same way (solid packs).

@DanInWV, please post your sample code so we can see what's going on.

DanInWV wrote:

I actually started to code this up (in VBS - don't hate).

The whole thing takes roughly 20 seconds. This is with 5 packs on an SSD  - about 1 GB and 4,500 files.

I got stuck at this point as I didn't really understand how to use this with dpinst.

Well now THAT is very encouraging! smile
To be honest, once a match is made, just moving the encapselating folder to a temp dir then pointing dpinst to that temp dir would be the easiest method.
Post the code you have in code boxes and one of us will run with it.

BTW, I don't hate VBS, it's just not my forte (like a left-handed hammer). wink

Ken@fri wrote:

Is it possible to add a portion of code to check what kind of machine (Laptop or Desktop) DriverPacks are installing on?

If it's a Desktop, no TouchPad drivers kept and if it's a Laptop is detected...keep them.

Well that would be fine if the "touchpad-HID" Third Party DriverPack included only drivers for laptops.  However that Third Party DriverPack includes drivers for mice and keyboards also.

I'm doing testing in VMs right now...I'll upload this tonight if all goes well.
Here's what I have so far:


:: Changelog:
:: v130423 v3.0
:: Remerged codebases (briefly forked during simultaneous development).
:: Sound effect script removed from bin folder...SAD now creates it dynamically.  (SteveDun)
:: SAD now calls UAC Check for NT6 OS's dynamically (replaces the Elevate commands in bin folder) (SteveDun)
:: Now fully works when added to windows ISO's. (SteveDun)
:: Corrected error's in Cleaning Phase.  (SteveDun)
:: Modified code to support commandline switches using either slash '/' or dash '-' (example: script.cmd -s) (Erik Hansen)
:: Modified extraction code to minimize extraction windows. (Erik Hansen)
:: Added code to count extraction progress in title bar. (Erik Hansen)
:: Cleaned up displayed text to center in window. (Erik Hansen)

:: v130420 v3.0 (Erik Hansen)
:: Fixed bug in :Elevate section where commandline switches were not passed to utility when run as a normal user.
:: Fixed bug where utility would try to delete itself after complete.
:: Minor fixes to :Cleaningphase section and :Usage verbiage.

I like the idea (it's been brought up before).
It would require that the DriverPacks contain "index" files (like a database) for each contents.
Then we'd have to poll the system for a HWID list and compare it to the index and build an array of matching paths to drivers.
Then extract only the matched drivers.

This would require that we also repackage all the DriverPacks without using the "solid archive" option.  This would create DriverPacks packages that are much larger in size.

In theory, that should be much quicker but would require a LOT of scanning/comparison to build the array which may take even longer than just extracting all the drivers at once.

I'm not saying that we won't do it, only it would require a lot of coding just to make a 'proof-of-concept'.
We'll keep that in our "to-do" list. smile

Our Stand Alone Driverpack (SAD) utility is undergoing fast & heavy development at the moment and countless improvements have been made by new contributor "SteveDun"!
If you have any bug reports or suggestions/requests for new functionality then NOW is the time to let us know.
We are currently in a "code freeze" so I can finalize/optimize the code for a version 3.0 release candidate.
The forums are waiting!  Get in there and give us feedback.
SAD Thread: http://forum.driverpacks.net/viewtopic.php?id=5336