Instalator de Windows din interior, ferestre-l pro

Înregistrarea conferinței

Implementarea și implementarea fișierelor batch

Ce administrator de Windows nu cunoaște caracterele Msi? Serviciul Windows Installer (msiexec.exe) și fișierul .msi lot sunt de fapt tehnologia standard pentru instalarea aplicațiilor Windows. Avantajele pachetului de instalare a aplicației Windows Installer sunt bine cunoscute. Mai întâi, dacă instalarea nu reușește, pachetul .msi anulează fragmentul de instalare și restabilește starea inițială a computerului, prevenind astfel deteriorarea aplicațiilor și a sistemului. În al doilea rând. Aplicația înfășurată în format msi are capacitatea de a se autorepara dacă utilizatorul șterge unul dintre fișierele sale. În cele din urmă, Windows Installer oferă instalarea de programe pe computerele utilizatorilor. Principiile de bază ale programului Windows Installer sunt cunoscute, dar o înțelegere mai profundă a mecanismelor interne ale pachetelor Windows Installer și .msi vă va permite să construiți pachete de instalare a aplicațiilor specializate și să simplificați diagnosticarea defecțiunilor în timpul procesului de implementare. Mai jos este o prezentare generală a tehnologiei Windows Installer, iar apoi vom vorbi despre structura pachetelor .msi și interacțiunea acestora cu serviciul Windows Installer.







Tehnologia Windows Installer

Produse, funcții și componente

Fișierul MSI este o bază complexă de instrucțiuni de instalare a aplicațiilor care conține zeci de tabele, sute de coloane și uneori fișiere atașate. Baza de date stochează informații despre cerințele sistemului de operare pentru instalarea aplicației, etapele de instalare și chiar casetele de dialog afișate pe ecran.

Fișierul Msi are o structură pe trei niveluri. Cel mai înalt nivel este produsul, aplicația în sine. Produsului i se atribuie un cod unic - un identificator unic global (GUID). La nivelul următor sunt blocurile funcționale din interiorul produsului. Blocurile funcționale au nume și pot fi adăugate la dorință. Figura 1 prezintă un exemplu de blocuri de funcții din aplicație - în acest caz, Microsoft Office Access și Microsoft Office Excel în pachetul de instalare Microsoft Office. Blocul funcțional este o singură unitate pentru instalarea în pachetul Windows Installer. Blocurile funcționale ale pachetului sunt instalate (sau șterse), nu fișiere individuale.

Instalator de Windows din interior, ferestre-l pro

Ecranul 1. Blocuri de funcții ale aplicației ambalate pentru Windows Installer

Blocurile de funcții constau din componente care reprezintă nivelul al treilea al ierarhiei fișierelor .msi. Componenta este unitatea de bază a pachetului Windows Installer și blocul de bază al aplicației. O componentă poate fi un fișier sau un grup de fișiere, un parametru de registry, o comandă rapidă sau o resursă (de exemplu, o pictogramă). O cale cheie este asociată cu componenta. Calea cheie definește un fișier sau un parametru, fără de care nu este posibilă instalarea completă a componentei. Calea cheie este baza mecanismului de auto-reparare pentru pachetele bazate pe Windows Installer. Atunci când se repară o aplicație .mi-packed, serviciul Windows Installer verifică caracterul complet al tuturor căilor cheie ale componentelor. Dacă lipsește calea cheie a oricărei componente, serviciul Windows Installer determină blocul de funcții al componentei și restabilește blocul de funcții. Astfel, timpul necesar pentru a repara o aplicație desfășurată depinde în parte de numărul de componente din pachet și de numărul de componente din blocul de funcții care conține componenta coruptă.

Baza de date a Instalatorului Windows

Instalator de Windows din interior, ferestre-l pro

Ecranul 2. Tabele ale bazei de date a aplicațiilor, ambalate pentru Windows Installer

Figura 2 prezintă tabelul LaunchCondition pentru Windows Installer pentru Consola de gestionare a politicii de grup (GPMC). Panoul din dreapta din tabel arată cerințele minime pentru sistemul de operare și platforma pentru instalarea GPMC. Coloana Condition conține condițiile care trebuie îndeplinite în timpul procesului de instalare. Coloana Descriere descrie cerințele minime pentru setul de condiții. Când instalați aplicația, Windows Installer verifică dacă sunt îndeplinite condițiile de pornire înainte de a începe instalarea.

Tabelele de secvențe (tabelul de secvențe) reprezintă nucleul bazei de date; acestea afișează acțiunile pe care trebuie să le efectueze serviciul Windows Installer în timpul procesului de instalare și ordinea în care sunt executate. De exemplu, tabelul de secvențe indică faptul că mecanismul Installer trebuie să verifice mai întâi condițiile de pornire LaunchCondition, apoi să copieze fișierele sursă în directorul de destinație și să pregătească un set de intrări de registry. Tabelele de secvențe sunt de trei tipuri: Admin, Publicitate și Instalare. Tipul tabelului de secvențe utilizat de Windows Installer depinde de tipul de procedură de instalare efectuată. Descrierile tipurilor de tabele de secvențe sunt prezentate în tabelul 1.







Două mese auxiliare sunt asociate cu fiecare tabel de secvențe. Unul dintre ele - InstallUISequence - definește dialogurile interfeței utilizator, care ar trebui să fie afișate într-o instalare interactivă (controlată de utilizator). O altă tabelă - așa-numita tabelă "executare secvență" (InstallExecuteSequence) - definește pașii necesari pentru instalare.

Tabelul Proprietăți este o altă parte importantă a bazei de date .msi. Proprietățile sunt constante, specificând care puteți controla progresul instalării. În esență, proprietățile sunt variabile de mediu pentru un fișier .msi. În pachetele Windows Installer, este adesea folosită proprietatea ALLUSERS, care indică procedura de setare a modului în care sunt stocate informațiile de configurare a aplicației - pentru utilizator sau pentru computer. Numele proprietăților sunt sensibile la minuscule și pot fi specificate pe linia de comandă în timpul instalării sau utilizând o transformare.

Modificări, remedierii și module de îmbinare

Un fișier Msi primit de la un furnizor de multe ori nu are tot ce are nevoie pentru a implementa un pachet într-un anumit mediu. De exemplu, un consumator ar putea dori să implementeze automat pachetul utilizând instrumentul de implementare a software-ului sau să instaleze numai anumite blocuri de funcții. Într-o astfel de situație, transformările pot fi utile. Transformarea este un tip special de fișier de bază de date .msi, care de obicei are extensia .mst. Transformările se aplică procedurii de implementare a unei aplicații în timpul instalării. De fapt, ele schimbă valorile implicite din pachetul .msi, controlând procesul de instalare. Valorile modificate din fișierul .msi nu sunt salvate; ele determină pur și simplu cum va proceda o anumită instalare.

Fișierele de patch-uri (fișierele patch-uri sau .msp) sunt diferite de transformări. De regulă, distribuitorul emite un fișier de patch-uri atunci când este necesar să actualizați produsul fără a recurge la procesarea sa profundă. Un exemplu de patch poate fi actualizarea de securitate. După ce instalați remedierea rapidă într-o instanță a unui fișier .msi stocat în memoria cache de lucru, se fac modificări permanente. Pentru a vă asigura că noi utilizatori primesc fișiere actualizate în viitor, trebuie să aplicați fișierele de patch-uri în pachetul de aplicații sursă.

Când pregătiți un nou pachet de instalare, puteți introduce fișierele de aplicații într-un fișier .msi. De obicei, fișierele sunt inserate sub formă de fișiere .cab încorporate, care sunt seturi de fișiere comprimate care sunt similare cu fișierele .zip. Într-un fișier .msi este convenabil să inserați fișiere .cab de dimensiuni foarte mici. De exemplu, Office are fișiere separate .msi și .cab, deoarece dimensiunea fișierelor .cab din Office este de câteva sute de megaocteți. Cu toate acestea, prin împachetarea tuturor fișierelor de aplicații mici necesare într-un fișier .msi, puteți obține un fișier compact, care este convenabil să le distribuiți utilizatorilor. Puteți extrage fișierul .cab încorporat dintr-un fișier .msi utilizând instrumentul msidb.exe din setul de instrumente Windows Installer SDK.

Serviciul Windows Installer

Windows Installer oferă un set de caracteristici care sunt convenabile pentru implementarea programelor, în special atunci când sunt utilizate împreună cu funcția Instalare software în Politica de grup. Principala dintre aceste funcții este o escaladare a privilegiilor. Când un utilizator obișnuit încearcă să instaleze aplicația pe computerul său, făcând dublu clic pe un fișier .msi, permisiunile sale de a efectua instalarea nu sunt întotdeauna suficiente. Cu toate acestea, când implementați o aplicație utilizând instalarea software-ului de politică de grup, serviciul Windows Installer instalează contextul de securitate LocalSystem în contextul său.

În particular, serviciul Installer creează un nou proces msiexec.exe în contextul securității utilizatorului pentru a efectua acea parte a instalării care este efectuată în profilul utilizatorului. Serviciul de instalare utilizează propriul context de securitate ridicat (contul LocalSystem) pentru a efectua o anumită parte a procedurii de instalare a computerului, pentru care utilizatorul nu are autorizație. Aplicațiile implementate în acest mod sunt numite aplicații gestionate. Creșterea autorității utilizate de aplicația Windows Installer pentru aplicațiile gestionate este, de obicei, posibilă numai atunci când se aplică Politica de grup, deși metoda este disponibilă în afara procedurilor Obiect de politică de grup (GPO), prin politica Șablon de administrare.

Stocarea fișierelor de instalare pe stația de lucru

Luați în considerare ce se întâmplă pe stația de lucru atunci când serviciul Windows Installer instalează pachetul .msi. În primul rând, pentru a vă asigura că acțiunile sunt anulate în caz de eșec, Instalatorul face copii de rezervă ale tuturor fișierelor înlocuite, salvându-le într-un director temporar pe hard disk-ul utilizatorului, de obicei C: config.msi. Dacă ați aruncat o privire asupra acestui dosar în timpul instalării, puteți vedea în el fișiere temporare cu nume neobișnuite create de serviciul Installer. După terminarea instalării, serviciul Installer șterge fișierele temporare.

După terminarea instalării, Windows Installer păstrează o copie a .msi-fișierul asociat și orice transformări utilizate de Windows Installer atunci când instalați aplicația în folderul \% windir% de instalare, atribuindu-i un unic convenții de nume de fișier (de exemplu, 19fe9b79.msi). Fișierele din \% windir% installer sunt copiile cache ale tuturor fișierelor .msi procesate de serviciul Windows Installer de pe computer. Datorită copiei memorate în cache, puteți modifica sau elimina aplicația, fără a recurge la pachetul de instalare original, care poate fi amplasat pe o unitate de server partajat, ajunge la utilizatorii de telefonie mobilă. Windows monitorizează toate aplicațiile implementate bazate pe .msi; blocuri funcționale existente, componente și patch-uri, precum și numele fișierului .msi memorat în registru.

Rularea fișierelor de instalare din linia de comandă și din scripturi

Proprietatea ADDLOCAL este utilizată de această comandă pentru a specifica blocurile funcționale ale pachetului pe care Windows Installer trebuie să-l instaleze. Metoda liniei de comandă este utilizată în loc de selectarea blocurilor de funcții de către utilizatori sau de setarea blocurilor individuale de către administrator utilizând fișierul de transformare.

După cum sa arătat mai sus, sarcinile Windows Installer nu se limitează la un simplu clic pe un fișier .msi. Tehnologia puternică Windows Installer vă permite să instalați în mod flexibil și rapid programele, dar pentru a utiliza serviciul în mod eficient, trebuie să înțelegeți principiile funcționării acestuia.

Tipuri de tabele de secvențe

Tipul tabelului de secvențe







Articole similare

Trimiteți-le prietenilor: