I am writing a browser helper object for Internet Explorer that should store some data on the hard drive. Is there an agreement where to store these files? Or if not - in which directory (except the temp folder) do I have write access?
Typically, applications store the state in CSIDL_LOCAL_APPDATA or CSIDL_APPDATA , but low IL (for example, Protected IE ) cannot write to these directories, for low IL you can use FOLDERID_LocalAppDataLow .
When running inside an IE process, you can use special IE versions of these APIs: IEGetWriteableFolderPath and IEGetWriteableHKCU
Create a subdirectory for your application along the path returned by IEGetWritableFolderPath () .