Skip to content

Repository files navigation

OpenWizz

Professional Windows User Profile Migration Tool

OpenWizz is a high-performance, open-source tool for migrating Windows user profiles between machines. It combines a native C++ core engine with a modern WPF (.NET 10) user interface.


Features

  • Full Profile Migration — Transfer user data, application settings, registry entries, Wi-Fi profiles, and more
  • High-Performance Engine — Zstd compression, SIMD-accelerated operations, async I/O with direct buffering
  • Security First — AES-256 encryption, VSS snapshot support, ACL preservation, integrity verification
  • Smart Filtering — Exclude temporary files, caches, and unnecessary data automatically
  • P2P Transfer — Direct machine-to-machine migration over the local network
  • TransWiz Compatibility — Import profiles created with ForensIT TransWiz
  • Modern UI — WPF interface with dark/light themes, queue management, and progress tracking
  • CLI Mode — Scriptable command-line interface for automation and batch operations

Architecture

Component Technology Description
src/native/lib/ C++ (static lib) Core migration engine — compression, crypto, registry, filesystem
src/native/app/ C++ (console exe) Command-line interface
src/native/dll/ C++ (DLL) P/Invoke exports for the .NET UI
src/dotnet/OpenWizz.UI/ C# / WPF (.NET 10) Graphical user interface
tests/native/ C++ (TestRunner) Native unit & integration tests
tests/dotnet/ C# / xUnit .NET unit & integration tests

For detailed architecture documentation, see docs/Architecture.md.

Prerequisites

  • Windows 10 or later (x64)
  • Visual Studio 2022 (v17.8+) with:
    • Desktop development with C++ (v145 toolset)
    • .NET desktop development (.NET 10 SDK)
  • vcpkg package manager (for Zstd)
  • Administrator privileges (required for profile migration operations)

Quick Start

# 1. Clone the repository
git clone https://github.com/Sartome/OpenWizz.git
cd OpenWizz

# 2. Install all dependencies (vcpkg, MSBuild integration, NuGet packages)
Set-ExecutionPolicy RemoteSigned # Allow running local scripts
.\setup.ps1

# 3. Open in Visual Studio
start OpenWizz.sln

# 4. Build (Release|x64 recommended)
msbuild OpenWizz.sln /p:Configuration=Release /p:Platform=x64 /m

See QUICKSTART.md for detailed setup instructions.

Project Structure

OpenWizz/
├── src/native/          # C++ source code (core, dll, cli)
├── src/dotnet/          # C# / .NET source code (WPF UI)
├── tests/native/        # C++ tests
├── tests/dotnet/        # C# xUnit tests
├── docs/                # Documentation
├── scripts/             # Build & utility scripts
├── vcpkg/               # vcpkg package manager
└── OpenWizz.sln         # Visual Studio solution

Running Tests

# Run all tests (native + .NET)
.\scripts\RunAllTests.ps1

# Run .NET tests only
dotnet test tests/dotnet/OpenWizz.Tests/OpenWizz.Tests.csproj

# Run native tests only (after building TestRunner)
.\tests\native\x64\Debug\TestRunner.exe --category unit

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

License

This project is licensed under the terms of the LICENSE file.

Links

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages