ReinstallKit is an open-source Windows desktop utility that helps prepare a reviewable recovery bundle before reinstalling Windows. It inventories installed applications and user files, lets the user choose what matters, exports the selected data, and guides restoration on the new system.
The application does not create a disk image and does not silently execute recovery actions. Every application install and file restore remains visible and requires user confirmation.
- Scan installed applications and file backup candidates.
- Review results, edit recovery information, and select what to keep.
- Export a portable
ReinstallKit-Backupfolder to another drive. - Reinstall Windows and build or run ReinstallKit again.
- Import
recovery-manifest.jsonin Restore Assistant. - Confirm application installations and file restoration step by step.
- Reads uninstall entries from HKLM, HKLM WOW6432Node, and HKCU.
- Deduplicates entries and detects likely Windows components.
- Reads
winget listwith a timeout and matches package IDs to registry entries. - Resolves categories, recovery status, known winget IDs, and curated official links.
- Supports manual application entries and user edits before export.
- Installs selected packages during restore through structured
wingetarguments only.
- Fast scan checks Desktop, Documents, Downloads, Pictures, Videos, Music, and common project directories.
- Full scan also traverses available fixed drives using metadata only. It does not read file contents while scanning.
- Detects common Node.js, Rust, Python, .NET, Go, Java, and Git projects.
- Skips system, cache, temporary, dependency, and build directories.
- Does not follow symbolic links or Windows reparse points.
- Converts access errors and scan limits into warnings instead of stopping the application.
- Uses the native Tauri folder dialog to choose an export destination.
- Checks required size and free space before copying.
- Copies selected files as streams and publishes the completed bundle atomically.
- Generates a versioned manifest, safe PowerShell helpers, and an offline HTML plan.
- Validates imported manifests and backup paths before restore.
- Supports
skip,overwrite, andrenamefile conflict policies. - Blocks automatic restoration of password stores, tokens, browser sessions, and similar credential data.
ReinstallKit-Backup/
recovery-manifest.json
install.ps1
copy-data.ps1
backup-plan.html
data/
Keep the whole folder together. recovery-manifest.json references relative paths inside data/.
- Scans and manifests are processed locally.
- ReinstallKit does not include telemetry.
- Scanning reads filesystem metadata, not file contents.
- Generated scripts never use
Invoke-Expressionor arbitrary command text. - ReinstallKit does not download and launch random EXE installers.
- Official links open only after a user click.
- Importing a manifest never starts an installation or copy operation.
Read Generated Script Safety before running exported PowerShell scripts.
- Tauri 2
- Rust backend
- React 19
- TypeScript
- Vite
- Zustand
Install the official Tauri Windows prerequisites:
- Windows 10 or Windows 11
- Microsoft C++ Build Tools with Desktop development with C++
- Microsoft Edge WebView2 Runtime
- Rust stable MSVC toolchain
- Node.js LTS with npm
git clone https://github.com/DenisGeide/ReinstallKit.git
cd ReinstallKit
npm ci
npm run tauri devRun only the frontend in a browser:
npm run devnpm run build
cd src-tauri
cargo fmt --all -- --check
cargo check
cargo testFrom the repository root:
npm run tauri buildTauri writes local build artifacts under src-tauri/target/release/ and src-tauri/target/release/bundle/. Compiled .exe, .msi, and other generated artifacts are intentionally not committed to this repository.
src/ React UI, Zustand stores, shared TypeScript types
src-tauri/src/commands/ Tauri IPC command boundary and operation coordinators
src-tauri/src/scanners/ Registry and filesystem scanners
src-tauri/src/resolvers/ App matching, categories, links, recovery status
src-tauri/src/exporters/ Manifest, data copy, HTML, and PowerShell generation
src-tauri/src/restorers/ Manifest validation, winget install, file restore
src-tauri/src/models/ Serde models shared over Tauri IPC
src-tauri/src/utils/ Safe command, path, and user-directory helpers
src-tauri/resources/ Curated winget and official-link maps
docs/ Architecture and safety documentation
See Architecture for the complete data flow and module responsibilities.
- Windows only.
- Automatic application recovery depends on
wingetavailability and a valid package match. - Full scan is bounded and is not a forensic or disk-imaging tool.
- ReinstallKit backs up selected user data, not Windows itself or application license state.
- Users must review generated plans and keep another backup of irreplaceable data.
Forks, fixes, and new recovery rules are welcome. Read CONTRIBUTING.md before opening a pull request.
If you reuse ReinstallKit in another project, a visible link to this repository and credit to Denis Geide are appreciated. This request does not add restrictions beyond the MIT License.
ReinstallKit is licensed under the MIT License. You may use, modify, redistribute, and build on the project, provided the required copyright and license notice is preserved.