Если вы используете C #, переопределите ваше представление Close()
, поэтому не нужно закрывать вручную и выполните следующее, когда пользователь нажмет на перезагрузку:
System.Diagnostics.Process.Start("shutdown.exe", "-r -t 0");
Если используется какой-либо предварительно собранный (например, установочный экран) из вкладки «Конструктор установки» -> «Поведение и логика» -> «Пользовательские действия и последовательности» -> «Последовательности» -> «Установка» -> «Выполнить» -> ScheduleReboot устанавливает значение «Condition» на «NOT REMOVE» (без кавычек), если вы хотите, чтобы перезагрузка произошла после установки, и на «REMOVE», если после удаления.