Skip to content
Aaron Liu edited this page Nov 20, 2022 · 39 revisions

WingetUI

First of all... What is WingetUI? WingetUI is an application whose main goal is to create an intuitive UI to manage the most common CLI package managers for Windows, such as Winget and Scoop.

With this app, you'll be able to download, install, update and uninstall any software that's published on the supported package managers — and so much more.

AppGet was supported in release 0.3, but since that project has been discontinued, the support has been removed.

Disclaimer: This project has no connection with the official Winget project — it's completely unofficial.

Table of contents

  1. WingetUI
  2. How does it work?
  3. Is WingetUI safe?
  4. Installation
  5. Common Problems
  6. Running and building the source code
  7. Translating WingetUI
  8. The icon and screenshots database

How does it work?

To understand how WingetUI works, first it's necessary to understand what is a package manager. Basically, it's a software that allows the users to download, install, upgrade and uninstall computer programs with ease.

While most Windows users aren't familiar with the concept, various package managers have existed on Linux for several years, such as APT on Debian/Ubuntu and Pacman on Arch Linux.

There are a few unofficial package managers for Windows, such as Chocolatey, Scoop and Ninite. On 2020, Microsoft finally decided to develop an official package manager, called Winget-CLI (inspired by the now defunct AppGet).

However, there's no official graphical user interface (GUI) for Winget and Scoop. It's necessary a CLI (PowerShell or cmd) to be able to use it.

Therefore, WingetUI provides a GUI for Winget-CLI and Scoop, making it easy for users to enjoy their capabilities without having to deal with a command-line interface (CLI).


Learn more about Winget: https://learn.microsoft.com/en-us/windows/package-manager/

Learn more about Scoop: https://scoop.sh/



You have arrived at the end of the section. Return to top




Is WingetUI safe?

WingetUI, Winget-CLI and Scoop are open-source applications, which makes it possible for anyone to verify that there's no malware in their source-code.

However, WingetUI, Microsoft and Scoop aren't responsible for the packages available for download, which are provided by third parties and can theoretically be compromised.

To mitigate the risks of downloading malware, Microsoft has implemented a few checks for the software available on Winget-CLI:

We are automatically checking each manifest. We leverage SmartScreen, static analysis, SHA256 hash validation and a few other processes to reduce the likelihood of malicious software making its way into the repository and onto your machine

Even so, it's recommended to only download software from publishers that you trust.


Source: https://devblogs.microsoft.com/commandline/windows-package-manager-preview/



You have arrived at the end of the section. Return to top




WingetUI Installation


Check out the installation instructions for more information!



You have arrived at the end of the section. Return to top




Common Problems


Check out the FAQ for more information!



You have arrived at the end of the section. Return to top




Running and building the source code

Cloning the source code is useful to be able to test WingetUI's source code, to debug it, to modify it, and even to build your custom WingetUI version with your custom features or fixes. Though this steps are really intuitive and are the same that most software use, here are the detailed steps required to achieve that.

If you want to clone a specific version, you can download the source code in a zip file from GitHub Releases

Cloning the source code

Clone using git

  1. Open a Command Prompt on a folder
  2. Run the following command to clone the repository and access it:
git clone https://github.com/martinet101/WingetUI && cd wingetui

NOTE: If you want to use PowerShell, the command would be the following:

git clone https://github.com/martinet101/WingetUI; cd wingetui

image

Clone manually

  1. Open a browser and download the source code.
  2. Extract the files into a new folder. To do this, you can use any zip extractor, such as 7-zip, Winzip, etc...

Installing dependencies

Python 3.10 is required to run WingetUI. Other versions of python are NOT supported. You can download python from here

NOTE: The Microsoft Store Python should work, but you won't be able to build WingetUI.

When Python 3.10 is installed:

  1. Open the folder where the WingetUI source is located. Open the ROOT folder of the repo, NOT the folder where init.py is placed
  2. Make sure you have pip installed. You can see how to install pip here: https://pip.pypa.io/en/stable/installation/
  3. Open a Command Prompt or PowerShell window there and run:
py -m pip install -r ./requirements.txt

If it fails, as an alternative, run pip install -r ./requirements.txt

Aditionally you can try the following if you are still getting errors: go to C:\Users{username}\AppData\Local\Programs\Python\Python310\Scripts and run python pywin32_postinstall.py -install

  1. Wait for it to finish

Running the source code

  1. Open the local repository folder and navigate to a subfolder named wingetui
  2. Open a Command Prompt or PowerShell Window on that folder
  3. Run the following command:
python __init__.py

Building WingetUI from source

  1. Open the WingetUI local folder and navigate to the root folder of the repository
  2. Run build.bat to build a standalone executable file. If the process finishes successfully, a file named WingetUI.exe will be generated on the same folder.
  3. Run build_debugging.bat to build a debuggable executable. If the process finishes successfully, a folder named __init__ will be generated on the same folder. Access this folder and run the file named __init__.exe. A console will appear and WingetUI will run in debugging mode



You have arrived at the end of the section. Return to top




Translating WingetUI

Since WingetUI is an app that wants to reach every single person in the world running Windows 11, on issue #67 it was requested to add this feature. And here we are. On this page you will find useful information about how does the WingetUI translation program works and how to participate on it, because anyone can contribute here!

You can check the supported languages here. If you want to add a new language, drop an e-mail at marticlilop@gmail.com

⚠️ Please, do not create a pull request — follow the instructions below, it's quite easy to translate using Tolgee!

How does it work (Nerd section)

The method WingetUI uses to translate the UI is based on JSONs, containing a reference sentence and a translated sentence. Every language file codes for a different language, and every language is stored on one single file. If a translation is missing, the program will fallback to English, providing always a readable UI for everyone. Those language files need to be registered to be used, and this is done in languages.py.

Contributing

Either if you want to update an already existing language or you want to create a new one, the steps are the same:

  1. Log in or create an account in Tolgee. You can log in with GitHub, if you prefer.

image

  1. E-mail me to marticlilop@gmail.com with the following information: the mail you used for registration and the languages where you are willing to contribute.

  2. I'll accept you (or not hehe) and you'll find the WingetUI project in your Tolgee Dashboard image

  3. Now select the language you want to translate image

  4. To make things easier, you can filter the untranslated strings image

  5. You can then start translating. The changes will be included with the next WingetUI release. image

Rules

  • Make sure not to modify the original strings. If this happened the translation wouldn't work at all.
  • Make sure to add any final stop/colon/semicolon/hyphen/etc.
  • Make sure to add the {0} symbols, since they code for variable values

Supported languages

List of supported languages here



You have arrived at the end of the section. Return to top




The icon and screenshots database

The icon and screenshot list is supported by users like you.

In order to contribute, you need to:

  1. open this Google Spreadsheet and request for write access, telling which packages you wish to update (no need to list all of them, just a few.)
  2. You'll be accepted (or not hehe). Paste then the icon andf screenshots URL in a PNG format there.

NOTE: This guide will be improved soon ;)

Clone this wiki locally