A Windows Sandbox (WSB) testing tool for easily testing applications, scripts, and installers in an isolated environment.
Features automatic WinGet installation, follow-script-location shortcut, WSB configuration, script mapping system, customizable test scenarios, and high-DPI compatible UI.
Note: This project was extracted from WAU-Settings-GUI and made into a standalone tool.
It depends on the SandboxTest-Shared repository as a Submodule.
- Auto-Installation - Prompts to enable Windows Sandbox if not available
- Follow-script-location shortcut - Automatically creates/updates a shortcut in user's Start Menu on first run/if script folder is moved (then
SandboxStart.ps1must be manually started from the new location again) - GUI Dialog - Easy-to-use interface for configuring sandbox parameters:
- Folder/File Mapping - Map any folder or select specific file to test
- Package Lists - Install predefined sets of applications via WinGet using custom package lists
- Version Control - Select specific WinGet version or use pre-release build
- WSB Configuration - Control network access, memory allocation, and GPU virtualization:
- Smart Memory Detection - Automatically detects system RAM and offers safe memory options (max 75% of total)
- Script Mapping System - Automatic script selection based on file patterns (editable script mappings):
- Custom Scripts - Create and save your own sandbox initialization scripts
- Updates check/notifications
- DPI-responsive UI with automatic vertical scrollbar
- Dark Mode Support - GUI automatically adapts to Windows theme (dark/light mode), sandbox always syncs with Windows system theme (and Notepad++ if later installed in WSB)
- Tip: Right-click the main dialog to change GUI theme (Auto/Light/Dark/Custom) - preference persists during session and doesn't affect sandbox
- Desktop Shortcuts - Creates useful shortcut links (CMTrace, Sysinternals Live, NirSoft Utilities, CTT Windows Utility, etc.) on the sandbox desktop
- Windows 10/11 Pro, Enterprise, or Education
- Windows Sandbox feature (auto-prompt to install if missing)
Download, unblock and extract the latest release: SandboxStart-v#.#.#.#.zip
- Right click on
SandboxStart.ps1 - Run with PowerShell
This will:
- Install a shortcut in Start Menu
- Check if Windows Sandbox is available (prompt to install if not and reboot after prompt)
- Start from the shortcut
- Show configuration dialog
- Launch sandbox with your settings
The GUI dialog allows you to configure:
- Map Folder: Select a folder to map into the sandbox
- Sandbox Folder Name: Name for the folder inside sandbox Desktop
- Browse File: Select a specific file to run (automatically maps its parent folder)
- Install Package Lists: Install predefined sets of applications via WinGet using custom package lists
- WinGet Version: Use the drop-down list (dynamically populated) or leave blank for latest
- Prerelease: Use pre-release of WinGet
- Clean: Clear cached dependencies before starting
- Verbose: Show detailed progress information and wait for keypress before closing PS window
- Enable Networking: Control network access in sandbox (required for WinGet, if unchecked WinGet handling is skipped)
- Memory (MB): Allocate RAM to sandbox - dynamically calculated based on your system (max 75% of total RAM)
- GPU Virtualization: Choose between hardware acceleration (Default/Enable) or software rendering (Disable)
- Script Editor: PowerShell script to run after sandbox initialization:
- [✎]: Edit mappings...
- [Load...]: Load scripts from
wsb\directory - [Save]: Save current script for reuse (not default scripts)
- [Save as...]: Save current script as new file for reuse
- [X]: Clear editor
SandboxStart automatically selects appropriate scripts based on folder contents using pattern matching defined in wsb\script-mappings.txt:
Default scripts are automatically downloaded from GitHub (via API if the files differ) and loaded when a pattern is detected:
| Pattern | Script | Description |
|---|---|---|
InstallWSB.cmd |
Std-WAU.ps1 | Runs install command for WAU in WSB (from WAU Settings GUI) and opens folder |
*.installer.yaml |
Std-Manifest.ps1 | Validates/installs a WinGet package from local manifest |
*.* |
Std-Install.ps1 | Universal smart installer - detects and runs installers (Install.*, Setup.*, Installer.msi, etc.) with built-in priority, opens Explorer if none found |
Note: Default scripts can't be saved in the GUI, only saved as...
To customize behavior, create your own script and add/edit the mappings (see Custom Scripts below).
Create your own scripts in the wsb\ folder and add/edit mappings to/in script-mappings.txt:
# Custom mapping example
myapp-*.exe = CustomInstaller.ps1
test-*.zip = ExtractAndTest.ps1
*.* = MyInstaller.ps1
In dialog:
- Browse to folder containing
Setup.exe - Script auto-selects "Std-Install.ps1"
- Click OK
- Sandbox launches and runs the installer
In dialog:
- Browse to folder containing a
*.installer.yamlfile - Script auto-selects "Std-Manifest.ps1"
- Click OK
- Sandbox launches and validates/installs the package from manifest
In dialog:
- Browse to your test folder
- Edit script or load custom script
- Modify PowerShell code as needed
- Click OK
- Sandbox executes your custom script
In dialog:
- Click "File..." to select a specific file (
.exe,.msi,.cmd,.bat,.ps1,.ahk,.py,.js)- Change to
All Files (*.*)if you want to let Windows decide what to start it with (.reg...)
- Change to
- Script automatically generates appropriate execution command
- For
.ahkor.pyfiles: Auto-selects required package list if networking enabled - Click OK
- Sandbox installs dependencies (if needed) and runs the selected file
Note: To enable auto-installation for
.ahkor.pyfiles, create package list files:
wsb\AHK.txtcontainingAutoHotkey.AutoHotkeywsb\Python.txtcontainingPython.Python.3.13
SandboxStart/
├── SandboxStart.ps1 # Main launcher
├── startmenu-icon.ico # Icon for shortcut
├── Test-WindowsSandbox.ps1 # WSB detection/installation
├── Update-StartMenuShortcut.ps1 # Manages shortcut creation/updating
├── README.md # This file
├── shared/ # Submodule
| └── SandboxTest.ps1 # Core sandbox function
| └── Show-SandboxTestDialog.ps1 # GUI dialog
└── wsb/ # Created at first run
├── script-mappings.txt # Pattern→Script mappings (created at first run)
├── Std-WAU.ps1 # Default script (created at folder file match)
├── Std-Manifest.ps1 # Default script ( " )
├── Std-Install.ps1 # Universal smart installer detector & fallback (*.*)
├── Std-File.ps1 # Default script for direct file execution
└── [custom scripts] # Your own scripts
Source code is located in the Source/ directory:
Source/
├── SandboxStart.ps1 # Main launcher
├── startmenu-icon.ico # Icon for shortcut
├── Test-WindowsSandbox.ps1 # WSB detection/installation
├── Update-StartMenuShortcut.ps1 # Manages shortcut creation/updating
└── shared/ # Submodule
└── SandboxTest.ps1 # Core sandbox function
└── Show-SandboxTestDialog.ps1 # GUI dialog
To run from the repository:
cd Source
.\SandboxStart.ps1Note: Release ZIPs extract scripts to the root level (no Source/ folder for end users).
SandboxStart will automatically prompt to:
- Enable the Windows Sandbox feature
- Restart the computer
Manual installation of WSB:
Enable-WindowsOptionalFeature -Online -FeatureName "Containers-DisposableClientVM" -All
Restart-Computer- Check that script syntax is valid PowerShell
- Verify
$SandboxFolderNamevariable is used correctly - Try with
-Verboseflag to see detailed execution
- Check internet connection in sandbox
- Try specifying a specific WinGet version
- Use the option: Clear (cached dependencies)
- Ensure Windows Sandbox feature is fully installed
- Check that mapped folders are accessible
- Test installers without polluting your system
- Test different WinGet package versions
- Validate installation scripts
- Debug installation issues in clean environment
- Test deployment scripts in clean environment
- Validate MSI/EXE installers before rollout
- Check for installation conflicts
- Test software behavior with different registry settings
- Test WinGet manifests
- Validate package updates
- Test different installation scenarios
- Verify clean uninstallation
- Windows Sandbox Overview
- WinGet Documentation
- Testing a Manifest in Windows Sandbox (Original inspiration)
- WAU-Settings-GUI (Parent project)
- Based on Microsoft's SandboxTest
If you find this tool useful, please consider giving it a star on GitHub!
Made for the Windows development community


