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

Add possibility to run "Launching elevated engine process" before the plan phase #5309

Closed
softlion opened this issue May 27, 2016 · 2 comments
Labels

Comments

@softlion
Copy link

softlion commented May 27, 2016

Feature request : Launching elevated engine process

  • Describe the scenario and benefits that the feature supports.

Providing an elevated command prompt before asking user informations (like a custom web user and password) benefits the user: if he does not have windows admin access, he will know immediatly and won't continue instead of being frustrated (he fills one or more form, and finally is blocked).

  • Describe how you're accomplishing the feature today (if possible).

I don't use the planning phase. If a feature should not be installed, i use the ExecutePackageBegin event with "Ignore" in the return value. If user input is required, i hold the return from this event using an AutoResetEvent which is signaled once the UI tells the engine can continue.

  • Describe what you'd like the new feature to do.

A simple option in bundle.wxs to start the elevated process on launch.

@softlion
Copy link
Author

softlion commented May 30, 2016

I just found this blog article which explains how to do that in an insecure way: by replacing the Burn manifest: https://www.firegiant.com/blog/2016/1/20/wix-v3.10.2-released/

As this is not secure, a better way would be to fix the Engine.Elevate method and the mba Elevate event so they work correctly in all situations: they currently won't work in a windows 10 administrator account where uac is disabled: the process is still not runned as administrator and can not write in HKLM for example.

@softlion
Copy link
Author

Found in another blog that Engine.Elevate does not elevate the current process (ie: the custom installer code). So all of this is pointless. Just use Engine.Elevate() as it is currently implemented ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants