Offline installation for Windows Server 2019 / 2022
The following guide will explain how to install MetaDefender for Secure Storage and its dependencies on machines with limited or no internet connectivity. A machine connected to the internet will be needed to download the dependencies manually and copy them to the offline machine.
Installing .NET Framework 4.8
Download the .NET Framework 4.8 offline installer from the following link and copy it to the offline machine:
https://go.microsoft.com/fwlink/?LinkId=2088631
Run the installer on the offline machine.
Installing Docker and Docker Compose
To be able to install the dependencies offline, you need a machine connected to the internet to download the required packages. Later, the packages will be copied to the offline machine.
To download the dependencies, run the following commands:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest "https://download.docker.com/win/static/stable/x86_64/docker-20.10.9.zip" -UseBasicParsing -OutFile <Your download path>\docker-20-10-9.zip
Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile <Your download path>\docker-compose.exe
Invoke-WebRequest -Uri "https://github.com/linuxkit/lcow/releases/download/4.14.29-0aea33bc/release.zip" -UseBasicParsing -OutFile <Your download path>\lcow_0.3.9.zip
Then go to your download path and copy the following files and folders to the offline machine to the specified paths:
docker-compose.exe
(C:\Program Files\Docker\docker-compose.exe)docker-20-10-9.zip
(must be copied to the working directory from where you will run the commands below)lcow_0.3.9.zip
(must be copied to the working directory from where you will run the commands below)
After you have copied the files previously downloaded, you need to run the following commands on the offline machine:
Expand-Archive docker-20-10-9.zip -DestinationPath $Env:ProgramFiles -Force
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\docker", "Machine")
$Env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")
New-Item -Path C:\ProgramData\docker\config\ -ItemType Directory
$configfile = @"
{
"experimental": true
}
"@
$configfile | Out-File -FilePath C:\ProgramData\docker\config\daemon.json -Encoding ascii -Force
Expand-Archive lcow_0.3.9.zip -DestinationPath "C:\Program Files\Linux Containers\."
Move-Item -Path "C:\Program Files\Linux Containers\bootx64.efi" -Destination "C:\Program Files\Linux Containers\kernel"
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
[Environment]::SetEnvironmentVariable("LCOW_API_PLATFORM_IF_OMITTED", "linux", "Machine")
dockerd --register-service
Finally, restart the machine.
Pulling Docker images
MetaDefender for Secure Storage consists of multiple Docker images. These images need to be pulled from an online repository (Docker Hub). You can find the latest docker images here:
- Latest v3 release: https://metascanbucket.s3.amazonaws.com/Metadefender/MetaDefender_Secure_Storage_resources_v3/l/deployment.zip
The next step is to extract and copy the mdcs.tar archive to the offline machine and load the images. You can do that with the following command:
docker load -i <archive_path>\mdcs.tar
Run the MetaDefender for Secure Storage installer
After all the prerequisites above have been set up, you can finally run the MetaDefender for Secure Storage installer to complete the installation.