У чому полягає основна відмінність між установчими файлами MSI та EXE?


13

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


Дивіться відповіді нижче або, можливо, читайте про корпоративні переваги msi на serverfault.com. У цій статті докладно описано, які переваги мають отримати файли MSI.
Stein Åsmul

Відповіді:


7

MSI - це абревіатура для Microsoft Silent Installer, вона запускає .exe інсталятор у фоновому режимі.

Він використовується в GPO, наприклад, якщо ви хочете розгорнути додаток у керованій вами інфраструктурі Windows. Вам потрібно створити нове правило GPO з MSI, і MSI буде встановлено на кожній машині без необхідності втручання користувача.

GPO є "Об'єктом групової політики", який "забезпечує централізоване управління та конфігурацію операційних систем, програм та налаштувань користувачів у середовищі Active Directory".


1
GPO є "Об'єктом групової політики", який "забезпечує централізоване управління та конфігурацію операційних систем, програм та налаштувань користувачів у середовищі Active Directory".
RedGrittyBrick

5
... більше схожий на [M] icro [s] oft [I] nstaller. Звідки, до біса, ти "мовчав"? Ні, MSI не запускають PE-файли у фоновому режимі (вони здатні на це, але це не єдина або навіть їх основна функція).
Боб

3
The Windows Installer (previously known as Microsoft Installer) is a software component...- Вікіпедія . Так, MSI - це установник MicroSoft, а не беззвучний інсталятор.
Jet

3
Більшість цієї відповіді насправді неправильна. Будь ласка, прочитайте інші відповіді в цій темі.
Stein Åsmul

Я чую цю повну форму Microsoft Silent Installerвперше. Я завжди знав , що MSI означає M ICRO s часто я nstaller`. Чи є у вас якесь офіційне цитування, яке говорить про це?
RBT

11

Що таке інсталятор? Ну, інсталятор готує систему, щоб дозволити запускати програму: вона встановлює цю програму. Під час цього процесу інсталятор (в Windows) може копіювати файли в системні місця, розміщувати ярлики для його запуску, оновлювати бібліотеки, видаляти старіші версії тощо. Не існує універсального стандарту або формату інсталятора; будь-яку програму, яка виконує ці дії ("встановлює" іншу програму), можна назвати інсталятором.

Файл "exe" в Windows відомий як файл портативного виконуваного файлу і містить довільні інструкції, або власний машинний код, або .NET байт-код. Немає нічого про формат PE, який би ідентифікував його як інсталятор. Звичайно, за допомогою довільного машинного коду ви можете написати інсталятора - і ті "exe", які ви бачите, застосовують такий підхід.

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

MSI - це специфічний формат, який використовується для зберігання інформації про установку, бази даних про те, які кроки потрібно зробити та які файли куди поставити. Сама по собі вона не виконується; це насправді інтерпретується msiexec.exeу системах Windows. Потім цей перекладач буде виконувати кроки, викладені у файлі MSI. Теоретично ви могли б створити будь-який exe, який використовує базу даних, схожу на MSI (і NSIS, InnoSetup тощо, зробити щось подібне).

Що робить MSI особливим, це те, що він включає та інтерпретується вбудованими інструментами, а також він інтегрований в Active Directory для легшого розгортання на багатьох машинах у корпоративному середовищі, а відповідь Клема висвітлює це детальніше.


6

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

Файли MSI не встановлюються як EXE-файли у фоновому режимі, як пише "Clem" - вони споживаються двигуном інсталятора Windows, який доступний через інтерфейс командного рядка msiexec.exe . Або, можливо, спробуйте анотовані зразки командного рядка Advanced Installer msiexec.exe . Потім сама установка запускається через дві різні послідовності: послідовність користувальницького інтерфейсу та фактичну послідовність інсталяції - остання працює в системному контексті за допомогою облікового запису LocalSystem . Ця домовленість необхідна, щоб встановити тимчасові права адміністратора або підвищені права, що є належним терміном.

Установці EXE можуть бути будь-якими. Найчастіше це старші встановники скриптів стилю, які не базуються на базах даних, але файл EXE також може бути обгорткою, що містить файли MSI та пов'язані з ними компоненти виконання. Все залежить і має бути досліджено у кожному конкретному випадку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.