Installing software in a Citrix-environment is sometimes a hassle. You have to handover the software, installation- and test-documentation to the scripters and hope for the best. In this case I handed over SQLDeveloper 19.4 as a pretty default installation, very simple and scripting for Citrix is is not that hard too. Scripter tested it, I tested it, and it was all fine during the day. But… it turned out that the saved connections and other preferences were gone the next morning. A very short post to overcome this annoyance.

I found out that my connections on my VDI were saved in   C:\users\<user>\AppData\Local\Microsoft\AppV\Client\VFS\<random number>\AppData\SQL Developer\system19.4.0.354.1759\o.jdeveloper.db.connection.\connections.json. And this is cleaned every night.

But according to the doc this is default another place, depending on the IDE_USER_DIR environment variable:

Location of User-Related Information

In most cases, your user-related information is stored outside the SQL Developer installation directory hierarchy, so that it is preserved if you delete that directory and install a new version.

The user-related information is stored in or under the IDE_USER_DIR environment variable location, if defined; otherwise as indicated in the following table,

SQL Developer user preferences

Windows: C:\Documents and Settings\<user-name>\Application Data\SQL Developer\systemn.n.n.n.n

After googling this behaviour there is one solution of Christian4145 as a reply on the blog of Kris Rice what works. Example:


AddVMOption -Dide.user.dir=C:\sqldev19.4

(we tried to use %userprofile% in sqldeveloper.conf on Citrix, did not work)

To change this, you will have to change the scripted package with the proper sqldeveloper.conf. But…. there’s another way, without changing the package.

You can add an option to the shortcut, for example (like in JDeveloper):

-J-Dide.user.dir=C:\sqldev19.4 or


When the directory does not exist, it will be created.



Blog Kris Rice: