- Сообщения
- 25,320
- Решения
- 5
- Реакции
- 13,844
Если вы перезагрузите систему, не закрывая работающие приложения, то при следующем входе в учетную запись некоторые или даже все ранее запущенные приложения откроются автоматически.
Такой сценарий неизбежно порождает ряд вопросов, на которые я отвечу сегодня. Я уже пару раз поднимал эту тему в своем канале Telegram. Но поскольку в версии 20H1 фишка обрела законченный вид, я решил написать в блог.
В рамках этой статьи я буду использовать аббревиатуру АПП (автоматический перезапуск приложений).
В версии 1803 просьбы инсайдеров добавить настройку учли, но лишь частично. Вместо создания переключателя контроль перезапуска графически привязали к автоматическому входу после установки обновлений, номер 2 на картинке выше.
В версии 20H1 (сборка 18965+) сферу АПП расширили, а также сделали отдельный переключатель в параметрах (номер 1 на картинке) и флаг совместимости. Именно эти аспекты я буду разбирать сегодня.
Также в дополнительных сведениях приложения внизу страницы указаны разрешения. Такая картина – признак Desktop Bridge.
Эти сведения берутся из манифеста приложения, который вы найдете в папке Program Files\WindowsApps. Картинке выше соответствует runFullTrust.
Учтите, что если в предыдущем сеансе программа была запущена от имени администратора, она перезапускается с обычными правами.
Если форсировать или подождать завершения процессов по таймауту, такое приложение может не перезапуститься. Если же отменить перезагрузку, вернуться в систему и корректно закрыть проблемное приложение, то после перезагрузки не восстановятся другие ранее запущенные программы. Ведь система успела их закрыть, и они уже не были запущены при следующем завершении сеанса.
Наконец, есть еще одно мелкое объективное ограничение – невозможность полностью восстановить состояние приложения. Например, Word запустится с ранее открытыми документами, но не окном настроек, если оно было открыто до перезагрузки.
В свойствах исполняемого файла или ярлыка перейдите на вкладку Совместимость и установите флажок Зарегистрируйте эту программу для перезагрузки.
Затем перезапустите приложение, чтобы настройка совместимости вступила в силу. Я перепробовал пяток разных приложений и неудачной была лишь попытка с Fiddler.
Это не работает для магазинных приложений Desktop Bridge / MSIX. Они представляют собой упакованные Win32, поэтому в папке есть привычный исполняемый файл, пусть и не запускающий приложение двойным щелчком.
Но в этом случае флаг перезапуска в параметрах совместимости роли не играет. Это ожидалось, но я должен был проверить
Запустив с десяток разных приложений, я перезагрузился, засек время и подождал 5 минут на экране входа в систему. Затем вошел и выполнил в PowerShell от имени администратора:
Изменения файлов pf у перезапущенных приложений происходят до интерактивного входа в систему. Данные префетчинга могут обновляться не у всех приложений, но даже нескольких достаточно.
Вывод команды не публикую, потому что вы легко можете провести эксперимент самостоятельно.
Однако знание нюансов способствует правильным ожиданиям и открывает возможности более гибкой настройки.
http://www.outsidethebox.ms/
Такой сценарий неизбежно порождает ряд вопросов, на которые я отвечу сегодня. Я уже пару раз поднимал эту тему в своем канале Telegram. Но поскольку в версии 20H1 фишка обрела законченный вид, я решил написать в блог.
В рамках этой статьи я буду использовать аббревиатуру АПП (автоматический перезапуск приложений).
Краткая история вопроса
Функция АПП впервые появилась в версии 1709 без фанфар и пользовательской настройки, т.е. без возможности отключения. Единственным и неудобным обходным путем были ключи команды shutdown для перезагрузки и выключения: /r и /s. Я об этом рассказывал в канале, в т.ч. о новых ключах команды для АПП.В версии 1803 просьбы инсайдеров добавить настройку учли, но лишь частично. Вместо создания переключателя контроль перезапуска графически привязали к автоматическому входу после установки обновлений, номер 2 на картинке выше.
В версии 20H1 (сборка 18965+) сферу АПП расширили, а также сделали отдельный переключатель в параметрах (номер 1 на картинке) и флаг совместимости. Именно эти аспекты я буду разбирать сегодня.
Как включить или выключить автоматический перезапуск приложений
Из истории вопроса следует, что это зависит от версии Windows 10:- 1709: включено и не отключается
- 1803 – 1909: Параметры → Учетные данные → Варианты входа → Использовать мои данные для входа…
- 20H1 и новее: Параметры → Учетные данные → Варианты входа → Перезапустить приложения
От чего зависит автоматический перезапуск тех или иных приложений
По своей натуре функция работает не вполне очевидно. Недавно в форуме спросили, почему Firefox сам стартует после перезагрузки. В чате инсайдеров задавали и обратный вопрос – почему приложения не перезапускаются (я предложил проверить на диспетчере задач, и оказалось, что АПП работает корректно).Типы приложений
Список актуален для версии 20H1, потому что в предыдущих версиях ОС все ограничивается лишь некоторыми встроенными и сторонними приложениями Win32.Магазинные
В магазине приложения бывают разные:- UWP – должны перезапускаться все. Например, у меня сработало с идущими в комплекте с ОС приложениями, а также с загруженным из магазина Unigram.
- Desktop Bridge / MSIX — перезапуск не работает. В частности, не перезапустились TreeSize, CrystalDiskMark и Windows Terminal.
Также в дополнительных сведениях приложения внизу страницы указаны разрешения. Такая картина – признак Desktop Bridge.
Эти сведения берутся из манифеста приложения, который вы найдете в папке Program Files\WindowsApps. Картинке выше соответствует runFullTrust.
1 2 3 4 | <Capabilities> <Capability Name="internetClient" /> <rescap:Capability Name="runFullTrust" /> </Capabilities> |
Встроенные Win32
Перезапуск работает у большинства приложений. У меня он не сработал для PowerShell, cmd, а также оснасток MMC (диспетчер устройств, журнал событий), хотя сам процесс mmc.exe запускался.Учтите, что если в предыдущем сеансе программа была запущена от имени администратора, она перезапускается с обычными правами.
Сторонние Win32
Разработчик приложения должен зарегистрировать его в системе для автоматического перезапуска. Например, зарегистрированы браузеры Chrome и Firefox, приложения Microsoft Office и т.п. Регистрацию можно форсировать, что я покажу ниже.Условия для перезапуска
Автоматический перезапуск привязан к событию входа в систему, нежели к перезагрузке. Об этом, кстати, сказано в описании АПП в параметрах.Приложение может не перезапуститься, если системе не удалось корректно завершить его. Например, выполняется перезагрузка, а у программы есть несохраненные файлы, и она сигнализирует об этом. Вам предлагается отменить перезагрузку или форсировать ее.Другими словами, функция работает в сценарии «выход из системы → вход в систему». Перезагрузка ОС между этими событиями не играет роли.
Если форсировать или подождать завершения процессов по таймауту, такое приложение может не перезапуститься. Если же отменить перезагрузку, вернуться в систему и корректно закрыть проблемное приложение, то после перезагрузки не восстановятся другие ранее запущенные программы. Ведь система успела их закрыть, и они уже не были запущены при следующем завершении сеанса.
Наконец, есть еще одно мелкое объективное ограничение – невозможность полностью восстановить состояние приложения. Например, Word запустится с ранее открытыми документами, но не окном настроек, если оно было открыто до перезагрузки.
Как форсировать автоматический перезапуск приложения
Регистрация для перезапуска реализована в параметрах совместимости приложения. Встроенные приложения по определению должны быть совместимы с ОС, и этих настроек у них нет. Зато они есть у всех сторонних программ, в т.ч. созданных Microsoft.В свойствах исполняемого файла или ярлыка перейдите на вкладку Совместимость и установите флажок Зарегистрируйте эту программу для перезагрузки.
Затем перезапустите приложение, чтобы настройка совместимости вступила в силу. Я перепробовал пяток разных приложений и неудачной была лишь попытка с Fiddler.
Это не работает для магазинных приложений Desktop Bridge / MSIX. Они представляют собой упакованные Win32, поэтому в папке есть привычный исполняемый файл, пусть и не запускающий приложение двойным щелчком.
Но в этом случае флаг перезапуска в параметрах совместимости роли не играет. Это ожидалось, но я должен был проверить
Как связаны настройки перезапуска приложений и использования учетных данных для входа
Напомню, что в версиях 1803 – 1909 функция АПП привязана к настройке «Использовать мои данные для входа…». Поэтому здесь я разберу сценарии в 20H1, где есть раздельные переключатели (см. первую картинку в статье).Включены обе настройки
Последовательность такая:- ОС перезагружается, появляется экран входа.
- Система выполняет вход от вашего имени и тут же блокирует сеанс.
- Запущенные до перезагрузки приложения начинают стартовать.
Запустив с десяток разных приложений, я перезагрузился, засек время и подождал 5 минут на экране входа в систему. Затем вошел и выполнил в PowerShell от имени администратора:
1 | dir C:\windows\prefetch | sort LastWriteTime |
Вывод команды не публикую, потому что вы легко можете провести эксперимент самостоятельно.
Включен только автоматический перезапуск приложений
Когда использование данных для входа отключено, АПП работает так:- ОС перезагружается, появляется экран входа.
- Система ждет вашего входа.
- Запущенные до перезагрузки приложения начинают стартовать.
Включено только использование учетных данных для входа
Понятно, что перезапуска приложений в таком случае не будет. Поэтому ключевая польза от настройки проявляется в сценарии «установка обновлений вне периода активности». Последовательность такая:- ОС перезагружается, появляется экран входа.
- Система выполняет вход от вашего имени и тут же блокирует сеанс.
- Система выполняет оптимизацию после установки обновлений. TiWorker, Runtime Optimization Service (.NET), реагирующий на новые файлы антивирус – вот это все.
Заключение
Видимо, АПП изначально затевалась именно ради улучшения UX установки обновлений, который в идеале должен выглядеть так:- Обновления загружаются в фоне.
- Перезагрузка выполняется вне периода активности.
- Система выполняет оптимизацию, приложения перезапускаются.
- Пользователь входит в систему, ничего не замечая.
Однако знание нюансов способствует правильным ожиданиям и открывает возможности более гибкой настройки.
http://www.outsidethebox.ms/
Последнее редактирование: