Commit Graph

17 Commits

Author SHA1 Message Date
Vladislav Rassokhin
cad28570bc IDEA-296416 WinElevator: convert to CMake
GitOrigin-RevId: f047b4332a47323b22b7e16681e0f2ae9df71252
2022-09-07 20:46:48 +00:00
Ilya.Kazakevich
b6a9f2268e Rewrite `AppxReparse.exe` to JNA
No need to have separate tool for that

GitOrigin-RevId: 3019b647cb3b9ce9c01967deace0e4fbed834302
2021-09-04 01:51:37 +00:00
Peter Gromov
9a3f76ea55 WinElevator: improve the documentation grammar
GitOrigin-RevId: 0ac4db0fedda1d5828128747914ce63c85aeec0c
2021-06-16 15:56:49 +00:00
Ilya.Kazakevich
6930a42c1f PY-43082: Support pythons from WindowsStore, but not "fake" pythons that link to store app.
Since 2004 Win10 has "python.exe" reparse point in path. This point runs WindowsStore app, so user can install Python.
After installation this point is replaced with real python.

This change uses native app to see if reparse point links to real python or desktop

GitOrigin-RevId: 2d7962be588b5dc83bab412c6ad483fe48298bf3
2020-07-10 20:09:42 +00:00
Ilya.Kazakevich
217a21e06e PY-43082: Use WriteFile instead of CRT and optimize for speed
CRT wprintf converts chars to one byte charset: it consumes time and may render some chars unprintable.

GitOrigin-RevId: 9d2889718f4376a652d36e4c9493fcdf9f3cba0a
2020-07-10 00:45:19 +00:00
Ilya.Kazakevich
23c7e52e09 PY-43082: Use console api instead of CRT and optimize for speed
CRT wprintf converts chars to one byte charset: it consumes time and may render some chars unprintable

GitOrigin-RevId: 6ff122b2f3a0e94b411dd4b57e5e48b2b2cc8911
2020-07-10 00:01:53 +00:00
Ilya.Kazakevich
d47f765371 PY-43082: Add tool to parse AppX reparse point links.
See README.txt

GitOrigin-RevId: 0cf62bc540736348201d813635061e2ebc10de28
2020-07-08 21:19:34 +00:00
Ilya.Kazakevich
a93a9bcab2 Share icon
GitOrigin-RevId: fda1c3eb231d6b06bfbd91ac55e524ca0cb426c7
2020-07-08 21:05:33 +00:00
Ilya.Kazakevich
9d68a20921 Update toolchain for windows native
GitOrigin-RevId: a0bd8f93f0da84025ed3fcc4ca5c1a2ee684bbc1
2020-07-08 21:04:22 +00:00
Andrey Lesnikov
e9d7997d18 CPP-20035 debug as root: Report GetLastError in _ReadAndSetEnvVars
GitOrigin-RevId: 9b86abff1fb41159f49e73eaa4ec5f2f8cb99f17
2020-06-24 13:12:45 +03:00
Andrey Lesnikov
6ce53ad39c CPP-20035 Debug as root: Review fixes and simplifications
GitOrigin-RevId: 9b3c70af94744493a11a144c2da95dd5336732d4
2020-06-24 13:12:42 +03:00
Andrey Lesnikov
b25914de4f CPP-20035 Debug as root: Use named pipes for env vars in WinElevator
GitOrigin-RevId: bd5a76f990d79b772776e95a0b320bbe1c1acd00
2020-06-24 13:12:39 +03:00
Andrey Lesnikov
675376c7d8 CPP-20035 Debug as root: Basic Windows support
GitOrigin-RevId: 15d85937e9d509c24372b61a98f0943dd27534c1
2020-06-24 13:12:31 +03:00
Ilya.Kazakevich
447771628b Windows native elevator for UAC fix:
* Write errors to event log
* Do not fail if there is no console/stdout listening process
* 32bit support
2017-09-14 18:25:58 +03:00
Ilya.Kazakevich
3436d9ca19 PY-24490: Dot dup2 std descriptors for CRT
dup2 for CRT is broken in Win10 (can't dup2 stdout and CreateProcess fails with STATUS_DLL_INIT_FAILED(0xc0000142) sometimes)
That is not a big deal since new process inherits handlers its CRT is initialized correctly
2017-06-06 03:22:29 +03:00
Ilya.Kazakevich
b22f0e632d PY-18154: File signed and instructions how to sign added 2017-05-22 18:13:49 +03:00
Ilya.Kazakevich
29c484ca42 PY-18154: Add sudo-like tool for windows to deal with UAC
When admin user launches Intellij, Windows revokes many
user privileges to improve safety for admin users (that is how UAC works).

One can't access "Program Files": any attempt to write something there
leads on ACCESS_DENIED(5) error even if NTFS reports file is writable

The only way to elevate privileges is to launch process as elevated.
"Elevator.sln" is Win32API app that launches command
as elevated. See its sources for more info.
2017-05-18 01:26:28 +03:00