Skip to content

jorgeasaurus/WinStoreRip

Repository files navigation

WinStoreRip

Query and download Windows Store app packages from the command line.

WinStoreRip is a PowerShell module that retrieves package metadata and download links for Microsoft Store apps via the store.rg-adguard.net API. It supports querying by Product ID, URL, Package Family Name, or Category ID across multiple release channels.

Installation

From PowerShell Gallery

Install-Module -Name WinStoreRip -Scope CurrentUser

From Source

git clone https://github.com/jorgeasaurus/WinStoreRip.git
Import-Module ./WinStoreRip/WinStoreRip.psd1

Quick Start

# List all packages for an app by Product ID
Get-StoreLinks -Data '9NBLGGH4NNS1'

# Download everything to a folder
Get-StoreLinks -Data '9NBLGGH4NNS1' | Save-StoreApp -Path ./downloads

# Download only .msixbundle files from all release channels
Get-StoreLinks -Data '9NBLGGH4NNS1' -Channel All | Save-StoreApp -Filter '*.msixbundle'

Commands

Get-StoreLinks

Queries the store API for package download links.

Get-StoreLinks [-Type <String>] -Data <String> [-Channel <String>]
Parameter Description Default
-Type Query type: URL, ProductId, PackageFamilyName, CategoryID ProductId
-Data The query value (product ID, store URL, package family name, etc.) (required)
-Channel Release channel: Retail, RP, WIS, WIF, All Retail

Returns WinStoreRip.PackageInfo objects with Name, URL, ExpireTime, SHA1, Size, and Channel properties.

Examples:

# Query by Product ID (default)
Get-StoreLinks -Data '9NBLGGH4NNS1'

# Query by store URL across all channels
Get-StoreLinks -Type URL -Data 'https://apps.microsoft.com/detail/9nblggh4nns1' -Channel All

# Query by Package Family Name on Release Preview
Get-StoreLinks -Type PackageFamilyName -Data 'Microsoft.WindowsTerminal_8wekyb3d8bbwe' -Channel RP

Save-StoreApp

Downloads packages to disk. Accepts pipeline input from Get-StoreLinks.

Save-StoreApp [-InputObject] <PSCustomObject> [-Path <String>] [-Filter <String>] [-WhatIf] [-Confirm]
Parameter Description Default
-InputObject Package objects from Get-StoreLinks (pipeline) (required)
-Path Output directory . (current directory)
-Filter Wildcard pattern to filter by filename (e.g., *.appx, *x64*) (none)

Features:

  • Skips files that already exist with matching size
  • SHA1 validation after download
  • Progress bar during downloads
  • Supports -WhatIf to preview without downloading

Examples:

# Download all packages
Get-StoreLinks -Data '9NBLGGH4NNS1' | Save-StoreApp -Path ./downloads

# Download only .msixbundle files
Get-StoreLinks -Data '9NBLGGH4NNS1' | Save-StoreApp -Filter '*.msixbundle' -Path C:\Packages

# Preview what would be downloaded
Get-StoreLinks -Data '9NBLGGH4NNS1' | Save-StoreApp -WhatIf

Release Channels

Channel Flag Description
Retail Retail Stable release (default)
Release Preview RP Near-final builds
Windows Insider Slow WIS Beta channel
Windows Insider Fast WIF Dev channel
All All Queries all four and deduplicates

Building from Source

The project includes a build script that handles dependencies, analysis, testing, and packaging.

# Install build dependencies (Pester, PSScriptAnalyzer)
./build.ps1

# Run PSScriptAnalyzer
./build.ps1 -Task Analyze

# Run Pester tests
./build.ps1 -Task Test

# Stage module to build/WinStoreRip/
./build.ps1 -Task Build

# Full CI pipeline (Analyze + Test + Build)
./build.ps1 -Task CI

# Clean build output
./build.ps1 -Task Clean

Requirements

  • PowerShell 5.1 or later (Windows PowerShell or PowerShell Core)

License

Copyright © 2026 Jorge Aguilar. All rights reserved.

About

Query and download Windows Store app packages from the command line.

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors