Какой самый простой способ перезагрузить компьютер после завершения установки проекта установки? - PullRequest
3 голосов
/ 30 ноября 2011

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

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

Я прочитал связанные статьи о свойствах, я не знаю, так ли это написано в MSDN, но я не знаю, как мне использовать их в проекте установки. Я все еще довольно плохо знаком с C # в целом и проектами установки в частности.

Вне свойств кажется, что следующая самая легкая вещь, которую нужно сделать с наименьшими внешними зависимостями, - это создать небольшое приложение на C #, которое ничего не делает, кроме выключения системы. Затем добавьте пользовательское действие в раздел Commit, чтобы вызвать это приложение. Мне это кажется излишним и означает ли это, что бесполезное приложение должно быть частью установки и оставлено на компьютере пользователя?

Я нашел много материала об использовании WIX или Orca, но у меня есть причины не использовать их (по крайней мере, потому что я должен написать Business Cases для any программное обеспечение используется). Я даже не пытаюсь создать очень сложный установщик, это всего лишь несколько новых EXE-файлов, которые копируются и затем перезапускаются, чтобы убедиться, что новый EXE-файл используется при запуске. Хотя сейчас я думаю, что это может не стоить хлопот перезапуска и просто вызвать новый exe как пользовательское действие.

1 Ответ

4 голосов
/ 30 ноября 2011

REBOOT - это предопределенное свойство установщика Windows: http://msdn.microsoft.com/en-us/library/windows/desktop/aa371101(v=vs.85).aspx

Свойства установщика хранятся в Таблица свойств из базы данных MSI.Таким образом, вы можете просто добавить новую строку в таблицу свойств с этой информацией:

  • Свойство - REBOOT
  • Значение - Сила

Вы можете узнать больше оСвойства установщика здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/aa372432(v=vs.85).aspx?ppud=4

Обратите внимание, что установочные проекты Visual Studio не поддерживают установку значений свойств.Таким образом, вы можете отредактировать MSI с помощью Orca, чтобы добавить новую строку, или переключиться на другой инструмент создания настроек.

...