ingviowarr
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Прежде, чем пытаться устанавливать приложения в оффлайне, нужно уяснить одну важную вещь - установка всегда предполагает скрытую активацию, что совсем не очевидно для пользователя. Именно это обстоятельство ставит многих в тупик, когда при попытке оффлайн-установки ничего не получается, всплывают ошибки, а само приложение не запускается. Такое положение вещей, увы, весьма в духе M$; это невероятно запутанная и сложная схема "by design". Итак, бывают два типа лицензий для активации приложений - онлайн и оффлайн. 1) Стандартная оффлайн-установка какого-либо приложения предусматривает активацию исключительно в онлайн режиме. Для этого Windows подключается к Интернету через "Службу лицензий клиента" (ClipSVC). Результатом этого действия является автоматическая выдача типа лицензии, согласно общему шаблону. Для пользователя это, фактически, означает однократный выход в Интернет. В дальнейшем, с таким "зарегистрированным" приложением дело может обернуться двояко: - Одни приложения можно удалять и устанавливать неограниченное количествово раз, даже без подключения к Сети. - Другие приложения будут каждый раз запрашивать лицензию и требовать активацию онлайн. И то, и другое зависит только от разработчика. А именно, какие условия лицензирования предоставлены. В противном случае, без выхода в Интернет и онлайн-активации, по окончанию установки могут возникать ошибки, а запуск приложения будет невозможен. Такие приложения не смогут быть развернуты, пока пользователи или устройства не имеют подключения к Магазину. 2) Успешная установка БЕЗ онлайн-подключения возможна лишь для такого приложения, к которому прилагается специальная оффлайн-лицензия в виде файла XML. И снова, это зависит от разработчика - предоставляет ли он такую оффлайн-лицензию, или нет. Это полноценный оффлайн-режим. Примером такого приложения является "Windows Terminal" (Stable), для установки которого требуется два файла: - пакет (*.appxbundle) - файл оффлайн-лицензии (*.xml) из архива ...PreinstallKit.zip Windows Terminal (GitHub) Именно с такой задачей способен справиться скрипт AutoSettingsPS (by westlife). Конечно, при наличии файла оффлайн-лицензии. В программу дополнительно встроена принудительная регистрация после установки, что может быть полезно для приложений от сторонних вендоров (не MS). СПРАВКА • Общий шаблон команды для установки с лицензией выглядит следующим образом: Add-AppxProvisionedPackage -Online -PackagePath $Package -LicensePath $License • Для установки с помощью "AutoSettingsPS": - Сначала нужно переименовать файл лицензии аналогично названию пакета. Совпадение обязательно от начала имени до первого символа "_". Например: Пакет: Microsoft.WindowsTerminal_1.3.2651.0_8wekyb3d8bbwe.msixbundle Лицензия: Microsoft.WindowsTerminal_License.xml - Положить пакет и лицензию по пути: ...\AutoSettingsPS\Files\Appx\ - Воспользоваться меню установки: [2] SelfMenu -> [14] Управление Apps/Appx -> [70] Установить всё СПРАВКА : UWP Desktop Bridge Для установки некоторых приложений, написанных на C++ / Centennial Apps под Android и адаптированных под платформы UWP для Windows, используется специальный фрэймворк. Это аналог библиотек Visual C++ или .NET Framework, которые наверняка установлены на вашем компьютере, с той разницей, что сделаны они специально для UWP-платформы. В Windows он обычно уже предустановлен. Зависимости от этих библиотек могут быть прописаны прямо в манифесте, внутри самих appx/appxbundle C++ Runtime Framework packages for Desktop Bridge (Project Centennial) 3) Существует ещё один простой, но брутальный метод установки в полном оффлайне, если иного выхода нет. 3.1) Установить приложение (appxbundle/appx) через PowerShell (от Администратора), согласно шаблону: Код: Add-AppXPackage -Path .\FullName.appxbundle | 3.2) Изменить свойства папки на вкладке "Безопасность" по пути: Код: C:\Program Files\WindowsApps\<YourApp> | - Изменить владельца папки на своего пользователя (наделённого правами Администратора) вместо SYSTEM Отметить галочку [•] Заменить владельца подконтейнеров и объектов - Переоткрыть вкладку "Безопасность" - Добавить своего пользователя (наделённого правами Администратора) в список и выдать ему полные права. Этот способ работает без ошибок, но не соответствует штатному распределению прав приложений в системе. На примере "Windows Terminal" это также работает. 4) Наконец, иногда выпадает счастливая возможность установить пакет без, собственно, установочного процесса. Достаточно просто распаковать *.appxbundle два раза с помощью 7-Zip. При второй распаковке - выбрать файл нужной архитектуры и содержимое поместить в любую папку. На примере того же "Windows Terminal": C:\Program Files\WT Программа просто распакована и работает из папки. 5) Самое лучшее решение - принципиальный отказ от UWP и продолжение бойкота этой бездарной платформы. И не только потому, что её инфраструктура - худшее, что создавал M$ когда-либо, что она беспощадно глючит, или нарушает процесс обновлений. Посудите сами: чтобы воспользоваться приложением вам нужно сначала спросить об этом M$ и получить лицензию на запуск. Именно так это работает. Обладая нативным доступом в сеть, аппы бесконтрольно сливают данные и стучат безостановочно - это удаётся им превосходно. Так выгдядит на деле продвижение платформы "Windows как медвежья услуга" - вы более не являетесь распорядителем своей собственной машины. Специальная системная служба отслеживает легальность запуска, и они всё ближе к тому моменту, когда смогут удалять из вашей системы то, что им не нравится. Перенесёмся в самую зарю компьютрной эры - взял у друга дискетку, распаковал программулину в папочку, и готово... По сути, именно так и выглядит наиболее простой метод на примере "Windows Terminal". Распаковал, и работает. ВСЁ! Так зачем же этот огород с раздутой "системой внутри системы" (UWP), с облаками, акками, мостами, лицензиями и пр. и пр.? И да, при UWP-установке вы не сможете просто запустить WindowsTerminal.exe из папки WindowsApps из-за ограничения прав - только через ненавистный Пуск. А вы знали, что UWP-ярлыки в Пуске - это уже не просто ярлыки? Вот, полюбуйтесь: Explorer.exe shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App При этом, запуск в контексте UWP заикается, выдаёт ошибки, не работает как положено. M$ не может справиться с тем, что создал сам. Пруфы: Paз и Два С другой стороны, этот же самый пакет способен нормально работать после простой распаковки в любую папку: C:\Program Files\WT Нет проблем ни с ошибками, ни с правами и запуском (любых) *.exe, ни с лицензими (которые могут быть отозваны), ни с ярлыками, ни с сетевыми утечками. Надеемся, теперь вы лучше понимаете "преимущества" UWP-платформы и зачем её создал M$ на самом деле - для контроля над Вами. Тем, кто поптытается возразить, что "так сделано для улучшения безопасности", советуем смотреть на вещи трезво и припомнить, что в Windows её нет как таковой. Всё что имеет значение - это отключение лишнего, надёжный сторониий фаэрволл и грамотная его настройка. P.S.: Кстати, всегда хотел, но стеснялся спросить: почему у системных UWP-пакетов именно такая аббревиатура в конце - ...xyewy ? Может, наконец, пора признаться и сделать название соответсвующим? Windows_10_xyewy ? Материал подготовлен в соавторстве с маэстро westlife От имени всех пользователей и энтузиастов благодарим его за бесценный вклад в защиту личной информации. Спасибо за долгие месяцы и годы кропотливой работы над этим превосходным мощным инструментом - AutoSettingsPS | Всего записей: 240 | Зарегистр. 13-03-2006 | Отправлено: 03:02 09-10-2020 | Исправлено: ingviowarr, 04:41 09-10-2020 |
|