Различия между исполняемыми файлами MSI и EXE в Windows
Когда мы сидим перед ПК, у нас есть несколько элементов, чтобы все работало так, как нам нужно. Здесь операционная система, такая как Windows В игру вступают программы, которые мы устанавливаем на него, или данные, которые мы обрабатываем, среди прочего.
Таким образом мы находим набор, который позволяет нам работать за компьютером каждый день, играть в игры, посещать социальные сети и т. д. Как и в случае с вышеупомянутой операционной системой, программы, которые мы устанавливаем на нее, очень важны. Несмотря на то, что сама Windows включает в себя ряд программных решений, которые пытаются решить многие режимы использования, большинство пользователей выбирают другие решения. Таким образом, они скачивают программы из Интернета или из Окна 10 магазин, отвечающий их потребностям.
Таким же образом с их помощью мы создаем и работаем с множеством файлов всех типов, которые мы можем сохранять, распечатывать, делиться и т. Д. Как правило, для многих из этих задач мы используем Проводник что Windows включает, например.
Формат файлов, разностный признак их использования
Как большинство из вас, вероятно, уже знают, в этом разделе мы работаем с огромным количеством типов файлов. Они различаются не только своим именем, но и расширением. В зависимости от программы или устройств, с помощью которых мы его создали, он будет иметь тот или иной формат. Это одна из основ информатики в целом. И мы должны помнить, что существует множество форматов файлов, которые сопровождают нас в течение многих лет.
Важность исполняемых файлов
Различия между файлами exe и msi
Также, с другой стороны, мы находим популярные исполняемые файлы в формате exe. Что ж, мы должны знать, что они могут добраться до нас двумя способами: с одной стороны, мы находим те, которые представляют собой сжатые файлы, содержащие MSI и вызывающие установщик Windows. Таким образом, эта функция заботится о процессе установки в системе как таковом. Но со всем и с этим есть другой тип ехе которые исполняются сами по себе. Этим мы хотим сказать вам, что это те, которые заботятся о процессе установки без использования вышеупомянутых msi и установщика Windows.
Это достигается потому, что в большинстве случаев msi запускается без пользователя. вопросов или прерывания.
MSI и EXE 2021
MSI против EXE
Хотя MSI используется только с установщиками, это не относится к EXE. Для любого приложения требуется наличие хотя бы одного EXE-файла, поскольку он необходим для запуска процессов приложения. Даже программы, установленные с EXE или MSI, будут иметь один или несколько EXE-файлов.
Одним из преимуществ использования MSI при создании установочного пакета является доступность стандартного графического интерфейса, который в некоторой степени настраивается, но устраняет сложность создания собственного интерфейса. Но если вы используете EXE-файл, у вас есть полная свобода от того, как установщик взаимодействует с пользователем. Это хорошо видно в большинстве современных игр, которые используют EXE в качестве своих инсталляторов. Они часто имеют очень привлекательные и интерактивные интерфейсы, которые развлекают пользователя в ожидании завершения установки.
Другим преимуществом MSI является его способность выполнять установку или спрос. При таком типе установки на компьютер фактически попадают только ссылки и другие мелкие вещи. Фактическая установка выполняется, когда пользователь пытается запустить программу в первый раз; в этот момент MSI открывает необходимые файлы и завершает процесс установки. EXE-файлы не могут этого сделать.
Выбор между EXE и MSI при создании установщика программного обеспечения основывается исключительно на вашей программе и количестве усилий, которые вы хотите поместить в установщик. EXE предоставляет вам максимальный контроль за счет дополнительной работы по созданию установщика. MSI делает полную противоположность, упрощая задачу, выполняя заданные стандарты.
Разница между MSI и EXE
Содержание:
Чтобы установить программное обеспечение на компьютер, вам необходимо скачать установщик, купив один или загрузив бесплатные через Интернет. Существует два типа файлов, с которыми можно столкнуться при установке программного обеспечения: MIS или EXE; оба эти файла являются исполняемыми файлами расширения. Хотя оба эти файла выполняют одну и ту же функцию, устанавливают и запускают программы, они делают это по-разному.
уже установлен на компьютере. Даже файлы MSI, установленные на компьютере, имеют один или два EXE-файла для запуска определенных файлов. Использование EXE-файла дает разработчику полную свободу взаимодействия установщика с пользователем. Эти файлы чаще всего используются для запуска современных игровых файлов. Эти игровые инсталляторы используют интерактивные, красочные интерфейсы для развлечения пользователей во время установки пакетов.
Файлы EXE совместимы практически со всеми операционными системами, но чаще всего встречаются в DOS, OpenVMS, Microsoft Windows, Symbian и OS / 2. Наряду с исполняемой программой многие EXE-файлы включают в себя и другие компоненты, называемые ресурсами; который может включать в себя растровые изображения и значки, которые исполняемые программы могут использовать для своего графического интерфейса. В отличие от файлов MSI, которые могут запоминать ваш выбор во время установки, EXE-файлы могут потребовать от пользователя нажатия «OK» или «Далее» во время установки. Файлы EXE также считаются опасными, и неизвестные файлы не должны загружаться, так как они могут использоваться в качестве системы доставки для вирусов или других вредоносных программ.
Решение о том, какой тип исполняемого файла выбрать при разработке установщика программного обеспечения, зависит от программы, которая у вас есть, и количества усилий, которые вы хотели бы приложить к установщику. В то время как EXE даст вам свободу в создании установщика с настраиваемыми параметрами, MSI упрощает задачу, следуя заданным стандартам.
Чтобы установить программное обеспечение на компьютер, вам необходимо скачать установщик, купив один или загрузив бесплатные через Интернет. Существует два типа файлов, с которыми можно столкнуться при установке программного обеспечения: MIS или EXE; оба эти файла являются исполняемыми файлами расширения. Хотя оба эти файла выполняют одну и ту же функцию, устанавливают и запускают программы, они делают это по-разному.
Если дважды щелкнуть файл MSI, на экране появится установщик Windows и начнет извлекать файл из пакета, создавать необходимые папки и файлы на дисках, указанных пользователем, а также может создавать ярлыки, если это указано в пакете., Файл MSI не запускается на компьютерах MAC и должен быть преобразован в файлы EXE с использованием соответствующего программного обеспечения для преобразования. Преимущество использования файла MSI заключается в том, что он предназначен для автоматической установки, где установщик может вести учет нажатий клавиш или щелчков, назначенных для загрузки файла. Еще одним преимуществом использования файла MSI является наличие стандартного графического интерфейса пользователя, который в определенной степени настраивается и устраняет сложность создания собственного интерфейса. MSI также предлагает вариант установки по требованию, где он загружает только второстепенные файлы на компьютер и загружает остальные файлы при первом запуске приложения.
уже установлен на компьютере. Даже файлы MSI, установленные на компьютере, имеют один или два EXE-файла для запуска определенных файлов. Использование EXE-файла дает разработчику полную свободу взаимодействия установщика с пользователем. Эти файлы чаще всего используются для запуска современных игровых файлов. Эти игровые инсталляторы используют интерактивные, красочные интерфейсы для развлечения пользователей во время установки пакетов.
Файлы EXE совместимы практически со всеми операционными системами, но чаще всего встречаются в DOS, OpenVMS, Microsoft Windows, Symbian и OS / 2. Наряду с исполняемой программой многие EXE-файлы включают в себя и другие компоненты, называемые ресурсами; который может включать в себя растровые изображения и значки, которые исполняемые программы могут использовать для своего графического интерфейса. В отличие от файлов MSI, которые могут запоминать ваш выбор во время установки, для файлов EXE может потребоваться нажать «ОК» или «Далее» во время установки. Файлы EXE также считаются опасными, и неизвестные файлы не должны загружаться, так как они могут использоваться в качестве системы доставки вирусов или других вредоносных программ.
Решение о том, какой тип исполняемого файла выбрать при разработке установщика программного обеспечения, зависит от имеющейся у вас программы и объема усилий, которые вы хотели бы приложить к установщику. В то время как EXE даст вам свободу в создании установщика с настраиваемыми параметрами, MSI упрощает задачу, следуя заданным стандартам.
Windows Installer: то, что вендор прописал
Продолжая тему работы с Windows Installer, сегодня предлагаю поговорить о готовых инсталляторах, предоставляемых производителями ПО – для их обозначения широко применяется термин «vendor MSI».
Как вы помните из прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?
Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
Из всякого правила есть исключения. Несмотря на то, что инсталляционный пакет прошел тестирование производителя, будьте готовы столкнуться с непредвиденным поведением в процессе установки, возникающим именно в ваших неповторимых условиях.
Естественно, при подготовке приложения к развертыванию в корпоративной среде нужно руководствоваться в первую очередь рекомендациями производителя ПО. Однако иногда система развертывания понимает только формат MSI, а вендор предоставляет только exe-инсталлятор — в этом случае есть смысл попытаться заполучить именно vendor MSI.
Где взять vendor MSI?
Предположим, нужно развернуть некоторое приложение в нашей сети. Обычно у нас есть установочный пакет, полученный от производителя ПО – скопированный с установочного диска, скачанный с официального сайта и т.д.
Если у нас нет установочного пакета – идем на рутрекер сайт производителя и ищем пакет там. На сайте нет пакета в формате MSI, только онлайн-установщик или setup.exe? Попробуем поискать получше. Часто msi-файл для корпоративных пользователей вместе с инструкциями по развертыванию находится не на главной странице, а в разделе сайта с громким названием вроде «For business» (например, Google Chrome или Skype), или на ftp производителя. Если есть выбор из online и offline установщика – выбираем offline вариант.
Простое правило – установочный пакет (в любом формате) можно скачивать только с официального сайта (или ftp) производителя. НИКОГДА не качайте установщик с «файловых архивов» и «каталогов программ», дабы не столкнуться с неприятным сюрпризом.
Естественно, полные версии платных приложений вроде Adobe Creative Suite вы не найдете в открытом доступе. Если у вас есть лицензия на корпоративную версию, но нет установочных файлов — смело обращайтесь в службу поддержки производителя.
Это можно проверить так:
• Попытаться открыть exe-файл с помощью программы-архиватора (7-zip, WinRAR).
• Запустить установку приложения из имеющегося exe-файла и заглянуть во временные папки (%temp%). Обычно во время установки создается папка со случайным названием, в ней находятся установочные файлы, включая msi-файл. Копируем установочные файлы в надежное место – после окончания процесса установки временная папка удаляется.
• Заглянуть в журналы событий по окончанию установки и проверить наличие свежих записей о событиях с источником MsiInstaller.
• ваш вариант?
Начнем с простого эксперимента на установщике iTunes – откроем файл iTunesSetup.exe с помощью 7-zip и видим, что он включает сразу пять msi-файлов (решить сколько из них «лишние» предлагаю вам самостоятельно).
Убедившись, что мы имеем дело с vendor MSI, продолжаем исследование.
Для удобства предлагаю выделить основные категории vendor MSI. Классификация совершенно условна и основана лишь на личном опыте.
По типу ресурсов:
• «Чистый MSI»
• «Комбинированный MSI»
По типу настройки:
• MSI с простой настройкой через трансформ или параметры
• MSI с мастером настройки
• MSI с файлом ответов
Теперь о каждом немного подробнее и с примерами.
«Чистый MSI»
Общее свойство установщиков такого типа – использование нативных механизмов Windows Installer для установки файлов и ключей реестра. Соответствующие этим ресурсам записи присутствуют в таблицах MSI (File, Registry, Shortcut и т.д.). Для внесения изменений в установку достаточно отредактировать записи этих таблиц в трансформе — вы имеете практически полный котроль над процессом инсталляции.
Простые примеры «чистых MSI» – Skype, InstEd.
Для диагностирования проблем с такими установщиками используются стандартные возможности – чтение записей журнала событий (журнал Application, события с источником MsiInstaller) или полное логирование установки (запуск msiexec с параметром /l*v ).
«Комбинированный MSI»
Пример первый – Google Chrome for Business.
Хорошо видно, что таблица File в установщике вообще отсутствует, а основную часть установки выполняет бинарный Custom Action под названием DoInstall, внутри него и находятся файлы, которые будут установлены в систему.
Еще один интересный пример – Java Runtime Environment. Извлекаем msi-файл с сопутствующим cab-файлом из оффлайн-установщика, распространяемого в формате exe-файла.
Таблица File этого vendor MSI содержит всего четыре записи, основные файлы приложения находятся внутри zip-архива (который в свою очередь находится внутри cab-файла) с последующей их распаковкой в процессе установки:
За основную часть процесса инсталляции отвечает файл regutils.dll, названия Custom Actions довольно красноречивы:
Этот тип инсталляторов несколько тяжелее поддается диагностированию ошибок – логи Windows Installer дадут нам полезную информацию только до момента запуска внутреннего exe-файла, а сам exe-файл не всегда генерирует внятные сообщения при возникновении ошибок. Также такие vendor MSI тяжелее поддаются настройке. Вернее сказать, наши возможности настройки процесса установки чаще всего ограничены только настройками, предусмотренными производителем ПО. Например, производитель ПО не всегда предусматривает возможность отключения установки ярлыков или внесения изменений в файлы настройки приложения при его установке.
Инсталляторы такого типа иногда преподносят неприятные сюрпризы в процессе установки (приходилось разбираться с JRE и Adobe Flash Player, сваливавшимися на выполнении Custom Action), и на диагностику и исправление ошибок может понадобиться некоторое время.
Теперь перейдем к возможностям настройки пакетов, предлагаемым нам производителями ПО.
MSI с простой настройкой через трансформ или параметры
Это самый распространенный способ – большинство vendor MSI имеют возможность такой настройки. Обычно производитель уже предусмотрел самые востребованные настройки вроде отключения автообновлений приложения и настроек подключения к серверу, и описал это в документации. Настройки могут быть описаны в виде параметров командной строки установщика, параметров MSI (MSI properties) или даже описания реестровых записей, которые вы можете добавить в трансформ для пакета.
Стоит упомянуть, что иногда в более новой версии vendor MSI параметры могут вести себя не так, как в предыдущей (или совсем перестать работать, как когда-то произошло с переставшими работать параметрами отключения автообновлений JRE), но это бывает крайне редко.
MSI с мастером настройки
Некоторые вендоры не ограничиваются публикацией перечня параметров командной строки для установки и настройки пакета. Они предоставляют утилиту для тонкой настройки инсталлятора, выполняющую несколько полезных функций:
• Интуитивно-понятный интерфейс избавляет системного администратора от необходимости открывать msi-файл в редакторе и вручную изменять большое количество записей в таблицах
• Утилита обычно предусматривает некоторую «защиту от дурака» и производит проверку правильности значений изменяемых параметров.
В результате выполнения мастера настроек для msi-файла формируется трансформ, который будет использоваться при развертывании пакета. Естественно, вы можете просмотреть содержимое сохраненного трансформа, применив его к открытому в редакторе msi-файлу.
Хорошим примером такого подхода может служить Adobe Customization Wizard, используемый для настройки параметров установки Adobe Reader и Adobe Acrobat:
Другой пример известного мастера настроек – Office Customization Tool (OCT). Эта утилита позволяет сконфигурировать большое количество параметров, относящихся к установке и пользовательским настройкам MS Office. В результате выполнения мастера создается MSP-файл (патч в терминологии Windows Installer), который используется при дальнейшем развертывании MS Office в корпоративной среде.
MSI с файлом ответов
Этот тип инсталляционных пакетов скорее нужно было назвать «Setup.exe с файлом ответов». Идея состоит в том, что некий установочный файл (назовем его Setup.exe) читает некий предварительно сформированный системным администратором конфигурационный файл (config.xml) и формирует набор параметров для запуска расположенного рядом установочного msi-файла (или нескольких msi-файлов).
Этот подход не предусматривает нашей работы непосредственно с msi-файлом, поэтому не будем на нем останавливаться слишком подробно. Упомяну примеры таких установщиков – файлы настроек Adobe Creative Suite (версии CS2-CS3), а также использование файла ответов config.xml для установки MS Office.
Обычно для диагностики в случае проблем установки можно использовать создаваемый программой-установщиком лог-файл с описанием этапов выполнения; дополнительная информация от Windows Installer также попадает в журналы событий.
Как видите, за общим названием vendor MSI скрываются иногда совершенно непохожие инсталляторы. Надеюсь, эта обзорная статья помогла вам получить представление об их многообразии и о возможных проблемах установки и способах их диагностики.










