Skip to content

Repository files navigation

ReinstallKit

Русская версия

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.

Workflow

  1. Scan installed applications and file backup candidates.
  2. Review results, edit recovery information, and select what to keep.
  3. Export a portable ReinstallKit-Backup folder to another drive.
  4. Reinstall Windows and build or run ReinstallKit again.
  5. Import recovery-manifest.json in Restore Assistant.
  6. Confirm application installations and file restoration step by step.

What It Does

Applications

  • Reads uninstall entries from HKLM, HKLM WOW6432Node, and HKCU.
  • Deduplicates entries and detects likely Windows components.
  • Reads winget list with 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 winget arguments only.

Files

  • 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.

Export And Restore

  • 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, and rename file conflict policies.
  • Blocks automatic restoration of password stores, tokens, browser sessions, and similar credential data.

Backup Bundle

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/.

Safety And Privacy

  • Scans and manifests are processed locally.
  • ReinstallKit does not include telemetry.
  • Scanning reads filesystem metadata, not file contents.
  • Generated scripts never use Invoke-Expression or 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.

Technology

  • Tauri 2
  • Rust backend
  • React 19
  • TypeScript
  • Vite
  • Zustand

Build From Source On Windows

Prerequisites

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

Clone And Run

git clone https://github.com/DenisGeide/ReinstallKit.git
cd ReinstallKit
npm ci
npm run tauri dev

Run only the frontend in a browser:

npm run dev

Checks

npm run build
cd src-tauri
cargo fmt --all -- --check
cargo check
cargo test

Production Build

From the repository root:

npm run tauri build

Tauri 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.

Project Structure

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.

Current Limitations

  • Windows only.
  • Automatic application recovery depends on winget availability 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.

Contributing

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.

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.

About

Builds a reviewable app-and-file recovery plan before reinstalling Windows.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages