
Microsoft: опубликованный пример поиска Microsoft PowerToys через winget. Он иллюстрирует выбор конкретного пакета; приведённые имя и версия не являются рекомендацией устанавливать этот пример.
© Microsoft. Used with permission from Microsoft. · источник и условия использования · CC BY 4.0
Приложение Microsoft Store запускается в одной учётной записи Windows и сразу закрывается в другой. Это полезное различие, но не доказательство «сломанного профиля целиком». Регистрация пакета, данные приложения, разрешения, лицензирование и применённые политики могут различаться для каждого пользователя.
Сначала подтвердите, что сравниваете один и тот же пакет и версию, одинаковую операцию и состояние сети. Не удаляйте проблемный профиль: в нём могут находиться несинхронизированные данные. Современные пакеты развёртываются на компьютере и отдельно регистрируются для пользователей; Microsoft описывает это различие в руководстве по диагностике Store-приложений. [1]
Схема редакции «Мы из 90х».
Начинайте в неповышенном Windows PowerShell из проблемной учётной записи. Пример для Калькулятора:
Windows PowerShell · пример конкретного приложения
Get-AppxPackage -Name Microsoft.WindowsCalculator |
Format-List Name, PackageFullName, PackageFamilyName, Version, Architecture, InstallLocation, StatusДля другого приложения сначала определите его фактическое имя пакета, затем замените Microsoft.WindowsCalculator. Повторите такую же проверку в работающей записи. Отсутствие результата означает отсутствие совпадения в этом контексте и не доказывает, что на диске нет никаких файлов приложения. [1], [2]
Запуск от имени другого администратора может показать его регистрацию и затем изменить её вместо проблемного пользователя. Поэтому «запустить всё с правами администратора» здесь не является универсальным первым шагом.
| Поле | Что выяснить |
|---|---|
| PackageFamilyName | Один ли это продукт и издатель |
| PackageFullName и Version | Одинаковы ли версия и вариант пакета |
| InstallLocation | Где находится выбранный пакет |
| Status и ошибка запуска | Какое состояние и отказ наблюдаются |
Учебная таблица редакции.
Администратор может отдельно прочитать регистрации всех пользователей и подготовленные пакеты:
Повышенный Windows PowerShell · только чтение
Get-AppxPackage -AllUsers -Name Microsoft.WindowsCalculator |
Format-List Name, PackageFullName, PackageUserInformation, InstallLocation
Get-AppxProvisionedPackage -Online |
Where-Object DisplayName -EQ 'Microsoft.WindowsCalculator' |
Format-List DisplayName, PackageNameProvisioned-пакет относится к подготовке приложения для пользовательских профилей образа; он не равен успешной регистрации конкретного текущего пользователя. Список AllUsers также не означает, что каждый профиль находится в одинаковом состоянии. Эти команды не предназначены для массового удаления найденного. [2], [3]
У обычной Win32-программы, установленной из Store, модель может отличаться от привычного AppX-приложения. Не ожидайте, что любой товар Microsoft Store обязательно будет представлен одинаковым пакетом в Get-AppxPackage.
Откройте приложение один раз, запишите время и найдите события AppModel-Runtime/Admin и доступные журналы AppXDeploymentServer. Для инвентаризации каналов:
PowerShell
Get-WinEvent -ListLog '*AppModel*' |
Select-Object LogName, IsEnabled, RecordCount
Get-WinEvent -ListLog '*AppXDeployment*' |
Select-Object LogName, IsEnabled, RecordCountПервый набор помогает исследовать активацию и работу модели приложения; второй — развёртывание и регистрацию. Сохраните полный код, имя пакета и ActivityId, если он указан. Для операции развёртывания с известным ActivityId:
PowerShell · заменить учебный GUID
Get-AppxLog -ActivityID '00000000-0000-0000-0000-000000000000' |
Format-List *Нулевой GUID в примере не является действительной записью вашего журнала. Подставляйте идентификатор именно неудачной операции. Отсутствие события в одном канале не отменяет отказа в другом. [1], [4], [5]
Запуск и вход в аккаунт также могут быть разными этапами. Если окно появляется, а затем приложение сообщает о невозможности войти, не считайте это автоматически ошибкой регистрации пакета. Проверьте время, сеть, прокси и лицензию самого продукта. Если окно не создаётся вовсе и журнал активации называет конкретную зависимость, исследуйте её имя и версию.
В проблемной учётной записи откройте Параметры → Приложения → Установленные приложения → нужное приложение → Дополнительные параметры, если этот пункт доступен. Сначала используйте «Исправить» или Repair. Такое восстановление сохраняет данные приложения; «Сбросить» удаляет его локальные данные и настройки. [6], [7]
Перед сбросом проверьте, где хранятся заметки, проекты, загрузки и авторизация. Наличие значка облака не доказывает, что последние данные уже синхронизированы. Для приложения с важной локальной базой сначала сделайте поддерживаемый экспорт или резервную копию.
Если сбой касается только Store как магазина, проверьте его обновления, время и вход в учётную запись. Очистка кэша магазина не является ремонтом регистрации всех приложений и не заменяет чтение ошибки конкретного пакета. [8]
| Действие | Влияние |
|---|---|
| Repair / Исправить | Пытается восстановить приложение с сохранением данных |
| Reset / Сбросить | Удаляет локальное состояние и заново инициализирует приложение |
| Переустановка | Требует проверки данных, источника и доступности нужной версии |
Учебная таблица редакции.
Если по событиям и сравнению подтверждена проблема регистрации, Microsoft описывает точечную перерегистрацию. Для уже зарегистрированного Калькулятора в обычном Windows PowerShell нужного пользователя:
Windows PowerShell · точечный пример
$Packages = @(Get-AppxPackage -Name Microsoft.WindowsCalculator)
if ($Packages.Count -ne 1) {
throw 'Нужен один подтверждённый пакет; проверьте результат поиска.'
}
$Manifest = Join-Path $Packages[0].InstallLocation 'AppxManifest.xml'
if (-not (Test-Path -LiteralPath $Manifest)) {
throw 'Манифест не найден; нужна проверка или восстановление пакета.'
}
Add-AppxPackage -Path $Manifest -Register -DisableDevelopmentModeЗакройте приложение перед действием. Код намеренно останавливается при неоднозначном или пустом результате. Для отсутствующей регистрации путь или PackageFamilyName определяют отдельно из подтверждённого установленного пакета; не копируйте путь чужой версии WindowsApps. Параметры Add-AppxPackage описаны Microsoft. [1], [9]
Перерегистрация не скачивает автоматически отсутствующие файлы и зависимости. При повреждении содержимого используйте восстановление или переустановку именно этого приложения из доверенного источника. Не меняйте владельца всей WindowsApps ради доступа к одному манифесту.
Если сообщение прямо указывает на AppLocker или другую политику запрета, перерегистрация не отменит её. Проверьте применённые правила с администратором. Для личного ПК отдельно исследуйте источник политики; не отключайте все механизмы контроля приложений.
Когда пакет и версия совпадают, а ошибка остаётся только в одной записи, сравните данные самого приложения и его настройки. Не копируйте целиком чужой AppData: там есть привязанные к пользователю базы, лицензии и секреты. Успех в другом профиле помогает исследованию, но не делает удаление исходного профиля необходимым.
После исправления проверьте запуск, открытие прежних данных и нужную операцию из проблемной учётной записи. Сохраните название пакета, версии, событие и выполненное действие. Массовый конвейер перерегистрации всех пакетов для всех пользователей для этой задачи не нужен.