Skip to content
mjishnuPublic

About

An open-source client to search, download, install, and update Microsoft Store apps without MS Store services.

Topics

Resources

Stars

335 stars

Watchers

6 watching

Forks

Latest commit

Β 

History

219 Commits

Folders and files

Repository files navigation

Raven Logo

Raven

A free, open-source alternative Microsoft Store client for Windows

GitHub Release License Stars Issues Discord


Raven is a modern, native Windows application that serves as a fully-featured alternative to the Microsoft Store. It can do everything the official store does β€” search, download, install, and update apps β€” while also adding powerful capabilities like sideloading external UWP/MSIX packages, exporting Store apps for offline use, and bandwidth-saving delta downloads.

Built with WinUI 3 and .NET 10, Raven delivers a clean, fluent UI that feels right at home on Windows 10 and 11.

raven

✨ Features

πŸ” Search & Browse

  • Store Search β€” search the Microsoft Store catalog directly from the title bar with real-time auto-suggest (including app icons and titles).
  • Advanced Search β€” filter and query apps with more granular control over results.
  • App Details β€” full app detail pages with descriptions, screenshots, version info, and dependency listings.
  • Market & Language Selection β€” browse the Store as it appears in any region/language combination.

⬇️ Downloads & Export

  • Download Store Apps β€” download any app package directly from Microsoft's CDN for offline installation or archival.
  • Delta Downloads β€” save bandwidth with intelligent block-level delta downloads. Only changed blocks are fetched using BlockMap diffing, drastically reducing download sizes for updates.
  • Export Packages β€” download .appx, .msix, .appxbundle, and .msixbundle files for external use, backup, or redistribution to other machines.
  • Download Manager β€” a full download queue with progress tracking, pause/resume, and status animations.

πŸ“¦ Install & Sideload

  • Install Store Apps β€” install downloaded packages directly, just like the Microsoft Store.
  • Sideload External Packages β€” install .appx, .msix, .appxbundle, or .msixbundle files from anywhere β€” not just the Store. Drag-and-drop or browse to select.
  • Dependency Resolution β€” automatic detection and installation of required framework dependencies.
  • Force Install β€” option to forcibly reinstall or downgrade packages when a newer version is already present.

πŸ”„ Updates

  • Update Checking β€” scans all installed Store-signed packaged apps and compares them against the latest available versions.
  • Delta Updates β€” applies block-level differential updates to minimize download sizes.
  • Batch & Individual Updates β€” update all apps at once or pick and choose which ones to update.
  • Version Comparison β€” intelligently determines the latest available version per architecture and OS build.

βš™οΈ General

  • Unpackaged Deployment β€” runs as a standalone .exe without requiring MSIX packaging or Windows App Installer.
  • Theme Support β€” light, dark, and system-default themes with seamless switching.
  • Structured Logging β€” separate log files for runtime events, installations, and crashes via Serilog.
  • Localization-Ready β€” UI strings use a resource-based localization system (x:Uid).
  • Self-Update Check β€” checks GitHub for newer releases of Raven itself.

πŸ›‘ System requirements

🌐 How to Run

1. Releases

  • Statisfy all system requirements (excluding runtimes if running self contained version)
  • Download the latest version of Raven from releases according to your system architecture.
  • Extract the contents of the zip and run raven.exe.
  • If you encounter a false antivirus positive, download raven_cert.zip from releases, extract the contents and install raven.cer or run install_raven_cert.bat.

2. Winget

winget install mjishnu.raven
  • If you encounter a false antivirus positive, download raven_cert.zip from releases, extract the contents and install raven.cer or run install_raven_cert.bat.
  • Search for the raven in startmenu and run

▢️ Video Guide

IMM-WZsVCt5_E

πŸ—οΈ Architecture

Raven follows the MVVM pattern and uses dependency injection via Microsoft.Extensions.Hosting.

Raven.slnx
β”œβ”€β”€ Raven/                    # WinUI 3 Application (UI layer)
β”‚   β”œβ”€β”€ Views/                # XAML pages: Shell, Search, App Details,
β”‚   β”‚                         #   Downloads, Installations, Updates, Settings
β”‚   β”œβ”€β”€ ViewModels/           # MVVM view models (CommunityToolkit.Mvvm)
β”‚   β”œβ”€β”€ Services/             # App-level services: navigation, downloads,
β”‚   β”‚                         #   package installation, update checking
β”‚   β”œβ”€β”€ Helpers/              # Utilities: delta downloads, BlockMap parsing,
β”‚   β”‚                         #   download URL resolution, version comparison
β”‚   β”œβ”€β”€ Models/               # Data models: AppInfo, DownloadItem, UpdateItem
β”‚   β”œβ”€β”€ Contracts/            # Service interfaces
β”‚   β”œβ”€β”€ Layouts/              # Custom WinUI layouts (VirtualGridLayout)
β”‚   β”œβ”€β”€ Styles/               # XAML resource dictionaries
β”‚   └── Strings/              # Localized string resources (en-us)
β”‚
β”œβ”€β”€ Raven.Updater/            # Self-update helper executable
β”‚   └── Program.cs            # Copies update payload and relaunches Raven
β”‚
└── StoreListings/            # Git submodule β€” Microsoft Store API wrapper
    └── StoreListings.Library/
        β”œβ”€β”€ StoreEdgeFDProduct.cs   # Store product queries
        β”œβ”€β”€ DCATPackage.cs          # Dependency catalog lookups
        └── FE3Handler.cs           # Package download link resolution

Key Dependencies

Package Purpose
Microsoft.WindowsAppSDK WinUI 3 framework
CommunityToolkit.Mvvm MVVM source generators & helpers
CommunityToolkit.WinUI WinUI media controls & effects
Downloader Multi-part file download engine
WinUIEx Window management extensions
Serilog Structured logging
StoreListings Microsoft Store API wrapper (submodule)

πŸ“‹ Build Prerequisites

  • .NET 10 SDK
  • Visual Studio 2026 with the following workloads:
    • .NET Desktop Development
    • Windows App SDK / WinUI Development
    • Windows 10 SDK (26100)
    • Desktop development with C++ (the MSVC linker is needed to publish, since Raven publishes as NativeAOT)

πŸš€ Getting Started

1. Clone the Repository

git clone --recurse-submodules https://github.com/mjishnu/Raven.git
cd Raven

If you've already cloned without --recurse-submodules, initialize the submodule manually:

git submodule update --init --recursive

2. Build & Run

From Visual Studio:

  1. Open Raven.slnx
  2. Set Raven as the startup project
  3. Select your target platform (x64, x86, or arm64)
  4. Press F5 to build and run

From the command line:

dotnet build Raven.slnx -c Debug -p:Platform=x64
dotnet run --project Raven -c Debug

Supported Platforms

Architecture Status
x64 βœ… Supported
x86 βœ… Supported
ARM64 βœ… Supported

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a branch for your feature or fix (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m "Add my feature")
  4. Push to your branch (git push origin feature/my-feature)
  5. Open a Pull Request

Code Style

  • Use x:Uid-based localized strings in XAML β€” no hardcoded text
  • Follow existing MVVM patterns and DI conventions

⭐ Acknowledgements

πŸ“œ License

This project is licensed under the Apache License 2.0 β€” see the LICENSE file for details.

About

An open-source client to search, download, install, and update Microsoft Store apps without MS Store services.

Topics

Resources

Stars

335 stars

Watchers

6 watching

Forks

Releases

Used by

Contributors

Languages