Операционные системы

Удалили приложение из Windows? Его файлы могли остаться на диске

удаление приложений MSIX в Windows

Кнопка «Удалить» в Windows не всегда означает, что система сразу стирает все файлы приложения. Для программ в формате MSIX удаление может сначала лишь отвязать пакет от учётной записи пользователя. Сам пакет при этом останется на диске, если он всё ещё нужен системе.

MSIX — формат упаковки приложений Microsoft, который используется в том числе для программ из Microsoft Store. Windows разделяет работу с такими пакетами на четыре этапа:

  1. Stage — файлы приложения размещаются на диске;
  2. Register — приложение привязывается к конкретной учётной записи;
  3. Deregister — приложение отвязывается от пользователя;
  4. Destage — файлы пакета физически удаляются с диска.

Когда пользователь нажимает кнопку «Удалить», Windows вызывает метод RemovePackageAsync. Несмотря на название команды в интерфейсе, система может выполнить только третий этап — Deregister. После этого приложение исчезнет из меню «Пуск» и списка установленных программ, но его файлы необязательно будут удалены сразу.

До этапа Destage Windows доходит только в том случае, если пакет больше нигде не используется. Самый понятный пример — компьютер с несколькими учётными записями. Если приложение установлено для двух пользователей, удаление из одной учётной записи лишь отключит его для конкретного человека. Второй пользователь продолжит работать с той же программой, поэтому стирать её файлы нельзя.

Похожая ситуация возможна и на компьютере с одним пользователем. Некоторые приложения используют общие системные компоненты, также упакованные в MSIX. Среди них могут быть среды выполнения .NET, распространяемые компоненты Visual C++ и Windows App SDK.

Допустим, две программы используют один и тот же общий пакет. После удаления первой программы Windows сохранит этот компонент, потому что без него перестанет работать вторая. В таком случае на диске остаётся не скрытая рабочая копия удалённого приложения, а пакет, который всё ещё нужен другим программам.

Именно поэтому после удаления приложения свободного места иногда оказывается меньше, чем ожидал пользователь. В интерфейсе программа уже пропала, но часть связанных с ней файлов или общих компонентов могла сохраниться.

Это не обязательно ошибка Windows и не признак того, что удалённая программа продолжает работать в фоне. Такая схема позволяет системе не хранить несколько одинаковых копий общих компонентов и не удалять файлы, от которых зависят другие приложения.

Классические установщики MSI обычно используют более прямую модель удаления: деинсталлятор убирает файлы программы, каталоги и записи в реестре. У MSIX регистрация приложения для пользователя и физическое хранение пакета разделены, поэтому визуальное исчезновение программы и окончательное удаление её файлов могут происходить не одновременно.


Источник: Neowin

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x