MantisBT - DriverPacks BASE
View Issue Details
0000515DriverPacks BASEDP_Install_Tool - SoFI (SAD)public2009-05-15 18:582009-05-16 03:11
cfp 
OverFlow 
normalmajoralways
resolvedfixed 
8.12.4 
 
wnt5_x86-32 (applies to all OSes of this platform)
not applicable
all
not applicable
not applicable
0000515: bugs prevent proper execution
I have found several bugs in DP_Install_Tool.cmd
from the BASE -- DPs_BASE_8124.exe

I have a new version I wrote without bugs (I hope...)
that also has more advanced messaging and logging with log backups

Feel free to use it, post it, or modify

download the re-write at: http://computerfixpro.com/DP_Install_Tool-SRS-new.zip [^]

Hope this will be a help to others who want to use Stand-Alone.

Can't remember all of the bugs of original but this is what
I can remember:

line 26 --> %LOG should be %LOG%

line 64 --> `type F:\WINDOWS\DPINST.log` should be `type %SystemRoot%\DPINST.log`

also noted: DPsFnshr.exe deletes C:\TMP directory without WARNING

Other bugs -- ???
Here is the ReWrite

download the re-write at: http://computerfixpro.com/DP_Install_Tool-SRS-new.zip [^]

text below may have reformat so might be altered by this posting in text???
__________________________________________
download the re-write at: http://computerfixpro.com/DP_Install_Tool-SRS-new.zip [^]
for proper file...



-----------


@Echo off
rem pause
 REM Written by Jeff Herre AKA OverFlow rev08.11.02
 REM A Script to use MicroSofts DPInst.exe with the DriverPacks.
 REM Help and Support available at http://forum.DriverPacks.net [^]
TITLE DriverPacks.net Stand Alone Driver Updater & Color 9f
Echo. & Echo Watch OUT !!!!!!!! -------------------------------------------------
Echo. & Echo --- DPsFnshr.exe deletes C:\TMP directory without WARNING!!!!! -
Echo. & Echo Watch OUT !!!!!!!! -------------------------------------------------
Echo. & Echo Back-Up *-NOW-* .. C:\TMP directory .. if contains needed data!!!!!
Echo. & Echo ............................................................................
Echo. & Echo Back-Up C:\TMP directory before proceeding
Echo EXIT now -- ( "Stand-Alone" execution is ok to exit )
Echo. & Echo ____________________________________________________________________________
REM SRS -- DO NOT include parenthesese in remarks, will mess up command parser!!!!
rem pause
rem SRS 05/01/2009 from command line Q = quiet mode no log, V = verbose mode to CON (log monitored to screen only)
rem the case matters for the Q and V, smnall v or q will create log files of the name q or v if use: ( IF /I [%1] ... )
rem typing anything else will set the log file NAME to save logging TO this typed text (%1 sent)
rem SRS input %1 not specified then LogFile will be -- C:\DP-Inst-LOG-by-SRS.txt
rem SRS input %1 is case sensative ( If /I ...)
rem Set INPT1=%1
Set "LOG=DP-Inst-LOG-by-SRS.txt" & IF [%1] NEQ [] (IF /I [%1] NEQ [Q] (Set LOG=%1) & IF /I [%1] EQU [V] (Set LOG=CON))
IF /I [%1]==[Q] Set LOG=NUL
rem SRS original line of above -- Set LOG=nul & IF [%1] NEQ [] (IF /I [%1] NEQ [Q] (Set LOG=%1) & IF /I [%1] EQU [V] (Set LOG=CON))
rem SRS -- originally, no %1 input set the log file to NUL; i.e. -- NO log file
rem pause
If [%LOG%] NEQ [NUL] pause
If [%LOG%] EQU [CON] echo _ & echo Logging output to console only, log file will NOT be saved. & pause
If [%LOG%] EQU [NUL] echo _ & echo NO Logged output, NO Log file!!! Nothing will be Logged!!!!!
  Echo. & Echo Locating the DriverPacks...
Set "M=0" & Set "cur=%~dp0"
rem echo %cur%
If [%cur:~-1%]==[\] Set "cur=%cur:~0,-1%"
rem echo %cur%
IF Exist "%cur%\D\" Set "DPLoc=%cur%" & Set "M=1" & GoTo Found
IF Exist "%cur%\bin\un7zip.exe" Set "DPLoc=%cur%" & Set "M=2" & GoTo Found
  Echo Searching Root folders since DriverPacks were not found in current folder...
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO (
 IF Exist "%%i:\OEM\bin\un7zip.exe" SET "DPLoc=%%i:\OEM" & Set "M=2"
 IF Exist "%%i:\$OEM$\$1\D\" SET "DPLoc=%%i:\$OEM$\$1" & Set "M=1" & %%i
 IF "%M%" GEQ "1" GoTo Found)
 rem SRS bug fix line above original -- IF "%M%">="1" GoTo Found) --- SRS 05/01/2009
  Echo. & Echo Strange... The DriverPacks were not found ??? :( & Echo. & Pause & GoTo Done
:Found
rem echo %cur%
rem cur will contain full drive and directory path
rem pause
REM SRS 05/01/2009 if duplicat log file in %DPLoc% directory
rem echo "%DPLoc%\%LOG%"
rem pause
rem place non pathed log file to root of system drive via line below
%SystemDrive% & cd\
REM SRS 05/01/2009 above line [ CD\ ] Fix for IF %1 log file contains NO drive-and-path
rem then creates duplicate incomplete log files in both DPLoc and system-drive_root
REM SRS ... so be consistant by setting path to -non- pathed definition %1 log file specification via
rem above line to system-drive_root
rem prevents overwrite problems if input %1 log file specification is existing log file already in DPLoc directory
rem and backup/rename if log file pre-exists in DPLoc to prevent mixups
set LFTP=0
If [%LOG%] EQU [CON] GoTo NOXST2
If [%LOG%] EQU [NUL] GoTo NOXST3
If Exist "%DPLoc%\%LOG%" ATTRIB -h -s -a -r "%DPLoc%\%LOG%" & GoTo LPRN
GoTo NOXST
:LPRN
rem echo stop
rem pause
Set NWNM=%RANDOM%
rem Echo. & echo %NWNM%
rem pause
IF Exist "%DPLoc%\%LOG%.%NWNM%" GoTO LPRN
IF Exist "%LOG%.%NWNM%" GoTO LPRN
REN "%DPLoc%\%LOG%" "%LOG%.%NWNM%"
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo %TIME% %DATE% >>%LOG%
Echo _ >>%LOG%
set LFTP=1
Echo Old log file "%DPLoc%\%LOG%" ReNamed to: "%LOG%.%NWNM%" >>%LOG%
Echo _ >>%LOG%
rem echo "%LOG%" "DP_Log-BkUp.%NWNM%"
rem pause
REM SRS 05/01/2009 If 32767 like-named backups made then InFinIte Loop will Result!!!!
GoTo NOXST3
:NOXST
rem section will backup/rename exising log file at system-drive_root
rem or for drive/directory specified
rem to prevent mixup of what is current log file
rem this section also prevents problems if input %1 log file specification is input as
rem full drive-path describing existing log file already in DPLoc directory
If Exist "%LOG%" ATTRIB -h -s -a -r "%LOG%" & GoTo LPRN2
GoTo NOXST2
:LPRN2
rem echo stop
rem pause
Set NWNM=%RANDOM%
rem Echo. & echo %NWNM%
rem pause
IF Exist "DP_Log-BkUp.%NWNM%" GoTO LPRN2
REN "%LOG%" "DP_Log-BkUp.%NWNM%"
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo %TIME% %DATE% >>%LOG%
Echo _ >>%LOG%
set LFTP=2
Echo Old log file "%LOG%" ReNamed to: "DP_Log-BkUp.%NWNM%" >>%LOG%
Echo -- If NO path specified for OLD then Re-Named file is located at: %SystemDrive%\ -- >>%LOG%
Echo _ >>%LOG%
REM SRS 05/01/2009 If 32767 like-named backups made then InFinIte Loop will Result!!!!
rem pause
GoTo NOXST3
:NOXST2
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
Echo %TIME% %DATE% >>%LOG%
Echo _ >>%LOG%
Echo _ >>%LOG%
:NOXST3
Set DPFL=%SystemDrive%\DPsFnshr.ini
rem SRS bug fix 3 lines below --%LOG-- of original file changed to --%LOG% SRS 05/01/2009
IF "%M%"=="1" (
  Echo. & Echo Prepareing the DriverPacks Finisher. Method 1 was found. & Echo.
 IF NOT "%DPLoc%"==%SystemDrive% Echo Copying Driverpacks Finisher files & COPY "%DPLoc%\." %SystemDrive%\ >>%LOG%
  rem SRS bug fix line above --%LOG-- of original file changed to --%LOG% SRS 05/01/2009
 rem pause
 rem create new blank DPsFnshr.ini file ( '>' starts NEW file)
 Echo [Settings] > %DPFL%
 rem now append via '>>' to DPsFnshr.ini file
 rem pause
 Echo DPsRoot = "%DPLoc%" >> %DPFL%
 Echo DPsRootDel = "false" >> %DPFL%
 Echo KTD = "false" >> %DPFL%
rem CD %DPLoc%\D
Echo KTDlocation = "%SystemRoot%\DriverPacks" >> %DPFL%
Echo logLocation = "%SystemRoot%" >> %DPFL%
  Echo. & Echo. & Echo Running the MicroSoft Driver Pack Installer now !
  Echo The progress window is minimized to the task bar & Echo. & Echo.
rem pause
rem SRS BUG Fix 05/01/2009 use instead actual path of %DPLoc%\D in DPInst.exe line below i.e -- DPInst.exe -- changed to %DPLoc%\D\DPInst.exe
   Start "MicroSoft Driver Pack Installer Tool Running" /wait /separate /realtime /min CMD /C %DPLoc%\D\DPInst.exe /c /s /sh /lm /el /sa
rem SRS BUG Fix 05/01/2009 don't use line above, -- use instead actual path of %DPLoc%\D\ in DPInst.exe line below
rem pause
)
IF "%M%"=="2" (
  Echo. & Echo Prepareing the DriverPacks now. Method 2 was found. & Echo.
 Start /wait /separate /high "" "%DPLoc%\bin\un7zip.exe" "%DPLoc%\DP*.7z" %SystemDrive%\
 COPY /Y "%DPLoc%\DPInst.*" %SystemDrive%\D\ >>%LOG%
 COPY /Y "%DPLoc%\*.ins" %SystemDrive%\ >>%LOG%
 "%DPLoc%\bin\un7zip.exe" "%DPLoc%\bin\*.7z" %SystemDrive%\
 Echo [Settings] > %DPFL%
 Echo DPsRoot = "%SystemDrive%" >> %DPFL%
 Echo DPsRootDel = "true" >> %DPFL%
rem %SystemDrive% & cd %SystemDrive%\D
 Echo KTD = "false" >> %DPFL%
Echo KTDlocation = "%SystemRoot%\DriverPacks" >> %DPFL%
Echo logLocation = "%SystemRoot%" >> %DPFL%
  Echo. & Echo. & Echo Running the MicroSoft Driver Pack Installer now !
  Echo The progress window is minimized to the task bar & Echo. & Echo.
rem pause
rem SRS BUG Fix 05/01/2009 use instead actual path of %SystemDrive%\D in DPInst.exe line below i.e -- DPInst.exe -- changed to %SystemDrive%\D\DPInst.exe
  Start "MicroSoft Driver Pack Installer Tool Running" /wait /separate /realtime /min CMD /C %SystemDrive%\D\DPInst.exe /c /s /sh /lm /el /sa
  )
  Echo. & Echo Running the DriverPacks.net Finisher now! & Echo.
rem Watch OUT !!!!!!!! ------------------------------------------------------------------------------------------
rem SRS 05/01/2009 --- DPsFnshr.exe deletes C:\TMP directory without WARNING!!!!! -
rem Watch OUT !!!!!!!! ------------------------------------------------------------------------------------------
rem %SystemDrive% & cd\ & Start /wait /separate /high "" DPsFnshr.exe
Start /wait /separate /high "" DPsFnshr.exe
 REM Log and Attended output section
rem SRS 05/01/2009 BUG Fix 'C:' line below was --: type F::\WINDOWS\DPINST.log --- changed to: type %SystemRoot%\DPINST.log
IF /I [%1] NEQ [Q] (
rem IF [%LOG%] NEQ [NUL] (
 Echo. & Echo Method%M% was found at: >>%LOG%
 Echo %DPLoc% >>%LOG%
  Echo _____________________________________________________ >>%LOG%
  Echo List INF's that were matched with this system >>%LOG%
  FOR /F "usebackq tokens=2,3*" %%G IN (`type %SystemRoot%\DPINST.log`) DO (
   If [%%G]==[Successfull] IF [%%H]==[installation] Echo %%G %%H %%I >>%LOG%
    )
rem )
 Echo ----------------------------------------------------- >>%LOG%
 Echo. & Echo The DriverPacks Stand Alone Drivers installation is complete!
 Echo  & Start /min sndrec32 /play /close %windir%\media\ding.wav
 Echo _____________________________________________________ >>%LOG%
 Echo Three Log files. Located at: >>%LOG%
 Echo [THIS log file] -- "%LOG%" >>%LOG%
  Echo -- If NO path is specified then log file is located at: %SystemDrive%\ -- >>%LOG%
 If [%LOG%] EQU [CON] echo Logged output to console *ONLY*, log file NOT saved!!!
 Echo ---------- >>%LOG%
 Echo [and logs] -- "%SystemRoot%\DPsFnshr.log", "%SystemRoot%\DPINST.LOG" >>%LOG%
  If [%LOG%] EQU [CON] GoTo NOXST4
 IF [%NWNM%] NEQ [NUL] (
 Echo _ >>%LOG%
 If [%LFTP%] EQU [1] Echo Old log file "%DPLoc%\%LOG%" ReNamed to: "%LOG%.%NWNM%" >>%LOG%
If [%LFTP%] EQU [2] (
 Echo Old log file "%LOG%" ReNamed to: "DP_Log-BkUp.%NWNM%" >>%LOG%
Echo -- If NO path specified for OLD then Re-Named file is located at: %SystemDrive%\ -- >>%LOG%
  rem IF [%NWNM%] NEQ [NUL] Echo Old log file "%DPLoc%\%LOG%" ReNamed to: "%LOG%.%NWNM%" >>%LOG%
                    )
  Echo _ >>%LOG%
                       )
 :NOXST4
 Echo ----------------------------------------------------- >>%LOG%
 REM SRS added 05/01/2009
If [%LOG%] NEQ [CON] Start notepad %LOG%
rem IF /I [%INPT1%] NEQ [V]
rem ECHo %1%
rem Echo %INPT1%
rem Echo %LOG%
rem pause
  rem Start notepad %LOG%
   )
GoTo Done
rem SRS 05/01/2009 BUG Fix 'C:' line below was -- type F::\WINDOWS\DPINST.log --- changed to type C:\WINDOWS\DPINST.log
rem BUG fix testing SRS 05/01/2009 post (after) :Done
pause
Echo. & Echo Method%M% was found at: >>%LOG%
  Echo %DPLoc% >>%LOG%
  Echo List INF's that were matched with this system >>%LOG%
  FOR /F "usebackq tokens=2,3*" %%G IN (`type C:\WINDOWS\DPINST.log`) DO (
   If [%%G]==[Successfull] IF [%%H]==[installation] Echo %%G %%H %%I >>%LOG%)
pause
:Done
If [%LOG%] EQU [NUL] echo NO Logged output, NO Log file!!! Nothing Logged!!!!! & EXIT
rem remove -- & EXIT -- of above line for 30 second wait even with Q quiet mode
If [%LOG%] EQU [CON] echo Logged output to console only, log file not saved. & pause
Echo. & Echo This window will close itself in 30 seconds... & Echo.
 For /l %%A in (1,1,30) do (<nul (set/p z=#) & >nul ping 127.0.0.1 -n 2 )
rem pause
EXIT
No tags attached.
zip DP_Install_Tool-SRS-new.zip (4,034) 2009-05-15 18:58
http://bugtracker.driverpacks.net/file_download.php?file_id=367&type=bug
Issue History
2009-05-15 18:58cfpNew Issue
2009-05-15 18:58cfpStatusnew => assigned
2009-05-15 18:58cfpAssigned To => OverFlow
2009-05-15 18:58cfpFile Added: DP_Install_Tool-SRS-new.zip
2009-05-15 18:58cfpDestination OS Platform => wnt5_x86-32 (applies to all OSes of this platform)
2009-05-15 18:58cfpInstallation Platform => not applicable
2009-05-15 18:58cfpDriverPacks => all
2009-05-15 18:58cfpDriverPacks Method => not applicable
2009-05-15 18:58cfpDriverPacks Finisher Method => not applicable
2009-05-16 03:11OverFlowNote Added: 0000896
2009-05-16 03:11OverFlowStatusassigned => resolved
2009-05-16 03:11OverFlowResolutionopen => fixed
2009-05-16 03:12OverFlowNote Edited: 0000896
2009-05-16 12:19OverFlowNote Edited: 0000896
2009-05-16 12:20OverFlowNote Edited: 0000896
2009-05-16 12:22OverFlowNote Edited: 0000896
2009-05-16 12:24OverFlowNote Edited: 0000896
2009-05-16 12:25OverFlowNote Edited: 0000896
2009-05-16 12:31OverFlowNote Edited: 0000896
2009-05-16 12:34OverFlowNote Edited: 0000896
2009-05-16 12:35OverFlowNote Edited: 0000896
2009-05-16 12:38OverFlowNote Edited: 0000896
2009-05-16 12:41OverFlowNote Edited: 0000896

Notes
(0000896)
OverFlow   
2009-05-16 03:11   
(edited on: 2009-05-16 12:41)
the script is designed to be an example for users

if you look at the to do list http://forum.driverpacks.net/viewtopic.php?id=71 [^]

  - [beta] - Option for install by HWIDs tool or dp_inst_tool
  - Add GUI for Driver selection menu
  - convert two (three) tools to a single classier and proper EXE
      the script / tutorial dp_inst_tool has outlived it's usefulness

that script will be replaced with an EXE in the next version of base.
I am glad the tool was able to demonstrate to you the outline of the process so you could make it work for you! That was our intention and it's purpose. If you will search the forum you will find other complex examples of our users versions too. At that time I was simplifying it with each pass not enhancing it, but stripping it down into it's simplest form. And this is discussed in several locations on the forum. Since most of your changes do not make it more simple they would not have been used. ;) the two bugs noted i would have done but as i said it is being replaced.

Again, the point of the dp_inst script is / was to be a 'simple' example for users to customize. Apparently it worked as designed... You had no problem at all following it and customizing it to your needs! So it would seem it has served us and you exactly as it was designed to do :) That much is a win and not a bug. lol
the correct upgrade for this is a proper GUI not a script.

PS your file is four times the size of the original ;)
(do you work for Microsoft?)
PSS contrary to your title these bugs do not prevent proper execution...
the systems drivers are updated, so it does properly execute and perform it's primary function. Logging is just a frill / option :D

Closed