Ми, звичайно, бачимо, що частина .exe
файлу, який потрібно виконати, але чим відрізняється функціональність файлів MSI?
Ми, звичайно, бачимо, що частина .exe
файлу, який потрібно виконати, але чим відрізняється функціональність файлів MSI?
Відповіді:
MSI - це абревіатура для Microsoft Silent Installer, вона запускає .exe інсталятор у фоновому режимі.
Він використовується в GPO, наприклад, якщо ви хочете розгорнути додаток у керованій вами інфраструктурі Windows. Вам потрібно створити нове правило GPO з MSI, і MSI буде встановлено на кожній машині без необхідності втручання користувача.
GPO є "Об'єктом групової політики", який "забезпечує централізоване управління та конфігурацію операційних систем, програм та налаштувань користувачів у середовищі Active Directory".
Microsoft Silent Installer
вперше. Я завжди знав , що MSI означає M ICRO s часто я nstaller`. Чи є у вас якесь офіційне цитування, яке говорить про це?
Що таке інсталятор? Ну, інсталятор готує систему, щоб дозволити запускати програму: вона встановлює цю програму. Під час цього процесу інсталятор (в Windows) може копіювати файли в системні місця, розміщувати ярлики для його запуску, оновлювати бібліотеки, видаляти старіші версії тощо. Не існує універсального стандарту або формату інсталятора; будь-яку програму, яка виконує ці дії ("встановлює" іншу програму), можна назвати інсталятором.
Файл "exe" в Windows відомий як файл портативного виконуваного файлу і містить довільні інструкції, або власний машинний код, або .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 . Або, можливо, спробуйте анотовані зразки командного рядка Advanced Installer msiexec.exe . Потім сама установка запускається через дві різні послідовності: послідовність користувальницького інтерфейсу та фактичну послідовність інсталяції - остання працює в системному контексті за допомогою облікового запису LocalSystem . Ця домовленість необхідна, щоб встановити тимчасові права адміністратора або підвищені права, що є належним терміном.
Установці EXE можуть бути будь-якими. Найчастіше це старші встановники скриптів стилю, які не базуються на базах даних, але файл EXE також може бути обгорткою, що містить файли MSI та пов'язані з ними компоненти виконання. Все залежить і має бути досліджено у кожному конкретному випадку.