Установочные, или исполняемые файлы (installation files), иногда называются двоичными. Потому как их формат представляет собой сплошную последовательность двоичных значений. В вычислительной технике установочный файл вызывает компьютер для выполнения указанных задач в соответствии с закодированными инструкциями. Этим он отличается от обычного документа данных, который должен быть только прочитан. Файл с именем, оканчивающимся на .exe является программой, которая при открытии заставляет операционную систему запустить приложение.
Назначение и исполнение файлов
Такие installation files могут быть написаны вручную на машинном языке, хотя гораздо удобнее разрабатывать программное обеспечение в виде исходного кода на языке высокого уровня, который может быть легко понят программистом. В некоторых случаях исходный код может быть указан на языке ассемблера, который тесно связан с инструкциями машинного кода. Язык высокого уровня компилируется либо в установочный файл машинного кода, либо в объектный.
Несколько последних, связанные между собой, могут создать installation files. Они имеют формат контейнера, в виде установочного и связываемого форматов (ELF). Это структурирует сгенерированный машинный код, например сегментируя его на разделы:
- .text — установочный код;
- .data — статические переменные;
- .rodata — статические константы.
Для выполнения системой установочный файл должен соответствовать двоичному интерфейсу системного приложения (ABI). Наиболее просто он выполняется путем загрузки в память и простого перехода к началу адресного пространства и выполнения его оттуда. Но в более сложных интерфейсах installation files имеют дополнительные метаданные, определяющие отдельную точку входа. Например, в ELF точка входа указывается в заголовке в e_entity поле, определяющем адрес виртуальной памяти, с которого начинается выполнение. В GCC (GNU Compiler Collection) это поле устанавливается компоновщиком на основе _start символа.
Структура и функции запуска
Установочные файлы, как правило, включают в себя систему, контролирующую время выполнения, с реализацией функции языка, а также планирования задач, обработку исключений, вызов статических конструкторов и взаимодействия с операционной системой. Например, передачу аргументов, среды и возвращение состояния выхода вместе с другими функциями запуска и завершения работы, такими, как освобождение ресурсов. Для C это делается путем связывания объекта «crt0», который содержит фактическую точку входа и выполняет настройку и завершение работы, вызывая библиотеку времени выполнения.
Таким образом, установочные файлы Windows обычно содержат значительный дополнительный машинный код, помимо того, который непосредственно генерируется из исходного. В некоторых случаях желательно его пропустить, например при разработке встроенных систем или просто при изучении того, как работают компиляция, компоновка и загрузка. В C это можно сделать, пропустив обычную среду выполнения и вместо этого указав сценарий компоновщика, который генерирует точку входа и обрабатывает запуск и завершение работы, например, вызывая mainstart и возвращая состояние выхода ядру в конце операции.
Виды расширений
Установочный файл «Виндовс» также называется двоичным. Программа — это последовательность инструкций, понятная центральному процессору (ЦП) компьютера, которые он должен выполнять с набором данных.
Расширения файлов Windows: .EXE, .COM, .BAT, .VB, .VBS, .WSF, .PIF.
Расширения файлов Macintosh: .APP, .SCPT, .APPLESCRIPT.
Установка может быть реализована в виде трех форматов:
- Пользовательская сторонняя система установки в EXE-файл.
- Установщик Windows в MSI.
- EXE-файл, который загружает MSI, встроенного в EXE.
MSI могут быть только установочными, а EXE, наоборот, могут быть буквально всем, что может работать на компьютере. Исполняемые файлы состоят из инструкций, которые были переведены из исходного кода в машинный, также называемый машинным языком или объектным кодом, с использованием специализированной скомпилированной программой. Код машины полностью состоит из нулей и единиц, которые представляют состояние логических схем процессора и ячеек памяти.
Запускаемые EXE-файлы
Установочные программы выполняет код или серию инструкций, содержащихся в них. Два основных типа: скомпилированные программы и сценарии.
В системах Windows скомпилированные программы имеют расширение EXE. На компьютерах Macintosh скомпилированные программы имеют расширение APP. Оба типа исполняемых файлов компилируются из исходного кода в двоичный машинный, который непосредственно выполняется процессором. EXE работают только в ОС Windows, а APP — в Mac OS X. Это связано с тем, что код выполняется операционной системой и поэтому должен компилироваться в формате ей понятном.
Не скомпилированные исполняемые файлы часто называют скриптами. Они сохраняются в текстовом формате, а не в двоичном. Другими словами, можно открыть сценарий и просмотреть код в текстовом редакторе. Поскольку сценарии не содержат исполняемого машинного кода, для их работы требуется интерпретатор. Например, файл PHP может выполнять код только при запуске через интерпретатор PHP. Если он недоступен, то скрипт PHP можно открыть только в виде текстового документа.
Поскольку исполняемые файлы запускают код при открытии, пользователь не должен открывать неизвестные, особенно те, которые получены в виде вложений электронной почты. Такие скомпилированные исполняемые файлы являются наиболее опасными и могут запускать вредоносный код. Например, VBScript (.VBS) могут автоматически запускаться в системах Windows через встроенный Windows Script Host. Аналогично AppleScript (.SCPT) могут запускаться через интерпретатор AppleScript, включенный в Mac OS X.
Пользовательский интерфейс MSI
MSI — это файлы базы данных, используемые установщиком Windows. Они содержат информацию о приложении, которая разделена на функции и компоненты, и каждый компонент может содержать данные реестра. Ярлыки MSI содержат пользовательский интерфейс, которые используются для установки, и различные другие данные в виде предварительных условий. Он также может содержать фактические файлы, которые должны устанавливаются самостоятельно, в настоящее время это рекомендуемый способ установки MSI в Windows. Альтернативой является написание программы, которая самостоятельно выполняет установку.
MSI выполняются EXE, который является частью Windows и называется MSIEXEC.EXE. Это приложение считывает данные в MSI и выполняет процесс.
Алгоритм запуска файлов MSI:
- Открывают меню «Пуск» в нижнем левом углу экрана.
- Нажимают «Компьютер», чтобы открыть собственный файловый менеджер Windows 7 с именем Windows Explorer. Он отображает диски и папки на левой панели. Если нажать по одному из дисков или папок, можно увидеть его содержимое на правой панели.
- Нажимают «Организовать» в верхнем левом углу менеджера и выбирают «Папка и параметры поиска» в раскрывающемся меню. Откроется окно «Параметры папки».
- Нажимают «Вид» в верхней части окна «Параметры папки», чтобы просмотреть параметры просмотра.
- Снимают флажок «Скрывать расширения для известных типов» в разделе «Файлы и папки», чтобы увидеть все расширения.
- Нажимают «Применить», а затем «ОК», чтобы применить настройки и закрыть окно «Параметры папки».
- Используют окно проводника, чтобы найти MSI, который нужно выполнить.
- Нажимают «Тип» в верхней части правой панели, чтобы отсортировать файлы по типу, чтобы все MSI отображались вместе. Если «Тип» не отображается в верхней части правой панели, передвигают ползунок представления в «Детали», чтобы отобразить сведения, включая «Тип». Слайдер вида находится в верхнем правом углу окна проводника.
- Дважды нажимают MSI, чтобы запустить приложение установщика Windows.
Запуск для системы DOS
Для того чтобы запустить файл из MS-DOS, запускают исполняемый тип, который представляет собой .exe, .bat или .com. Для проверки, какие документы в текущем каталоге являются исполняемыми, используют команду «dir» в приглашении MS-DOS. Этим способом можно определить ресурс с установочными файлами .exe или заменить их на .bat или .com. После того как определено имя исполняемого типа, вводят его имя в командной строке MS-DOS. Например, если исполняемый файл — game.exe, вводят в командной строке «game».
Если не находится файл или поступает сообщение об ошибке, например «неверная команда или имя файла», скорее всего, этот файл отсутствует в текущем каталоге. Переходят в каталог исполняемого и снова вводят команду. Важно помнить, что при запуске его из оболочки MS-DOS (в MS-DOS в Windows) программа все равно будет использовать Windows для запуска.
Создание директив для Windows
Каждое приложение должно быть скопировано на ПК с определенной структурой каталогов, которая гарантирует его правильное функционирование. Можно применить специальное ПО, например Inno Setup, которое очень полезно при создании исполняемых файлов (EXE), которые действуют как установщики приложений под Windows.
Основные преимущества бесплатного ПО заключаются в том, что оно обладает большим количеством функций, которые работают практически во всех системах Windows (7, 2008 R2, Vista, XP, 2008, 2003, 2000, Me, 98, 95 и NT 4.0. 32 бита и 64 бита). Для начала рекомендуется использовать мастер, а затем встроенный редактор сценариев для расширенной компиляции файлов установки.
В папке Inno Setup Example Scripts имеется множество примеров шаблонов различных моделей установщиков приложений, предварительно рекомендуется попробовать их все, чтобы получить представление о диапазоне доступных вариантов.
Опытные пользователи этого программного обеспечения, могут создавать свои собственные сценарии и изменять их, создавая мощные файлы для приложений. Рекомендуется просмотреть включенный справки, чтобы получить дополнительную информацию о доступных командах.
Нахождение расположения installation files
Для того чтобы определить, какие файлы установочные, проще всего взглянуть на свойства ярлыка. Последовательность действий:
- Открывают окно свойств ярлыка, например для Firefox.
- Можно использовать сочетания клавиш, если ярлык либо в меню «Пуск», либо в списке «Программы».
- Нажимают правой кнопкой мыши по ярлыку и выбирают «Свойства».
- Находят полный путь к исполняемому файлу и его имя.
- Для этого примера: C: Program Files Mozilla Firefox firefox.exe.
- Переходят к EXE через папку Mozilla Firefox, где и будет расположен установочный файл «Виндовс 7» для Firefox.
Архивирование игры
Для того чтобы превратить игру в один EXE используют популярный архиватор WinRAR, создают новый архив и называют его. Копируют туда все игровые данные .exe, файл шрифта, Unity exe и другое. Нажимают SFX, затем дополнительные параметры. Это превратит весь RAR в программу, которая будет извлекать себя, а затем запускать игру.
Осуществление настройки:
- Добавляют имя установочного файла игры в «Запуск после извлечения». Убеждаются, что процесс извлечения скрыт и идет во временный каталог.
- Устанавливают флажок «Перезаписать все файлы»: на случай, если понадобится исправить ошибку, она заменит существующий материал во временной папки новым.
- Добавляют значок, если нужно, в разделе «Текст и значок».
- После сохранения и нажатия должен быть один .exe, который будет работать.
Метод создания IExpress
IExpress — это утилита, поставляемая в комплекте с версиями Windows, начиная с Windows XP и выше. Утилита поставляется с графическим интерфейсом, называемым IExpress Wizard. И также можно создавать установочные файлы, используя файлы SED, написанные вручную с использованием мастера.
Как и в 7-Zip выше, этот метод создает самораспаковывающийся архив с двумя основными отличиями. Во-первых, конечный пользователь будет проходить через многостраничный мастер установки, и во-вторых, конечный пользователь может указать целевой каталог, в котором находится инструмент и распакует файлы.
Порядок создания установщика EXE с помощью IExpress:
- Открывают приглашение «Выполнить» клавишей Windows + R и вводят iexpress.exe, чтобы запустить мастер IExpress.
- Выбирают «Создать новый файл директивы самоизвлечения» и нажимают «Далее».
- Выбирают «Извлечь только файлы» и нажимают «Далее».
- Для подтверждения запроса выбирают «Нет запроса» или «Запрос пользователя с помощью».
- Для лицензионного соглашения отображают лицензию, если нужно, чтобы конечный пользователь согласился с каким-либо лицензионным соглашением (EULA), если нет, то лучше выбрать «Не отображать лицензию».
- Для того чтобы добавить все файлы, которые нужно увидеть установленными, нажимают кнопку «Добавить», переходят к папке выбрать их все.
- Продолжают работу с помощью мастера IExpress и выбирают нужные параметры для подсказок «Показать окно» и «Готовое сообщение».
- В качестве имени пакета нажимают «Обзор», переходят к месту, где нужно создать установочный EXE, и присваивают ему имя.
- Нажимают «Далее».
- Выбирают «Сохранить файл директивы самоизлечения (SED)», если нужно создать измененный установщик позже. Если будет выбрано «Не сохранять», то придется пройти весь процесс с нуля.
- На странице «Создание пакета» нажимают «Далее» для окончания процесса.
Пакет приложений, объединяющий все документы в один, называемый установочным файлом, упрощает развертывание и настройку их на компьютерах пользователей. Настройка снижает общую стоимость владения ресурсом, позволяя эффективно устанавливать и настраивать приложения. В результате получается пакет, который предоставляет продукту новые возможности, такие как объявление функций без их установки, установка продуктов по запросу, добавление пользовательских настроек и другие.