Windows Installer | |
---|---|
| |
Sorts | Microsoft Windows-komponent [d] ochinstallationsprogram |
Utvecklaren | Microsoft |
Operativ system | Windows |
Hårdvaruplattform | Microsoft Windows |
senaste versionen | 5.0 [1] ( 22 juli 2009 ) |
Läsbara filformat | MSI , Windows Setup Information File [d] och Windows Setup inf_loc fil [d] |
Licens | Microsofts användaravtal |
Hemsida | docs.microsoft.com/… ( engelska) |
Windows Installer ( Windows Installer , kodnamn - Darwin [2] [3] ) är ett undersystem till Microsoft Windows som tillhandahåller installation av program ( installationsprogram ). Det är en komponent i Windows sedan Windows 2000 ; kan installeras på tidigare versioner av Windows. All information som behövs för installationen (ibland tillsammans med filerna som ska installeras) finns i installationspaket (installationspaket) med tillägget .msi [4] .
Windows Installer utvecklades 1995-1998 och fick ursprungligen kodnamnet Darwin . Tidiga versioner kallades Microsoft Installer , därför är standardfiltillägget för installationspaketet .msi . [5]
Den första versionen av Installer släpptes i början av 1999 som ett installationsprogram för Microsoft Office 2000. I slutet av det året blev Installer en del av Windows 2000 . Microsoft uppmuntrade utvecklare att byta till det nya installationsprogrammet på alla möjliga sätt, inklusive i listan över krav för program som vill få den så kallade Windows 2000-logotypen, kravet att installera med Windows Installer.
Windows Installer visade sig vara ett betydande steg framåt i förhållande till det tidigare Microsoft-installationsprogrammet - Setup API (ACME Setup): det introducerade GUI- funktioner , stöd för avinstallation och återställning när som helst under installationen (inklusive återställning under avinstallation), korrekt arbete med åtkomsträttigheter i Windows och andra funktioner, vilket gör det till ett starkt alternativ till olika installationspaket på marknaden.
Framtida uppdateringar kommer att introducera .MSIX, som kommer att vara en sorts hybrid av . APPX och .MSI, som låter dig installera UWP-applikationer i systemet (för närvarande är detta endast möjligt direkt via Microsoft Store)
Ett installationspaket beskriver installationen av en produkt och har sin egen GUID . En produkt består av komponenter (som också har sina egna GUID) grupperade i funktioner .
Komponent (komponent) - den minsta odelbara installationsenheten, som är en grupp av filer, registervärden, skapade mappar och andra element, förenade med ett gemensamt namn (komponentnamn) och antingen installerade tillsammans eller inte installerade. Komponenterna är dolda för slutanvändaren. Varje komponent har en nyckelsökväg (nyckelsökväg) - till exempel namnet på dess huvudfil - som bestämmer närvaron av denna komponent på användarens dator.
Möjlighet (funktion; i den ryska versionen av Windows är detta ord översatt som "komponent", vilket introducerar förvirring) är en hierarkisk grupp av komponenter och / eller andra funktioner. När en dialogruta för att välja de installerade delarna av programmet visas under installationen, styr användaren valet av funktioner . Att välja ett alternativ att installera innebär att alla komponenter som ingår i det installeras [6] .
En .msi -fil är ett OLE-sammansatt dokument ( OLE- sammansatta dokument - Microsoft Word , Excel , etc.-dokument lagras i samma containerformat), som innehåller en liten relationsdatabas - en uppsättning av flera dussin sammankopplade tabeller som innehåller olika information om produkten och installationsprocessen. I det här fallet lagras all strängdata i databasen tillsammans i en separat dokumentström, och i databasens tabeller finns länkar till dem; på så sätt undviker duplicering av rader, vilket avsevärt minskar storleken på databasen.
Förutom basen tillhandahåller strukturen för .msi-filen placering av användarskript och eventuella extra DLL -filer som krävs för installationen, såväl som själva de installerade filerna, paketerade i .cab- format . Filer kan också placeras separat från paketet, i packad eller uppackad form (med bibehållen katalogstruktur).
Installationsprocessen består av flera steg - informationsinsamling, exekvering (den faktiska installationen), och eventuellt återställning (vid ett fel eller avbrytande av installationen av användaren).
Varje steg i installationen består av en sekvens av åtgärder (åtgärder), registrerade i databasen. Åtgärder tilldelas nummer som bestämmer i vilken ordning de utförs, och ibland under vilka villkor åtgärder utförs eller inte utförs.
De flesta av stegen är standardsteg för en typisk informationsinsamling och installationsprocess. Alla dessa åtgärder är dokumenterade, utöver dem kan användaren definiera sina egna åtgärder (anpassade åtgärder).
Användardefinierade åtgärder kan antingen skrivas i ett av de skriptspråk som är inbyggda i operativsystemet ( JScript eller VBScript samt Eclipse, ett sidospråk från C++), eller placeras i en speciellt skapad DLL (skriven på språk såsom C , C++ etc.). Filerna med dessa åtgärder placeras inuti .msi -filen och extraheras därifrån i början av installationskörningen. Dessa DLL-filer extraheras till katalogen Windows\Installer och ges slumpmässiga namn, som MSIF65E.tmp.
Under informationsinsamlingsfasen samlar Windows Installer in instruktioner (antingen genom användarinteraktion eller programmatiskt) för att installera eller ta bort en eller flera funktioner som ingår i produkten. Dessa instruktioner bildar sedan ett internt skript baserat på databasen, som beskriver det efterföljande exekveringssteget.
Detta stadium kallas också för omedelbart läge (omedelbart läge).
I början av detta steg har installationsprogrammet genererat ett internt skript som är utformat för att köras utan användaringripande. Det här skriptet körs av installationsprogrammet i privilegierat NT-tjänstläge (särskilt under LocalSystem-kontot ). Det privilegierade läget krävs på grund av att installationen kan startas av en användare som inte har de nödvändiga rättigheterna att ändra systemparametrar och filer (även om han fick rätten att installera programmet).
Detta stadium kallas ibland förskjutet läge.
Om någon av de åtgärder som definieras i skriptet misslyckas, eller om en pågående installation avbryts av användaren, återställs alla åtgärder som utförts fram till den punkten , vilket återställer systemet till dess förinstallationstillstånd. Återställning säkerställs av närvaron för varje åtgärd som gör en förändring i systemet, det omvända till det. När man introducerar icke-standardiserade åtgärder i ett paket måste programmeraren också skapa inverser till dem för att återställningen ska fungera korrekt [7] .
Windows Installer kan marknadsföra produkten istället för att installera den [8] . Produkten kommer att visas för användaren, men den kommer faktiskt inte att installeras förrän den lanseras för första gången (med en genväg i startmenyn ). Installationspaketet kan annonseras av en administratör som använder Windows gruppolicy eller annan kompileringsmekanism, eller genom att köra msiexec körbara med /jm (för annonser per enhet) eller /ju (för annonser per användare). Vissa MSI-paket skapade med InstallShield kan störa användningen av dessa och andra inbyggda MSI-funktioner.
Användaren måste ha administratörsrättigheter för att slutföra den annonserade installationen.
På samma sätt som att annonsera för en produkt installerar installation on demand en funktion så snart användaren försöker använda den [9] .
Arkivformat _ | |
---|---|
Endast arkivering | |
Endast kompression | |
Arkivering och komprimering | |
Programvarupaketering och distribution |