Restart Manager — это, прежде всего, лучшая схема обнаружения (чем раньше) для обнаружения файлов, которые используются во время операции установки. Например, старая схема обнаруживала только запущенные приложения с окном верхнего уровня (исключая приложения в трее). Единственные приложения, которые автоматически закрываются и перезапускаются, — это те, которые зарегистрировались для этого. В основном это означает, что ваше приложение вызывает RegisterApplicationRestart(), сообщая ему, с какой командной строкой вы хотите перезапуститься. Приложение отслеживает сообщения WM_QUERYENDSESSION, сообщающие о том, что оно будет выключено, и записывает информацию о восстановлении для последующего перезапуска.
Пример здесь:
http://www.advancedinstaller.com/user-guide/qa-vista-restart-manager.html
Так что некоторые из ваших вопросов не применимы, но, очевидно, дело в том, чтобы предотвратить перезагрузку, будь то автоматическая установка или нет. Если для автоматической установки требуется перезагрузка, она просто сделает это, потому что молчание на самом деле означает молчание, некого спросить, и установка не будет завершена до перезагрузки.
Когда приложения не выполняют эту работу, люди обычно прибегают к таким вещам, как вызовы WiX Util CloseApplication, чтобы закрыть их.
Обратите внимание, что службы, помеченные как «Остановить при установке» (или удалить, в зависимости от обстоятельств), не приводят к ситуациям, когда файлы используются. Механизм обнаружения используемых файлов игнорирует файлы, которые используются службами, помеченными как остановленные в таблице ServiceControl. Таким образом, службы, как правило, хороши, но если служба порождает другие процессы, это может привести к ситуации, когда файлы используются.
person
PhilDW
schedule
21.04.2016