П>>Я вообще всем дал полный доступ
ЕМ>Прошу прощения, мозг зацепился за "из-под админа" и "требует права админа".
ЕМ>Там дело явно не только в ACL. Похоже, какой-то системный процесс и/или фильтр ФС отслеживает обращения. Возможно, проще будет не трогать каталоги, и обойтись динамическими средствами (отладочные функции, внедрение в процесс, DLL redirection и т.п.).
Не, там все-таки ACL. Просто надо смотреть security descriptor программным способом, т.к. UI далеко не все ACE из SACL показывает.
Если включить аудит файлового доступа (например через Global Object Access Auditing), то в windows security log видно, что у процесса нет прав на запись в %PF%\WindowsApp и подкаталоги по причине "Denied by Process Trust Label ACE".
Это тип ACE (SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE) появился в Win8.1 и плохо документирован.
Вот в этой презентации более-менее объясняется как работает ACE:
http://publications.alex-ionescu.com/Recon/Recon%202018%20-%20Unknown%20Known%20DLLs%20and%20other%20code%20integrity%20trust%20violations.pdf
Что интересно, похоже что SeRestorePrivilege не срабатывает против этого ACE на перезапись файла