You may run a roaming profile environment with Eclipse and from time to time it may start up with an error message like Invalid Configuration Location telling you The configuration area at C:\Users\[username]\.eclipse\...\configuration could not be created. Please choose a writable location using the '-configuration' command line option.
The error does not go away by itself and you may ask yourself - where the heck is Eclipse taking this path from? After some digging around there are several ways to workaround this issue like the mentioned '-configuration'
command line parameter and osgi.configuration.area. These are two dirty workarounds, but this is not the way how issues will be solved.
The root cause of this error message is an outdated (or broken) User Shell Folder configuration at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop
that Java uses to set the user.home
path variable. You will find out that your current %USERPROFILE%
has a value of C:\User\[username]
or any other value like C:\User\[username].MYDOMAIN
, but not the path C:\User\[username].MYDOMAIN.000
. The easy fix is correcting the Desktop Shell Folder that is used by Java up to v7 to figure out the user.home
folder. Microsoft is telling developers for ages not to use this keys any longer, but the bug seems to have been fixed in Java 8 first, see JDK-4787931 : System property "user.home" does not correspond to "USERPROFILE" (win).
You can easily fix the issue under Java 7 or before by running below command:
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop" /t REG_SZ /d "%USERPROFILE%\Desktop" /f
This corrects the outdated path C:\User\[username].MYDOMAIN.000\Desktop
and switches it to the current one. Now Eclipse starts up again properly.