When I try to uninstall my application the uninstaller goes into an endless loop. From what I am seeing it is trying to uninstall a DLL that is needed by another program and as it tries to uninstall the DLL, the other program runs its repair install to try and reinstall the DLL so the two go into an endless cycle. I looked in my event log and it looks like they are fighting over sqlRun.dll. My program is installing this somewhere that I can't tell and it looks like MSDE tries to reinstall it as my installer tries to uninstall it. I don't include sqlRun.dll in my installer so I'm ussuming that it is included in one of the merge modules I'm using.
How can I fix this problem I'm having? Is there an easy way to get a list of all the DLLs that each Merge Module uses so I can see what's installing SqlRun? I'm thinking that even if I find the merge module though, it will probably still be needed so is there a way to prevent it from removing the DLL that's used by another application? Any suggestions?
Thanks.
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.
Uninstall Problems
Started by
elektrobank
, Sep 02 2003 17:15
2 replies to this topic
Posted 03 September 2003 - 03:45
Hmm, well I don't have an exact answer, but here are some thoughts.
Such items are supposed to be marked as shared, and with each install/uninstall, the reference count is incremented/decremented, but it sounds like somebody isn't playing fair. This is difficult since neither one, other application or the Merge Module, is directly in your control. If the Merge Module is truly to blame, then you can try and make up for it by manually adjusting the corresponding registry value storing this usage count.
Also, one way of confirming that the sqlRun.dll file is indeed coming from MSDE would be to temporarily remove that from your setup and apply that install to a clean box to see if the files makes it over there.
However, Merge Modules are a Windows Installer thing, so I'm moving this post accordinly. Hopefully you'll get better answers over there.
Such items are supposed to be marked as shared, and with each install/uninstall, the reference count is incremented/decremented, but it sounds like somebody isn't playing fair. This is difficult since neither one, other application or the Merge Module, is directly in your control. If the Merge Module is truly to blame, then you can try and make up for it by manually adjusting the corresponding registry value storing this usage count.
Also, one way of confirming that the sqlRun.dll file is indeed coming from MSDE would be to temporarily remove that from your setup and apply that install to a clean box to see if the files makes it over there.
However, Merge Modules are a Windows Installer thing, so I'm moving this post accordinly. Hopefully you'll get better answers over there.
Edited by Taco Bell, 03 September 2003 - 13:57.
Posted 03 September 2003 - 14:55
Open your msi file in Orca or in Direct Edit mode in InstallShield Developer. In the File table you will find all the files that are in your setup, including those from merge mdules. Find sqlrun.dll and look up its associated component(s) If they have a GUID appended, they're likely from a merge module.
Stefan Krüger
InstallSite.org twitter facebook