Rakenduste pakkimine MSIX-i abil ja turvaliste värskenduste haldamine on muutunud tänapäevase Windowsi ökosüsteemi võtmekomponendiks nii arendajate kui ka süsteemiadministraatorite ja töölaua virtualiseerimismeeskondade jaoks. MSIX pole kaugeltki "lihtsalt järjekordne vorming", vaid määratleb, kuidas rakendust installitakse, värskendatakse, isoleeritakse ja integreeritakse operatsioonisüsteemiga ning selliste teenustega nagu Microsoft Store, Azure Virtual Desktop ja Citrix Virtual Apps and Desktops.
Lisaks on turvalisuse, jõudluse, ribalaiuse kokkuhoiu ja lihtsustatud halduse täiustused viinud selleni, et MSIX ja sellega seotud tehnoloogiad (nt MSIX-i rakenduse ühendus või MSIX-i rakenduse ühendus) asendavad järk-järgult traditsioonilisi installijaid (nt EXE või MSI) ja virtualiseerimislahendusi (nt App-V). See saavutatakse, säilitades samal ajal ühilduvuse nõudlike ärikeskkondadega ja pakkudes ülitäpset ja diferentseeritud uuendusmudelit.
Mis on MSIX ja miks see Windowsi jaoks nii oluline on?
MSIX on Windowsi rakenduste kaasaegne pakendamisvorming. See on loodud AppX-i, MSI ja App-V eeliste ühendamiseks üheks mudeliks. See pakub paketi identiteeti, puhast installimist, jääkideta desinstallimist, astmelisi värskendusi ja kerget konteinerit, mis vähendab konflikte süsteemi ja teiste rakendustega.
MSIX-paketi identiteet võimaldab Windowsil absoluutse täpsusega teada, milline rakendus millist API-t kutsub, võimaldades funktsioone, mis olid varem saadaval ainult UWP-rakendustele: taustaülesanded, rikkalikud teavitused, kontekstimenüü integratsioonid, failide seosed, kohandatud protokollid või konsooli täitmisaliased.
Erinevalt pakkimata rakendustest, mis endiselt tuginevad EXE/MSI-le, traditsioonilisele installimisele ja paketi identiteedi puudumisele, pakub MSIX usaldusväärsemat, automaatsemat ja kontrollitavamat installimis- ja värskendamiskogemust , lihtsustades samal ajal IT-osakonna elu, vältides allesjäänud failide, orvuks jäänud DLL-ide või registrivõtmete allesjäämist pärast desinstallimist.
Samuti on olemas mudel „pakend välise asukohaga“ . See on mõeldud töölauarakendustele, mis ei saa veel kogu oma sisu MSIX-i paketti teisaldada. Selle lähenemisviisi korral omandab rakendus paketi identiteedi, kuid osa selle andmetest või binaarfailidest jääb konteinerist väljapoole, hõlbustades järkjärgulist migreerimist.
MSIX-paketitüübid ja seotud vormingud
MSIX-i ökosüsteemis pole ainult üks failitüüp, vaid mitu täiendavat vormingut, mis hõlmavad kõike alates otseinstallimisest kuni Microsoft Store'i või kolmandate osapoolte infrastruktuuride jaoks optimeeritud levitamiseni. Need on kõige levinumad:
- Rakenduspakett (.msix või .appx). See on "baaspakett", mis sisaldab rakendust ja selle ressursse ühe seadme arhitektuuri jaoks (x86, x64, ARM jne). Mitme arhitektuuri toetamiseks eraldi pakettidega luuakse iga arhitektuuri jaoks eraldi fail.
- Rakenduspakett (.msixbundle või .appxbundle)Konteiner, mis koondab mitu rakendusepaketti, millest igaüks on suunatud kindlale arhitektuurile. Tänu sellele rühmitamisele laadib süsteem alla ja installib iga seadme jaoks ainult optimaalse paketi ning rakendus muutub ühe levitatava faili abil ühilduvaks palju laiema seadmete valikuga.
- Rakenduspaketi üleslaadimisfail (.msixupload või .appxupload). Spetsiaalselt loodud rakenduse avaldamiseks Microsoft Store'is partnerikeskuse kaudu. See võib sisaldada ühte või mitut MSIX-paketti või -kogumit, samuti tihendatud sümbolfaili (.appxsym), mis võimaldab teil otse partnerplatvormilt jõudlust ja krahhe analüüsida.
MSIX-i rakenduste manustamise vormingud, näiteks .vhd, .vhdx või .cim, tulevad mängu MSIX-i rakenduste (MSIX-i rakenduse manustamine) ühendamisel keskkondades nagu Azure Virtual Desktop või Citrix. Nendes stsenaariumides on MSIX-i paketi sisu eelnevalt laiendatud virtuaalsel kettal või CimFS-i kujutisel ja dünaamiliselt kasutajaarvutitesse paigaldatud.
MSIX-i ja MSIX Packaging Tooliga töötamise eeldused
Rakenduste hõlpsaks pakendamiseks MSIX-iga pakub Microsoft MSIX Packaging Tooli. See tööriist on saadaval Microsoft Store'is ja seda saab levitada ka võrguühenduseta. Selle abil saate teisendada MSI ja EXE installifaile, App-V 5.x pakette ja isegi ClickOnce'i juurutusi uude MSIX-vormingusse nii graafilise liidese kui ka käsurealt.
MSIX Packaging Tooli kasutamise põhinõuete hulka kuuluvad Windows 10 versioon 1809 või uuem, arvuti administraatoriõigused ja kui installitud poest, siis kehtiv Microsofti konto (isiklik või ettevõtte konto) allalaadimisele juurdepääsuks.
Tööriista saab paigaldada mitmel viisil:
- Otse Microsoft Store'ist, kasutades käsku WinGet
winget install "MSIX Packaging Tool". - Võrguühenduseta paketi kaudu, mis hiljem PowerShelli abil süsteemi integreeritakse
Add-AppxProvisionedPackagekoos vastava litsentsifailiga.
Täiustatud ärisituatsioonides on tavaline kombineerida MSIX Packaging Tool teiste utiliitidega, näiteks MSIX Manager, AppVentiX või MSIX Hero, et automatiseerida teisendamine VHD/VHDX/CIM konteineriteks ja hallata suuri pakendatud rakenduste katalooge.
Rakenduse ettevalmistamine enne pakendamist MSIX-iga
Enne mis tahes rakenduse MSIX-iks teisendamist on soovitatav teha eeltestimine ja optimeerimine. See pole glamuurne, aga säästab tootmises palju peavalu.
- Veenduge, et rakendus töötab õigesti kõigis seadmeperedes, mida soovite toetada. Visual Studio muudab juurutamise ja silumise nendes keskkondades lihtsaks, isegi UWP-pakendis töölauarakenduste puhul.
- Optimeerige jõudlust. Visual Studio profileerimistööriistade – protsessori kasutuse, mälu tarbimise, kasutajaliidese ajajoone analüüsi jms – abil ei muuda MSIX-pakett aeglast rakendust kiireks. See lihtsalt muudab selle installimise ja värskendamise sujuvamaks, kuid aluseks olev jõudlus jääb arendaja vastutusele.
- Kontrollige ühilduvust .NET Native'igaVäljalaskejärgud võimaldavad sellel natiivsel kompilaatoril tavaliselt käitusaja jõudlust parandada. On väga oluline testida oma rakendust natiivse väljalaskejärguga, mitte ainult silumisrežiimis.
Paketi seadistamine Visual Studios: MSIX-i manifest
MSIXi maailmas Konfiguratsiooni keskmes on manifest, faili Package.appxmanifestSee on XML-fail, mis määratleb rakenduse identiteedi, avaldaja nime, versiooni, ikoonid, toetatud orientatsioonid, süsteemi võimalused, failide seosed, kohandatud protokollid, täitmisalias, taustaülesanded ja palju muud.
Visual Studio sisaldab a manifestide graafiline disainer mis väldib XML-i käsitsi muutmist. Lahenduste uurijast laiendage lihtsalt projekti, topeltklõpsake Package.appxmanifest ja töötage erinevate vahekaartidega: üldteave, võimalused, visuaalsed ressursid, pakend jne.
- Visuaalsete ressursside vahekaardil Ikoonid ja logod on määratletud menüü Start, tegumiriba, rakenduste loendi või teavituste jaoks.
- Pakendi vahekaardil Saame määratleda avaldamise üksikasjad ja mis kõige tähtsam, paketi allkirjastamise sertifikaadi. Kõik MSIX-i rakendused peavad olema allkirjastatud. Vastasel juhul ei pea Windows neid usaldusväärseks.
Süsteemi võimalused, integratsioonid ja laiendused
Üks MSIX-i suurimaid tugevusi on manifesti kaudu operatsioonisüsteemiga avatavate integratsioonide arv. Siin aktiveeritakse funktsioonid, seosed ja laienduspunktid, mis eristavad seda traditsioonilisest rakendusest.
- Süsteemi võimalused Nad kontrollivad juurdepääsu tundlikele ressurssidele: asukoht, mikrofon, kaamera, võrk, kasutajafailid, USB-seadmed jne. On ülioluline deklareerida ainult need võimalused, mida on tõeliselt vaja. Rohkemate võimaluste taotlemine võib kaasa tuua hoiatusi, sertifitseerimisprobleeme või IT-administraatorite poolt tagasilükkamise.
- Kohandatud protokollid lubage rakendusel vastata URI-dele, näiteks
miapp://loqueseaSeda kasutatakse veebist süvalinkimiseks, teiste rakenduste või SSO-voogudega integreerimiseks ning see konfigureeritakse manifestis, määrates skeemi ja käivitatava käivitatava faili. - Arhiiviühendused Need määravad, milliseid failitüüpe (laiendi või MIME tüübi järgi) rakendus topeltklõpsamisel avab ja millist ikooni nende puhul kuvatakse. MSIX pakub selget deklaratiivset mudelit nende seoste registreerimiseks ilma Windowsi registrit asjatult koormamata.
- Täitmise alias (AppExecutionAlias) võimaldab rakenduse konsoolist käivitada lihtsa sisestamise teel
miapp.exeilma et oleks vaja teada kogu marsruutiC:\Program Files\WindowsAppsSee on eriti kasulik pakendatud käsurea tööriistade, näiteks MSIX-i jaoks.
Rakenduse pakendamine Visual Studio abil: projektist MSIX-iks
Kui projekt ja manifest on valmis, on järgmine samm MSIX-paketi genereerimine. Visual Studio pakub väga juhendatud pakkimisviisardit, mis hõlmab nii külglaadimise kui ka Microsoft Store'i avaldamise stsenaariume.
Visual Studio põhiline töövoog koosneb järgmisest:
- Avage lahendus.
- Paremklõpsake pakendatud projektil.
- Valige suvand Avalda.
- Valige „Loo rakenduspaketid”.
Sealt edasi küsib assistent, kas soovite paketti allkirjastada (tavaline vastus on jah), võimaldab teil valida külglaadimise või salvestamise vahel ning juhendab teid allkirjastamissertifikaadi valimisel.
Allkirjastamiseks võite kasutada kohalikust sertifikaadipoest pärit sertifikaati , eksporditud PFX-faili või genereerida iseallkirjastatud arendussertifikaadi. Ettevõtte keskkondades on soovitatav kasutada sisemise PKI või avaliku sektori väljastatud sertifikaati, et kõik seadmed seda ilma lisatoiminguteta ära tunneksid.
Kui sihtkohaks on Microsoft Store , loob viisard automaatselt üleslaadimisfaili (.msixupload või .appxupload), mis sisaldab partnerikeskuses jõudluse ja krahhide analüüsiks vajalikku paketti ja sümboleid. Kui valitakse ainult külglaadimine, on tulemuseks .msix- või .msixbundle-fail, mis on valmis levitamiseks teiste kanalite kaudu.
MSIX-paketi installimine ja kohalik testimine
MSIX-paketi installimine on testisituatsioonides üllatavalt lihtne: topeltklõpsake lihtsalt .msix- või .msixbundle-failil, et avada rakenduse installer, kus kuvatakse nimi, avaldaja, versioon, taotletud õigused ja installimisnupp koos edenemisribaga.
Kui paketid genereeritakse Visual Studios režiimis „Rakenduspaketid”PowerShelli skript on kaasas (Add-AppDevPackage.ps1) kaustas, mille järelliide on _TestSelle skripti käivitamine valikuga „Käivita PowerShelliga” installib automaatselt arendussertifikaadi ja paketi ning kuvab pärast valmimist eduteate.
Samuti on võimalik hallata installimist ja desinstallimist. näiteks PowerShelli abil Add-AppxPackage, Get-AppxPackage y Remove-AppxPackagemis on automatiseerimisskriptide ja CI/CD torujuhtmete võtmeks.
MSIX-i rakenduse manustamine ja rakenduste ühendus virtualiseeritud keskkondades
MSIX-i rakenduse manustamine on rakenduste edastamise „moodne“ nägu keskkondades nagu Azure Virtual Desktop ja kolmandate osapoolte EUC-lahendused. Rakenduse installimise asemel baaskujutisse või igasse masinasse paigaldatakse laiendatud rakendust sisaldav konteiner ja „manustatakse“ see kasutaja seansiga. Nendes infrastruktuurides tuleb arvestada levinud RDP-ühenduse probleemidega.
See meetod tugineb VHD-, VHDX- või CIM-konteineritele , mis sisaldavad MSIX-paketi sisu. Need failid asuvad võrgukettal või Azure'i salvestusruumis ja vajadusel paigaldatakse dünaamiliselt VDA-dele (virtuaalsetele kohaletoimetamise agentidele) või seansihostidele. Selle tööriista eelised on järgmised:
- Hoidke süsteemipildid väiksemad ja üldisemad.
- Vähendage uute masinate tarnimiseks kuluvat aega.
- Hõlbustada versioonikontrolli.
- Minimeerige tarkvaramuudatuste mõju jagatud töölaudadele.
On oluline, et MSIX-paketid oleksid süsteemi installimise ja kasutamise võimaldamiseks allkirjastatud usaldusväärse sertifikaadiga. Sertifikaati peavad ära tundma VDA-d või füüsilised masinad, kuhu rakendus ühendatakse.
Praktikas kombineerivad paljud administraatorid MSIX-i rakenduste ühendamise selliste tööriistadega nagu Citrix Virtual Apps and Desktops , mis integreerib MSIX-i paketihalduse, App-V ja muud tehnoloogiad (näiteks FlexApp) oma VDA-de pakettide edastamise komponendi kaudu.

Citrix, App-V, MSIX ja muud ettevõtte pakkimistehnoloogiad
Suurtes korporatiivkeskkondades pole tavaliselt ühte tüüpi pakkimist , vaid eksisteerib koos mitme tehnoloogia segu: App-V klassikalise rakenduste virtualiseerimise jaoks, MSIX moodsa pakkimise jaoks ja mõnel juhul rakenduse kihid, näiteks FlexApp.
Citrix Virtual Apps and Desktops pakub App-V-le kahte lähenemisviisi : kahekordne haldus (kus App-V serverid haldavad kogu elutsüklit ja Citrix teeb nendega koostööd) ja ühtne haldus (kus App-V paketid salvestatakse võrgukettale ja Citrix haldab otse edastus- ja dünaamilisi konfiguratsioonifaile).
MSIX-i ja MSIX-i rakenduste manustamiseks kasutab Citrix pakettide edastuskomponenti, mis installitakse VDA-dele. See komponent haldab pakettide elutsüklit hostmasinas, olgu tegemist siis natiivse MSIX-paketi või rakenduse manuspildiga (.vhd, .vhdx, .cim), ja koordineerib rakenduste avaldamist edastusgruppidele.
Pakette talletatakse tavaliselt UNC/SMB võrgu ühiskasutuses olevatel kaustadel või Azure Filesis., millele VDA-d pääsevad juurde ainult lugemisõigustega. Mõnel juhul on vaja teenusekontot kohandada (ctxAppVService), nii et see kasutab Azure'is õigustega kasutaja mandaate kohaliku masina konto asemel, võttes arvesse võimalikke võrgupoliitikad mis võivad juurdepääsu blokeerida.
Administraatorid saavad Web Studiost pakette üles laadida hulgi või ükshaaval , määrata need edastusgruppidele, kontrollida nende nähtavust (tööruum, töölaud või mõlemad) ja App-V puhul konfigureerida isolatsioonigruppe, mis võimaldavad omavahel seotud pakette automaatselt samas virtuaalses ruumis juurutada.
MSIX-i mõistmine rakenduse elutsükli keskse teljena – alates selle pakkimisest ja allkirjastamisest kuni virtuaalsetele töölaudadele paigaldamise ja diferentsiaalplokkide abil värskendamiseni – võimaldab kujundada palju töökindlamaid, turvalisemaid ja hõlpsamini hooldatavaid juurutusi kui klassikaliste installijatega, kasutades täiel määral ära tänapäevaseid Windowsi võimalusi ja muutes nii arendajate kui ka IT-meeskondade elu lihtsamaks.

