actually almost every winapi app can support these paths if it not use static buffers and special constraints on paths.
and I don’t know why MS decided to not support it in .NET at all instead of wrapping only unsupported winapi.
and yes, icacls is a poor solution, subinacl and setacl much better, we use it in production.
but its not installed by default and do not suitable for this games