The way this install is written, the 1st time through installs and creates the directories needed (let's call it DIR1). On the 2nd install, the user is prompted to either upgrade the existing installation or add a new folder to support multiple interfaces (let's call this DIR2). The problem is that the DIR2 folder structure is getting created, but none of the files are getting written to it. Instead, they are getting written back to DIR1.
Before the files are installed, a string list is created by reading the installation paths stored in the registry and adding to it any new directory that was specified during the UI. It then a) ListGetFirstString, gets the directory (1st pass=DIR1), b)sets TARGETDIR to DIR1, c) calls FeatureMoveData("",nvVar,0) to reset structures, d) calls FeatureMoveData(MEDIA,nvVar,0) to move the data, and then e) does some post install config of the files. The loop then does ListGetNextString to get the next directory (DIR2), and repeats the processfrom

I've debugged this program at least far enough to verify that before the FeatureMoveData calls, TARGETDIR is the correct value.
Can anyone please give me some insight? I don't have the timeframe I would like to totally rewrite this and the pressure's on! Thanks in advance for any guidance.
Dennis