Version: 2.0.0
Release Date: January 15, 2026
PowerShell: 5.1+ (7.5+ Recommended)
AppxBackup is a complete 2026 rewrite of the 2016 original APPX backup script, transformed into a production-grade PowerShell module. This toolkit provides zero-dependency, end-to-end Windows Store/MSIX application backup and restoration.
✅ Complete Backup-to-Installation Pipeline - One-command backup, one-command restore
✅ Automatic Certificate Management - Self-signed cert creation and system trust
✅ Native Windows SDK Integration - MakeAppx and SignTool automation
✅ Modern MSIX Support - Full support for MSIX + legacy APPX formats
- PowerShell: 5.1+
- OS: Windows 10 1809 / Windows Server 2019
- Windows SDK: 10.0.26100.0+ (includes MakeAppx, SignTool)
- Disk Space: 100 MB temporary storage
- Memory: 512 MB available RAM
- PowerShell: 7.5+
- OS: Windows 11 24H2 / Windows Server 2022
- Windows SDK: 10.0.26100.0+ (includes MakeAppx, SignTool)
- Disk Space: 1 GB+ for large packages
- Memory: 2 GB+ available RAM
Required for:
- Installing certificates to LocalMachine store
- Accessing WindowsApps folder on some systems
Not required for:
- Basic backup operations (CurrentUser cert store)
- Package creation
- Most module functions
# 1. Clone or extract the module
cd "C:\Path\To\AppxBackup.Module"
# 2. Import the module
.\Import-AppxBackup.ps1
# 3. Verify installation
Get-Command -Module AppxBackup# Install to PowerShell Modules directory
$modulePath = "$env:USERPROFILE\Documents\PowerShell\Modules\AppxBackup"
Copy-Item -Path ".\AppxBackup.Module" -Destination $modulePath -Recurse -Force
# Import globally
Import-Module AppxBackup -Force
# Verify
Get-Module AppxBackup# Find the installed app
$app = Get-AppxPackage -Name "*WorkMate*"
# Create complete backup (package + certificate)
Backup-AppxPackage -PackagePath $app.InstallLocation -OutputPath "D:\Backups"Output:
=== Backup-AppxPackage v2.0 ===
Package: 2242AppsTeam.WorkMate v7.5.4.0
[Stage 1/6] Validating inputs... ✓
[Stage 2/6] Creating package... ✓ (6.4s, 47.95 MB)
[Stage 3/6] Creating certificate... ✓
[Stage 4/6] Installing certificate to Trusted Root... ✓
[Stage 5/6] Signing package... ✓
✓ Certificate installed successfully - package is ready to install
To install the package, run:
Install-AppxBackup -PackagePath 'D:\Backups\WorkMate_7.5.4.0_x64.appx'
Files Created:
D:\Backups\
├── 2242AppsTeam.WorkMate_7.5.4.0_x64__v313ts49xh8we.appx (47.95 MB, signed)
└── 2242AppsTeam.WorkMate_7.5.4.0_x64__v313ts49xh8we.cer (certificate)
# Single command - auto-detects certificate
Install-AppxBackup -PackagePath "D:\Backups\WorkMate_7.5.4.0_x64.appx"Output:
=== APPX Package Installation Script ===
[1/3] Package Analysis
Package: WorkMate_7.5.4.0_x64.appx
Certificate: Auto-detected (WorkMate_7.5.4.0_x64.cer)
[2/3] Certificate Installation
Target Store: Cert:\LocalMachine\Root
Status: Installed successfully
Thumbprint: 439F89C615A7468BF196D8951BBA4640C10D7D3F
[3/3] Package Installation
Installing package...
Status: Installed successfully
Name: 2242AppsTeam.WorkMate
Version: 7.5.4.0
=== Installation Complete ===
| Function | Description |
|---|---|
Backup-AppxPackage |
Complete backup with cert creation and signing |
Install-AppxBackup |
Standalone installation with auto-cert handling |
New-AppxBackupCertificate |
Create self-signed certificates (4096-bit RSA) |
Restore-AppxPackage |
Restore from backup with dependency resolution |
Get-AppxBackupInfo |
Analyze backup packages without installing |
Export-AppxDependencies |
Extract and document package dependencies |
Test-AppxPackageIntegrity |
Validate package structure and signatures |
Test-AppxBackupCompatibility |
Check system compatibility before restore |
Get-AppxToolPath |
Locate Windows SDK tools (MakeAppx, SignTool) |
Invoke-ProcessSafely- Robust external process execution with timeoutGet-AppxManifestData- XML manifest parsing with namespace handlingNew-AppxPackageInternal- Core packaging logic with multi-tier fallbackTest-AppxToolAvailability- SDK tool validation and cachingResolve-AppxDependencies- Recursive dependency graph analysisConvertTo-SecureFilePath- Path validation and sanitizationWrite-AppxLog- Structured logging with level filtering
$app = Get-AppxPackage -Name "Microsoft.WindowsCalculator"
Backup-AppxPackage -PackagePath $app.InstallLocation -OutputPath "C:\Backups"Backup-AppxPackage -PackagePath $app.InstallLocation `
-OutputPath "C:\Backups" `
-CertificateSubject "CN=MyCompany Code Signing" `
-CertificatePassword (ConvertTo-SecureString "MyPassword" -AsPlainText -Force)Backup-AppxPackage -PackagePath $app.InstallLocation `
-OutputPath "C:\Backups" `
-NoCertificateGet-AppxPackage -Publisher "*Microsoft*" |
ForEach-Object {
Backup-AppxPackage -PackagePath $_.InstallLocation `
-OutputPath "D:\Backups\Microsoft" `
-Verbose
}$result = Backup-AppxPackage -PackagePath $app.InstallLocation `
-OutputPath "C:\Backups" `
-IncludeDependencies
# Export dependency report
$result.DependencyInfo | Export-Csv "dependencies.csv"Install-AppxBackup -PackagePath "C:\Backups\MyApp.appx"Install-AppxBackup -PackagePath "C:\Backups\MyApp.appx" `
-CertStoreLocation CurrentUserInstall-AppxBackup -PackagePath "C:\Backups\MyApp.appx" -ForceInstall-AppxBackup -PackagePath "C:\Backups\MyApp.appx" `
-CertificatePath "C:\Certs\MyCompanyCert.cer"Install-AppxBackup -PackagePath "C:\Backups\MyApp.appx" -SkipCertificateCause: Certificate not in Trusted Root store
Solution:
# Run as Administrator
Import-Certificate -FilePath "path\to\cert.cer" `
-CertStoreLocation "Cert:\LocalMachine\Root"Cause: Package already installed
Solution:
Install-AppxBackup -PackagePath "package.appx" -ForceCause: Windows SDK not installed
Solution:
- Install Windows SDK from Microsoft
Cause: Insufficient permissions
Solution:
- Module automatically uses multi-tier copy fallback
- Robocopy → Copy-Item → .NET APIs
- No manual intervention needed
AppxBackup.Module/
├── AppxBackup.psd1 # Module manifest
├── AppxBackup.psm1 # Module loader
├── Import-AppxBackup.ps1 # Quick import helper
│
├── Public/ # Exported functions (9 total)
│ ├── Backup-AppxPackage.ps1 # Main backup function
│ ├── Install-AppxBackup.ps1 # Standalone installer
│ ├── New-AppxBackupCertificate.ps1 # Certificate creation
│ ├── Restore-AppxPackage.ps1 # Package restoration
│ ├── Get-AppxBackupInfo.ps1 # Package analysis
│ ├── Export-AppxDependencies.ps1 # Dependency export
│ ├── Test-AppxPackageIntegrity.ps1 # Integrity validation
│ ├── Test-AppxBackupCompatibility.ps1 # Compatibility check
│ └── Get-AppxToolPath.ps1 # Tool locator
│
├── Private/ # Internal functions (7 total)
│ ├── Invoke-ProcessSafely.ps1 # Process execution
│ ├── Get-AppxManifestData.ps1 # Manifest parsing
│ ├── New-AppxPackageInternal.ps1 # Core packaging logic
│ ├── Test-AppxToolAvailability.ps1 # Tool validation
│ ├── Resolve-AppxDependencies.ps1 # Dependency resolution
│ ├── ConvertTo-SecureFilePath.ps1 # Path sanitization
│ └── Write-AppxLog.ps1 # Logging system
│
└── Examples/ # Usage examples
└── UsageExamples.md
- Examples: See
/Examples/UsageExamples.md - Issues: Check logs in
$env:TEMP\AppxBackup_*.log
When reporting issues, include:
- PowerShell version (
$PSVersionTable) - Windows version (
Get-ComputerInfo | Select OSName, OSVersion) - Error message and stack trace
- Log file from
$env:TEMP\AppxBackup_*.log
© 2026 DeltaGa. All rights reserved.