A common request in these threads is how to deploy software, so heres my take on it.
Allows you to download a file and run parameters to silently install it.
Once again, this will be more useful when GFI implements the ability to run a script once off.
As for what switches to Install the files you will need to find yourselves.
You can check out which has a lot of command switches for popular software.
'------------------------------------------------------------------------------
' silent_install.vbs
'------------------------------------------------------------------------------
' Script that will download and install software.
'------------------------------------------------------------------------------
'Usage: silent_install.vbs /URL: /Execute: /SaveTo: /Overwrite:[True/False]
'
' URL: File To download
' Execute: Command to install
' (Optional) SaveTo: Folder to download File
' (Optional) Overwrite: Overwrite file if already Exists
'
' ex: silent_install /URL:"http://fs10.filehippo.com/5277/b168ef4247da470195bae799a4a9df0d/ccsetup316.exe" /Execute:"ccsetup316.exe /S"
'
'------------------------------------------------------------------------------
' Author: Jake Paternoster
' Created: 21/03/2012 (Info@Screwloose.com.au)
'------------------------------------------------------------------------------
strURL = WScript.Arguments.Named("URL")
strExecute = WScript.Arguments.Named("Execute")
strSaveTo = WScript.Arguments.Named("SaveTo")
If LCase(WScript.Arguments.Named("Overwrite")) = "true" Then blnOverwrite = True
If strURL = "" Or strExecute = "" Then
usage
End If
If strSaveTo = "" Then
strSaveTo = WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2)
End If
' Create a File System Object
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
' Check if the specified target file or folder exists,
' and build the fully qualified path of the target file
If objFSO.FolderExists(strSaveTo) Then
strFile = objFSO.BuildPath(strSaveTo, Mid(strURL, InStrRev(strURL, "/" ) + 1 ) )
ElseIf objFSO.FolderExists(Left(strSaveTo, InStrRev(strSaveTo, "\" ) - 1 ) ) Then
strFile = strSaveTo
Else
WScript.Echo "ERROR: Target folder not found."
WScript.Quit(2)
End If
If blnOverwrite = "" Then
blnOverwrite = False
End If
If objFSO.Fileexists(strFile) And blnOverwrite = False Then
WScript.Echo strFile & " Already Exists!"
WScript.Echo "Exiting..."
WScript.Quit(0)
ElseIf objFSO.Fileexists(strFile) And blnOverwrite = True Then
WScript.Echo strFile & " Already Exists!"
WScript.Echo "Forcing Overwrite..."
objFSO.DeleteFile strFile
End If
WScript.Echo "Downloading " & strURL & " to " & strSaveTo
HTTPDownload strURL, strFile
Set oCmd = CreateObject("Wscript.Shell")
commandLine = "%comspec% /c " & strSaveTo & "\" & strExecute
WScript.Echo "Running " & commandLine
oCmd.Run commandLine, 0, True
WScript.Quit(0)
Sub usage
'------------------------------------------------------------------------------
WScript.Echo "Usage: silent_install.vbs /URL: /Execute: /SaveTo: /Overwrite:[True/False]"
WScript.Echo " "
WScript.Echo "URL: File To download"
WScript.Echo "Execute: Command to install"
WScript.Echo "(Optional) SaveTo: Folder to download File"
WScript.Echo "(Optional) Overwrite: Overwrite file if already Exists"
WScript.Echo " "
WScript.Echo " ex: silent_install /URL:""http://fs10.filehippo.com/5277/b168ef4247da470195bae799a4a9df0d/ccsetup316.exe"" /Execute:""ccsetup316.exe /S"""
WScript.Quit(1)
End Sub
Sub HTTPDownload(myURL, strFile)
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", myURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
objADOStream.SaveToFile strFile
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
End Sub