Tehnologia de instalare Windows

Sursă: rsdn.ru

prefață

Tehnologia Windows Installer nu vine de la zero, așa că înainte de a se arunca cu capul în ea, vom privi înapoi 10-15 ani.

Un pic de istorie

"Golden" ori DOS

Dacă ne întoarcem la zilele „de aur“ de DOS, apoi găsiți că în timp ce fiecare companie furnizor pervertit în propriul lor software-ul. Nu a existat nici o interfață de utilizator generală, nu există metode standardizate de lucru cu software-ul (nu văd proprietarii fericit de calculatoare Apple au unul în momentul în care interfața cu utilizatorul). Prin urmare, nu este surprinzător faptul că nu exista o singură tehnologie pentru instalarea produselor software.

A trecut timpul - a apărut prima versiune de Windows (după părerea mea - doar o jucărie interesantă), urmată de cea de-a doua. PC World au încercat să dea o interfață de utilizator unificată (până acum fără succes), dar în ceea ce privește tehnologia de instalare, nimic nu sa schimbat: fiecare producator de software a continuat să ne surprindă cu o varietate de incompatibile instalatori.

Situația a început să se schimbe spre bine cu lansarea Windows 3.0, care a devenit în cele din urmă standardul de facto pentru interfața cu utilizatorul pentru PC-uri. Dar ... nimic nu sa schimbat în ceea ce privește instalarea. Ca și mai înainte, nu a existat nici un software de baze de date unificate instalat pe un computer, și nu a existat nici un API pentru a crea un unificat, compatibile între ele și, cel mai important, programe de instalare de încredere.

Prin urmare, este destul de natural ca lipsa unei soluții integrate de la furnizorul de sistem de operare să permită ca această nișă să fie luată de companii terțe de dezvoltare. Cele mai renumite dintre ele sunt InstallShield Software și WiseSolutions. Aceste companii aduc interfață unificată în lumea instalatorilor de software, și a jucat un rol important în modelarea utilizatorilor idei despre cum să se uite și să se comporte într-un software complex de instalare de software.

Windows 95

Însă, pe lângă stocarea listei de programe instalate și posibilitatea de a rula programe de instalare externe, această versiune de Windows nu a oferit nimic altceva. Ca urmare, problema cu diferitele versiuni ale bibliotecilor dinamice de legătură (denumită în continuare DLL), cu DLL-uri de sistem de rescriere etc., a rămas nesoluționată.

Următoarele versiuni de Windows nu au adus nimic nou, situația în WindowsNT nu a fost mult mai bună. Tehnologia API de instalare, moștenită de la Windows 3.x, a fost foarte limitată și a fost utilizată (totuși, este încă folosită astăzi) în principal pentru a instala diferiți drivere.

Windows Installer - un cuvânt nou în tehnologiile de instalare

Acest tabel stochează o valoare de hash pe 128 de biți pentru fișierele sursă din pachetul de instalare 4

Înregistrări de tabele din registrul Windows

Acest grup conține tabele care descriu diferitele tipuri de informații din registrul Windows.

Cititorul atent, desigur, a observat că cifra conține tabele din alte grupuri, cum ar fi Component. Caracteristică și fișier. Aceste tabele sunt incluse aici pentru a arăta mai clar logica activității acestui grup. În plus, există tabele deja menționate în alte grupuri, dar aici joacă un rol ușor diferit (acestea sunt tabelele SelfReg și Environment).

Astfel, acest grup include 11 tabele, o scurtă descriere a cărora este prezentată mai jos:

Acest tabel conține operațiile care se efectuează atunci când este activată funcția de nivel înalt ADVERTISE 4

NOTĂ
  1. Toate operațiile din secvența de instalare, până la dialogurile InstallValidate și exit, sunt plasate în tabela InstallUISequence. Toate operațiile de la InstallValidate și până la sfârșitul instalării sunt în tabela InstallExecuteSequence. Deoarece acesta din urmă tabel poate fi utilizat independent de primul (de exemplu, în cazul în care interfața cu utilizatorul este dezactivat), acesta include toate operațiile de inițializare, cum ar fi LaunchConditions, CostInitialize, CostFinalize și ExecuteAction.
  2. Toate operațiile utilizatorilor efectuate în această secvență, dacă doriți să utilizați interfața cu utilizatorul, trebuie să utilizeze funcția API MsiProcessMessage. În loc de dialoguri din tabela Dialog.
  3. Toate operațiile din secvența de instalare, până la dialogurile InstallValidate și exit, sunt plasate în tabelul AdminUISequence. Toate operațiile de la InstallValidate și până la sfârșitul instalării sunt în tabelul AdminExecuteSequence. Deoarece acesta din urmă tabel poate fi utilizat independent de primul (de exemplu, în cazul în care interfața cu utilizatorul este dezactivat), acesta include toate operațiile de inițializare, cum ar fi LaunchConditions, CostInitialize, CostFinalize și ExecuteAction.
  4. Tabelul AdvtExecuteSequence poate conține doar un set limitat de operații standard. Operațiile utilizatorului nu trebuie să fie conținute în acest tabel.

Celălalt grup include tabele care vă permit să extindeți funcționalitatea pachetului de instalare. Destul de des, în special când se instalează produse software complexe, funcția încorporată a Windows Installer, bazată pe operațiuni standard, nu este suficientă. Aici, tabelul de acțiuni personalizate vine la salvare. Permite crearea și stocarea informațiilor în baza de date de instalare pentru efectuarea operațiilor utilizatorului.

Acest tabel vă permite să integrați ușor și ușor codul și datele utilizatorilor în procesul de instalare al aplicației. Codul executabil poate fi preluat direct din baza de date, fișierul nou instalat sau dintr-un fișier executabil existent pe computer.

Următorul grup de tabele extinde capacitatea instalatorului de a manipula fișiere și directoare în timpul procesului de instalare.

Articole similare