mikemio

The dll source is not under my control. I could increment its version in the file I suppose but I can't be sure that would not have any side effects in its operation.

When you say the clean way it to uninstall the buggy version, isn't that what happens with an update? That is, I thought that an update (made with VS2005) runs the uninstall of the previous version silently and then runs the newer installation. Then again, I guess if that where true I wouldn't have this problem.

I wonder is RemoveFile would be an option to remove the buggy dll? As I understand it, that is run before the files are installed.

VBScab

That is, I thought that an update (made with VS2005) runs the uninstall of the previous version silently and then runs the newer installation

That depends entirely on where the standard RemoveExistingProducts action is sequenced. By default, it's right at the end, the theory being that files which need updating will be overwritten, saving the overhead of deleting and then re-copying the same file. If you were to move that action to a position before InstallFiles, I think you'd get the effect you're after.