Skip to content

pepperymilkcap/compat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows Compatibility Tool

A command-line utility for Windows XP and later that allows you to run applications with spoofed Windows version information, making them think they're running on Windows Vista, 7, 8, 10, or 11.

Features

  • Extended Version Support: Spoof Windows Vista, 7, 8, 10, and 11
  • Windows XP Compatibility: Runs on Windows XP SP3 and later systems (x86)
  • Command-line Interface: Easy to use with simple parameters
  • Shortcut Compatible: Create shortcuts for frequently used applications
  • Environment Variable Injection: Uses Windows compatibility layers and environment variables
  • Lightweight: Built on .NET Framework 4.0 for maximum compatibility

Usage

compat.exe /e <executable_path> /v <windows_version>

Parameters

  • /e <path> - Path to the executable to run
  • /v <version> - Windows version to spoof (vista, 7, 8, 10, 11)
  • /? - Show help message

Examples

# Run Chrome thinking it's on Windows 11
compat.exe /e "C:\Program Files\Google\Chrome\Application\chrome.exe" /v 11

# Run an application thinking it's on Windows 7
compat.exe /e "C:\Program Files\OldApp\oldapp.exe" /v 7

# Run Notepad thinking it's on Windows Vista
compat.exe /e "C:\Windows\System32\notepad.exe" /v vista

# Run custom application with Windows 8 compatibility
compat.exe /e "C:\Program Files\Test\test.exe" /v 8

Supported Windows Versions

Version Build Number Compatibility Layer Major.Minor
vista 6000 VISTARTM 6.0
7 7601 WIN7RTM 6.1
8 9200 WIN8RTM 6.2
10 19041 WIN10RTM 10.0
11 22000 WIN10RTM WIN11 10.0

How It Works

The tool works by:

  1. Environment Variables: Sets compatibility environment variables like __COMPAT_LAYER and __MS_COMPAT_LEVEL
  2. Process Environment: Injects version-specific environment variables into the target process
  3. Windows Compatibility Layer: Uses Windows built-in compatibility systems
  4. Build Number Spoofing: Sets appropriate build numbers and version information for the target Windows version
  5. Architecture Compatibility: Sets x86 architecture for Windows XP compatibility

Building

This project requires .NET Framework 4.0 or later.

# Debug build
dotnet build

# Release build
dotnet build -c Release

# Build for Windows x86 (for Windows XP compatibility)
dotnet publish -c Release -r win-x86 -f net40

Requirements

Host System Requirements

  • Windows XP SP3 or later
  • .NET Framework 4.0 or later
  • x86 or x64 architecture

Target Application Compatibility

  • Applications that check Windows version information through environment variables
  • Applications that respect Windows compatibility layers

Technical Details

The tool uses several methods to spoof Windows version information:

  • __COMPAT_LAYER environment variable for compatibility layer activation
  • __MS_COMPAT_LEVEL for specific build number spoofing
  • WINDOWS_VERSION and WINDOWS_BUILD for additional version checks
  • WINDOWS_MAJOR_VERSION and WINDOWS_MINOR_VERSION for detailed version info
  • PROCESSOR_ARCHITECTURE for architecture compatibility (set to x86)

Compatibility Layers Used

  • VISTARTM: Windows Vista compatibility
  • WIN7RTM: Windows 7 compatibility
  • WIN8RTM: Windows 8 compatibility
  • WIN10RTM: Windows 10 compatibility
  • WIN10RTM WIN11: Windows 11 compatibility

Use Cases

Legacy Application Support

Run modern applications on older Windows systems:

# Run a Windows 10-only app on Windows 8.1
compat.exe /e "C:\Program Files\ModernApp\app.exe" /v 10

Development and Testing

Test applications with different Windows version targets:

# Test how your app behaves on Windows 7
compat.exe /e "C:\MyApp\myapp.exe" /v 7

Compatibility Troubleshooting

Force applications to use older compatibility modes:

# Run problematic app with Vista compatibility
compat.exe /e "C:\Program Files\ProblematicApp\app.exe" /v vista

Creating Shortcuts

Method 1: Right-click Desktop

  1. Right-click on desktop → "New" → "Shortcut"
  2. Enter: "C:\path\to\compat.exe" /e "C:\Program Files\YourApp\app.exe" /v 11
  3. Name your shortcut (e.g., "MyApp (Win11 Mode)")

Method 2: PowerShell (see examples.ps1)

Use the included PowerShell script to automatically create shortcuts.

Limitations

  • Only supports Windows Vista, 7, 8, 10, and 11 spoofing
  • Requires target applications to respect environment variables
  • Some applications may use alternative methods to detect Windows version
  • Administrative privileges may be required for some applications
  • x86 build recommended for maximum compatibility with Windows XP

Windows XP Compatibility

This tool is specifically designed to work on Windows XP SP3 and later:

  • Built with .NET Framework 4.0 (last version to support Windows XP)
  • x86 architecture for maximum compatibility
  • Uses only Windows APIs available on Windows XP
  • Minimal dependencies for easy deployment

License

This project is provided as-is for educational and compatibility purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors