Jump to content

Scripting install with driver


Recommended Posts

I tried to search for this issue but wasn't quite sure what terms to use. I have written a program that searches for software to install, if they are found, install it, then after everything is done it displays a MsgBox that says it is done. I've encountered a problem with a certain program (Sentelic Touch Pad software) that tries to install a driver that isn't signed. It would appear that the setup program spawns the driver install and then exits. Since the driver install is not automated, it sits on the screen and the installer finishes:

Posted Image

The installer command is pretty simple:

If FileExists ( "c:\temp\sfspd\setup.exe") Then
    RunWait (@ComSpec & " /c c:\temp\sfspd\setup.exe /S /v/qn")
EndIf
MsgBox ( 4096, "Complete", "The installer is finished. Click OK to reboot...")

I've encountered other installers that try to install unsigned drivers when run manually, but don't put this prompt up. So basically what I need is for the MsgBox to show up after that particular install is technically finished. I would prefer that the MsgBox shows up after the driver is installed. I do not necessarily need to automate that driver prompt.

All installs are done on Windows 7. I am unable to make changes to the OS, such as to allow for unsigned drivers to be installed automatically. UAC is not enabled when the installer runs. Any ideas?

Link to comment
Share on other sites

You could stop new hardware wizard before instaling drivers and start it after ! Posted Image

_StopService ( "ShellHWDetection" )
; do your install 
_StartService ( "ShellHWDetection" )

Func _StartService ( $_ServiceName )
    RunWait ( @ComSpec & ' /c net start "' & $_ServiceName & '"', "", @SW_HIDE )
EndFunc ;==> _StartService ( )

Func _StopService ( $_ServiceName )
    RunWait ( @ComSpec & ' /c net stop "' & $_ServiceName & '"', "", @SW_HIDE )
EndFunc ;==> _StopService ( )

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Well that kinda works, but the screen then shows up after I start the service again. I will experiment, maybe I will re-enable the service after the next reboot instead and see what happens.

Edit: Scratch that. Even with that service disabled, the box still appears.

Edit2: The driver is installed by another program, DPInst32.exe. The driver prompt only appears in 32bit Windows, because on 64bit it won't even attempt to install an unsigned driver. I solved it by delaying the finish prompt by waiting for the other program to finish, which would once something was pressed. It was the only way around the issue...

RunWait (@ComSpec & " /c c:\temp\sfspd\setup.exe /S /v/qn")
    ProcessWaitClose ("DPInst32.exe")
Edited by Tripredacus
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...