Каталог содержит исходники установщика на Inno Setup. Готовые файлы setup.exe
в репозитории не хранятся: они публикуются на странице
Releases.
Inno Setup 6. Устанавливается один раз:
winget install JRSoftware.InnoSetup
Ссылка на дистрибутив: jrsoftware.org/isdl.php.
Installer\build-installer.bat
То же самое из консоли:
powershell -File Installer\build-installer.ps1
Скрипт публикует клиент со встроенной средой выполнения .NET и вызывает Inno Setup.
Пользователю устанавливать .NET отдельно не требуется. Результат появляется в
Installer\Output\TebegramSetup-<версия>.exe.
| Файл | Назначение |
|---|---|
TebegramSetup.iss |
сценарий Inno Setup: состав пакета, ярлыки, версия |
build-installer.ps1 |
публикация клиента и вызов компилятора Inno Setup |
build-installer.bat |
запуск скрипта двойным щелчком |
Output/ |
каталог результата, в репозиторий не попадает |
-
Поднять версию в трёх местах, значения должны совпадать:
Файл Параметр Installer\TebegramSetup.issMyAppVersionTebegram-client\Classes\UpdateChecker.csCurrentVersionversion.txtв корне репозиториявся строка -
Собрать установщик локально либо отправить тег вида
v2.0.1: сценарий.github/workflows/build-installer.ymlсоберёт пакет на стороне GitHub и приложит его к релизу. -
При ручной сборке выложить
TebegramSetup-<версия>.exeв Releases. -
Слить
version.txtв веткуmain.
Проверка обновлений в клиенте читает version.txt из ветки main и сравнивает
значение с UpdateChecker.CurrentVersion. При расхождении показывается сообщение
о доступной версии со ссылкой на страницу загрузки.
Полное автообновление реализуется на существующем каркасе UpdateChecker:
клиент загружает TebegramSetup-<версия>.exe из Releases и запускает его с
ключами /SILENT /CLOSEAPPLICATIONS, после чего Inno Setup обновляет приложение
поверх текущей установки и перезапускает его.