diff options
author | Ron Yorston <rmy@pobox.com> | 2025-02-03 11:55:28 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2025-02-03 11:55:28 +0000 |
commit | 14ccc45d548c9dfa73594f155e920c83e2882081 (patch) | |
tree | af1fcbc52ba1240474f321346781144d983bdc8d /include | |
parent | 820ade383860692d0b5abbba00a3e428f21b88e4 (diff) | |
download | busybox-w32-14ccc45d548c9dfa73594f155e920c83e2882081.tar.gz busybox-w32-14ccc45d548c9dfa73594f155e920c83e2882081.tar.bz2 busybox-w32-14ccc45d548c9dfa73594f155e920c83e2882081.zip |
win32: retry when command needs elevated privileges
Some installer programs have an entry in their manifest to indicate
that they need elevated privileges. The shell in busybox-w32 was
unable to run such programs.
When a program fails to run with ERROR_ELEVATION_REQUIRED, try
again using ShellExecuteEx() with the 'runas' verb to give it
elevated privileges.
Adds 272-288 bytes.
(GitHub issue #481)
Diffstat (limited to 'include')
-rw-r--r-- | include/mingw.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/mingw.h b/include/mingw.h index c41c0f91e..3ee1cc46f 100644 --- a/include/mingw.h +++ b/include/mingw.h | |||
@@ -669,3 +669,4 @@ enum { | |||
669 | }; | 669 | }; |
670 | int elevation_state(void); | 670 | int elevation_state(void); |
671 | void set_interp(int i) FAST_FUNC; | 671 | void set_interp(int i) FAST_FUNC; |
672 | int mingw_shell_execute(SHELLEXECUTEINFO *info); | ||