Чем отличается msi от exe
Перейти к содержимому

Чем отличается msi от exe

  • автор:

В чем основное различие между установочными файлами MSI и EXE?

Мы, конечно, видим, что некоторые из файлов .exe должны быть выполнены, но какова различная функциональность файлов MSI?

3 ответа 3

Что такое установщик? Что ж, установщик подготавливает систему к запуску программы: он устанавливает эту программу. Во время этого процесса установщик (в Windows) может копировать файлы в системные расположения, размещать ярлыки для его запуска, обновлять библиотеки, удалять старые версии и т.д. Не существует универсального установщика стандарта или формата; любая программа, которая выполняет эти действия («устанавливает» другую программу), может называться установщиком.

Файл «exe» в Windows известен как файл Portable Executable и содержит произвольные инструкции, либо машинный код, либо байт-код .NET. В формате PE нет ничего, что идентифицировало бы его как установщик. Конечно, с произвольным машинным кодом вы можете написать установщик — и те установщики «exe», которые вы видите, используют этот подход.

Некоторые люди пишут свои собственные установщики. Другие используют генераторы установщика, чтобы сэкономить время и силы; к ним относятся NSIS, InnoSetup, InstallShield и другие.

MSI — это особый формат, используемый для хранения информации об установке, базы данных о том, какие шаги предпринять и какие файлы поместить в какое место. Сам по себе он не является исполняемым; на самом деле он интерпретируется msiexec.exe в системах Windows. Этот интерпретатор будет затем выполнять шаги, изложенные в файле MSI. Теоретически вы можете создать любой exe-файл, который использует базу данных, аналогичную MSI (а NSIS, InnoSetup и т.д. Делают что-то подобное).

Что делает MSI особенным, так это то, что он включен и интерпретируется встроенными инструментами, а также интегрирован в Active Directory для более удобного развертывания на многих машинах в корпоративной среде, и ответ Клема охватывает это более подробно.

Файлы MSI — это файлы базы данных (в частности, базы данных MS-SQL), которые описывают установку с помощью таблиц базы данных и устанавливают с помощью сложного набора последовательностей установки, определенных в самом файле MSI.

MSI-файлы не устанавливаются в виде EXE-файлов в фоновом режиме, как пишет «Clem» — они используются механизмом установщика Windows , доступным через интерфейс командной строки msiexec.exe. Или, возможно, попробуйте аннотированные примеры командной строки msiexec.exe от Advanced Installer. Затем сама установка выполняется в двух разных последовательностях: последовательность пользовательского интерфейса и фактическая последовательность установки — последняя выполняется в системном контексте с использованием учетной записи LocalSystem. Эта договоренность необходима, чтобы разрешить установщику временные права администратора или повышенные права, что является подходящим термином.

Установщики EXE могут быть чем угодно. Чаще всего это установщики на основе сценариев более старого стиля, которые не основаны на базах данных, но EXE-файл также может быть оболочкой, содержащей файлы MSI и связанные компоненты времени выполнения. Все зависит и должно быть исследовано в каждом конкретном случае.

Exe Vs Msi What Are The Differences Which Is Better

In this guide, we will compare the EXE file vs the MSI file side by side, explain their differences, and which to choose in what scenario. Let’s start!

What is an .EXE file?#

.EXE is an executable file that can be run on your computer to install or launch a program. It is a self-extracting archive with the necessary files and instructions to install the software on your computer. EXE files can be easily downloaded from the internet or installed using a storage device. To execute the file, you need to double-click it, and it will extract the essential files and launch the installation wizard.

What is an .MSI file?#

MSI stands for Microsoft Installer (now called Windows Installer Package), a file format developed by Microsoft for installing software on Windows OS. These are database files with necessary information about software, including program files, registry keys, and settings. They offer customized installation options suitable for enterprise environments where software deployment needs to be automated & centrally managed. Software developers use them to create and distribute software packages that can be installed on different Windows machines.

What are the differences between EXE and MSI files?#

1. Installation process#

The installation process of EXE and MSI files is similar. Both launch the installation wizard when initiated, guiding you through the installation process. However, MSI files come with customizable options that are easier to automate for large-scale deployments.

2. Installation location#

EXE files can be installed anywhere on your computer, including C drive, desktop, or any other location you choose. However, the MSI file is typically installed in the Windows installer folder, a system folder inaccessible to users.

3. Installation options#

Unlike EXE files, MSI files come with many customization options, such as selecting which program components to install, creating desktop shortcuts, or adding the program to the Start menu.

4. Software dependencies#

EXE files are standalone programs that don’t require any other software or dependencies to run. On the other hand, MSI files may have dependencies that need to be installed before the actual program. This is because MSI files use Windows Installer services, which need specific components on the system before initiating the installation.

5. Uninstallation#

When you install a program using an EXE file, you can delete the program file via Programs & Features option on Windows. SPONSORED However, for MSI files, that process is a bit complicated & time-consuming. You need to use the Windows Installer service to remove the program.

6. Customizability#

MSI files can be modified using several tools and technologies to include custom installation options, including choosing the software’s features, registry keys to change, or files to install or delete. On the other hand, EXE files are generally preconfigured by the software vendor and can’t be easily modified.

7. Automation#

MSI files are designed for automated software deployment and management. These files can be installed on multiple computers without user interaction; therefore useful for large-scale software deployments. However, EXE files require user interaction to install and configure software on a Windows computer.

8. Security#

MSI files can be digitally signed and verified, ensuring they are from a trusted source and are not tampered with; hence, they are more secure. On the other hand, EXE files can be modified with ease and could contain malicious code.

9. Size#

MSI files contain more information & metadata about the software, including configuration data, dependencies, and installation options; hence are larger. However, EXE files only contain the executable code and necessary resources for a software application.

.EXE file vs .MSI file: Which is better?#

There can’t be one answer to this question, as choosing the file format depends on the needs and specific requirements of the installed software. Here are a few scenarios which can help you understand better:

If you installing software that needs customization during installation, an MSI file is better as it comes with various customization options. If installing software that needs to be managed centrally across several computers in an organization, then you need an MSI file. You can use software deployment tools such as Group Policy to manage them. An EXE file is better if you use the software on a personal computer as it is less complex and easy to install.

To conclude, upon comparing the EXE file vs MSI file, it is evident that choosing one has its benefits or disadvantages. EXE file is useful for a single computer, whereas an MSI file is preferred for deploying software on multiple computers. So, the choice depends on the software requirements you want to install. Which one would you prefer and why? Feel free to share your thoughts on this in the comments section below.

SPONSORED Name * Email * Commenting as . Not you? Save information for future comments
Comment

Чем отличается msi от exe

Видео: What is major difference between MSI and EXE installation files? (3 Solutions!!)

Содержание

Основное различие между MSI и EXE заключается в том, что MSI-файлы используются для установщиков Windows, но EXE-файлы могут быть использованы для установки, а также для запуска прикладных программ. msi — это расширение файла MSI, представляющее собой сжатый пакет файлов установщика и всей информации, необходимой для установки, изменения, хранения и удаления определенного программного обеспечения. Exe — это расширение файла исполняемого файла, содержащего строки инструкций или кода, которые могут напрямую выполняться операционной системой, такой как windows.

В компьютере существуют различные типы файлов с различными функциями. msi и exe — два расширения файла. MSI расширение файла используется для установщика Windows. Это пакет со всеми файлами для установки, изменения и удаления программного обеспечения. Это в основном относится к установщикам Microsoft. С другой стороны, exe — это расширение файла для исполняемого файла. Это файл, который выполняет набор инструкций при его выполнении.Другими словами, это программа, которая запускается.

Ключевые области покрыты

1. Что такое MSI
— определение, функциональность
2. Что такое exe
— определение, функциональность
3. В чем разница между MSI и EXE
— Сравнение основных различий

Основные условия

EXE, Расширения файлов, MSI

Что такое MSI

Msi — это расширение файла MSI. Они установщики Windows. Файл MSI представляет собой сжатый пакет файлов установщика. Он содержит всю информацию, касающуюся добавления, изменения, хранения или удаления соответствующего программного обеспечения. Файл MSI содержит данные, инструкции, процессы и надстройки, необходимые для нормальной работы приложения.

Рисунок 1: Проблема в установщике Windows

Разработчики программного обеспечения выбирают MSI вместо EXE, чтобы создать установщик для своего приложения, потому что их проще создавать. Кроме того, они также сокращают время и усилия по кодированию.

Что такое exe

EXE является расширением исполняемого файла. При запуске исполняемый файл выполняет набор инструкций или код. Исполняемый файл компилируется из исходного кода в двоичный код. Это может быть непосредственно выполнено ОС Windows. Эти файлы понятны машине, и они могут быть непосредственно выполнены операционной системой. Поскольку исполняемые файлы запускают некоторый код при его открытии, пользователи должны знать об этом при открытии исполняемых файлов, полученных по электронной почте. Проще говоря, исполняемый файл с расширением exe — это программа, которая запускается.

В чем разница между MSI и EXE

Определение

msi — это расширение файла установщика Windows, которое является программным компонентом Microsoft Windows, используемым для установки, обслуживания и удаления программного обеспечения. Принимая во внимание, что exe является расширением исполняемого файла, который выполняет указанные задачи в соответствии с закодированными инструкциями.

использование

Основное различие между msi и exe заключается в их использовании. MSI-файлы используются для установщиков Windows. EXE-файлы могут быть использованы для установки, а также для запуска прикладных программ.

Заключение

msi — это расширение файла MSI, представляющее собой сжатый пакет файлов установщика, содержащий всю информацию, необходимую для добавления, изменения, хранения и удаления определенного программного обеспечения. exe — расширение файла исполняемого файла, содержащего строки инструкций или кода, которые могут непосредственно выполняться операционной системой, такой как windows. В этом разница между msi и exe.

Ссылка:

1. «Установщик Windows» ВикипедияФонд Викимедиа, 9 сентября 2018 г.

The battle of the installers: What's the difference between .MSI and .EXE?

Brock Bingham candid headshot

If you're a Windows user, then you're probably somewhat familiar with .MSI and .EXE files. Maybe you don't know much about them or how they work, but you probably recognize these as files that run or install applications on your computer. But have you ever wondered what makes them different? Is one better than the other? Do we really need both .MSI and .EXE files? Let's find out.

What Is an .EXE File?

.EXE (executable) files are probably one of the most recognizable file types in computing. Users generally know that when they double-click an .EXE file, stuff's about to go down. Maybe something cool like launching a little obscure game called The Elder Scrolls V: Skyrim, or maybe something not so cool like installing ransomware because you opened a file called Mariah Carey — All I Want for Christmas Is You-mp3.exe. Either way, you're in for a treat.

While it's true that .EXE files can install software, they're actually more robust than that. .EXE files can be installer packages or self-extracting zip files. .EXE is also the standard file extension for Windows programs. In fact, whenever you launch an application from your desktop, taskbar, or start menu, you're just launching a shortcut to the actual executable. To see this for yourself, right-click on a shortcut on your desktop and click Properties.

msi vs exe1

When the properties window opens, click on the Shortcut tab. Here you'll see a Target: field which tells you what file is actually being launched when you double-click the desktop shortcut.

msi vs exe2

If you click the Open File Location button at the bottom of the Shortcut window, it will take you directly to the executable file in File Explorer.

msi vs exe3

Now, if we double-click on chrome.exe, the browser will launch, just as if we had launched it from the desktop. It's important to understand that not all .EXE files serve the same function. You might install an application with an .EXE file and then launch the application with a different .EXE file.

Another important attribute to know about .EXE files is that they are highly customizable. Developers can build out intricate installation GUIs or leave things minimalistic. Dependencies can be built-in. This flexibility is beneficial for developers because they can build out exactly what they need and control almost every aspect of the installation process. However, when you have a high degree of customizability, you tend to lose out on standardization, which we'll cover more in a moment.

If you are interested in seeing the contents of an .EXE installation package, common archiving tools, such as 7-Zip, will allow you to do so. If the contents aren't extracting properly, you can try something more purpose-built, such as Universal Extractor 2. Here are the contents of the Dropbox.exe installation package.

msi vs exe4

As you can see, this package includes both .EXE and .MSI files, as well as several .DLL files. These are pretty common files to find in an installer package. Other common files include images, icons, .INI files, .XML files, sound files, registry data, languages packs, fonts, and more.

What Is an .MSI File?

.MSI files are a little more straightforward than .EXE files. When we're talking about .MSI files, we are strictly talking about installation files. Installing, updating, and uninstalling is what these files are designed to do.

The .MSI extension is in reference to the Microsoft Installer service, which was renamed the Windows Installer because renaming stuff is what Microsoft likes to do to keep things fresh and people on their toes. The Windows Installer is a component of Windows that handles the installation, maintenance, and removal of software. .MSI files are Windows Installer database files and interact exclusively with the Windows Installer, unlike .EXE files which can use custom installation scripting or can be used as a wrapper to contain .MSI files which utilize the Windows Installer.

msi vs exe5

You can view the contents of .MSI files using many of the same utilities that you use to extract or view the contents of .EXE files. Here are some of the files extracted from the Zoom.msi installer.

As you can see, we have many common files here, including .EXE and .DLL files. You'll also find many of the same files found in .EXE install packages. However, you won't find any .MSI files contained within an .MSI file because only one instance of Windows Installer can be running at any given time. If you've ever tried to install an .MSI while another .MSI is already installing, then you've probably seen this error message.

msi vs exe8

Is One Better Than the Other?

.EXE and .MSI installers share many similarities but also have many differences. So is one format better than the other? Let's compare the two and find out.

.EXE Files

Can be more than just installer packages.

Are highly customizable, offering flexibility to developers.

.EXE installers can contain other .EXE and .MSI files.

Can contain and install dependencies.

Can be compiled in many different ways and languages.

Don't require the Windows Installer.

.MSI Files

Are always installer packages.

Are standardized and must meet certain requirements

Switches are universally known and available

Have verbose logging options.

Uninstallation parameters are defined.

Network deployments are simplified with always available silent switches.

So which one is the winner? Well, the boring answer is that there really isn't a winner. Both .EXE and .MSI files have their place and use cases. And that's a good thing. Having options is almost always better than being limited to a single choice.

When Should You Choose One Over the Other

If an application developer provides both an .EXE and .MSI installer for their software, which should you use? While it often won't matter which you choose, there are certain situations where you would want to choose one over the other.

Occasionally, developers will nudge users towards a particular version to use. This suggestion is great for inexperienced users and is usually the best choice for them. If the developer doesn't recommend any particular version, then home users may be best served by using an .EXE installer, which may include dependencies that .MSI installers may not include. .EXE files are also likely to include more customization options during the installation process.

So what are some situations when you would want to use a .MSI installer? Well, if you're a sysadmin needing to deploy applications to several computers remotely, then .MSI files will be your new best friends. While there are many reasons why IT professionals may prefer .MSI files over .EXE files, including logging and uninstall strings, the main reason is because of the silent switch.

The silent switch allows users to deploy applications silently, meaning the application will install without displaying any installation prompt messages, which would require user input to advance the installation. This functionality is great for a couple of reasons. First, a silent installation means that you won't need to physically or remotely work through the installation prompts to get the application installed, which is almost a necessity if you are deploying to a large number of computers. Second, if you are deploying an application during business hours, imagine the chaos that would ensue if several of your users suddenly received random installation prompts on their computers. Many of them would probably think a virus is being installed on their computer.

Now, before I get yelled at, yes, you can silently deploy many, if not most .EXE files. However, as we've said, many aspects of .MSI files are standardized, including their switches, meaning you aren't required to figure out what the silent switch is for .MSI files because it's the same for all .MSI files. In fact, you can view all of the Windows Installer switches by typing the following command into your Windows search bar or the command prompt.

msi vs exe7

This image shows some of the options and switches available when using Windows Installer (msiexec.exe). The primary silent switch is going to be /qn which means no UI. The /quiet switch will often provide the same functionality, though technically, it just means it doesn't require user interaction, so some UI elements may still be shown.

Deploying .EXE files silently can be a much more frustrating experience. While there are some common silent switches used by .EXE files, it's really up to the developer to decide what to use. Worst of all, they might not even include a silent switch, making deployments much more difficult.

Wrapping Up

When it comes down to it, the primary difference you'll want to remember is that .EXE files are highly customizable and great for single installations, and .MSI files are heavily standardized, making them great for office environments and deployments.

If you find yourself needing to deploy an .EXE file to a bunch of computers remotely and are struggling to find the silent parameters, check out our article on Silent Install And Finding Silent Parameters. If you're a sysadmin struggling with deployments in general, check out PDQ Deploy. We take the guesswork out of most deployments by providing hundreds of pre-built packages in our package library. We do the work, so you don't have to!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *