Windows workstation migration tool — capture everything, restore anywhere.
ViperMigrate captures a Windows workstation's complete configuration into a single encrypted package, then restores it onto a new machine. Built for IT professionals and MSPs handling PC refreshes, hardware swaps, and Windows migrations at scale.
Capture a source machine → Transfer the package → Restore on the target machine.
| Category | Details |
|---|---|
| Software | Installed applications via winget auto-install + manual install list for non-winget apps |
| Browsers | Profiles, bookmarks, extensions, and settings for Chrome, Edge, Firefox, Vivaldi, Brave, Opera |
| Printers | Network, IP, and local printers with driver resolution and multi-method IP discovery |
| Wi-Fi | Saved wireless network profiles with credentials |
| Shortcuts | Desktop, Start Menu, taskbar pins, Quick Launch, and startup entries |
| Outlook | Email signatures, recent files, and profile configuration |
| App Settings | Application configurations and profiles from AppData (roaming and local) |
| Drive Maps | Mapped network drives with credentials |
| Scanners | WIA scanner/imaging device profiles |
- Selective restore — review and deselect individual items before restoring
- Winget integration — auto-installs software via Windows Package Manager
- Encrypted packages — AES-256 password-protected migration files
- Staged restore — software → connectivity → peripherals → configuration → verification
- HTML reports — interactive post-migration report with manual action checklists
- Smart printer handling — 6+ method IP resolution chain, IPP auto-negotiate, universal driver fallback
- Browser detection — dynamic detection of all Chromium-based and Firefox-family browsers
- Windows 10 or Windows 11
- .NET 8.0 Desktop Runtime
- Administrator privileges (for printer, Wi-Fi, and driver operations)
- winget (pre-installed on Windows 11, available for Windows 10)
Grab the latest release from the Releases page — single portable .exe, no installation required.
dotnet publish src/ViperMigrate.App/ViperMigrate.App.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o ./publishOr open ViperMigrate.sln in Visual Studio 2022 and build.
ViperMigrate/
├── src/
│ ├── ViperMigrate.App/ # WPF desktop application
│ │ ├── Assets/ # Logo, icons
│ │ ├── Converters/ # XAML value converters
│ │ ├── Themes/ # Styles and color resources
│ │ ├── ViewModels/ # MVVM view models
│ │ └── Views/ # XAML views
│ └── ViperMigrate.Core/ # Core migration engine (no UI dependency)
│ ├── Capture/
│ │ └── Collectors/ # Per-category capture logic
│ ├── Common/ # Shared utilities, helpers, report generator
│ ├── Models/ # Data models for captured items
│ └── Restore/
│ └── Applicators/ # Per-category restore logic # Test projects
├── assets/ # Branding assets and screenshots
└── ViperMigrate.sln
ViperMigrate follows a Collector/Applicator pattern:
- Collectors (
ICaptureCollector) run on the source machine to gather data for each category - Applicators (
IRestoreApplicator) run on the target machine to apply captured data - The MigrationPackage model is the serialized data contract between capture and restore
- Restore runs in stages (Software → Connectivity → Peripherals → Configuration → Verification) to ensure dependencies are met before downstream steps
Each collector/applicator pair is independent — categories can be individually selected or skipped.
Built by Jeremy Tarkington — jtarkington77
Part of the Viper tool ecosystem.










