For those who use IIS 7+. By default Sites and Virtual Path with anonymous account of IIS don't have access to game service files because TCA2 replace ACL with only System, Administrators group and self-made user.
By default IIS uses IUSR user for anonymous connections. IUSR belongs to build-in User group which doesn't have any ACL rights in game service folder by default.
Fix is to add IUSR in ACL with Read rights or User group with read rights. To do so you can use next script:
cacls . /T /E /G IUSR:R
For IIS 6 check which user is used for anonymous account.
The only problem is that you can execute it only after server is created and it will edit ACL on each file that will take some time and CPU load. I haven't tested yet but i believe you cant execute it before server is created because TCA2 first copies files to temp folder and only then creates %ThisService_RootDirectory%.
Another fix will be to make anonymous account with admin group user credentials but its just insane.