I saw many old questions like this but it is not my case.
Asp.net application is running in AppPool (iis in win10) with ‘load user profile’ enabled.
And nevertheless Environment.GetFolderPath(ApplicationData or LocalApplicationData) returns an empty string. CommonApplicationData returns correct folder.
I ensure that {user}AppData is exist on disk.
So, question: how can I get not empty string for AppData?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
It is not enough to enable 'loadUserProfile' option in IIS!
You have to enable another one option. This is 'setProfileEnvironment'. I didn’t find IIS UI to change it.
Open file in %windir%system32inetsrvconfigapplicationHost.config and add or change attributes for your application pool.
<configuration>
<system.applicationHost>
<applicationPools>
<add name="YourPool" >
<processModel
loadUserProfile="true"
setProfileEnvironment="true"/>
And after that you can get ApplicationData or LocalApplicationData path!
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0