Yes, duplex does not try to save data outside its own folder, acts like any other tool in this regard. Reinstalling will delete / replace existing data, including custom preferences. It is recommended to take a backup of files if you are creating your own controller configurations, and possible to take a copy of the preferences.xml file if you have adjusted application options (copying it back after installing the new version).
I guess it would be possible to make duplex more flexible , and I see two different approaches : one is to keep a repository of installed scripts, with the ability to download/update specific applications and controllers - a bit like a package manager for *nix. Would need to figure out a way to keep track of dependencies and stuff, though. And how would your application fit into this?
Another approach would be to create a basic export/import functionality. I’m perhaps more attracted to this idea, as one of the big planned features is a method (UI) for interactively creating device configurations. Making it easier to create custom configurations means that we are more likely to have a lot of them around, so it would make sense to protect them from being overwritten as well
My first thought was, yeah, repositories, go for it! But I am sure this needs a lot of maintenance and at least one person who keeps track of all tools and dependencies. Like an editor.
The import/export option would outsource such a task to each user.
If I find the time, I try to sketch something like that…