PortaGrid turns a USB flash drive or external SSD into a self-contained portable
workspace for Windows 10 and 11. Plug the drive into any PC, open PortaGrid.exe,
and launch your portable apps from a grid. No install and no .NET runtime needed
on the host.
| Project | What it is |
|---|---|
PortaGrid.Provisioner |
Setup tool you run on your own PC. Finds USB drives and puts PortaGrid on them. |
PortaGrid.Launcher |
The small PortaGrid.exe at the drive root. Starts the Dashboard. |
PortaGrid.Dashboard |
The grid launcher (WPF, Fluent light/dark theme). |
PortaGrid.Core |
Shared logic: drive layout, manifest, drive detection, launching, provisioning. |
PortaGrid.Core.Tests |
xUnit tests for Core. |
X:\PortaGrid.exe launcher
X:\PortaGrid\
manifest.json app list and settings (manifest.json.bak = previous version)
Bin\PortaGrid.Dashboard.exe the Dashboard
Apps\ put portable programs here
Data\<app id>\ per-app profile (AppData\Roaming, AppData\Local, Temp)
Runtime\ .NET unpacks its native libraries here, not on the host
Documents\ your files
manifest.json stores paths relative to the drive root, so the drive keeps
working when Windows gives it a different letter.
{
"schemaVersion": 1,
"theme": "System",
"apps": [
{
"id": "3f9a1c2b7d4e",
"name": "Notepad++",
"path": "PortaGrid\\Apps\\NotepadPlus\\notepad++.exe",
"arguments": "",
"category": "Editors",
"isolateProfile": true
}
]
}- Run
PortaGrid.Provisioner.exe, pick the drive, choose Set up drive. Nothing is formatted or deleted. Running it again later updates PortaGrid and keeps your apps and settings. - Copy portable programs into
X:\PortaGrid\Apps(one folder per program). - Open
X:\PortaGrid.exeand choose Scan Apps folder, or Add app, or drop a program from the drive onto the window. - Right-click a tile to edit, show in folder, or remove it.
For each app with "Keep this app's settings on the drive" ticked, PortaGrid starts
it with APPDATA, LOCALAPPDATA, TEMP, TMP, USERPROFILE and HOME pointing
into X:\PortaGrid\Data\<app id>. Apps that honour those variables keep their
settings on the drive.
This is best effort, not a sandbox:
- Windows itself records that the drive was plugged in and which programs ran (USB device history, Prefetch, UserAssist and similar).
- Apps that write to the registry, or ask the shell for folders instead of reading the environment, still write to the host.
- Apps that demand administrator rights are started through the UAC prompt without redirection. The Dashboard tells you when that happens.
Needs the .NET 10 SDK on Windows.
.\build.ps1 # tests, then artifacts\win-x64\PortaGrid.Provisioner.exe
.\build.ps1 -Runtime win-x86 # 32-bit build, also runs on x64 and ARM64 WindowsThe Provisioner exe is the only file you need to hand out: it carries the launcher and the Dashboard inside it. To try the Dashboard without a drive:
dotnet run --project src\PortaGrid.Dashboard -- --root C:\some\test\folderLicensed under MIT. See LICENSE for details.