Назад | Перейти на главную страницу

Переустановите пакеты Windows Appx по умолчанию

Мы удаляем большинство пакетов Appx для наших пользователей после развертывания компьютеров с Windows 10. Мы используем что-то вроде этого двухстрочного файла, которого достаточно, чтобы избавиться от большинства приложений UWP в системах:

# remove the "provisioning" of packages for new users
Get-AppxProvisionedPackage -Online | % { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName }
# delete packages for existing users
Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | % { Remove-AppxPackage -Package $_.PackageFullName -AllUsers }

Теперь, когда нам нужно дать пользователям возможность вернуть их, начинаются проблемы.

Мне не удалось найти рабочий метод для повторной регистрации "удаленных" пакетов Appx, которые, похоже, были перемещены в C:\Program Files\WindowsApps\DeletedAllUserPackages.

Большинство решений в сети используют (Get-AppxPackage).InstallLocation1 и использовать его для -Register приложение с помощью Add-AppxPackage. У нас это не работает - по крайней мере, с 1709 г. Get-AppxPackage -PackageTypeFilter Bundle -AllUsers возвращает пустой список и вызов без -PackageTypeFilter Bundle не содержит ни одного из неустановленных приложений.

Мои попытки просто использовать C:\Program Files\WindowsApps\DeletedAllUserPackages\<PackageFullName>\AppxManifest.xml как ценность Add-AppxPackage -Register не удалось из-за неразрешенных зависимостей.

Но даже если Add-AppxPackage успешно, это будет регистрировать приложение только для текущего пользователя, поскольку, похоже, отсутствует -AllUsers параметр. Другие пользователи и потенциальные новые пользователи не установят приложение.

Другие документированные подходы используют Add-AppxProvisionedPackage -Online из DISM модуль. Но это, видимо, требует .appxpackage файл, которого, похоже, нет в системе.

Для таких приложений, как Microsoft Store, я, по-видимому, мог бы использовать исходный образ WIM для переустановки приложения, если бы я только знал зависимости, чего я не делаю. Итак, как я мог административно переустановить все приложения, которые я удалил в ходе начальной настройки системы?


1 лайк Вот или Вот

Если я не неверно истолковал ответ MVP, который я прочитал пару дней назад на форуме Microsoft, вы должны использовать приложение Store для переустановки встроенных приложений. Вы можете сделать это даже без учетной записи Microsoft.

Но мне интересно, почему вы вообще слепо удаляете все подготовленные пакеты и все связанные приложения?

Я имею в виду, с этими двумя строками кода, которые вы используете ...

# remove the "provisioning" of packages for new users
Get-AppxProvisionedPackage -Online | % { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName }
# delete packages for existing users
Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | % { Remove-AppxPackage -Package $_.PackageFullName -AllUsers }

... вы удаляете (помимо прочего, что действительно не важно):

  1. Калькулятор
  2. Программа просмотра фотографий (или изображений)
  3. Аудиоплеер
  4. Видеоплеер
  5. MS Paint
  6. Магазин Windows
  7. Заметки
  8. Установщик настольных приложений

Конечно, некоторые из них спорны, например MSpaint или липкие заметки. Но зачем убирать программу просмотра фотографий? Почему калькулятор? Если у вас нет альтернативы, я бы не стал удалять их и калечить ваших пользователей. Но поскольку вы хотите предложить им переустановить эти приложения, я предполагаю, что вы этого не сделаете.

Другие приложения лучше отключить с помощью GPO, например, Store App. Установщик настольных приложений важен, если вы хотите загружать неопубликованные приложения на своем предприятии.

Не зная мотивов, стоящих за этим, я бы сказал, что вы доставляете себе и своим пользователям ненужные проблемы. Почему бы просто не оставить приложения установленными и, возможно, предоставить пользователям возможность удалить их, вместо того, чтобы делать наоборот. Технически это намного проще.