GetFolderPath(SpecialFolder.ApplicationData) returns empty string

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

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x