Weird DuplicateFile/RemoveFile Behavior...
I noticed some odd behavior while testing some parts of our installation that deal with DuplicateFile and RemoveFile tables. There are some entries that act on files/directories that have no other components installed to them. The directory entries for these are contained in the Directory table.
The same setup exists in the MoveFile table and files do end up where they are supposed to be at runtime. During install, the DuplicateFile entries do their job as well. So, post install, everything is duplicated/moved (copied) as expected.
Now, on uninstall, all other files in our app that are associated with DuplicateFile or RemoveFile entries are taken care of properly. There are these assigned to a directory where no other components are installed that still remain. The way that I have found to get around this is to simply add a component (using InstallShield 2013 by the way) and assign it to this problematic directory. I do NOT have to make any association in either table in question to this new component to have it work properly. Just adding the properly caused everything to be removed as expected.
I should also state that before adding the new component, the trigger components used in the tables are removed properly on uninstall, but their associated/copied files are not.
What throws me is that on install, everything is OK copying to this directory, but removal has a problem.
Here's a little explanation on this directory I speak of. It is part of a third party app file system where we have to shove some files. We detect the third party install location and set a directory in our app for the copies... C:\Thrid Party\Application\Dependencies. This Dependencies folder is the target for the copies.
So, in summary, no problem on installs, weird(?) behavior on removal.
Does anyone know if this is normal behavior - for removal through these tables? There has to be an actual component tied to the target directory as part of the install in some fashion. This component, again, does not have to be used in the tables themselves, at least that is what I am seeing. ?????
There are no answers at this time