Repository navigation
Installation Guide
This guide covers the requirements and various methods for installing Servy on Windows systems.
Servy is provided in two distinct builds to ensure compatibility across modern and legacy Windows environments.
- Modern Build (.NET 10.0+): Best for Windows 10, 11, and modern Windows Server.
- Legacy Build (.NET Framework 4.8): Best for Windows 7, 8, and older Server editions.
Caution
Administrator privileges are required to install Servy and to manage Windows services.
| Feature | .NET 10.0+ Version (x64) | .NET 10.0+ Version (ARM64) | .NET Framework 4.8 Version (Legacy x64) |
|---|---|---|---|
| Filename | servy-x.x-x64-installer.exe |
servy-x.x-arm64-installer.exe |
servy-x.x-net48-x64-installer.exe |
| OS Support | Windows 10 (1809+), 11, Server 2016+ | Windows 11 on ARM, Windows on ARM | Windows 7 SP1, 8.x, Server 2008 R2+ |
| Dependencies | None (Self-contained) | None (Self-contained) | .NET Framework 4.8 |
| Performance | Optimized (Modern Runtime) | Native ARM64 (Optimized Runtime) | Standard (Legacy Runtime) |
Note on Legacy OS: While the .NET 10.0 build may run on Windows 7, it is unsupported. For Windows 7 SP1 or Windows Server 2008 R2, you must use the .NET Framework 4.8 build to ensure stability.
You have two paths to install Servy: use a package manager if your environment supports it, or download the installer and install it manually when you need full control over the setup process.
WinGet
winget install servyChocolatey
choco install -y servyScoop
scoop bucket add extras
scoop install servyPatch My PC
Servy is available in the official Patch My PC catalog for enterprise automated deployment and updates via Microsoft Intune and ConfigMgr (SCCM).
Note
Legacy OS Support (Windows 7 SP1 / 8.x / Server 2008 R2): Package managers carry the self-contained modern build. For older platforms, download servy-x.x-net48-x64-installer.exe or servy-x.x-net48-x64-portable.7z directly from GitHub Releases (requires .NET Framework 4.8).
The installer's Add Servy to PATH option (Additional Options page, enabled by default, requires the CLI component) adds the Servy directory to the system PATH, so servy-cli runs from any elevated Command Prompt or PowerShell session. Clear it to leave PATH untouched; uninstalling removes the entry only if the installer added it. The portable package makes no PATH change - add its directory yourself, or use Scoop, which puts servy-cli on PATH through its own shim.
- Download the latest release.
- Run the installer (you will be prompted for admin rights).
- Launch Servy from the Start Menu or desktop shortcut.
You can install Servy silently (without any UI) from an administrator command prompt using the following commands:
# For .NET 10.0+ (x64)
.\servy-<version>-x64-installer.exe /VERYSILENT /NORESTART /SUPPRESSMSGBOXES /SP- /CLOSEAPPLICATIONS /NOCANCEL
# For .NET 10.0+ (ARM64)
.\servy-<version>-arm64-installer.exe /VERYSILENT /NORESTART /SUPPRESSMSGBOXES /SP- /CLOSEAPPLICATIONS /NOCANCEL
# For .NET Framework 4.8
.\servy-<version>-net48-x64-installer.exe /VERYSILENT /NORESTART /SUPPRESSMSGBOXES /SP- /CLOSEAPPLICATIONS /NOCANCELUsing PowerShell:
# For .NET 10.0+ (x64)
Start-Process -FilePath ".\servy-<version>-x64-installer.exe" -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /CLOSEAPPLICATIONS /NOCANCEL' -Verb RunAs -Wait
# For .NET 10.0+ (ARM64)
Start-Process -FilePath ".\servy-<version>-arm64-installer.exe" -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /CLOSEAPPLICATIONS /NOCANCEL' -Verb RunAs -Wait
# For .NET Framework 4.8
Start-Process -FilePath ".\servy-<version>-net48-x64-installer.exe" -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /CLOSEAPPLICATIONS /NOCANCEL' -Verb RunAs -Wait
# Refresh PATH in current session
$env:Path = (((
[Environment]::GetEnvironmentVariable('Path', 'Machine'),
[Environment]::GetEnvironmentVariable('Path', 'User')
) -join ';').Split(';', [StringSplitOptions]::RemoveEmptyEntries) |
Select-Object -Unique) -join ';'You need to wait a little while for Servy to finish installing.
If you face any issues, enable logging by adding the following option:
/LOG="servy-install.log"
To install the CLI only, use these options:
/SetupType=custom /Components=install_cli
To install the desktop app only, use these options:
/SetupType=custom /Components=install_main_app
To install the manager app only, use these options:
/SetupType=custom /Components=install_manager
To install the desktop app and CLI only, use these options:
/SetupType=custom /Components=install_main_app,install_cli
To install the manager app and CLI only, use these options:
/SetupType=custom /Components=install_manager,install_cli
To specify a custom installation directory, use the /DIR parameter from the command line:
.\servy-<version>-x64-installer.exe /VERYSILENT /DIR="C:\Your\Custom\Path" /NORESTART /SUPPRESSMSGBOXES /SP- /CLOSEAPPLICATIONS /NOCANCELUsing a custom path will not allow you to bypass the need for administrative rights. The installer executable is compiled with PrivilegesRequired=admin, which causes Windows to automatically trigger a UAC prompt and require elevated credentials before execution starts. Beyond writing files, the setup routine performs system-level configuration such as updating HKLM registry keys and setting strict ACLs on the %ProgramData%\Servy directory via icacls.exe.
If you also want to prevent the installer from modifying the system PATH environment variable, you can explicitly deselect the addpath task using /MERGETASKS="!addpath". If you want to skip all optional tasks entirely, including both the PATH update and desktop shortcuts, you can pass an empty task list using /TASKS="".
If you do not have administrative access on the target machine, you will not be able to use the .exe installer at all. In that scenario, you should use the portable package instead (servy-<version>-x64-portable.7z). The portable archive can be extracted and executed directly from any folder where your user account has standard write access, such as %LOCALAPPDATA% or a user folder, without requiring elevation or installer scripts.
You can uninstall Servy silently (without any UI) from an administrator command prompt using the following command (PowerShell):
# Default location; adjust the path if Servy was installed to a custom directory
& "$env:ProgramFiles\Servy\unins000.exe" /VERYSILENT /NORESTART /SUPPRESSMSGBOXES| Switch | Description |
|---|---|
/VERYSILENT |
Installs completely silently with no wizard or progress windows. |
/NORESTART |
Prevents automatic system restart after installation. |
/SUPPRESSMSGBOXES |
Suppresses all message boxes, including errors, during installation. |
/SP- |
Disables the "This will install..." startup prompt. |
/CLOSEAPPLICATIONS |
Asks running apps to close if they block files. |
/NOCANCEL |
Prevents the user from canceling the installation. |
Servy's executables and installers are digitally signed by SignPath (see Security). It performs only standard installation tasks and does not contain malware, adware, or unwanted software. Release binaries are scanned on VirusTotal, and false-positive reports are submitted to Microsoft Security Intelligence and affected AV vendors. Servy is published in the Windows Package Manager (WinGet), Chocolatey, Scoop, and Patch My PC enterprise catalog. Before running a downloaded installer, you can check its signature under Properties > Digital Signatures.
To ensure smooth operation of the Servy Windows services, it is recommended to add the following folders to your Microsoft Defender or third-party antivirus exclusion list:
%ProgramData%\Servy
%ProgramFiles%\Servy
This prevents antivirus software from interfering with the execution of service binaries managed by Servy.
Starting with v9.1, Servy uses a hybrid single-file execution approach. Managed C# assemblies (like Servy.CLI.dll, Servy.dll, Servy.Manager.dll, Servy.Service.dll, and Servy.Restarter.dll) are no longer extracted to %TEMP%\.net. Instead, they are loaded directly into memory from the main executables (servy-cli.exe, Servy.Manager.exe, etc.), which are all fully Authenticode signed.
Servy only extracts unmanaged native C/C++ binaries to %TEMP% (which Windows LoadLibrary requires). This prevents security software from intercepting and flagging dynamically extracted DLLs.
Copyright © Akram El Assas. All rights reserved.
Getting Started
Core Suite
Configuration & Features
- Advanced Configuration
- Logging & Log Rotation
- Health Monitoring & Recovery
- Environment Variables
- Service Dependencies
- Export / Import Services
Lifecycle Hooks
Automation & Production
- Servy Automation & CI/CD
- Embedding in Custom Installers
- Integration with Monitoring Tools
- Service Event Notifications
- Backup / Restore & VM Cloning
Reference & Support