Меню Рубрики

Установка exe файла на сайте

Файл формата exe: чем открыть, описание, особенности

EXE – распространенный файловый формат еще со времен ОС MS-DOS. Рассмотрим, что это за файлы, их наз.

EXE – распространенный файловый формат еще со времен ОС MS-DOS. Рассмотрим, что это за файлы, их назначение и задачи, какими программами запускаются, на что обратить внимание при работе с ними.

Часто встречающийся файловый формат – EXE. Помогает запустить установку программ на компьютер. Как открыть файл EXE в разных операционных системах, просмотреть или отредактировать содержимое – рассмотрим подробнее.

Формат EXE

EXE применяется для названия файлов-исполнителей. Это сокращение английского «executable files» – исполняемый файл. Используется в операционных системах Microsoft Windows, MS-DOS. Его задача – запуск инсталляции (деинсталляции) софта на устройство. Для этого в нем записан сценарий и код, которые запустят процесс.

  • Стартовый блок установки.
  • Данные для загрузчика файла.
  • Ресурсы программы – графические, медиа-элементы в сжатом виде.
  • Формы объектов – иконки программ, листы.

При открытии файла запускается автоматический процесс распаковки компонентов папки с приложением или загрузочного диска. Типичные примеры файлов .EXE – Setup.exe, Install.exe. Они входят в состав разных программ: игр, офисных и графических редакторов, других.

Файл может быть закодирован и сжат архиватором в самораспаковывающийся архив. Инсталляция проводится в ту же директорию или в указанную пользователем.

Создание файлов .EXE

Формат разработан в 1981 году для ОС MS-DOS. Пришел на смену формату .COM. Преимуществом было отсутствие ограничений и полноценное использование адресного пространства ЭВМ. Модернизации в формате происходили по мере появления новых компьютеров IBM PC с виртуальной памятью, новыми режимами переадресации и расширенной функциональностью. Обновленный и расширенный, формат по-прежнему применяется в современных Microsoft Windows.

Открываем EXE расширение

На персональном компьютере с ОС Microsoft Windows затруднений при открытии файла не возникает (об исключениях ниже). Сложности будут, если у пользователя Linux, Mac OS или мобильное устройство. Частый вопрос – как открыть EXE файл для редактирования или просмотра. Разбираемся по порядку.

На компьютере

Как открыть файл .EXE зависит от операционной системы устройства. Если это версии ОС Microsoft Windows, то сложностей быть не должно – под эту ОС файлы и разрабатывались. В основном они запускаются автоматически, для просмотра содержимого можно применить ряд утилит. Сложнее задача решить на ОС Linux или Mac. Но и тут выходы есть. Разберем подробней.

ОС Microsoft Windows 7

Для запуска применяем двойной щелчок манипулятора. Файл начнет устанавливаться и распаковываться (если это архив). Для просмотра содержимого без инсталляции подойдут утилиты Windows:

  • 7Zip – утилита для сжатия данных. Нужный файл выбирается при помощи пункта меню архиватора.
  • VMware ThinApp – софт для просмотра и переноса программ на другие платформы.
  • Microsoft Visual Studio – программа для разработки приложений.
  • IcoFX – утилита для просмотра, изменения значков из файловых ресурсов.

Для редактирования файлов .EXE подойдет Resource Hacker и аналогичные программы. Это редактор с функцией доступа в исполнительные файлы (.EXE, .DLL) для просмотра и замены в них данных.

ОС Microsoft Windows 10

Программы и принцип применения аналогичны, описанным выше. Сложность может быть в некорректном редактировании реестра Windows. Поможет модификация конфигурационного Reg-файла. Для него скачивается архив, соответствующий версии ОС Microsoft Windows, он распаковывается и после перезагрузки ПК файл .EXE должен открываться.

ОС Mac

На ПК с этими ОС напрямую открыть и запустить файл с форматом .EXE невозможно. Потребуются программы-эмуляторы, которые запустят Windows и ее приложения на ОС Mac:

Windows приложения работают с эмуляторами без сбоев, для переключения на установленную на компьютере ОС не нужно перезагружать ПК.

ОС Linux

Как и ОС Мас напрямую из Linux открыть .EXE не удастся. Применяются программы-эмуляторы Windows, указанные выше. После запуска виртуального сеанса Windows, файл будет открыт.

ОС Android

Как открыть EXE файл на Андроиде при том, что формат не предназначен для работы с ним? Структура и состав файлов EXE другой, прямой запуск невозможен. Есть два способа открыть файл:

  • При помощи удаленного доступа.
  • С программой-эмулятором Microsoft Windows.

Второй вариант проще. К таким утилитам относятся: BOCHS, Limbo, QEMU и другие. Принцип действий идентичен: скачать и установить приложение на мобильное устройство, запустить утилиту.

Возможные проблемы с файлами .EXE

Стоит быть внимательными при открытии файлов этого типа – они могут содержать в себе вирусное программное обеспечение. Получив файл от неизвестного отправителя, скачав с непроверенного источника, не стоит открывать его и запускать инсталляцию.

Файлы .EXE могут не работать, если рассчитаны на другую версию ОС Windows. Решение – в разделе «Свойства» файла зайти в пункт «Совместимость» и вручную изменить версию ОС. Не в 100% случаев, но такие действия помогают.

Если при запуске файла .EXE выдается сообщение об ошибке или действий нет, причиной могут быть настройки реестра Windows. При их изменении файл откроется.

источник

Создание EXE файла

EXE является форматом, без которого не обходится ни одно программное обеспечение. Им выполняются все процессы запуска или установки программ. Он может представлять собой как полноценное приложение, так и быть его частью.

Способы создания

Существует два варианта создания EXE файла. Первый — это использование сред для программирования, а второй — применение специальных инсталляторов, при помощи которых создаются разные «репаки» и пакеты, устанавливаемые в один клик. Далее на примерах рассмотрим оба варианта.

Способ 1: Visual Studio Community

Рассмотрим процесс создания простой программы на основе языка программирования «Visual С++» и ее компиляции в Visual Studio Community.

    Запускаем приложение, заходим в меню «Файл», после чего жмем по пункту «Создать», а затем в открывшемся перечне на «Проект».

Открывается окно «Создание проекта», в котором нужно кликнуть сначала по надписи «Шаблоны», а потом «Visual С++». Далее выбираем «Консольное приложение Win32», задаем наименование и местоположение проекта. По умолчанию он сохраняется в рабочей директории Вижуал Студио Коммьюнити, в системной папке «Мои документы», но по желанию возможно выбрать другой каталог. По завершении настроек щелкаем «ОК».

В следующем окне определяем параметры приложения. В частности, выбираем «Консольное приложение», а в поле «Дополнительные параметры»«Пустой проект», сняв при этом галочку с «Предварительно скомпилированный заголовок».

Запускается проект, в котором нужно добавить область для записи кода. Для этого во вкладке «Обозреватель решений» жмем правой кнопкой мыши по надписи «Файлы ресурсов». Появляется контекстное меню, в котором последовательно кликаем на «Добавить» и «Создать элемент».

В открывшемся окошке «Добавить новый элемент» выбираем пункт «Файл С++». Далее задаем имя файла кода будущего приложения и его расширение «.с». Для изменения папки хранения нажимаем на «Обзор».

В результате появляется вкладка с заголовком «Source.с», в которой происходит набор и редактирование текста кода.

Читайте также:  Установка поршня хускварна 137

Далее необходимо скопировать текст кода и вставить в показанную на изображении область. В качестве примера возьмем следующее:

int main(int argc, char* argv[]) <
printf(«Hello, World!»);
_getch();
return 0;
>

Примечание: Текст кода выше — это просто пример. Вместо него необходимо использовать собственный код для создания программы на языке «Visual С++».

После чего выскакивает уведомление, предупреждающее о том, что текущий проект устарел. Здесь необходимо нажать на «Да».

По завершении компиляции приложение выводит окно консоли, в котором будет написано «Hello, World!».

  • Созданный файл в формате EXE можем посмотреть при помощи Проводника Windows в папке проекта.
  • Способ 2: Инсталляторы

    Для автоматизации процесса установки ПО все более широкую популярность завоевывают так называемые инсталляторы. С их помощью создается софт, основной задачей которого является упрощение процесса развертывания ПО на компьютере. Рассмотрим процесс создания EXE файла на примере Smart Install Maker.

      Запускаем программу и во вкладке «Информация» редактируем наименование будущего приложения. В поле «Сохранить как» нажимаем по значку папки для определения местоположения, куда будет сохранен выходной файл.

    Открывается Проводник, в котором выбираем желаемое расположение и кликаем «Сохранить».

    Переходим во вкладку «Файлы», где необходимо добавить файлы, из которых будет потом собран пакет. Это осуществляется путем нажатия на пиктограмму «+» в нижней части интерфейса. Возможно также добавить целую директорию, для чего надо нажать на значок, на котором изображена папка с плюсом.

    Далее открывается окно выбора файлов, где нужно щелкнуть на значок в виде папки.

    В открывшемся обозревателе обозначаем нужное приложение (в нашем случае — это «Torrent», у вас же может быть любой другой) и кликаем на «Открыть».

    В результате в окне «Добавить запись» отображается файл с указанием пути его расположения. Остальные опции оставляем по умолчанию и жмем «ОК».

    Происходит процедура добавления исходного объекта в приложение и в специальной области софта появляется соответствующая запись.

    Далее нажимаем «Требования» и открывается вкладка, где нужно отметить список поддерживаемых операционных систем. Оставляем галочки на полях «Windows XP» и все, что идут ниже нее. На всех остальных полях оставляем рекомендуемые значения.

    Затем открываем вкладку «Диалоги», кликнув по соответствующей надписи в левой части интерфейса. Здесь все оставляем по умолчанию. Для того чтобы инсталляция проходила в фоновом режиме, можно выставить галочку в поле «Скрытая установка».

    По окончании всех настроек запускаем компиляцию, нажав на пиктограмму со стрелкой вниз.

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

  • Скомпилированное программное обеспечение можно найти при помощи Проводника Windows в той папке, который был указан при настройке.
  • Таким образом, в данной статье мы выяснили, что EXE файл может создаваться как при помощи специализированных сред разработки программ, например Visual Studio Community, так и специальными инсталляторами, к примеру, Smart Install Maker.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    источник

    Пошаговое руководство к исполняемым файлам (EXE) Windows

    Автор: Эндже Альбертини (Ange Albertini)
    Перевод на русский: Lyr1k

    Редакторский дайджест

    Присылаем лучшие статьи раз в месяц

    Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

    Похожие публикации

    Флешка OneDrive — portable версия для OneDrive

    Почему 0x00400000 является базовым адресом по умолчанию для EXE

    Саморазмножающиеся инстансы в облаках, как замена «вирусам в исполняемых файлах»

    Вакансии

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Комментарии 39

    Немного не так 🙂 Для подробного разбора тут кое-какие детали упущены, но работа несомненно визуально приятная. Единственный терзающий лично меня вопрос — зачем она?

    Application Error
    The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.

    >>почему в Microsoft не сделали подобную заглушку для .NET приложений.
    Почитайте внимательней мат.часть на предмет развития и появления .NET. Эта технология развилась благодаря COM-технологии. А все эти Ко-Сервера, Ко-Клиенты ничто иное как исполнимые файлы прописанные в реестре.

    >>И как пользователю догадаться, что нужно установить .NET framework?
    Это должен разработчик заботится. При написании инсталяционного скрипта для продукта он должен обнаружить нужное и выдать сообщение чего не хватает.

    Почитайте внимательней мат.часть на предмет развития и появления .NET. Эта технология развилась благодаря COM-технологии. А все эти Ко-Сервера, Ко-Клиенты ничто иное как исполнимые файлы прописанные в реестре.

    Это должен разработчик заботится. При написании инсталяционного скрипта для продукта он должен обнаружить нужное и выдать сообщение чего не хватает.

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

    DOS-header — это заголовок DOS-программы (а именно ее декларативная часть), которую содержит в себе любой исполняемый EXE-файл в целях обратной совместимости.

    К слову, COM-файлы никаких деклараций не содержат и например минимальная программа может занимать два байта (0xCD 0x20). С EXE это не так.

    Таким образом, любой исполняемый файл WIN-программы содержит в себе полезного паразита в виде DOS-программы (заглушки, STUB и т.д.), который в системе DOS преспокойно запускается и завершает обработку исполняемого файла (для DOS все эти PE и далее — просто мусор). А в Windows система считывает offset PE, лежащего в зарезервированном поле DOS-заголовка. Но этот факт не дает права называть DOS-заголовок частью WIN-программы. DOS-заголвок — это часть DOS-программы.

    источник

    Inno Setup: создание инсталлятора на примере развертывания C# приложения

    Введение

    Я не являюсь профессиональным программистом. В том смысле, что не зарабатываю денег этим ремеслом, а использую свои навыки в качестве инструмента для основной, научной, деятельности. Поэтому все мои «поделки» живут лишь отведенный им на решение конкретной задачи период и не выходят за пределы каталогов проекта. Кроме того, уже довольно давно я отошел от разработки под ОС Windows, ибо Linux для решения моих задач более удобен.

    Читайте также:  Установка абатмента установка коронки на имплант

    Однако ученым тоже хочется кушать, прилично одеваться и заправлять машину. Поэтому (правда довольно редко) возникает необходимость немного пофрилансить.

    Недавно мне подкинули не слишком сложный проект — одна фирма хочет написать аналог программы, имеющейся у другой. Немного реверсинга, немного кодинга, в целом проект вполне обыденный. Однако тут же возник вопрос о создании инсталлятора — клиент ведь желает продукт «под ключ», чтобы клацнуть на «сетап», понажимать «Далее» и получить готовую к работе программу.

    Созданием инсталляторов я не занимался никогда. Поэтому данный вопрос был основательно «загуглен», в числе прочего попалась и такая статья с Хабра. Выбор средств для подобной задачи довольно широк, и включает как проприетарные, так и открытые продукты. Вот список того, что я «пощупал»

    1. InstallShield — классика жанра, достаточно солидный проприетарный продукт
    2. Adnvanced Installer — проприетарный инструмент с широкими возможностями кастомизации через GUI. На сайте сказано, что если Вы блоггер и будете писать об этом продукте много хороших слов, то у Вас есть возможность получить Free License
    3. WiX — открытый бесплатный продукт, основанный на XML-скриптах. Мощная, хорошо документированная штука. Разбираться с ним я пока не стал, ибо время дорого (да и к XML душа лежит не очень). Возможно когда нибудь я к нему вернусь. Да, к нему есть плагины для Visual Studio, что несомненный плюс.
    4. Inno Setup — опенсорсный проект, код которого доступен на гитхабе. В силу бесплатности и низкого порога вхождения мой выбор остановился именно на нем, как инструменте позволившем выполнить работу быстро и качественно.

    Так что в статье мы будем рассматривать пример использования Inno Setup, для которого имеется полезный фронтэнд Inno Script Studio, позволяющий выполнять создание простых инсталляторов с помощью мастера и менять настройки через GUI. GUI понадобился мне для первого знакомства, с продуктом, но мы не будем уделять ему большого внимания — мой «линукс головного мозга» в последнее время всё больше и больше уводит меня от желания использовать разного рода «мастера» (это субъективно, прошу не пинать). Мы рассмотрим хардкорный способ написания скрипта с чистого листа.

    1. Установка, настройка и простой (но довольно солидный) скрипт

    Думаю, что скачать программу с официального сайта и установить её труда не составит. Запускаем Inno Setup Compiler и видим такое окно

    Пугающе уныло встречает нас Inno Setup.

    Что это? По сути это просто-напросто редактор для набора скриптов, снабженный подсветкой синтаксиса и кнопками компиляции и запуска. От нас ждут, что мы начнем набирать в этом окне текст скрипта, определяющий логику работы будущего инсталлятора. Ну так и не будем терять время.

    Прежде всего определим необходимые константы

    Эти строки будут часто встречаться в коде скрипта, поэтому определяем их, как и в C, с помощью дерективы #define

    Тело скрипта разделяется на секции, каждая из которых несет свое функциональное назначение. Обязательная секция [Setup] задает глобальные параметры работы инсталлятора и деинсталатора.

    Пристальное внимание уделаем опции AddId — уникальный идентификатор приложения (GUID), используемый для регистрации приложения в реестре Windows. Его пишем не «от фонаря», а генерируем, открывая фигурную скобку, и выбрав в меню пункт Tools -> Generate GUID (или используя хот-кей Shift + Ctrl + G). Далее указываем имя приложения, под которым оно будет установлено в системе, его версию, данные фирмы разработчика, адреса сайтов разработчика, технической поддержки и обновления.

    Путь, по умолчанию предлагаемый инсталлятором для установки определяем опцией DefaultDirName. При этом переменная — это путь в каталог Program Files соответствующей разрядности. Опция DefaultGroupName определяет имя группы программы в меню «Пуск». Обратите внимание на то, что для указания имени приложения мы используем данное нами выше макроопределение Name, обрамляя его фигурными скобками и решеткой.

    Пара опций OutputDir и OutputBaseFileName задают каталог, куда будет записан скомпилированный «сетап» и его имя (без расширения). Кроме этого, указываем где взять иконку для test-setup.exe опцией SetupIconFile.

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

    В хорошем исталяторе должна быть поддержка нескольких языков. Включаем её в наш «сетап», используя опциональную секцию [Languages]. При отсутствии данной секции будет использоваться английский язык.

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

    в качестве разделителя параметров используется точка с запятой. Параметр Name говорит сам за себя — «имя» языка, допускаются общепринятые двухбуквенные сокращения («en», «ru», «de» и так далее). Параметр MessagesFile сообщает компилятору в каком месте взять шаблон сообщений, выводимых при инсталляции. Эти шаблоны берем в каталоге компилятора Inno Setup, о чем мы сообщаем директивой compiler. Для английского языка годится шаблон Default.isl, для русского — Languages\Russian.isl

    Параметр LicenseFile задает путь к файлу с текстом лицензии на соответствующем языке.

    Обычно установщик предлагает нам, например, определится, хотим мы или не хотим создать ярлык на рабочем столе. Такие опции установки определяются необязательной секцией [Tasks]

    Здесь Name задает имя операции — «desktopicom» — создание иконки на рабочем столе; Description — описание чекбокса с опцией, которое увидит пользователь. Конструкция

    задает стандартный текст сообщения, соответствующий выбранному в начале инсталляции языку. Параметр GroupDescription — заголовок группы чекбоксов с опциями. Параметр Flags задает определенные действия и состояния элементов управления, в данном случае указывая, что галочка «создать ярлык на рабочем столе» должна быть снята.

    Теперь укажем, какие файлы надо включить в дистрибутив и где их надо поместить при установке. Для этого используется обязательная секция [Files]

    • Source — путь к файлу-источнику. У меня всё необходимое программе для работы лежит в каталоге Release проекта MS VS
    • DestDir — каталог установки, переменная содержит путь, выбранный пользователем в окне установщика
    • Flags — разнообразные флаги. В нашем примере для исполняемого файла: игнорирование версии программы при перезаписи исполняемого модуля, если он уже существует в системе (ignorevarsion); для остальных файлов и каталогов так же игнорируем версию, рекурсивно включаем все подкаталоги и файлы источника (recursesubdirs) и создаем подкаталоги, если их нет (createallsubdirs)

    Наконец, чтобы всё было красиво, опционально укажем компилятору, где брать иконки для размещения в меню программ и на рабочем столе

    Тут я указываю, что для группы в меню «Пуск» и для рабочего стола иконку надо брать из исполняемого модуля. Естественно, что иконка должна быть в него «вкомпилена», иначе в требуемых местах мы увидим стандартный значок из коллекции винды.

    Итак, всё вроде готово. Жмем Ctrl + F9 и пытаемся собрать инсталлятор. Если не допущены синтаксические ошибки, начнется процесс сборки

    Inno Setup собирает инсталлятор

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

    Запуск инсталлятора под ограниченной учетной записью

    В итоге мы увидим до боли знакомое каждому пользователю Windows окно выбора языка

    приветствие мастера

    лицензионное соглашение

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

    Ну что сказать? Ура! Мы написали свой первый «сетап» и могли бы радоваться, но

    2. Развертывание .NET Framework

    Вы не заметили, что мы о чем-то забыли? Приложение, созданное на C# не будет работать без фреймворка, с которым оно было собрано, если таковой отсутствует в системе. Соответствующий фреймворк надо установить, а для этого необходимо

    1. Определиться с тем, как будем получать дистрибутив фреймворка. Тут есть два варианта — поставлять его вместе с дистрибутивом программы или, при необходимости установки загрузить его онлайн на целевую машину. Мы остановимся на варианте включения фреймворка в дистрибутив. Сам фреймфорк, скажем версии 4.0, можно взять бесплатно у Майкрософта
    2. Детектировать наличие/отсутствие данного фреймфорка в целевой системе. Для этого потребуется написать логику, анализирующую состояние системного реестра.

    Значения в реестре, которые необходимо проверить приведены в официальной документации Microsoft, в статье я приведу краткую выжимку из неё

    Таблица 1. Ключи реестра, для проверки установленной версии .NET Framework

    Версия .NET Ключ реестра Значение
    3.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup\InstallSuccess 1
    3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Install 1
    4.0 Client Profile HKLM\Software\Microsoft\NET Framework Setup\NDP\v4.0\Client\Install 1
    4.0 Full Profile HKLM\Software\Microsoft\NET Framework Setup\NDP\v4.0\Full\Install 1
    4.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4.0\Full\Release номер релиза

    Для реализации произвольной логики работы инсталлятора в Inno Setup предусмотрена секция [Code]. В пределах этой секции размещается код реализующих логику функций на языке Pascal. Содежимое этой секции мы вынесем в отдельный файл dotnet.pas и включим в основной скрипт дерективой #include

    хотя можно набить код и непосредственно в секции [Code]. Надо помнить, что внутри этой секции используется синтаксис Pascal, и комментарии предваряются последовательностью «//» вместо используемой в основной части скрипта точки с запятой.

    Напишем функцию, определяющую наличие в системе нужной версии .NET

    Не смотря на обилие кода, логика его работы достаточно проста — в зависимости от значения параметра version с помощью функции RegQueryDWordValue(. ) читается значение соответствующего ключа реестра и сравнивается с требуемым значением (смотрим таблицу 1). Для версии 4.5 дополнительно передаем номер релиза в параметре release.

    Для того приложения, которое мы будем развертывать, нужна вполне определенная версия .NET, поэтому напишем функцию-обертку для её определения в целевой системе

    Для того, чтобы перед началом установки проверить наличие фреймворка и сообщить пользователю о предпринимаемых действиях используем Callback-функцию InitializeSetup()

    Теперь в секцию [Files] добавим запись о том, где компилятор должен взять дистрибутив .NET, куда инсталлятор он должен её распаковать, и при каких условиях следует выполнять распаковку

    Во флагах скажем, что надо удалить дистрибутив .NET после установки (deleteafterinstall). Условие, при котором требуется распаковка задаем опцией Check, где вызываем функцию IsRequiredDotNetDetected(), выполняя распаковку ели она вернет false.

    Сам запуск инсталляции фрейворка можно выполнить после установки основной программы, поэтому включаем в скрипт секцию [Run], в которой указывается, что необходимо запускать по окончании установки

    Обратите внимание на то, что мы сначала указываем имя секции [Run], чтобы закрыть секцию [Code], а затем пишем комментарий начинающийся с точки с запятой. Это необходимо из-за различия синтаксиса основного скрипта и секции [Code], в противном случае при компиляции мы получим синтаксическую ошибку.

    В секции задается путь к инсталлятору фреймворка — предварительно он распакован нами во временный каталог (переменная содержит путь к веременному каталогу); задаются параметры командной строки. Опция Check определяет условие запуска инсталляции — это отсутствие в целевой системе нужного нам фреймворка. Опция StatusMsg определяет сообщение, которое увидит пользователь в окне инсталлера.

    Снова компилируем наш проект. Теперь, при запуске на «чистой» винде инсталлятор выдаст сообщение

    Нам сообщают что требуется .NET Framework 4.0 и для нас его установят

    При распаковке мы заметим, что дополнительно распаковывает дистрибутив .NET во временную папку

    а затем процесс переключается на установку .NET

    Майкрософт просит нас принять лицензию.

    Установка .NET

    После этого мы получаем работоспособное C# приложение установленное «по взрослому»

    Заключение

    Я не профессионал и во многих вещах могу ошибаться. Прошу отнестись к этому с пониманием. Статья писалась нубом для нубов, её основная цель — задать вектор поиска при решении задачи написания инсталлятора. За остальными вопросами можно обратится к документации, поставляемой вместе с Inno Setup.

    Код данного примера доступен в моем репозитории на Github. «Кракозябры» в комментах вызваны несовпадением кирилических кодировок. Для себя всегда пишу английские комментарии, но для лучшего понимания кода допустил этот ляп. При скачивании в винде всё просматривается замечательно, так что прошу простить мне и эту несуразность.

    В остальном, полагаю «хаутушка» вышла достойной и благодарю за уделенное мне внимание.

    источник