Deploying Coro on Windows devices

This guide describes the process for deploying the Coro Agent to Windows devices.

Prerequisites and system requirements

Before you begin, make sure your Windows device meets the following prerequisites:

  • Coro Security Platform utilizes a Bitdefender Software Development Kit (SDK). To avoid conflicts that may interfere with the installation of the Coro Agent, Bitdefender and any other antivirus software based on Bitdefender must be uninstalled prior to installing the Coro Agent.
  • Windows devices must meet the minimum specifications .
  • You must have administrative permissions to install applications on your Windows device.

Deployment options

Install the Coro Agent through one of the processes described below:

note

For details on upgrading the Agent software, see Upgrading the agent.

Downloading and installing the Agent

To download and install (or upgrade) the Coro Agent, follow these steps:

  1. Sign into the Coro console .
  2. Select Control Panel :

    Control Panel

  3. Select Devices > Agent Deployment .

    The Coro Agent deployment list appears:

    Windows Agent list

  4. Scroll down to the Windows section.
  5. Select ACTIONS :

    Actions Button

    Admin users can perform the following actions:

    • Obtain a download link URL for the Agent installer:
      1. Select Copy link .
      2. A Copy Download Link dialog is displayed, which contains a URL link to the Agent installation file:

        Download Link

      3. Select COPY .

        The download link is copied to your clipboard.

      4. Paste the link into a web browser and follow the instructions to install.
      note

      Admin users can distribute this link to endpoint device users for direct installation of the Agent. Additionally, they can use the same link for mass deployment through appropriate tools.

    • Download the Agent installer file:
      1. Select Download .

        The Agent installation file is downloaded to your local device.

        warning

        Do not rename the downloaded Agent installation file.

      2. After the download is complete, open the installation file and follow the instructions to install.

    After completing the installation, the Agent may download additional updates:

    Updates Banner

  6. After the installation and update process completes, open the Agent from the Windows system tray:

    Agent Icon

    Coro is now the primary antivirus (AV) software for the device and is listed as an authorized Windows Security Center (WSC) provider in the Virus & threat protection section of the Windows Security component:

    Windows Security Center provider

    Important

    To register Coro as an authorized WSC provider, your device must have:

    • Coro Agent v3.2 (beta 2.5.65.1) or later installed.
    • Windows 10 or later installed.
    note

    After the installation is complete, ensure you disable any firewall rules that may interfere with Coro Agent connectivity.

Known issues

  • The Coro Agent might not appear immediately in Windows Security Center (WSC) after deployment.

    To verify the WSC registration of the Coro Agent:

    1. Run the following PowerShell command:
      Copy
      Copied
      Get-WmiObject -Namespace "root\SecurityCenter2" -Class "AntiVirusProduct"
    2. Locate displayName: Coro Endpoint Protection :

      WSC registration

      The Coro Agent is confirmed as an authorized WSC provider.

See also:

Configuring endpoint monitoring (Optional)

In addition to its basic functions, Coro provides specific endpoint monitoring capabilities that you can enable or disable.

To configure your endpoint monitoring settings, log in to your Coro console and select Control Panel > Devices > Settings. To learn more, see Protection Settings.

These settings apply to all devices in the workspace.

Using the Coro deployment script

Coro also provides the following PowerShell deploy script to enable organizations to install the Coro Agent to their Windows devices either individually or through Remote Monitoring and Management (RMM) tools:

Expand for more details
Copy
Copied
#Please add Coro installation URL below (in between quotes "")

$url = "please paste Coro download URL here, but don't delete the quotes"

###NO NEED TO AMEND ANYTHING BELOW THIS LINE###

#Elevate the script, if not elevated

$elevated = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")

if (-not $elevated) {
    
    try {
    
        Write-Host "This Powershell instance is not elevated. Elevating now..."
        $args = "-ExecutionPolicy Bypass", "-File `"" + $myinvocation.MyCommand.Path + "`" " + $myinvocation.UnboundArguments
        Start-Process powershell -Verb runAs -ArgumentList $args
        exit
    
    } catch {
    
        Write-Host "Error while trying to elevate: $($_.Exception.Message) (Error code: $($_.Exception.HResult))" -ForegroundColor Cyan
        Write-Host""
        Write-Host"The script requires elevated permissions, please run it as Administrator" -ForegroundColor Cyan
        Start-Sleep -Seconds 3
        exit 1
    }

} else {

    Write-Host ""
    Write-Host "This instance is now elevated, proceeding to the next step"
    Write-Host ""
}

#Variables

$softwareName = "Coro"
$logFilePath = "C:\Windows\Temp\CoroInstallerlog.txt"

#Display OS version

try {

Write-Host ""
Write-Host ""
$operatingSystem = Get-CimInstance -ClassName Win32_OperatingSystem
$osVersion = $operatingSystem.Version
$osEdition = $operatingSystem.Caption
$osArchitecture = $operatingSystem.OSArchitecture
$OSVersion = "$osEdition $osArchitecture $osVersion"
Write-Host "$OSVersion"

    } catch {
}

#Extract file name from the URL

$filename = [System.IO.Path]::GetFileName([System.Uri]$url)

if ($filename -match 'CoroInstaller_(.*?)\.msi') {

    $newFilename = "CoroInstaller_$($matches[1]).msi"
    $msiFilePath = "C:\Windows\Temp\$newFilename"

    } else {

    Write-Host ""
    Write-Host "Could not trim the URL" -ForegroundColor Cyan
    Write-Host "Please contact Support and send a screenshot of this output" -ForegroundColor Cyan
    Start-Sleep -Seconds 5
    exit 1
}

#Download Coro installer

Write-Host ""
Write-Host "Downloading $newFilename file"
Write-Host "This might take some time, depending on download speed"

$webClient = New-Object System.Net.WebClient

try {
    
    $webClient.DownloadFile($url, $msiFilePath)
    Write-Host "Done! The file placed in C:\Windows\Temp" -ForegroundColor Green

} catch {

    Write-Host "Error when downloading. Error message: $($_.Exception.Message)" -ForegroundColor Cyan
    Write-Host "Please contact Support and send a screenshot of this output" -ForegroundColor Cyan
    Start-Sleep -Seconds 5
    exit 1
}

$webClient.Dispose()

#Install the downloaded file

try {
        Write-Host ""
        Write-Host "Installing $softwareName"
        $coroInstall = Start-Process msiexec.exe -PassThru -Wait -ArgumentList "/i `"$msiFilePath`" /qn /L*V `"$logFilePath`""				
        $exitCode = $coroInstall.ExitCode
                                
        if ($exitCode -eq 0) {
                
        Write-Host "Done!" -ForegroundColor Green
        Start-Sleep -Seconds 1
        $success = $true

        } elseif ($exitCode -eq 1619) {
            
        Write-Host "Installation failed because of value of msiFilePath variable" -ForegroundColor Cyan
        Write-Host "Error code: $exitCode" -ForegroundColor Cyan
        Write-Host "Please contact Support and send $logFilePath log file along with a screenshot of this output" -ForegroundColor Cyan
        Remove-Item -Path $msiFilePath -Force -Confirm:$false
        Start-Sleep -Seconds 10
            
        exit 1
        
        } elseif ($exitCode -eq 1639) {
            
        Write-Host "Installation failed because of incorrect argument(s) (-ArgumentList in coroInstall variable)" -ForegroundColor Cyan
        Write-Host "Error code: $exitCode" -ForegroundColor Cyan
        Write-Host "Please contact Support and send a screenshot of this output" -ForegroundColor Cyan
        Remove-Item -Path $msiFilePath -Force -Confirm:$false
        Start-Sleep -Seconds 10
            
        exit 1
        
        } else {

        Write-Host "Installation failed, error code: $exitCode" -ForegroundColor Cyan
        Write-Host "Please contact Support and send $logFilePath log file along with a screenshot of this output" -ForegroundColor Cyan
        Remove-Item -Path $msiFilePath -Force -Confirm:$false
        Start-Sleep -Seconds 10
        exit 1
        
        }
            
    } catch { }
        
#Display success message

if ($success -eq $true) {

Remove-Item -Path $logFilePath -Force -Confirm:$false
Remove-Item -Path $msiFilePath -Force -Confirm:$false

Write-Host ""
Write-Host "Deleting installation and log files as these are no longer required"
Write-Host "All done, $softwareName is now installed"  -ForegroundColor Green
Start-Sleep -Seconds 5

} else { }

In this script, replace the following markers with real values:

  • $url : The download URL for the latest version of the Coro Agent installer for Windows, obtained from the Coro console. For details, see Deploying Coro on windows endpoints .

Standard deployment script variables

For example:

https\://s3.amazonaws.com/client-repo.coro.net/beta/win/releases/2.0.412.1/CoroInstaller.msi?response-content-disposition=attachment%3B%20filename%3DCoroInstaller_123abc-456def-789abc.msi&AWSAccessKeyId=AKIA5XP6&Signature=y4V3Tq2dU9mE%3D&Expires=2005954595

Standard deployment script variables populated

Important

Make sure you do not delete the quotations when replacing the placeholder text for \$url.

note

If you manage multiple workspaces, you must create a copy of the standard Coro deployment script and repeat this process for each workspace.