I recently noticed that my installer (VS 2008) does not remove the DLLs during uninstall. This is not too much of a concern to me but the following is a concern: when I install an older version of my software, it does not overwrite the DLLs -- it keeps the newer version.
When I am rolling back my system to an older version, I would like everything to roll back. What is the best way to accomplish this? Do I need to create a custom action to remove the DLLs at uninstall to be safe, or is there another way to remove them, or is there a setting to force the installer to always write the DLL.
First you should ask yourself why didn't the installer remove the files, because it should and if it didn't then it's a BUG (or that the setup is waiting for a reboot to remove the files).
You can run you MSI with logging in order to discover what's going on there:
msiexec.exe /i /l*v