Hi,
I have a package with a third party dll version 9.60. The dll has a bug and I must revert to version 9.10.
I prepared a minor update with the older dll and , not too surprisingly, it did not work. The odd thing is that it does work after one 'repair' (but of course that is not acceptable).
My question is what is the best way to do this? Could I create a false version in the msi file (say 9.61 which I know will never be used) or would that just create a mess later on.
I am using VS2005 to build the msi file and the dll is in a merge module.
Thanks in advance for any suggestions you may have.
Cheers,
Mike
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
replacing a newer dll with an older one?
Started by
mikemio
, Nov 20 2008 05:23
3 replies to this topic
Posted 21 November 2008 - 16:38
The best way would be to increment the version of the DLL itself. Version lying in the msi database is not ideal but doable. The clean way would be to uninstall the buggy version.
Stefan Krüger
InstallSite.org twitter facebook
Posted 21 November 2008 - 17:32
Thanks Stefan,
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.
Anyway, worst case I will go with the false version number.
I really appreciate you sharing your insights.
Cheers,
Mike
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.
Anyway, worst case I will go with the false version number.
I really appreciate you sharing your insights.
Cheers,
Mike
Posted 24 November 2008 - 10:15
QUOTE |
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.
- Don't know why 'x' happened? Want to know why 'y' happened? ProcMon will tell you.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.