Novi Microsoftov program za instalaciju konačno spaja Win32 i Windows Store aplikacije. Izgradnja instalacionih programa je na Windowsu bila komplikovana. Sve je zavisilo od toga koji alat za instalaciju koristite i kako se vaš kôd distribuira. Da li ste mogli da spakujete izvršni fajl u Zip fajl, ili da koristite starodrevni XCOPY? Stvari su postale jednostavnije kada je Microsoft predstavio Windows Installer i njegov standardni MSI format. Kada je stigao Windows Store i potpuno novi model aplikacija u operativnom sistemu Windows 8, stvari su se promenile. Kao rezultat toga, imali smo dva načina postavljanja koda, i dva različita načina za izvršavanje koda. MSI aplikacije ostaju podrazumevane za stoni računar, dok je novi APPX format potreban za aplikacije Windows Store. Aplikacije za Windows Store su se takođe izvršavale u drugačijem kontekstu nego stone aplikacije, sa novim karantinom (engl. sandbox) koji smanjuje rizik da zlonamerni softver ugrozi sistem. Projekat Centennial Desktop Bridge premostio je tu podelu, dovodeći stone aplikacije u Windows Store, omogućavajući im pristup nekim novijim API-jima UWP-a i podržavajući jednu ograničenu verziju APPX karantina.
Kako je Windows Store sada važan distributivni kanal, a stone aplikacije mogu da koriste njegove mogućnosti, postojanje dva različita instalacijska modela čini se redundantnim. Izgleda da se Microsoft slaže sa tim stanovištem, jer je izdao novi model za instaliranje koji može da radi u oba režima – i na svim dostupnim Windows platformama.
MSIX je Microsoftov instaler za savremeni svet
MSIX, novi Microsoft Installer, je logično proširenje APPX formata paketa iz ere Windowsa 8. Takođe je zamena za poznati MSI, sa podrškom za stone aplikacije, kao i za lokalne kataloge i prilagođavanje instaliranja. Aplikacije se postavljaju u kontejner, koristeći funkciju izolacije aplikacija u najnovijim Windows izdanjima i primjenjuje se ne samo na UWP u APPX-u, već i na Win32, WPF i Windows Forms.
Microsoft smatra novi instaler i svoj novi način pakovanja aplikacija bitnim za razvoj aplikacija za preduzeće. Na kraju krajeva, MSI datira iz ere Windowsa XP i nije se mnogo promenio od tog vremena. Microsoft je pokušao da uradi nešto drugačije u svom servisu za strimovanje App-V, kao i izolacijom virtualizovanog sistema fajlova, ali to zahteva značajnu serversku infrastrukturu, pa to daljinski korisnici teško mogu da koriste. U praksi se i MSI i App-V pakovanje i distribucija obavljaju u IT odjeljenjima, a ne kod razvijalaca aplikacija, što je rezultiralo isprekidanim i kompleksnim lancem distribucije za novi kôd.
Sa MSIX-om, Microsoft namerava da promeni način na koji organizacije pakuju i postavljaju interne i eksterne distribucije softvera. Sa MSI-om, aplikacije koje se razvijaju interno često se raspakuju, testiraju i izvrše se sva potrebna prilagođavanja pre nego što se aplikacija prepakuje i isporuči korisnicima. Ovde postoji rizik da se neki fajl izostavi, ili da se greške konfiguracije repliciraju u celoj firmi. Takođe, ceo proces mora da se ponavlja svaki put kada se kôd ažurira, ili kada se menja osnovni OS. To je proces koji je sve više nekompatibilan sa modernim modelima razvijanja aplikacija, gde CI/CD sistemi redovno šalju ažuriranja i gde model isporuke za Windows 10 znači da postoje značajna ažuriranja Windows-a svakih šest meseci.
Pakovanje i postavljanje aplikacija sa MSIX-om
Kada za pakovanje softvera koriste MSIX, programeri mogu da naprave svoj početni paket aplikacija u sklopu procesa izgradnje, dok IT timovi mogu zatim da dodaju paket prilagođavanja u MSIX pre potpisivanja fajla za distribuciju putem Intune za postavljanje na stone računare ili putem privatne instance Microsoft Windows Store za UWP aplikacije.
Instalacioni model MSIX je bolji i od MSI-a i od APPX-a. MSIX vam pruža deinstaliranje APPX-a jednim klikom, a takođe podržava skladištenje jedne instance fajla. Na višekorisničkim računarima, ili tamo gde aplikacije koriste zajedničke biblioteke, fajlovi se čuvaju jednom i samo jednom, čime se obezbeđuje optimizacija korišćenja prostora na disku. Preuzimanja takođe mogu da koriste diferencijalno ažuriranje na nivou blokova čime se smanjuju zahtevi za propusnim opsegom, što može pomoći daljinskim korisnicima sa ograničenom povezanošću. MSIX takođe može automatski da ažurira aplikacije koje nisu u Windows Store-u, pružajući iskustvo nalik Windows Store-u za sav vaš kôd – bilo tiho ili putem prompta korisniku.
Izgradnja MSIX instalera je relativno jednostavna. Instalacija je deklarativna, kontrolisana fajlom manifesta. Kada se jednom postavi, sve ostalo radi Windows: instaliranje fajlova, upravljanje ispravkama i uklanjanje fajlova kada se aplikacija deinstalira. Windows takođe obezbeđuje integritet aplikacija, nudi zaštitu od ometanja i koristi potpisivanje paketa aplikacija kako bi se osiguralo da se ažuriranja i instalacije isporučuju iz pouzdanih izvora. Pored manifesta, MSIX instaler uključuje podatke o integritetu potpisa i koda, kao i mapu blokova koja se koristi za upravljanje diferencijalnim instaliranjem i za sprečavanje neovlašćenih menjanja aplikacija.
MSIX takođe može da rukuje isporukom različitih resursa različitim uređajima i različitim instalacijama operativnog sistema. Na primer, možete ga koristiti za isporuku resursa za uređaje sa visokim DPI vrednostima u istom fajlu kao i za niski DPI. Prilikom instalacije se bira pravilni resurs i postavlja se na pravi uređaj. Slično tome, sadržaj za internacionalizaciju može se isporučiti na osnovu detekcije jezika operativnog sistema.
MSIX olakšava pokretanje koda u kontejnerima
Možda je najvažniji aspekt MSIX-a njegova podrška za kontejnerske instalacije. Trenutno, Win32 aplikacije dobijaju na računarima puno poverenje, što im daje pristup osetljivim fajlovima i čitavoj bazi Registry. Windows Defender Application Guard za Win 32 i Windows Store aplikacije koristi kontejner i izolovano jezgro koji osiguravaju veću bezbednost, uz znatno manje rizika da jedna aplikacija ometa drugu. Kôd Desktop Bridge koristi drugi model kontejnera za virtuelizaciju mnogih interakcija sirovih Win32 kodova, kao i UWP aplikacije koje rade izvan Windows Defender Application Guard-a.
Sa novim, kombinovanim, kontejnerskim modelom za Desktop Bridge i UWP aplikacije, MSIX daje isti nivo izolacije za oba tipa aplikacija. Kontejnerizacija aplikacija je važan aspekt savremenih OS-a i bezbednosnih modela, a to što je on deo alatke za postavljanje i pakovanje, trebalo bi da poveća broj aplikacija koje ga podržavaju.
Gde nabaviti alatku MSIX
Dok Microsoft ugrađuje MSIX u sopstvene razvojne alate, on takođe radi sa postojećim proizvođačima instalera da dodaju ovu podršku u njihove alate. MSIX SDK je dostupan i na GitHub-u, a prodavci kao što je Advanced Installer ga šalju u svojim najnovijim izdanjima. Dakle, sada možete započeti testiranje MSIX instalera za vaš kod. Takođe je dostupna alatka MSIX Packaging Tool for IT Pros, a možete je koristiti za migriranje postojećih MSI instalacija u MSIX, kao i za izgradnju paketa za prilagođavanje vaših veb sajtova i korisnika.
Windows se značajno promenio otkako je MSI prvi put objavljen, a MSIX mu konačno pruža savremeni instaler koji radi na svim razvojnim SDK-ima. To bi bilo dovoljno da programeri pohrle za novim alatom, ali Microsoft takođe obećava podršku za više platformi uz njihove razvojne alate za više platformi. Jedan instalacioni model za Windows, za iOS, za Android i za Linux je ambiciozan projekat, ali ako Microsoft može da ga isporuči, to će mnogo pojednostaviti upravljanje i primenu koda za preduzeća i za potrošače.
Izvor: InfoWorld