Jump to content


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.
Photo

replacing a newer dll with an older one?


3 replies to this topic

mikemio

mikemio
  • Full Members
  • 12 posts

Posted 20 November 2008 - 05:23

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




Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

mikemio

mikemio
  • Full Members
  • 12 posts

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




VBScab

VBScab
  • Full Members
  • 436 posts

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.