This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Creating a 'Full' Sophos Cloud Windows installer to minimize initial bandwidth utilization

Hi

I am following the article at https://www.sophos.com/en-us/support/knowledgebase/121318.aspx for deployment of the Sophos Cloud application to my organisation. I have 250 computers at 1 office that has a 10mbit internet pipe.

The OS we are using are Win 7 32 & 64bit.

The issue we are having is that using the steps in the KB article (listed below) the application is pulling 270mb from Sophos on install which is absolutely flooding our link.

Does anyone know what the problem is?

I have 3 files.

SophosInstall.exe (15,320KB) - Downloaded today 24/11/2015
SophosInstall.vbs
warehouse.zip (199,098KB) - Created today 24/11/2015

The program will be deployed via SCCM 2007. 

The command line we are using in SCCM is wscript.exe SophosInstall.vbs. We are not using cscript.exe //b //nologo SophosInstall.vbs has mentioned in the KB article. For testing we are just running the wscript.exe SophosInstall.vbs in a .bat file and executing as local administrator. The cscript command has also been tried but the outcome was the same.

 

Below is the SophosInstall.vbs file, there have been some modifications made because we had issues with the application extracting with the Sophos End User Protection (legacy product, we are moving to cloud)


'Script to install Sophos Cloud software using an archive of a warehouse to save initial bandwidth
option explicit

on error resume next - This line has been deleted from the script

'Constants
const ALL_USERS_APPLICATION_DATA = &H23&

'Global objects
dim objFSO : set objFSO = CreateObject("Scripting.FileSystemObject")
dim objShell : set objShell = CreateObject("WScript.Shell")
dim objShellApp : set objShellApp = CreateObject("Shell.Application")

'Global variables
dim strWarehouseDirectory : strWarehouseDirectory = ""
dim strApplicationData : strApplicationData = ""
dim strWarehouseLocation : strWarehouseLocation = "\Sophos\AutoUpdate\data\"
dim strSourceFile : strSourceFile = objFSO.GetAbsolutePathName(".") & "\warehouse.zip"
dim strCommandToInstall : strCommandToInstall = "SophosInstall.exe -q"

dim strRun

'Get future "Warehouse" location
strApplicationData = GetAppData()

if strApplicationData <> "-1" then
strWarehouseDirectory = strApplicationData & strWarehouseLocation
else
'Failed to get valid application data directory.
wscript.quit(1)
end if

'Unpack warehouse archive to directory
Unpack strSourceFile, strWarehouseDirectory

'Run the command to install Sophos Cloud endpoint software
objShell.run strCommandToInstall, 10, true

'Tidy up
set objFSO = nothing
set objShell = nothing
set objShellApp = nothing

'Functions ----------------------------------------------------------------------------
'--------------------------------------------------------------------------------------
Function GetAppData()

dim objFolder : set objFolder = objShellApp.Namespace(ALL_USERS_APPLICATION_DATA)
dim objFolderItem : set objFolderItem = objFolder.Self

dim strPath : strPath = objFolderItem.Path

if strPath = "" then
GetAppData = "-1"
else
GetAppData = strPath
end if

set objFolder = nothing
set objFolderItem = nothing

End Function
'--------------------------------------------------------------------------------------

'--------------------------------------------------------------------------------------
Function Unpack(strSourceFile, strLocation)

if objFSO.FolderExists(strLocation) Then
'Delete the Folder (for some reason, objFSO.deleteFolder didn't work)
strRun = "cmd /c rd /s /q """ & strLocation & """"
objShell.Run strRun, 1, True
end If

 ## The above command was added ##

if not objFSO.FolderExists(strLocation) Then
CreateFolderStructure(strLocation)
end If

dim objFiles : set objFiles = objShellApp.NameSpace(strSourceFile).items
objShellApp.NameSpace(strLocation).CopyHere objFiles, 4

set objFiles = nothing

End Function
'--------------------------------------------------------------------------------------

'--------------------------------------------------------------------------------------
Function CreateFolderStructure(strDirs)

if not objFSO.FolderExists(strDirs) then
CreateFolderStructure objFSO.GetParentFolderName(strDirs)
objFSO.CreateFolder strDirs
end if

End Function
'--------------------------------------------------------------------------------------

 



This thread was automatically locked due to age.