Пакетиране на приложения с MSIX и управление на защитени актуализации

  • MSIX обединява опаковката, идентичността и контейнера, предлагайки чиста инсталация, деинсталиране без остатъци и достъп до разширени интеграции с Windows.
  • Visual Studio и MSIX Packaging Tool ви позволяват да конфигурирате манифеста, да подписвате пакета и да генерирате .msix, пакети и да качвате файлове за Microsoft Store.
  • Диференциалните актуализации с AppxBlockMap.xml изтеглят само модифицираните блокове, оптимизирайки честотната лента и осигурявайки безопасни актуализации.
  • Прикачването на MSIX приложения и интеграцията с Citrix улесняват доставянето на пакетирани приложения от VHD/VHDX/CIM контейнери във виртуализирани среди, без да се увеличават базовите образи.

Пакетиране на приложения с MSIX и управление на защитени актуализации

Пакетиране на приложения с MSIX и управление на защитени актуализации Той се превърна в ключов компонент на съвременната екосистема на Windows, както за разработчиците, така и за системните администратори и екипите за виртуализация на настолни компютри. MSIX далеч не е „просто още един формат“, а определя как едно приложение се инсталира, актуализира, изолира и интегрира с операционната система и с услуги като Microsoft Store, Azure Virtual Desktop и Citrix Virtual Apps and Desktops.

Освен това, Подобрения в сигурността, производителността, спестяването на трафик и опростеното администриране MSIX и свързаните с него технологии (като например MSIX app attach или MSIX application connection) постепенно заменят традиционните инсталатори като EXE или MSI и решения за виртуализация като App-V, като същевременно запазват съвместимост с взискателни бизнес сценарии и предлагат високо усъвършенстван, диференциран модел за надграждане.

Какво е MSIX и защо е толкова важен за Windows?

MSIX е съвременният формат за опаковане на Windows приложения. Проектиран е да обедини предимствата на AppX, MSI и App-V в един модел. Той осигурява идентичност на пакетите, чиста инсталация, деинсталиране без остатъци, постепенни актуализации и лек контейнер, който намалява конфликтите със системата и други приложения.

Идентичността на пакетите в MSIX позволява на Windows да знае с абсолютна точност кое приложение извиква кой API, което позволява функции, които преди това бяха достъпни само за UWP приложения: фонови задачи, богати известия, интеграции с контекстно меню, файлови асоциации, персонализирани протоколи или псевдоними за изпълнение от конзолата.

За разлика от неопакованите приложения, които все още разчитат на EXE/MSI, традиционна инсталация и липса на идентичност на пакета, MSIX предлага по-надежден, автоматичен и контролируем процес на инсталиране и надграждане., като същевременно опростява живота на ИТ отдела, като избягва остатъчни файлове, осиротели DLL файлове или ключове в системния регистър, които остават след деинсталиране.

Има и моделът на „пакетирано външно местоположение“Този подход е предназначен за настолни приложения, които все още не могат да преместят цялото си съдържание в пакета MSIX. С този подход приложението получава идентичност на пакета, но някои от неговите данни или двоични файлове остават извън контейнера, което улеснява постепенните миграции.

Инструменти за пакетиране на MSIX

Типове MSIX пакети и свързани формати

В екосистемата на MSIX не съществува само един файлов тип, а няколко допълващи се формата, които обхващат всичко - от директна инсталация до разпространение, оптимизирано за Microsoft Store или инфраструктури на трети страни. Това са най-често срещаните:

  • Пакет на приложението (.msix или .appx). Това е „базовият“ пакет, който съдържа приложението и неговите ресурси за една архитектура на устройство (x86, x64, ARM и др.). За да се поддържат множество архитектури с отделни пакети, за всяка от тях се генерира файл.
  • Пакет с приложения (.msixbundle или .appxbundle)Контейнер, който групира няколко пакета с приложения, всеки от които е фокусиран върху специфична архитектура. Благодарение на това групиране системата изтегля и инсталира само оптималния пакет за всяко устройство, а приложението става съвместимо с много по-широк набор от устройства с един разпространяем файл.
  • Файл за качване на пакета на приложението (.msixupload или .appxupload). Специално разработено за публикуване на вашето приложение в Microsoft Store чрез Центъра за партньори. Може да включва един или повече MSIX пакети или комплекти, както и компресиран файл със символи (.appxsym), който ви позволява да анализирате производителността и сривовете директно от партньорската платформа.

Форматите за прикачване на MSIX приложения, като например .vhd, .vhdx или .cim, влизат в действие, когато говорим за свързване на MSIX приложения (прикачване на MSIX приложения) в среди като Azure Virtual Desktop или Citrix. В тези сценарии съдържанието на MSIX пакета е предварително разгънато във виртуален диск или CimFS образ и динамично монтирано на потребителските машини.

Предварителни изисквания за работа с MSIX и MSIX Packaging Tool

За удобно пакетиране на приложения с MSIX, Microsoft предоставя Инструмент за пакетиране на MSIX. Този инструмент е наличен в Microsoft Store и може да се разпространява и офлайн. Той ви позволява да конвертирате MSI и EXE инсталатори, App-V 5.x пакети и дори ClickOnce внедрявания в новия MSIX формат, както от графичен интерфейс, така и от командния ред.

Лос основни изисквания За да използвате MSIX Packaging Tool, ви е необходима Windows 10 версия 1809 или по-нова, администраторски права на компютъра и, ако е инсталиран от магазина, валиден акаунт в Microsoft (личен или корпоративен), за да получите достъп до изтеглянето.

Инструментът Може да се инсталира по няколко начина:

  • Директно от Microsoft Store, използвайки командата WinGet winget install "MSIX Packaging Tool".
  • Чрез офлайн пакет, който по-късно се интегрира в системата с помощта на PowerShell Add-AppxProvisionedPackage заедно със съответния лицензен файл.

В напреднали бизнес сценарии е обичайно Комбинирайте MSIX Packaging Tool с други помощни програми като MSIX Manager, AppVentiX или MSIX Hero за автоматизиране на конвертирането в VHD/VHDX/CIM контейнери и управление на големи каталози на пакетирани приложения.

msix

Подготовка на приложението преди пакетиране с MSIX

Преди да конвертирате което и да е приложение в MSIX, е препоръчително да направите някои предварителни тестове и оптимизации. Не е бляскаво, но спестява много главоболия в производствения процес.

  • Проверете дали приложението работи правилно във всички семейства устройства, които искате да поддържате. Visual Studio улеснява внедряването и отстраняването на грешки в тези среди, дори за настолни приложения, пакетирани като UWP.
  • Оптимизирайте производителността. С инструментите за профилиране на Visual Studio – използване на процесора, консумация на памет, анализ на времевата линия на потребителския интерфейс и др. – един MSIX пакет няма да направи бавно приложение бързо. Той просто ще го накара да се инсталира и актуализира по-плавно, но основната производителност остава отговорност на разработчика.
  • Проверете за съвместимост с .NET NativeКомпилациите за издание (Release build) обикновено позволяват на този нативен компилатор да подобри производителността по време на изпълнение. Много е важно да тествате приложението си с нативната компилация за издание (Release build), а не само в режим на отстраняване на грешки (Debug mode).

Конфигуриране на пакета във Visual Studio: манифестът на MSIX

В света на MSIX, Сърцето на конфигурацията е манифестът, файлът Package.appxmanifestТова е XML файл, който определя идентичността на приложението, името на издателя, версията, иконите, поддържаните ориентации, системните възможности, файловите асоциации, персонализираните протоколи, псевдонимите за изпълнение, фоновите задачи и много други.

Visual Studio включва a графичен дизайнер на манифести което избягва ръчното редактиране на XML. От Solution Explorer просто разгънете проекта, щракнете двукратно върху Package.appxmanifest и работете с различните раздели: обща информация, възможности, визуални ресурси, опаковка и др.

  • В раздела „Визуални ресурси“ Иконите и логата са дефинирани за менюто „Старт“, лентата на задачите, списъка с приложения или известията в тост формат.
  • На етикета на опаковката Можем да дефинираме подробностите за публикацията и, най-важното, сертификата за подписване на пакета. Всички MSIX приложения трябва да бъдат подписани. В противен случай Windows няма да ги счита за надеждни.

Системни възможности, интеграции и разширения

Една от най-големите силни страни на MSIX е броят на интеграциите, които отключва с операционната система чрез манифеста. Тук се активират възможности, партньорства и точки за разширение, които правят разлика в сравнение с класическото приложение.

  • Системни възможности Те контролират достъпа до чувствителни ресурси: местоположение, микрофон, камера, мрежа, потребителски файлове, USB устройства и др. Изключително важно е да се декларират само наистина необходимите възможности. Заявката на повече от необходимото може да доведе до предупреждения, проблеми със сертифицирането или отхвърляне от ИТ администраторите.
  • Персонализирани протоколи позволи на приложението да отговаря на URI адреси, като например miapp://loqueseaТова се използва за дълбоко свързване от мрежата, интеграция с други приложения или SSO потоци и се конфигурира в манифеста, като се посочва схемата и изпълнимият файл, който ще се стартира.
  • Архивни асоциации Те определят кои типове файлове (по разширение или MIME тип) приложението отваря при двойно щракване и коя икона се показва за тях. MSIX предоставя ясен декларативен модел за регистриране на тези асоциации, без да се претрупва ненужно системният регистър на Windows.
  • Псевдонимът за изпълнение (AppExecutionAlias) позволява стартирането на приложението от конзолата чрез въвеждане на обикновена команда miapp.exeбез да е необходимо да знаете целия маршрут C:\Program Files\WindowsAppsТова е особено полезно за пакетирани инструменти за команден ред като MSIX.

Пакетиране на приложения с MSIX и управление на защитени актуализации

Опаковане на приложението с Visual Studio: от проект до MSIX

След като проектът и манифестът са готови, следващата стъпка е генерирайте MSIX пакета. Visual Studio предлага много лесен за насочване съветник за пакетиране, който обхваща както сценарии за странично зареждане, така и публикуване в Microsoft Store.

Основният работен процес във Visual Studio Състои се от:

  1. Отворете решението.
  2. Щракнете с десния бутон върху пакетирания проект.
  3. Изберете опцията „Публикуване“.
  4. Изберете „Създаване на пакети с приложения“.

Оттам асистентът ви пита дали искате да подпишете пакета (обичайният отговор е „да“), позволява ви да избирате между странично зареждане или съхранение и ви насочва при избора на сертификат за подпис.

За подписа можете да използвате сертификат от локалното хранилище за сертификатиМожете да експортирате PFX файл или да генерирате самоподписан сертификат за разработка. В корпоративни среди се препоръчва сертификат, издаден от вътрешна PKI или публичен орган, така че всички устройства да го разпознават без допълнителни стъпки.

Когато целта е магазинът на MicrosoftСъветникът автоматично създава файла за качване (.msixupload или .appxupload), който включва пакета и символите, необходими за анализ на производителността и блокирането в Партньорския център. Ако изберете само странично зареждане, резултатът ще бъде .msix или .msixbundle файл, готов за разпространение чрез други канали.

Инсталиране на MSIX пакет и локално тестване

Инсталирането на MSIX пакет е изненадващо лесно В тестови сценарии: просто щракнете двукратно върху файла .msix или .msixbundle, за да отворите App Installer, показвайки името, издателя, версията, заявените разрешения и бутон за инсталиране с лента за напредък.

Когато пакетите се генерират в режим „Пакети на приложения“ във Visual StudioВключен е PowerShell скрипт (Add-AppDevPackage.ps1) в папка със суфикса _TestИзпълнението на този скрипт с „Run with PowerShell“ автоматично инсталира сертификата и пакета за разработка, показвайки съобщение за успех след завършване.

Възможно е също така да се управлява инсталацията и деинсталацията. използвайки PowerShell, например с Add-AppxPackage, Get-AppxPackage y Remove-AppxPackageкоето е ключово в скриптовете за автоматизация и CI/CD конвейерите.

Прикачване на MSIX приложения и свързване на приложения във виртуализирани среди

Прикачването на MSIX приложение е „модерното“ лице на доставянето на приложения В среди като Azure Virtual Desktop и решения за EUC на трети страни, вместо да се инсталира приложението в базовия образ или на всяка машина, се монтира контейнер, който вече съдържа разширеното приложение и е „прикачен“ към потребителската сесия. В тези инфраструктури трябва да се вземат предвид често срещаните проблеми. RDP връзка.

Тази техника разчита на VHD, VHDX или CIM контейнери които включват съдържанието на MSIX пакета. Тези файлове се намират в мрежов дял или хранилище на Azure и се монтират динамично на VDA (виртуални агенти за доставка) или хостове на сесии, ако е необходимо. Предимствата на този инструмент са:

  • Поддържайте системните образи по-малки и по-общи.
  • Намалете времето, необходимо за доставка на нови машини.
  • Улесняване на контрола на версиите.
  • Минимизирайте въздействието на софтуерните промени върху споделените настолни компютри.

От съществено значение е MSIX пакетите да са подписани с надежден сертификат. за да може системата да позволи инсталирането и използването му. Сертификатът трябва да бъде разпознат от VDA или от физическите машини, където ще се извършва прикачването на приложението.

На практика много администратори комбинират прикачването на MSIX приложения с инструменти като Виртуални приложения и настолни компютри на Citrix, който интегрира управлението на MSIX, App-V и други технологии (като FlexApp) чрез своя компонент за доставка на пакети във VDA.

Цитрикс

Citrix, App-V, MSIX и други технологии за корпоративни пакети

В големите корпоративни среди обикновено няма само един вид опаковка.но комбинация от съпътстващи технологии: App-V за класическа виртуализация на приложения, MSIX за модерно пакетиране и в някои случаи приложни слоеве като FlexApp.

Citrix Virtual Apps and Desktops предлага два подхода към App-V: двойно администриране (където App-V сървърите управляват целия жизнен цикъл, а Citrix си сътрудничи с тях) и единично администриране (където App-V пакетите се съхраняват в мрежов дял, а Citrix директно обработва файловете за доставка и динамична конфигурация).

За MSIX и връзка с MSIX приложенияCitrix използва компонент за доставка на пакети, който е инсталиран на VDA. Този компонент управлява жизнения цикъл на пакетите на хост машината, независимо дали става въпрос за оригинален MSIX пакет или за изображение, прикачено към приложение (.vhd, .vhdx, .cim), и координира публикуването на приложенията в групите за доставка.

Пакетите обикновено се съхраняват в UNC/SMB мрежови споделени папки или в Azure Files., до които VDA имат достъп само с разрешения за четене. В някои случаи е необходимо да се коригира сервизният акаунт (ctxAppVService), така че да използва потребителски идентификационни данни с разрешения в Azure, вместо локалния акаунт на машината, като се вземат предвид възможните мрежови правила които могат да блокират достъпа.

Администраторите могат да качват пакети групово или един по един От Web Studio ги присвоете на групи за доставка, контролирайте тяхната видимост (Работно пространство, настолен компютър или и двете) и, за App-V, конфигурирайте групи за изолация, които ви позволяват автоматично да разполагате взаимозависими пакети в едно и също виртуално пространство.

Разбиране на MSIX като централна ос на жизнения цикъл на приложението – от начина, по който е пакетиран и подписан, до начина, по който е монтиран на виртуални десктопи и се актуализира с помощта на диференциални блокове – позволява проектирането на много по-стабилни, сигурни и по-лесни за поддръжка внедрявания, отколкото при класическите инсталатори, като се възползва максимално от съвременните възможности на Windows и улеснява живота както за разработчиците, така и за ИТ екипите.

Как да поддържате здрава мрежова инфраструктура в Windows
Свързана статия:
Как да поддържате здрава мрежова инфраструктура в Windows: практическо ръководство и разширена сигурност