Гид по технологиям

Как создать EXE‑установщик для Windows

9 min read Программное обеспечение Обновлено 01 Jan 2026
Как создать EXE‑установщик для Windows
Как создать EXE‑установщик для Windows

TL;DR

Кратко: есть три простых пути создать EXE‑инсталлятор для Windows — SFX через 7‑Zip (быстро и просто), IExpress (встроенный мастер Windows с простым интерфейсом) и Inno Setup (гибкий скриптовый инструмент для продакшна). Выберите 7‑Zip для быстрых раздач, IExpress для простых мастеров, Inno Setup — для полноценных установщиков.

Иллюстрация: создание EXE‑установщика

Введение

Если вы разработали приложение под Windows — от небольшой утилиты до игры — самый удобный способ распространять его пользователям — упаковать в один инсталлятор EXE. Инсталлятор упрощает установку, создаёт ярлыки, записывает файлы в Program Files и (при необходимости) добавляет записи в реестр.

В этой статье рассматриваются три проверенных подхода:

  • Быстрый SFX‑архив с помощью 7‑Zip;
  • Мастер‑инсталлятор IExpress, встроенный в Windows;
  • Полнофункциональный скриптовый Inno Setup.

Далее — пошагово, с подсказками, проверками, примерами и рекомендациями по безопасности и совместимости.

Основные термины (1‑строчные определения)

  • SFX: самораспаковывающийся архив, выглядит как EXE, просто распаковывает файлы.
  • Installer: программа, которая устанавливает приложение, создаёт ярлыки, может изменять реестр и регистрировать удаление.
  • ISS: скрипт Inno Setup (.iss) — конфигурация инсталлятора.

1. Быстрое EXE через 7‑Zip (SFX — self‑extracting archive)

Подходит для: одноразовой раздачи, тестовых сборок, небольших утилит без сложных требований к инсталляции.

Плюсы:

  • Очень просто и быстро.
  • Получаете один EXE без дополнительных инструментов.
  • Подходит для пользователей без специальных архиваторов.

Минусы:

  • Не настоящий установщик: не создаёт записи в реестре, не добавляет запись в «Удаление программ», не ведёт логов установки.
  • Не управляет правами UAC или созданием ярлыков (без дополнительного скрипта).

Меню 7-Zip: Добавить в архив

Шаги (подробно):

  1. Сложите все файлы и папки приложения в один корневой каталог. Назовите папку так, как хотите, чтобы она выглядела в установке.
  2. Правый клик по папке -> 7‑Zip -> Добавить в архив…
  3. В окне архивации выберите формат 7z.
  4. Включите опцию “Создать SFX‑архив” (Create SFX Archive).
  5. Рекомендуемые параметры (пример):
    • Archive format: 7z
    • Compression level: Normal
    • Compression method: LZMA2
    • Dictionary size: 16 MB
    • Word size: 32
    • Solid block size: 2 GB
  6. Нажмите OK, дождитесь создания EXE.

Примечание: SFX просто распаковывает файлы в папку пользователя. Если нужен полноценный инсталлятор (ярлыки, реестр, деинсталляция), выбирайте другой метод.

Скачать: 7‑Zip для Windows (бесплатно)


2. IExpress — встроенный мастер Windows

Подходит для: быстрых мастеров установки с несколькими страницами, когда нужна простая последовательность действий и выбор папки установки.

Плюсы:

  • Входит в Windows, не требует сторонних установщиков.
  • Создаёт мастера с несколькими шагами: подтверждение, лицензия, выбор папки, сообщение о завершении.

Минусы и ограничения:

  • Не включает пустые директории и имеет проблемы с поддиректориями.
  • Не умеет правильно обрабатывать одноимённые файлы из разных папок.
  • Устаревший интерфейс и ограниченные возможности кастомизации.

Окно мастера IExpress

Шаги (подробно):

  1. Нажмите Windows+R, введите iexpress.exe и запустите мастер.
  2. Выберите “Create new Self Extraction Directive file” и нажмите Далее.
  3. Выберите “Extract files only” или другой подходящий режим, затем Далее.
  4. Укажите название пакета (Package Title), это будет отображаться в мастере.
  5. Настройте запрос подтверждения (No prompt или Prompt user with). Для безопасности обычно выбирают отображение.
  6. При необходимости добавьте лицензионное соглашение (Display a license).
  7. Нажмите Add и добавьте все файлы, которые должны попасть в пакет.
  8. Выберите параметры окна (Show Window) и сообщение по завершении (Finished Message).
  9. Укажите имя файла пакета и путь сохранения.
  10. При желании сохраните SED (Self Extraction Directive) файл для последующего редактирования.
  11. Нажмите Next на странице Create Package и дождитесь завершения.

Ограничения IExpress:

  • Не включает пустые папки и часто ломает структуру подпапок.
  • При наличии двух файлов с одинаковыми именами (даже в разных подпапках) процесс создания может завершиться с ошибкой.

Рекомендация: для профессиональных релизов лучше использовать Inno Setup или другой современный инструмент.


3. Inno Setup — полнофункциональный инсталлятор (рекомендуется для релизов)

Подходит для: коммерческих и Open Source‑релизов, когда важна гибкая логика установки, ярлыки, деинсталлер, регистрирование компонентов и локализация.

Почему Inno Setup:

  • Бесплатен и активно развивается.
  • Скриптовая конфигурация (.iss) даёт полный контроль.
  • Поддерживает создание ярлыков, запись в реестр, деинсталлятор, проверку версий, условные секции, расширения Pascal‑Script для сложной логики.

Окно приветствия Inno Setup

Быстрая инструкция (пошагово):

  1. Установите Inno Setup и откройте Inno Setup Compiler.
  2. В приветственном мастере выберите “Create a new script file using the Script Wizard”.
  3. Введите Application Name, Application Version, Publisher и Website (при желании).
  4. Выберите Destination base folder (обычно {pf} — Program Files).
  5. Задайте Application folder name (папка в Program Files).
  6. Укажите основной исполняемый файл приложения (main executable) или отметьте, что приложения без главного EXE.
  7. Добавьте дополнительные файлы и папки через Add files… и Add folders… .
  8. Настройте ярлыки — Desktop и/или StartMenu.
  9. По желанию укажите документацию: LICENSE.TXT, INSTALL.TXT, README.TXT.
  10. Выберите языки установки (по умолчанию English) или добавьте русский.
  11. На странице Compiler Settings укажите:
    • Custom compiler output folder — куда поместится готовый setup.exe;
    • Compiler output base file name — имя EXE (по умолчанию setup.exe);
    • Custom Setup icon file — путь к *.ico для установщика;
    • Setup password — если хотите ограничить использование инсталлера.
  12. Нажмите Finish, затем Yes чтобы скомпилировать.
  13. Решите сохранить .iss скрипт (Yes, если планируете обновления и правки).

Пример минимального ISS‑скрипта (шаблон):

[Setup]
AppName=MyApp
AppVersion=1.0
DefaultDirName={pf}\MyApp
DefaultGroupName=MyApp
OutputBaseFilename=MyAppSetup
Compression=lzma2
SolidCompression=yes

[Files]
Source: "dist\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "dist\data\*"; DestDir: "{app}\data"; Flags: recursesubdirs createallsubdirs

[Icons]
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"
Name: "{commondesktop}\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon

[Run]
Filename: "{app}\MyApp.exe"; Description: "Запустить MyApp"; Flags: nowait postinstall skipifsilent

Советы по работе с Inno Setup:

  • Храните все файлы для инсталлятора в отдельной папке, откуда собирается дистрибутив.
  • Версионируйте .iss файлы в системе контроля версий.
  • Проверяйте установку в виртуальной машине с «чистой» Windows перед публикацией.

Как выбрать метод — эвристика

  • Нужен быстрый однопользовательский EXE, без установки в систему: 7‑Zip SFX.
  • Нужен простой мастер с выбором папки и несколькими страницами: IExpress.
  • Нужен полноценный инсталлятор для пользователей и IT‑распространения: Inno Setup.

Mermaid‑диаграмма для выбора (решение):

flowchart TD
  A[Нужно ли управлять ярлыками / реестром / деинсталлятором?] -->|Да| B[Использовать Inno Setup]
  A -->|Нет| C[Требуется ли многостраничный мастер/лицензия?]
  C -->|Да| D[Использовать IExpress]
  C -->|Нет| E[Использовать 7‑Zip SFX]

Безопасность и защита инсталлятора

  • Подписывайте исполняемые файлы цифровой подписью (Code Signing Certificate). Подпись повышает доверие и предотвращает предупреждения SmartScreen.
  • Проверяйте целостность дистрибутива (SHA‑256 хэш) и публикуйте его рядом с загрузкой.
  • Минимизируйте права: не требуйте UAC, если можно установить в %LOCALAPPDATA% вместо Program Files.
  • Не встраивайте пароли или секреты в установщик.
  • Учитывайте антивирусы: тестируйте сборку в VirusTotal и на контрольных рабочих станциях.

Важно: цифровая подпись и проверка хэша — основные меры для безопасного релиза.


Совместимость, тесты и сценарии приёмки

Критерии приёмки (минимум для продакшн‑релиза):

  • Инсталлятор корректно устанавливает приложение в указанную папку.
  • Ярлыки создаются корректно на рабочем столе и в меню «Пуск».
  • Деинсталлятор удаляет все файлы и создаёт запись в «Программы и компоненты».
  • Установка без прав администратора возможна (если предусмотрено).
  • Инсталлятор корректно обрабатывает обновления: не перезаписывает файлы при несовместимости.
  • Логи установки доступны и содержат ошибки, если они произошли.

Тестовые кейсы (рекомендованные):

  1. Установка на чистой системе Windows 10/11 (64‑бит) с правами администратора.
  2. Установка без прав администратора (в локальную папку пользователя).
  3. Обновление с версии N‑1 до N (патч‑инсталляция).
  4. Удаление (деинсталляция) и проверка полного очищения.
  5. Установка при уже запущенном приложении (файловые блокировки).
  6. Установка с языком системы отличным от английского.

Роли и чек‑листы (кто что должен сделать перед релизом)

Разработчик:

  • Подготовить финальные бинарники и ресурсы.
  • Создать .iss или собрать SFX с корректной структурой.
  • Указать корректные версии и метаданные.

Тестировщик:

  • Прогнать тест‑кейсы установки/обновления/удаления.
  • Проверить логирование и обработку ошибок.

Руководитель релиза / DevOps:

  • Подписать бинарник (code signing).
  • Сгенерировать и опубликовать контрольный хэш (SHA‑256).
  • Подготовить страницу загрузки и инструкции по установке.

Советы по локализации и поддержке нескольких языков

  • Inno Setup поддерживает локализации мастера; добавьте русский локаль, если планируете русскоязычных пользователей.
  • Тексты лицензии и README предоставляйте на всех целевых языках.
  • Убедитесь, что пути и имена файлов корректно обрабатывают юникод (русские символы в путях).

Альтернативные инструменты и когда их использовать

  • WiX Toolset — для корпоративных MSI‑пакетов и интеграции с CI/CD.
  • NSIS — мощный и компактный, аналог Inno, с большим количеством плагинов.
  • InstallShield / Advanced Installer — коммерческие решения с GUI и поддержкой корпоративных сценариев.

Выбор зависит от требований к MSI, интеграции со службой развёртывания и объёма кастомной логики.


Примеры ошибок и когда методы не сработают

  • Если нужно управлять сервисами Windows или COM‑регистрацией — SFX и IExpress не подходят.
  • Для централизованного развёртывания через Group Policy/SSU нужен MSI (WiX) или конвертация.
  • Если у приложения сложная логика миграции/обновления баз данных, используйте Inno + Pascal‑Script или полноценный инсталлятор с pre/post скриптами.

Производственный чек‑лист перед публикацией

  • Собраны final binary и ресурсы.
  • Проведены тесты установки/удаления/обновления.
  • Приложение подписано кодовой подписью.
  • Сгенерирован и опубликован SHA‑256 хэш.
  • Подготовлена документация (LICENSE, README, INSTALL).
  • Проверена совместимость с целевыми версиями Windows.

GDPR и приватность (если установщик участвует в сборе данных)

Если во время установки собираются персональные данные (например, регистрация, email):

  • Убедитесь, что пользователь явно соглашается (EULA / отдельная форма).
  • Храните минимально необходимые данные и объясните цель сбора.
  • Обеспечьте доступ к политике конфиденциальности и контакты для запросов удаления.

Если инсталлятор просто копирует файлы без сбора данных, GDPR‑требования в общих случаях не применимы, но всё равно опубликуйте информацию о приватности приложения.


Короткая методология релиза (mini‑SOP)

  1. Сборка: соберите артефакты в clean/dist папку.
  2. Подготовка инсталлятора: создайте .iss или SFX пакет.
  3. Подпись: подпишите setup.exe и (опционально) внутренние EXE.
  4. Тестирование: прогоните тест‑кейсы на чистых системах.
  5. Публикация: загрузите файл, опубликуйте хэш и заметки релиза.
  6. Мониторинг: отслеживайте обратную связь и багрепорты.

Сводка

  • 7‑Zip SFX — быстрый способ получить один EXE, но без функциональности установки.
  • IExpress — встроенный мастер, удобен для простых инсталляторов, но имеет ограничения.
  • Inno Setup — лучший выбор для продакшн‑релизов: гибкий, скриптовый, поддерживает локализацию и расширения.

Пройдите минимальный чек‑лист безопасности и тестирования перед публикацией, подпишите инсталлятор и опубликуйте хэш для доверия пользователей.


Короткие рекомендации по выбору

  • Для тестов и отправки друзьям — 7‑Zip SFX.
  • Для простых мастер‑установок, когда не хочется устанавливать сторонний софт — IExpress.
  • Для публичных релизов — Inno Setup.

Спасибо — и удачных релизов!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство