Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restart doesn't work on non elevated burn installers launched on Windows Server 2019 #6145

Closed
vanni-giachin opened this issue Mar 18, 2020 · 3 comments · Fixed by wixtoolset/wix#241
Assignees
Labels
burn enhancement wip required This issue is complex enough that it requires a WiX Improvement Proposal to be accepted first
Milestone

Comments

@vanni-giachin
Copy link

vanni-giachin commented Mar 18, 2020

Wix version: 3.11.2

.NET Framework version: 4.6.2

OS: Windows Server 2019

Steps to reproduce

  1. Configure a Windows Server 2019 machine with default settings
  2. Sign in with a administrator user (reproduced with domain administrator)
  3. Run the installer. Do not execute As Administrator
  4. Trigger a forced reboot (e.g. <ExitCode Value="3010" Behavior="forceReboot"/>)

Outcome
The UI correctly display the restart button (SuccessRestartButton), the installer exits when clicking on it and the registry is correctly updated, but the machine reboot doesn't start.
The logs don't show any error.

Workarounds

  • Run as administrator
  • Assign the "Shut down the system" permission on local security policy, sign out and sign in, launch the installer. The permission inheritance from the Administrators group is not enough
  • Restart the machine manually

Additional info
On Windows Server 2019 only, the output of the command whoami /priv from a non administrator cmd does not contain the following entry:

Privilege Name                Description                          State
============================= ==================================== ========
SeShutdownPrivilege           Shut down the system                 Disabled

So maybe the burn code should handle the case when the permission is missing, not just disabled as it is on other OS, in order to solve the issue.

Thanks!

@barnson
Copy link
Member

barnson commented Apr 1, 2020

Probably need a way for the UX process to talk to the elevated process to try the reboot.

@armsee
Copy link

armsee commented Jul 9, 2021

Now since Windows Server 2019 has become more and more widespread, this issue is becoming an ever greater problem for our customers and therefore also for us.

We need a solution on this in v3.x. Version 4.x is not an option.

@barnson barnson added the triage label Jul 9, 2021
@barnson barnson self-assigned this Jul 22, 2021
@barnson barnson added wip required This issue is complex enough that it requires a WiX Improvement Proposal to be accepted first and removed triage labels Jul 22, 2021
@barnson barnson modified the milestones: v4.x, v4.0 Jul 22, 2021
@barnson
Copy link
Member

barnson commented Jul 22, 2021

Per-user bundles won't have an elevated process to talk to. One approach is to have a -burn.restartnow switch in Burn itself to get the bundle's Authenticode signature on the prompt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
burn enhancement wip required This issue is complex enough that it requires a WiX Improvement Proposal to be accepted first
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

4 participants