Сборка и подписание десктоп-приложения для Windows

Дистрибуция Windows-приложения без подписи кода — гарантированные проблемы с SmartScreen и Windows Defender. Даже если приложение полностью безопасно, пользователи видят предупреждение «Неизвестный издатель» и в 30% случаев отказываются от установки. Эта проблема особенно критична для коммерческих п

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Сборка и подписание десктоп-приложения для Windows
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    983
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1247
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    984
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    998

Дистрибуция Windows-приложения без подписи кода — гарантированные проблемы с SmartScreen и Windows Defender. Даже если приложение полностью безопасно, пользователи видят предупреждение «Неизвестный издатель» и в 30% случаев отказываются от установки. Эта проблема особенно критична для коммерческих продуктов: каждый потерянный установщик — это упущенная выручка. Согласно Microsoft, подписанные приложения блокируются реже. Подписанное приложение с EV-сертификатом снимает все предупреждения, а OV-сертификат со временем нарабатывает репутацию. Мы настраиваем сборку и подписание так, чтобы установка проходила без лишних диалогов, а ваш продукт выглядел профессионально. Затраты на сертификат составляют несколько сотен долларов в год, но окупаются доверием пользователей.

Как настроить сборку десктоп-приложения под Windows?

Electron + electron-builder — самый распространённый стек для кросс-платформенных приложений. Он позволяет собрать установщик для Windows, macOS и Linux из одной кодовой базы. Типовая конфигурация выглядит так:

# electron-builder.yml appId: com.company.appname productName: AppName win: target: - target: nsis # стандартный установщик - target: zip # портативная версия icon: build/icon.ico sign: true nsis: oneClick: false perMachine: true allowToChangeInstallationDirectory: true 

WiX Toolset — для создания MSI-пакетов, которые требуются в корпоративных средах с SCCM/Intune. MSI позволяет централизованно управлять установкой и обновлениями. Пример простого .wxs:

<!-- product.wxs --> <Product Id="*" Name="AppName" Version="1.0.0" Manufacturer="Company"> <Package Compressed="yes" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLFOLDER" Name="AppName" /> </Directory> </Directory> <Component Id="MainExecutable" Directory="INSTALLFOLDER"> <File Source="AppName.exe" KeyPath="yes" /> </Component> </Product> 

Как выбрать тип установщика?

Установщик Преимущества Недостатки Подходит для
NSIS Простота настройки, малый размер, поддержка скриптов Ограниченная поддержка корпоративных сценариев Небольших и средних проектов, быстрого старта
MSI (WiX) Интеграция с SCCM/Intune, групповая политика, возможность отката Сложнее конфигурация, больший размер Крупных заказчиков, корпоративного распространения

Выбор зависит от вашей целевой аудитории. Если продукт ориентирован на enterprise-сегмент — выбирайте MSI. Для массового пользователя достаточно NSIS.

Почему подписание кода обязательно?

SmartScreen анализирует цифровую подпись и репутацию издателя. Без подписи рейтинг нулевой, и система блокирует установку. Подписанное приложение с EV-сертификатом получает «зелёный свет» сразу. Мы помогаем выбрать тип сертификата и настроить процесс.

Тип сертификата Время получения Доверие SmartScreen Стоимость (ориентир)
EV (Extended Validation) 3–7 дней Сразу без предупреждений Выше
OV (Organization Validation) 1–3 дня Требует накопления репутации Ниже

EV-сертификат лучше OV: он сразу даёт бесшовную установку, а OV требует времени для накопления репутации. Для большинства коммерческих продуктов мы рекомендуем EV.

Code Signing

Сертификат подписи кода: EV (Extended Validation) — сразу даёт хорошую репутацию SmartScreen; OV (Organization Validation) — требует накопления репутации.

# Подписание через signtool.exe signtool sign ` /fd SHA256 ` /tr http://timestamp.digicert.com ` /td SHA256 ` /f certificate.pfx ` /p $env:CERT_PASSWORD ` "dist\AppName-Setup.exe" # Проверка подписи signtool verify /pa "dist\AppName-Setup.exe" 

Автоподписание в CI/CD (GitHub Actions)

- name: Sign Windows executable env: CERTIFICATE_BASE64: ${{ secrets.WINDOWS_CERTIFICATE_BASE64 }} CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }} run: | $cert = [Convert]::FromBase64String($env:CERTIFICATE_BASE64) [IO.File]::WriteAllBytes("certificate.pfx", $cert) & "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" ` sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 ` /f certificate.pfx /p $env:CERTIFICATE_PASSWORD ` "dist\AppName-Setup.exe" 

Автообновление приложения

Подписание установщика — первый шаг; не менее важна доставка обновлений. Electron-updater поддерживает GitHub Releases, S3 и собственные серверы обновлений. Обновление скачивается фоново, пользователь получает уведомление и перезапускает приложение в удобный момент — без принудительного прерывания работы. Для MSI-дистрибутива используем Windows Installer patch или полный пересобранный пакет с новой версией. Пакет обновления тоже подписывается — иначе SmartScreen заблокирует установку патча. Дельта-обновления сокращают объём загрузки на 60-70%, что критично для пользователей с медленным соединением. Мы настраиваем канальную систему: stable, beta, nightly — каждый канал получает свою ветку обновлений и отдельный ключ подписи.

Что входит в работу

  1. Аудит текущего процесса сборки — выявляем узкие места и неоптимальные конфигурации.
  2. Выбор типа установщика и сертификата — в зависимости от целевой аудитории.
  3. Настройка скриптов сборки — конфигурируем electron-builder или WiX для автоматического подписания.
  4. Интеграция подписи в CI/CD — настраиваем GitHub Actions, GitLab CI или Jenkins для безопасного подписания при каждом релизе.
  5. Тестирование установки — проверяем, что приложение устанавливается без предупреждений.
  6. Передача документации — описываем процесс и даём рекомендации по обновлению сертификата.

Настраиваем под ключ за 2–3 рабочих дня. 5 лет опыта в сборке десктоп-приложений, более 50 успешных проектов. Свяжитесь с нами для консультации — оценим ваш проект и предложим оптимальное решение. Закажите настройку сборки, чтобы ваше приложение выглядело профессионально и вызывало доверие.

Дополнительные рекомендации: Храните сертификат в защищённом хранилище, например, Azure Key Vault или AWS KMS. Используйте отдельные сертификаты для dev и prod среды. Регулярно проверяйте срок действия сертификата — истечение может заблокировать релиз. Экономия на поддержке пользователей после внедрения подписи может достигать 20%.

Для углублённого изучения обратитесь к официальной документации: signtool и WiX Toolset.