Write access to EVERYONE works, IUSR, IIS_IUSRS, DefaultAppPool does not work. why?

You can add the account through the NTFS GUI by typing it in directly. The name is in the format of IIS APPPOOL\<<app pool name>>, e.g. IIS APPPOOL\DefaultAppPool. (see this Microsoft support article)

An alternative solution: I've been using the "Network Service" account as application pool user granting it write permission.


Under IIS 7.5 (and optionally in IIS 7) all workers run with Application Pool Identity: user "IIS AppPool*PoolName*".

Grant access to that user rather than Everyone (you'll need to type the name into the select identity dialogues—it won't show up in the find function).

There is a very useful page on iis.net that covers things in much more detail.

Also note: under IIS7 (Server 2008):

  • You set app pool identity on a per-app pool basis in the advanced settings.
  • There is no GUI support, so you'll need the command line to set permissions (icacls.exe).

Finally SQL Server's identity selection doesn't know about app pool identity either: use CREATE LOGIN and CREATE USER initially, after this the GUI can be used to grant roles etc.