Windows Installer (встановлювач для Windows, кодова назва — Darwin) — підсистема Microsoft Windows, що забезпечує встановлення програм (інсталятор). Є компонентом Windows, починаючи від Windows 2000; може довстановлюватися й на раніші версії Windows. Вся необхідна для встановлення інформація (іноді й разом зі встановлюваними файлами) міститься у встановлювальних пакунках (installation packages), що мають розширення .msi.
Тип | програмне забезпечення Windows[d] і Інсталятор |
---|---|
Розробник | Microsoft |
Версії | 5.0[1] |
Платформа | Windows |
Ліцензія | безкоштовне програмне забезпечення |
Вебсайт | docs.microsoft.com/en-us/windows/win32/msi/windows-installer-portal |
Історія
Windows Installer, розроблений у 1995—1998 роках, мав спочатку кодову назву Darwin. Ранні версії називалися Microsoft Installer, звідси й стандартне розширення файлу встановлювального пакунка — .msi.
Перша версія Installer'а вийшла на початку 1999 як встановлювач Microsoft Office 2000. Наприкінці того ж року Installer став частиною Windows 2000. Майкрософт всіляко заохочував перехід розробників на новий встановлювач, включивши в список вимог до програм, які бажали отримати так званий знак Windows 2000 Logo, вимогу встановлюватися за допомогою Windows Installer.
Windows Installer виявився значним кроком вперед відносно попереднього інсталятора Microsoft-setup API (ACME Setup): в ньому введено можливості GUI, підтримку деінсталяції та відкочування у будь-який момент встановлення (а також відкочування під час деінсталяції), коректну роботу з правами доступу у Windows та інші можливості, що зробило його сильною альтернативою різним наявним на ринку інсталяційним пакункам.
В майбутніх оновленнях буде представлено .MSIX, який стане своєрідним гібридом .APPX і .MSI, що дозволяє інсталювати UWP застосунки в систему (зараз це можливо тільки безпосередньо через Microsoft Store).[]
Логічна структура пакунка
Встановлювальний пакунок описує встановлення одного продукту і має свій GUID. Продукт складається з компонентів (components) (теж мають свої GUIDи), згруповані в можливості (features).
Компонент (component) — мінімальна неподільна встановлювальна одиниця, що являє собою групу файлів, значень реєстру, створюваних папок та інших елементів, об'єднаних загальною назвою (назвою компоненту) і або встановлюваних разом, або не встановлюваних. Компоненти приховані від кінцевого користувача. Кожен компонент має ключовий шлях (key path) — наприклад, ім'я свого головного файлу — за яким визначається наявність цього компоненту на комп'ютері користувача.
Можливість (feature) — це ієрархічна група компонентів і/або інших можливостей. Коли при встановленні показується діалог вибору встановлюваних частин програми, користувач керує вибором саме можливостей. Вибір можливості для встановлення тягне за собою встановлення всіх компонентів, які вона включає.
Фізична структура пакета
Файл .msi — це OLE (OLE compound document — в такому ж форматі-контейнері зберігаються документи Microsoft Word, Excel тощо), в якому міститься невелика реляційна база даних — набір з декількох десятків взаємопов'язаних таблиць, що містять різну інформацію про продукт і процес встановлення. При цьому всі рядкові дані в базі зберігаються разом в окремому потоці документа, а в таблицях бази на них є посилання; таким чином уникають дублювання рядків, що значно зменшує розмір бази.
Крім бази, структура файлу .msi передбачає вміщення туди користувацьких сценаріїв і допоміжних DLL, якщо такі потрібні для встановлення, а також самих встановлюваних файлів, запакованих у форматі .cab. Файли можна розміщувати й окремо від пакунка, в запакованому або розпакованому вигляді (зі збереженням структури папок).
Процес встановлення
Процес встановлення складається з декількох етапів — збору інформації, виконання (власне встановлення), а також, можливо, відкочування (в разі помилки або скасування встановлення користувачем).
Дії
Кожен етап встановлення складається з послідовності дій (actions), записаної в базі даних. Діям присвоєно номери, що визначають порядок їх виконання, а іноді — й умови, за яких дії виконуються або не виконуються.
Більшість дій — це стандартні дії, характерні для типового процесу збору інформації і встановлення. Всі ці дії задокументовані, крім них, користувач може визначити і свої дії (custom actions).
Дії, визначені користувачем, можуть бути або написані однією зі скриптових мов, вбудованих в операційну систему (JScript або VBScript так само і Eclipse, побічна мова від C++), або розміщуватися в спеціально створеній DLL (написаній такими мовами, як C, тощо). Файли з цими діями поміщаються всередину файлу .msi і добуваються звідти на початку запуску встановлення. Ці DLL добуваються в папку Windows\Installer, при цьому їм присвоюються випадкові імена, наприклад MSIF65E.tmp.
Збір інформації
На етапі збору інформації Windows Installer збирає інструкції (через взаємодію з користувачем або програмним шляхом) щодо встановлення чи видалення однієї або кількох можливостей, які входять у продукт. Ці інструкції надалі формують на основі бази даних внутрішній сценарій, який детально описує подальше виконання.
Цей етап називають також безпосереднім режимом (immediate mode).
Виконання
До початку цього етапу встановлювач генерує внутрішній сценарій, призначений для виконання без втручання користувача. Цей сценарій виконується встановлювачем у привілейованому режимі служби NT (конкретно — під обліковим записом LocalSystem). Привілейований режим потрібен через те, що встановлення міг запустити користувач, який не має прав, необхідних для змінювання системних параметрів і файлів (хоча право встановити програму йому надано).
Цей етап іноді називається відкладеним режимом (deferred mode).
Відкочування
Якщо будь-яка з дій, визначених у сценарії, закінчується невдачею, або встановлення в процесі скасовується Користувачем, усі дії, виконані до цього моменту, відкочуються, повертаючи систему в стан, що був до установки. Відкочування забезпечується наявністю для кожної дії, яка вносить зміну в систему, зворотної до неї. Уводячи в пакунок нестандартні дії, програміст має створити також зворотні до них для правильної роботи відкочування.
Інші можливості
Анонсування та встановлення на вимогу
Windows Installer може рекламувати продукт, а не встановлювати його. Продукт з'явиться у користувача, але він фактично не буде встановлений доти, поки його не запустять уперше (за допомогою ярлика в меню «Пуск»). Адміністратор може оголосити встановлювальний пакунок з використанням групової політики Windows, або іншого механізму компілювання, або запуском виконуваного файлу msiexec за допомогою /jm (для реклами для кожного пристрою), або /ju (для реклами для кожного користувача). Деякі пакунки MSI, створені в , можуть перешкодити використанню цих та інших вбудованих функцій MSI.
Щоб завершити рекламоване встановлення, користувачу потрібні права адміністратора.
Встановлення на вимогу
Подібно до рекламування продукту, встановлення на вимогу встановлює можливість, як тільки користувач намагається нею скористатись.
Інші системи встановлення
- Nullsoft Scriptable Install System
- Inno Setup
- Wise Package Studio
Див. також
Примітки
- Released Versions of Windows Installer
- . Архів оригіналу за 5 лютого 2019. Процитовано 11 серпня 2021.
- . Архів оригіналу за 11 серпня 2021. Процитовано 11 серпня 2021.
- . Архів оригіналу за 4 січня 2010. Процитовано 11 серпня 2021.
- . Архів оригіналу за 1 липня 2018. Процитовано 11 серпня 2021.
- . Архів оригіналу за 1 липня 2018. Процитовано 11 серпня 2021.
- . Архів оригіналу за 1 липня 2018. Процитовано 11 серпня 2021.
- . Архів оригіналу за 1 липня 2018. Процитовано 11 серпня 2021.
Посилання
- Розділ Windows Installer [ 30 травня 2018 у Wayback Machine.] (англ.) MSDN
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Windows Installer vstanovlyuvach dlya Windows kodova nazva Darwin pidsistema Microsoft Windows sho zabezpechuye vstanovlennya program instalyator Ye komponentom Windows pochinayuchi vid Windows 2000 mozhe dovstanovlyuvatisya j na ranishi versiyi Windows Vsya neobhidna dlya vstanovlennya informaciya inodi j razom zi vstanovlyuvanimi fajlami mistitsya u vstanovlyuvalnih pakunkah installation packages sho mayut rozshirennya msi Windows InstallerTipprogramne zabezpechennya Windows d i InstalyatorRozrobnikMicrosoftVersiyi5 0 1 PlatformaWindowsLicenziyabezkoshtovne programne zabezpechennyaVebsajtdocs microsoft com en us windows win32 msi windows installer portalIstoriyaWindows Installer rozroblenij u 1995 1998 rokah mav spochatku kodovu nazvu Darwin Ranni versiyi nazivalisya Microsoft Installer zvidsi j standartne rozshirennya fajlu vstanovlyuvalnogo pakunka msi Persha versiya Installer a vijshla na pochatku 1999 yak vstanovlyuvach Microsoft Office 2000 Naprikinci togo zh roku Installer stav chastinoyu Windows 2000 Majkrosoft vsilyako zaohochuvav perehid rozrobnikiv na novij vstanovlyuvach vklyuchivshi v spisok vimog do program yaki bazhali otrimati tak zvanij znak Windows 2000 Logo vimogu vstanovlyuvatisya za dopomogoyu Windows Installer Windows Installer viyavivsya znachnim krokom vpered vidnosno poperednogo instalyatora Microsoft setup API ACME Setup v nomu vvedeno mozhlivosti GUI pidtrimku deinstalyaciyi ta vidkochuvannya u bud yakij moment vstanovlennya a takozh vidkochuvannya pid chas deinstalyaciyi korektnu robotu z pravami dostupu u Windows ta inshi mozhlivosti sho zrobilo jogo silnoyu alternativoyu riznim nayavnim na rinku instalyacijnim pakunkam V majbutnih onovlennyah bude predstavleno MSIX yakij stane svoyeridnim gibridom APPX i MSI sho dozvolyaye instalyuvati UWP zastosunki v sistemu zaraz ce mozhlivo tilki bezposeredno cherez Microsoft Store utochniti Logichna struktura pakunkaVstanovlyuvalnij pakunok opisuye vstanovlennya odnogo produktu i maye svij GUID Produkt skladayetsya z komponentiv components tezh mayut svoyi GUIDi zgrupovani v mozhlivosti features Komponent component minimalna nepodilna vstanovlyuvalna odinicya sho yavlyaye soboyu grupu fajliv znachen reyestru stvoryuvanih papok ta inshih elementiv ob yednanih zagalnoyu nazvoyu nazvoyu komponentu i abo vstanovlyuvanih razom abo ne vstanovlyuvanih Komponenti prihovani vid kincevogo koristuvacha Kozhen komponent maye klyuchovij shlyah key path napriklad im ya svogo golovnogo fajlu za yakim viznachayetsya nayavnist cogo komponentu na komp yuteri koristuvacha Mozhlivist feature ce iyerarhichna grupa komponentiv i abo inshih mozhlivostej Koli pri vstanovlenni pokazuyetsya dialog viboru vstanovlyuvanih chastin programi koristuvach keruye viborom same mozhlivostej Vibir mozhlivosti dlya vstanovlennya tyagne za soboyu vstanovlennya vsih komponentiv yaki vona vklyuchaye Fizichna struktura paketaFajl msi ce OLE OLE compound document v takomu zh formati kontejneri zberigayutsya dokumenti Microsoft Word Excel tosho v yakomu mistitsya nevelika relyacijna baza danih nabir z dekilkoh desyatkiv vzayemopov yazanih tablic sho mistyat riznu informaciyu pro produkt i proces vstanovlennya Pri comu vsi ryadkovi dani v bazi zberigayutsya razom v okremomu potoci dokumenta a v tablicyah bazi na nih ye posilannya takim chinom unikayut dublyuvannya ryadkiv sho znachno zmenshuye rozmir bazi Krim bazi struktura fajlu msi peredbachaye vmishennya tudi koristuvackih scenariyiv i dopomizhnih DLL yaksho taki potribni dlya vstanovlennya a takozh samih vstanovlyuvanih fajliv zapakovanih u formati cab Fajli mozhna rozmishuvati j okremo vid pakunka v zapakovanomu abo rozpakovanomu viglyadi zi zberezhennyam strukturi papok Proces vstanovlennyaProces vstanovlennya skladayetsya z dekilkoh etapiv zboru informaciyi vikonannya vlasne vstanovlennya a takozh mozhlivo vidkochuvannya v razi pomilki abo skasuvannya vstanovlennya koristuvachem Diyi Kozhen etap vstanovlennya skladayetsya z poslidovnosti dij actions zapisanoyi v bazi danih Diyam prisvoyeno nomeri sho viznachayut poryadok yih vikonannya a inodi j umovi za yakih diyi vikonuyutsya abo ne vikonuyutsya Bilshist dij ce standartni diyi harakterni dlya tipovogo procesu zboru informaciyi i vstanovlennya Vsi ci diyi zadokumentovani krim nih koristuvach mozhe viznachiti i svoyi diyi custom actions Diyi viznacheni koristuvachem mozhut buti abo napisani odniyeyu zi skriptovih mov vbudovanih v operacijnu sistemu JScript abo VBScript tak samo i Eclipse pobichna mova vid C abo rozmishuvatisya v specialno stvorenij DLL napisanij takimi movami yak C C tosho Fajli z cimi diyami pomishayutsya vseredinu fajlu msi i dobuvayutsya zvidti na pochatku zapusku vstanovlennya Ci DLL dobuvayutsya v papku Windows Installer pri comu yim prisvoyuyutsya vipadkovi imena napriklad MSIF65E tmp Zbir informaciyi Na etapi zboru informaciyi Windows Installer zbiraye instrukciyi cherez vzayemodiyu z koristuvachem abo programnim shlyahom shodo vstanovlennya chi vidalennya odniyeyi abo kilkoh mozhlivostej yaki vhodyat u produkt Ci instrukciyi nadali formuyut na osnovi bazi danih vnutrishnij scenarij yakij detalno opisuye podalshe vikonannya Cej etap nazivayut takozh bezposerednim rezhimom immediate mode Vikonannya Do pochatku cogo etapu vstanovlyuvach generuye vnutrishnij scenarij priznachenij dlya vikonannya bez vtruchannya koristuvacha Cej scenarij vikonuyetsya vstanovlyuvachem u privilejovanomu rezhimi sluzhbi NT konkretno pid oblikovim zapisom LocalSystem Privilejovanij rezhim potriben cherez te sho vstanovlennya mig zapustiti koristuvach yakij ne maye prav neobhidnih dlya zminyuvannya sistemnih parametriv i fajliv hocha pravo vstanoviti programu jomu nadano Cej etap inodi nazivayetsya vidkladenim rezhimom deferred mode Vidkochuvannya Yaksho bud yaka z dij viznachenih u scenariyi zakinchuyetsya nevdacheyu abo vstanovlennya v procesi skasovuyetsya Koristuvachem usi diyi vikonani do cogo momentu vidkochuyutsya povertayuchi sistemu v stan sho buv do ustanovki Vidkochuvannya zabezpechuyetsya nayavnistyu dlya kozhnoyi diyi yaka vnosit zminu v sistemu zvorotnoyi do neyi Uvodyachi v pakunok nestandartni diyi programist maye stvoriti takozh zvorotni do nih dlya pravilnoyi roboti vidkochuvannya Inshi mozhlivostiAnonsuvannya ta vstanovlennya na vimogu Windows Installer mozhe reklamuvati produkt a ne vstanovlyuvati jogo Produkt z yavitsya u koristuvacha ale vin faktichno ne bude vstanovlenij doti poki jogo ne zapustyat upershe za dopomogoyu yarlika v menyu Pusk Administrator mozhe ogolositi vstanovlyuvalnij pakunok z vikoristannyam grupovoyi politiki Windows abo inshogo mehanizmu kompilyuvannya abo zapuskom vikonuvanogo fajlu msiexec za dopomogoyu jm dlya reklami dlya kozhnogo pristroyu abo ju dlya reklami dlya kozhnogo koristuvacha Deyaki pakunki MSI stvoreni v mozhut pereshkoditi vikoristannyu cih ta inshih vbudovanih funkcij MSI Shob zavershiti reklamovane vstanovlennya koristuvachu potribni prava administratora Vstanovlennya na vimogu Podibno do reklamuvannya produktu vstanovlennya na vimogu vstanovlyuye mozhlivist yak tilki koristuvach namagayetsya neyu skoristatis Inshi sistemi vstanovlennyaNullsoft Scriptable Install System Inno Setup Wise Package StudioDiv takozhWiX RPM Instalyaciya PZPrimitkiReleased Versions of Windows Installer Arhiv originalu za 5 lyutogo 2019 Procitovano 11 serpnya 2021 Arhiv originalu za 11 serpnya 2021 Procitovano 11 serpnya 2021 Arhiv originalu za 4 sichnya 2010 Procitovano 11 serpnya 2021 Arhiv originalu za 1 lipnya 2018 Procitovano 11 serpnya 2021 Arhiv originalu za 1 lipnya 2018 Procitovano 11 serpnya 2021 Arhiv originalu za 1 lipnya 2018 Procitovano 11 serpnya 2021 Arhiv originalu za 1 lipnya 2018 Procitovano 11 serpnya 2021 PosilannyaRozdil Windows Installer 30 travnya 2018 u Wayback Machine angl MSDN