Install ClamAV on Windows with MSI: Download, Update and Scan
A practical Windows guide using the official download portal and PowerShell.
עבריתStart with the official download portal
Open the ClamAV download portal and select a supported Windows MSI matching the machine architecture: x64 for most Intel/AMD systems, ARM64 for compatible ARM devices. Check Windows Settings → System → About first. Use the current supported release rather than copying an old version number from a tutorial. Avoid repackaged installers from download aggregators.
Install the MSI
Open the downloaded .msi, approve the Windows installer prompt and complete the wizard. This guide assumes the installation directory is C:\Program Files\ClamAV; adapt the commands if you chose another location. This is a command-line toolkit, not a desktop control panel. Keep your existing real-time protection enabled: this Windows setup is an additional on-demand scanner.
Prepare the signature configuration
Open PowerShell as administrator for this initial setup. The following copies the official sample to a dedicated data directory; do not overwrite an existing configuration you already maintain.
$Clam = 'C:\Program Files\ClamAV'
$Data = 'C:\ProgramData\ClamAV'
New-Item -ItemType Directory -Force -Path $Data | Out-Null
Copy-Item "$Clam\conf_examples\freshclam.conf.sample" "$Data\freshclam.conf"
notepad.exe "$Data\freshclam.conf"In Notepad, remove the standalone Example line. Set or uncomment the following entries, keeping only one active entry for each setting, then save:
DatabaseDirectory "C:\ProgramData\ClamAV\database"
DatabaseMirror database.clamav.netDownload signatures before scanning
In the same PowerShell window, run the following. The first update may take time. A successful download is required before a meaningful scan; an MSI installation alone is insufficient.
New-Item -ItemType Directory -Force -Path "$Data\database" | Out-Null
& "$Clam\freshclam.exe" --config-file="$Data\freshclam.conf"
& "$Clam\clamscan.exe" --versionScan your Downloads folder
Open a normal PowerShell session as the user whose files you want to scan and run:
& 'C:\Program Files\ClamAV\clamscan.exe' --database='C:\ProgramData\ClamAV\database' --recursive --infected "$env:USERPROFILE\Downloads"
$ScanResult = $LASTEXITCODE
$ScanResultExit code 0 means no detection in the scan, 1 means a detection, and 2 means an error. Read the summary for skipped files or access errors. The example reports findings and does not delete files. Investigate a detection before deciding how to isolate or remove the file.
Update regularly and understand failures
FreshClam updates the signatures; upgrading the scanning engine is a separate maintenance task. For this manual setup, run the updater before each scanning session. For recurring updates, an administrator can configure Task Scheduler with the executable path and the same configuration argument, then monitor successful completion. Do not allow untrusted users to modify an elevated task or its configuration.
Common problems
If a command is not found, check the installation path and use the full path shown above. A configuration error often means the Example line remains active. Missing databases require a successful FreshClam update and matching database paths. For download failures, inspect proxy, DNS and network settings; follow server retry instructions rather than repeatedly forcing requests. Use the documentation linked below for your installed release.
A scanner is one layer
Do not disable real-time protection just to install this toolkit. A manual scan does not intercept every new download or running process. Keep backups, review unexpected attachments and maintain Windows updates. The companion article discusses privacy and vendor trust: ClamAV, transparency and Kaspersky.