Windows Installer | |
---|---|
| |
Type | Microsoft Windows-komponent [d] oginstallationsprogram |
Udvikler | Microsoft |
Operativ system | Windows |
Hardware platform | Microsoft Windows |
nyeste version | 5.0 [1] ( 22. juli 2009 ) |
Læsbare filformater | MSI , Windows Setup Information File [d] og Windows Setup inf_loc fil [d] |
Licens | Microsoft brugeraftale |
Internet side | docs.microsoft.com/… ( engelsk) |
Windows Installer ( Windows Installer , kodenavn - Darwin [2] [3] ) er et undersystem af Microsoft Windows , der giver installation af programmer ( installationsprogram ). Det er en komponent i Windows siden Windows 2000 ; kan installeres på tidligere versioner af Windows. Al information, der er nødvendig for installationen (nogle gange sammen med de filer, der skal installeres) er indeholdt i installationspakker (installationspakker) med filtypenavnet .msi [4] .
Windows Installer blev udviklet i 1995-1998 og hed oprindeligt kodenavnet Darwin . Tidlige versioner blev kaldt Microsoft Installer , derfor er standardinstallationspakkens filtypenavn .msi . [5]
Den første version af Installer blev udgivet i begyndelsen af 1999 som et installationsprogram til Microsoft Office 2000. I slutningen af det år blev Installer en del af Windows 2000 . Microsoft opfordrede udviklere til at skifte til det nye installationsprogram på alle mulige måder, herunder i listen over krav til programmer, der ønsker at modtage det såkaldte Windows 2000-logo, kravet om at installere ved hjælp af Windows Installer.
Windows Installer viste sig at være et væsentligt skridt fremad i forhold til det tidligere Microsoft-installationsprogram - Setup API (ACME Setup): det introducerede GUI- funktioner , understøttelse af afinstallation og rollback til enhver tid under installationen (inklusive rollback under afinstallation), korrekt arbejde med adgangsrettigheder i Windows og andre funktioner, hvilket gør det til et stærkt alternativ til forskellige installationspakker på markedet.
Fremtidige opdateringer vil introducere .MSIX, som vil være en slags hybrid af . APPX og .MSI, som giver dig mulighed for at installere UWP-applikationer i systemet (i øjeblikket er dette kun muligt direkte gennem Microsoft Store)
En installationspakke beskriver installationen af et produkt og har sin egen GUID . Et produkt består af komponenter (som også har deres egne GUID'er) grupperet i funktioner .
Komponent (komponent) - den mindste udelelige installationsenhed, som er en gruppe af filer, registreringsværdier, oprettede mapper og andre elementer, forenet med et fælles navn (komponentnavn) og enten installeret sammen eller ikke installeret. Komponenterne er skjult for slutbrugeren. Hver komponent har en nøglesti (nøglesti) - for eksempel navnet på dens hovedfil - som bestemmer tilstedeværelsen af denne komponent på brugerens computer.
Opportunity (funktion; i den russiske version af Windows er dette ord oversat som "komponent", hvilket introducerer forvirring) er en hierarkisk gruppe af komponenter og/eller andre funktioner. Når en dialogboks til at vælge de installerede dele af programmet vises under installationen, kontrollerer brugeren valget af funktioner . Valg af en mulighed for at installere indebærer installation af alle de komponenter, der er inkluderet i den [6] .
En .msi -fil er et sammensat OLE- dokument ( OLE -sammensat dokument - Microsoft Word , Excel , osv. dokumenter gemmes i samme containerformat), som indeholder en lille relationsdatabase - et sæt af flere dusin indbyrdes forbundne tabeller, der indeholder forskellige oplysninger om produktet og installationsprocessen. I dette tilfælde er alle strengdata i databasen gemt sammen i en separat dokumentstrøm, og i databasens tabeller er der links til dem; dermed undgå duplikering af linjer, hvilket reducerer størrelsen af databasen markant.
Ud over basen sørger strukturen for .msi-filen for placering af brugerscripts og hjælpe - DLL'er , hvis nogen, der kræves til installationen, såvel som selve de installerbare filer pakket i .cab -format . Filer kan også placeres separat fra pakken, i pakket eller udpakket form (bevarer mappestrukturen).
Installationsprocessen består af flere faser - informationsindsamling, udførelse (selve installationen) og eventuelt rollback (ved fejl eller annullering af installationen fra brugerens side).
Hvert trin i installationen består af en sekvens af handlinger (handlinger), registreret i databasen. Handlinger tildeles numre, der bestemmer den rækkefølge, de udføres i, og nogle gange under hvilke betingelser handlinger udføres eller ikke udføres.
De fleste trin er standardtrin til en typisk informationsindsamling og installationsproces. Alle disse handlinger er dokumenterede, udover dem kan brugeren definere sine egne handlinger (tilpassede handlinger).
Brugerdefinerede handlinger kan enten skrives i et af de scriptsprog, der er indbygget i operativsystemet ( JScript eller VBScript samt Eclipse, et sidesprog fra C++), eller placeres i en specielt oprettet DLL (skrevet på sprog såsom C , C++ osv.). Filerne med disse handlinger placeres inde i .msi -filen og udpakkes derfra i begyndelsen af installationskørslen. Disse DLL'er udpakkes til mappen Windows\Installer og får tilfældige navne, såsom MSIF65E.tmp.
Under informationsindsamlingsfasen indsamler Windows Installer instruktioner (enten gennem brugerinteraktion eller programmatisk) for at installere eller fjerne en eller flere funktioner inkluderet i produktet. Disse instruktioner danner derefter et internt script baseret på databasen, der beskriver det efterfølgende udførelsestrin.
Denne fase kaldes også den øjeblikkelige tilstand (umiddelbar tilstand).
Ved begyndelsen af dette trin har installationsprogrammet genereret et internt script designet til at blive udført uden brugerindblanding. Dette script køres af installationsprogrammet i privilegeret NT-tjenestetilstand (specifikt under LocalSystem-kontoen ). Den privilegerede tilstand er påkrævet på grund af det faktum, at installationen kunne startes af en bruger, der ikke har de nødvendige rettigheder til at ændre systemparametre og filer (selvom han fik ret til at installere programmet).
Denne fase kaldes nogle gange udskudt tilstand.
Hvis nogen af de handlinger, der er defineret i scriptet, mislykkes, eller hvis en igangværende installation annulleres af brugeren, rulles alle handlinger, der er udført indtil det tidspunkt, tilbage , hvilket returnerer systemet til dets præinstallationstilstand. Rollback sikres ved tilstedeværelsen for hver handling, der foretager en ændring i systemet, det modsatte af det. Når man introducerer ikke-standardhandlinger i en pakke, skal programmøren også skabe inverse til dem, for at tilbagerulningen kan fungere korrekt [7] .
Windows Installer reklamerer muligvis for produktet i stedet for at installere det [8] . Produktet vises for brugeren, men det vil faktisk ikke blive installeret, før det lanceres for første gang (ved hjælp af en genvej i startmenuen ). Installationspakken kan annonceres af en administrator, der bruger Windows Group Policy eller en anden kompileringsmekanisme, eller ved at køre msiexec eksekverbar med /jm (for pr-enhed-annoncer) eller /ju (for pr-bruger-annoncer). Nogle MSI-pakker, der er oprettet med InstallShield , kan forstyrre brugen af disse og andre indbyggede MSI-funktioner.
Brugeren skal have administratorrettigheder for at fuldføre den annoncerede installation.
I lighed med at reklamere for et produkt, installerer install on demand en funktion, så snart brugeren forsøger at bruge den [9] .
Arkivformater _ | |
---|---|
Kun arkivering | |
Kun kompression | |
Arkivering og komprimering | |
Softwarepakning og distribution |