Ненавижу задавать этот вопрос, так как знаю, что по нему уже есть много вопросов, некоторые из которых очень близки к тому, что я хочу сделать:
Первый, кажется, предполагает, что это невозможно без внешнего программного обеспечения, но второй вопрос дает ответ, который кажется именно тем, что я хочу. Но я не совсем понимаю, о чем идет речь, когда предлагается установить REBOOT=Force
.
Я прочитал связанные статьи о свойствах, я не знаю, так ли это написано в MSDN, но я не знаю, как мне использовать их в проекте установки. Я все еще довольно плохо знаком с C # в целом и проектами установки в частности.
Вне свойств кажется, что следующая самая легкая вещь, которую нужно сделать с наименьшими внешними зависимостями, - это создать небольшое приложение на C #, которое ничего не делает, кроме выключения системы. Затем добавьте пользовательское действие в раздел Commit, чтобы вызвать это приложение. Мне это кажется излишним и означает ли это, что бесполезное приложение должно быть частью установки и оставлено на компьютере пользователя?
Я нашел много материала об использовании WIX или Orca, но у меня есть причины не использовать их (по крайней мере, потому что я должен написать Business Cases для any программное обеспечение используется). Я даже не пытаюсь создать очень сложный установщик, это всего лишь несколько новых EXE-файлов, которые копируются и затем перезапускаются, чтобы убедиться, что новый EXE-файл используется при запуске. Хотя сейчас я думаю, что это может не стоить хлопот перезапуска и просто вызвать новый exe как пользовательское действие.