Windows Installer | |
---|---|
| |
Tip de | Componenta Microsoft Windows [d] șiinstalare |
Dezvoltator | Microsoft |
Sistem de operare | Windows |
Platformă hardware | Microsoft Windows |
ultima versiune | 5.0 [1] ( 22 iulie 2009 ) |
Formate de fișiere care pot fi citite | MSI , Windows Setup Information File [d] și Windows Setup inf_loc [d] |
Licență | Acord de utilizare Microsoft |
Site-ul web | docs.microsoft.com/… ( engleză) |
Windows Installer ( Windows Installer , nume de cod - Darwin [2] [3] ) este un subsistem Microsoft Windows care asigură instalarea programelor ( installer ). Este o componentă a Windows din Windows 2000 ; poate fi instalat pe versiuni anterioare de Windows. Toate informațiile necesare instalării (uneori împreună cu fișierele de instalat) sunt conținute în pachete de instalare (pachete de instalare) cu extensia .msi [4] .
Windows Installer a fost dezvoltat în 1995-1998 și a primit inițial numele de cod Darwin . Versiunile timpurii au fost numite Microsoft Installer , prin urmare extensia standard a pachetului de instalare este .msi . [5]
Prima versiune de Installer a fost lansată la începutul anului 1999 ca program de instalare Microsoft Office 2000. La sfârșitul acelui an, Installer a devenit parte din Windows 2000 . Microsoft a încurajat dezvoltatorii să treacă la noul program de instalare în toate modurile posibile, inclusiv în lista de cerințe pentru programele care doresc să primească așa-numita sigla Windows 2000, cerința de a instala folosind Windows Installer.
Windows Installer s-a dovedit a fi un pas semnificativ înainte în raport cu programul de instalare Microsoft anterior - Setup API (ACME Setup): a introdus funcții GUI , suport pentru dezinstalare și rollback în orice moment în timpul instalării (inclusiv rollback în timpul dezinstalării), lucru corect cu drepturi de acces în Windows și alte caracteristici, făcându-l o alternativă puternică la diferite pachete de instalare de pe piață.
Actualizările viitoare vor introduce .MSIX, care va fi un fel de hibrid cu . APPX și .MSI, care vă permite să instalați aplicații UWP în sistem (în prezent, acest lucru este posibil doar direct prin Microsoft Store)
Un pachet de instalare descrie instalarea unui produs și are propriul său GUID . Un produs constă din componente (care au și propriile GUID-uri) grupate în funcții .
Componentă (componentă) - unitatea minimă de instalare indivizibilă, care este un grup de fișiere, valori de registry, foldere create și alte elemente, unite printr-un nume comun (nume componente) și fie instalate împreună, fie neinstalate. Componentele sunt ascunse de utilizatorul final. Fiecare componentă are o cale a cheii (calea cheii) - de exemplu, numele fișierului său principal - care determină prezența acestei componente pe computerul utilizatorului.
Oportunitatea (funcție; în versiunea rusă a Windows, acest cuvânt este tradus ca „componentă”, care introduce confuzie) este un grup ierarhic de componente și/sau alte caracteristici. Când în timpul instalării este afișat un dialog pentru selectarea părților instalate ale programului, utilizatorul controlează alegerea caracteristicilor . Selectarea unei opțiuni de instalare presupune instalarea tuturor componentelor care sunt incluse în ea [6] .
Un fișier .msi este un document compus OLE ( documentul compus OLE - documentele Microsoft Word , Excel etc. sunt stocate în același format de container), care conține o mică bază de date relațională - un set de câteva zeci de tabele interconectate care conțin diverse informații despre produs și procesul de instalare. În acest caz, toate datele șiruri din baza de date sunt stocate împreună într-un flux separat de documente, iar în tabelele bazei de date există legături către acestea; evitându-se astfel dublarea liniilor, ceea ce reduce semnificativ dimensiunea bazei de date.
În plus față de bază, structura fișierului .msi prevede plasarea de scripturi utilizator și DLL-uri auxiliare , dacă există, necesare pentru instalare, precum și fișierele instalabile în sine, ambalate în format .cab . Fișierele pot fi, de asemenea, plasate separat de pachet, în formă ambalata sau dezambalată (păstrând structura directorului).
Procesul de instalare constă din mai multe etape - colectarea informațiilor, execuție (instalarea propriu-zisă) și, eventual, rollback (în cazul unei erori sau anularea instalării de către utilizator).
Fiecare etapă a instalării constă dintr-o succesiune de acțiuni (acțiuni), înregistrate în baza de date. Acțiunilor li se atribuie numere care determină ordinea în care sunt efectuate și, uneori, condițiile în care acțiunile sunt efectuate sau nu.
Majoritatea pașilor sunt pași standard pentru un proces tipic de colectare și instalare a informațiilor. Toate aceste acțiuni sunt documentate, pe lângă ele, utilizatorul își poate defini propriile acțiuni (acțiuni personalizate).
Acțiunile definite de utilizator pot fi fie scrise într-unul dintre limbajele de scripting încorporate în sistemul de operare ( JScript sau VBScript , precum și Eclipse, un limbaj secundar din C++), fie plasate într-un DLL special creat (scris în limbi cum ar fi C , C++ etc.). Fișierele cu aceste acțiuni sunt plasate în interiorul fișierului .msi și extrase de acolo la începutul rulării instalării. Aceste DLL-uri sunt extrase în directorul Windows\Installer și li se dau nume aleatorii, cum ar fi MSIF65E.tmp.
În timpul fazei de colectare a informațiilor, Windows Installer colectează instrucțiuni (prin interacțiunea utilizatorului sau prin program) pentru a instala sau elimina una sau mai multe caracteristici incluse în produs. Aceste instrucțiuni formează apoi un script intern bazat pe baza de date, care detaliază etapa de execuție ulterioară.
Această etapă se mai numește și modul imediat (modul imediat).
La începutul acestui pas, instalatorul a generat un script intern conceput pentru a fi executat fără intervenția utilizatorului. Acest script este rulat de programul de instalare în modul de serviciu privilegiat NT (în special, sub contul LocalSystem ). Modul privilegiat este necesar din cauza faptului că instalarea ar putea fi pornită de un utilizator care nu are drepturile necesare pentru a modifica parametrii și fișierele sistemului (deși i s-a acordat dreptul de a instala programul).
Această etapă este uneori numită modul amânat .
Dacă oricare dintre acțiunile definite în script eșuează sau dacă o instalare în desfășurare este anulată de către utilizator, toate acțiunile efectuate până în acel moment sunt anulate , readucerea sistemului la starea de pre-instalare. Rollback-ul este asigurat de prezența pentru fiecare acțiune care face o schimbare în sistem, inversul acesteia. Când introduce acțiuni non-standard într-un pachet, programatorul trebuie să creeze și inverse pentru ele pentru ca rollback-ul să funcționeze corect [7] .
Windows Installer poate face publicitate produsului în loc să îl instaleze [8] . Produsul va apărea utilizatorului, dar nu va fi instalat de fapt până nu este lansat pentru prima dată (folosind o comandă rapidă din meniul de pornire ). Pachetul de instalare poate fi anunțat de un administrator utilizând Politica de grup Windows sau un alt mecanism de compilare sau rulând executabilul msiexec cu /jm (pentru anunțuri pe dispozitiv) sau /ju (pentru anunțuri pe utilizator). Unele pachete MSI create cu InstallShield pot interfera cu utilizarea acestor și a altor caracteristici MSI încorporate.
Utilizatorul trebuie să aibă drepturi de administrator pentru a finaliza instalarea anunțată.
Similar cu promovarea unui produs, instalarea la cerere instalează o caracteristică de îndată ce utilizatorul încearcă să o folosească [9] .
Formate de arhivare | |
---|---|
Doar arhivare | |
Doar compresie | |
Arhivare și compresie | |
Ambalare și distribuție software |