Winget Upgrader - це інструмент командного рядка Node.js, який автоматизує процес оновлення програмного забезпечення на комп'ютері за допомогою Windows Package Manager (Winget).
Структура та зовнішній вигляд | |
---|---|
Залежності | |
Зовнішній вигляд консолі |
Winget Upgrader використовує команди Winget для оновлення всього програмного забезпечення, встановленого на вашому комп'ютері. Він автоматично перевіряє наявність Winget на вашій системі, виконує оновлення програм та веде журнал подій для зручності слідкування за процесом.
Windows Package Manager (Winget) - це інструмент управління пакетами для ОС Windows,
який дозволяє легко встановлювати, оновлювати та видаляти програмне забезпечення
безпосередньо з командного рядка. Winget дозволяє швидко та зручно оновлювати
встановлені програми, що робить його корисним інструментом для підтримки вашої
системи в актуальному стані.
Перед початком оновлення програма перевіряє, чи встановлений Winget у системі. Якщо Winget не встановлено, програма виводить повідомлення про помилку та зупиняє виконання, надаючи інструкції з можливих дій для встановлення.
Далі виконується перевірка версії Winget. Якщо версія Winget менша за необхідну для коректного виконання команд, програма виводить відповідне повідомлення про помилку та надає інструкції з оновлення Winget до останньої версії через Microsoft Store або командний рядок.
Програма Winget Upgrade використовує команди winget export
та winget import
для оновлення всіх встановлених програм. Процес оновлення:
- Автоматично приймає умови угоди.
- Вимикає інтерактивність, що дозволяє продовжити процес оновлення без перерви.
Програма веде журнал подій у файлі winget_upgrade.log
, де зберігається інформація про:
- Виконані дії.
- Помилки.
- Інші події, пов'язані з процесом оновлення.
Файл журналу winget_upgrade.log
зберігається у папці %USERPROFILE%\documents\
.
Журнал автоматично обрізається, якщо його розмір перевищує 256 КБ, щоб уникнути переповнення файлу.
-
При першому запуску програма генерує шаблон ігнор-файлу
ignore.json
, в якому вказуються пакети, які не потрібно оновлювати. Користувач має можливість додати всі необхідні пакети, потрібно зауважити, що назви пакетів залежні від регістру. Шаблон має наступну структуру:{ "Packages": [ { "name": "REPLACE_WITH_PACKAGE_NAME" }, { "name": "REPLACE_WITH_PACKAGE_NAME" } ] }
-
Після створення програма намагається застосувати цей ігнор-файл. Якщо структура ігнор-файлу є недійсною, програма виводить попередження про це.
-
Програма виводить інформацію про пакети, що ігноруються в консоль та журнал, формуючи повідомлення для кожного пакета на новому рядку, що спрощує читання.
Підтримується у версіях Windows з підтримкою winget (Windows Package Manager): Windows 10 версії 1809 (Build 17763) і новіших або Windows 11 |
---|
Використовуте winget_upgrade.exe доступний для завантаення в релізі, або скористайтеся альтернативним методом:
- Запустіть програму за допомогою команди
node main.js
. - Програма автоматично перевірить наявність Winget у системі.
- Якщо Winget присутній, вона почне оновлення всього програмного забезпечення.
- Процес оновлення буде відображатися у вікні консолі, а також записуватися у файл журналу
%USERPROFILE%\documents\winget_upgrade.log
. - Після завершення оновлення програма автоматично вийде через 10 секунд, або ви можете вийти вручну, натиснувши будь-яку клавішу.
Додатково ви можете скористатися start_menu_shortcut_enabler.bat
, який додасть ярлик winget_upgrade.exe
до Windows Start Menu, що забезпечить автоматичний запуск Winget Upgrade разом із системою.
У разі виникнення помилок, програма виводить відповідні повідомлення у консоль та записує їх у файл журналу для подальшого аналізу.
Після завершення оновлення програми автоматично виходить, щоб звільнити ресурси системи.
main.js
: Головний файл програми.utils.js
: Модуль для виконання команд та ведення журналу подій.settings.js
: Модуль, який містить необхідні налаштування для виконання команд та ведення журналу подій.start_menu_shortcut_enabler.bat
: batch скрипт, який додає ярликwinget_upgrade.exe
до Windows Start Menu або прибирає його за необхідності.