Уведомление о перезагрузке записи : Насколько мне известно, после установки Burn покажет приглашение перезагрузки, если какой-либо из встроенных файлов MSI запланирует перезагрузку (что можно сделать, запланировав стандартные действия ScheduleReboot
или ForceReboot
- и установщик Windows сам запланирует перезагрузку, если файл не может быть заменен во время установки).
Я полагаю, что пакет Burn будет обрабатывать подавление перезагрузки до завершения установки - в силу командной строки, которую они используют для вызова каждого MSI, но я не уверен на 100%. Там могут быть особые проблемы для ForceReboot. Просто используйте ScheduleReboot , и хорошо его облагораживают - как объяснено здесь .
Более того, весь пакет, похоже, отказывается от удаления, если ожидается перезагрузка. Не уверен, что происходит, когда пакет работает в беззвучном режиме, он, похоже, начал неудачную перезагрузку. Не проверено слишком тщательно.
В ожидании некоторого тестирования. Сначала нужно сделать что-то еще.
Rant : Я написал целый перезапуск, только для вас ниже :-). Суть этого: просто не перезагружаться неожиданно или спонтанно. это
плохая карма (а птенцы ее не копают).
К сожалению, сам установщик Windows самопроизвольно перезагружается при
работать в бесшумном режиме, если вы не укажете REBOOT=ReallySuppress
в
командная строка - если перезагрузка действительно ожидала.
Не : вызвать самопроизвольную, необъявленную перезагрузку фактически технически легко (пользовательское действие или запуск MSI в бесшумном режиме, который устанавливает ForceReboot
- или даже ScheduleReboot
без настройки REBOOT=ReallySuppress
в командной строке - описано здесь - подробно). Однако такая перезагрузка логически и прагматически нецелесообразна. На самом деле очень так.
Этика для перезагрузки : Перезагрузка ПК работника умственного труда очень серьезна, я видел, как людей отправляли за дверь дешевле. В этом нет ничего беспечного: Десятки окон Visual Studio, куча наполовину написанных писем, заметки в блокноте и сама чума: missed chat messages
и web pages without state management
и т. д. Помимо потери данных (что все еще происходит, хотя большинство приложений сохраняются перед закрытием), люди теряют контекст (очевидно, но все же) - это как если бы кто-то взял ваш физический рабочий стол и вытер его чистыми документами, попавшими на пол и в мусорное ведро (теперь политически корректно именуемое "мусорной корзиной").
Есть еще:
- Что делать, если вы перезагружаетесь и в систему входит много пользователей?
- Кто-то может быть достаточно небрежным, чтобы установить на сервер, который требует тщательного управления перезагрузками (например: несколько серверов должны быть загружены в определенном порядке для аудита и различных целей - да, это происходит, и эфир будет переполнен не очень хорошие слова).
- Дай Бог, чтобы вы перезагрузили терминальный сервер совершенно неожиданно, когда вся компания вошла в систему (даже не уверена, что это возможно).
- Список можно сделать очень техническим - происходят самые странные вещи.
- Что если вы принудительно выполните немедленную и самопроизвольную перезагрузку с помощью настраиваемого действия, а MSI является одним из многих, запускаемых последовательно в комплекте Burn? Не уверен, что Берн делает это? Это может иметь функции для обработки.
Суть в следующем : ваше программное обеспечение может быть выброшено из целого
компании за «поведение», как это. Случайная перезагрузка. Это действительно может. Как в «… если они делают это, что они еще делают, с чем мы не можем жить ».
Цивилизованная перезагрузка : Я не уверен во всех аспектах здесь, но я бы порекомендовал что-то подобное для программного обеспечения, которое не может работать без перезагрузки:
- Предчувствие : Объявить до установка начинается, что перезагрузка ДЕЙСТВИТЕЛЬНО необходима после установки.Разрешить ранний выход.Помогает всем.
- ReallySuppress : Никогда не игнорируйте командную строку файла MSI, установленную на REBOOT = ReallySuppress , чтобы подавить все перезагрузки (это встроенная функция
msiexec.exe
- механизм установщика Windows - вы можете запретить все перезагрузки, запланированные MSI, теоретически - все еще есть хаки). - Нам нужно, чтобы это работало в бизнесе и позволяло отказаться от подхода, основанного на бесплатной основе, делать все, что угодно, когда дело касается перезагрузки.
- Бедные системные администраторы, которым приходится иметь дело с пакетами на бесплатной основе, прибегают к отчаянным мерам, чтобыпредотвратить самопроизвольные перезагрузки: Существует ли действительно-действительно-не-перезагрузочный параметр для msiexec?
- Администраторы действительно идут на эти крайности, чтобы предотвратить перезагрузки (
removing system privileges for reboot to control what is going on
).Я не рекомендую, чтобы они делали это, так как это может вызвать другие, неожиданные проблемы - технические хаки всегда делают.Всегда побочные эффекты.Правильный подход состоит в том, чтобы устранить взлом перезагрузки в пакетах.Не так ли?Или обновление для Windows, которое действительно подавляет неожиданные вещи, подобные этому.
- Стандартный подход : после установки установщик Windows сам покажет диалоговое окно дляперезагружать.Позвольте этому стандартному подходу использоваться.И как заявлено: соблюдайте подавление перезагрузки для автоматической установки.Обратите внимание, что установщик Windows покажет диалоговое окно перезагрузки - если файлы необходимо заменить - даже если вы не добавили явную команду ScheduleReboot в файл MSI. Automagic .
- Нет супа для вас : вы можете отменить запуск приложения до перезагрузки,Есть много способов сделать это, возможно, просто отсканировать файл, который необходимо заменить, например, перед тем, как разрешить запуск.Открывается для потенциальных ошибок запуска, так что будьте проще.Я предпочитаю не добавлять какие-либо кнопки для запуска перезагрузки в приложении, я просто заявляю, что перезагрузка необходима и выход - если это действительно необходимо.Меньше проверять на QA, ребята?