Просто добавьте свойство «REBOOT» со значением «Force», которое предложит пользователю перезагрузиться после завершения установки, или автоматически перезагрузится, если пользовательский интерфейс отсутствует.
Если вы не можете сделать это в vdjproj, просто используйте Orca, чтобы отредактировать таблицу свойств MSI после сборки установки.
Если вы хотите принудительно перезагрузить компьютер, вы можете установить REBOOT = Force и REBOOTPROMPT = Suppress, чтобы пользователю не предлагалось.
В качестве альтернативы вы можете использовать действие ForceReboot
для перезагрузки в середине установки или ScheduleReboot
для планирования перезагрузки после завершения установки. Снова любое из этих действий может быть добавлено с помощью Orca, если вы не можете сделать это в vdjproj.
Вы можете сделать что-то подобное, используя следующую VBS
Dim installer, database, view, result
Set installer = CreateObject("WindowsInstaller.Installer")
Set database = installer.OpenDatabase ("setup.msi", 1)
Set view = database.OpenView ("INSERT INTO Property (Property, Value) VALUES ('REBOOT', 'Force')")
view.Execute
database.Commit
Set database = nothing