Skip to content

A modern GUI wrapper for Winget written in PowerShell/WPF. Features bulk installation, JSON/XML configuration, dark mode, and an automated self-repair system for Winget source errors.

License

Notifications You must be signed in to change notification settings

osmanonurkoc/WinGet_Installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Installer via WinGet, MS Store and Local

License Release Downloads Language

A modern, dark-mode compatible GUI wrapper for the Windows Package Manager (Winget). This tool allows you to bulk install applications, search online repositories, and perform full system software backups/restorations.


📥 Download Latest

Download Release

📸 Screenshots

Category View
Backup and Restore
Search Repository
Updates


🔥 Features

  • Bulk Installation: Install dozens of apps defined in config.xml with a single click.
  • Repository Search (New): * Live Filter: Instantly filter through the cached Winget repository as you type.
    • Online Search: Press ENTER to perform a deep search across Winget and MSStore sources to find any application.
  • Backup & Restore (New): * Export: Create a snapshot of your installed software (JSON format).
    • Restore: Restore your software suite on a fresh Windows installation using the backup file.
  • Smart Source Repair: Automatically detects and fixes Winget 404 errors and Source Certification errors (0x8a15005e).
  • Modern UI: A clean WPF interface with a built-in Dark/Light theme toggle.
  • Local App Support: Can trigger local .exe or .msi installers from a Programs folder.
  • Silent Operation: Hides the background PowerShell console window automatically.
  • App Upgrades: Unified view for Upgrades and Pinned applications with visual separator.

🚀 How to Run

Option 1: Using the Executable (Recommended)

  1. Download the latest WinGet_Installer.exe from the Releases Page.
  2. Download config.xml from source code. Or use the portable version.
  3. Double-click WinGet_Installer.exe to run.

Option 2: Running the Script (For Developers)

  1. Download the source code.
  2. Right-click WinGet_Installer.ps1 and select Run with PowerShell.
    • Note: If you encounter an Execution Policy error, run this command in PowerShell once:
      Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Note: If you run into execution policy errors, open PowerShell as Admin and run: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass.

⚙️ Configuration (config.xml)

The application list is fully customizable via config.xml.

<InstallerConfig>
  <WingetApps>
    <Category Name="Browsers">
      <App Name="Google Chrome" Id="Google.Chrome" />
      <App Name="Firefox" Id="Mozilla.Firefox" />
    </Category>
    <Category Name="Communication">
      <App Name="Discord" Id="Discord.Discord" />
    </Category>
  </WingetApps>

  <LocalApps>
    <App Name="My Custom App" Path="Programs\setup.exe" />
    <App Name="My Custom App (with arguments)"
    Path="Programs\setup.exe"
    Args="-R -c -install -autostart -filter:&quot;LAN,WLAN&quot;" />
  </LocalApps>
</InstallerConfig>

🛠️ Auto-Repair Logic

This tool is designed to be resilient. If Winget fails during installation:

  1. Certificate Errors: It will automatically download the latest Winget release from Microsoft servers via BITS and update the package manager.

  2. Source Errors: It will reset the Winget sources to factory defaults and force an update.

  3. Fallback Strategy: It intelligently switches between winget and msstore sources based on the App ID format.

📄 License

This project is licensed under the MIT License.


Created by @osmanonurkoc

About

A modern GUI wrapper for Winget written in PowerShell/WPF. Features bulk installation, JSON/XML configuration, dark mode, and an automated self-repair system for Winget source errors.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published