No announcement yet.

Uninstall will not uninstall shared dll

  • Filter
  • Time
  • Show
Clear All
new posts

  • Uninstall will not uninstall shared dll

    I am using Setup Factory

    I have an application that installs a series of shared COM dll's in the C:\Program Files (x86)\Common Files\CompanyName folder.

    When I run the uninstall, the uninstall tells me that no other application has registered their use, Is it OK to remove the file? I click Yes and then get the next message:

    This file is in use and cannot be deleted! Click Ignore to continue and delete the file the next time the system is rebooted. I click Ignore and then I get the same for 100's of files that I have installed.

    The file is not in use by another application. I ran Process Explorer to see which process has the file tied up, but it just lists the uninstall program.

    I don't recall this sort of problem happening in the previous versions of Setup Factory.

  • #2
    My problem really isn't that a shared dll won't uninstall, because it does after the shared dll counter reaches zero. My problem is that it shows that the file is in-use when it is not, and that you can click the 'Ignore' button to have the file removed on your next system reboot. When there is a large number of these shared dll's, you have to click 'Ignore' for each one which is very time consuming. It would be nice if you could Ignore All with one click.

    To do correct code caching, the existing shared DLL reference counting scheme will not suffice because reference counts are easily inflated. Specifically, any application that is reinstalled increases the reference count on a shared DLL even though that DLL already has a reference count belonging to the particular application.

    Once you have been through the same application install a few times, these reference counters have been incremented a number of times, and if you run the un-install, after reducing the reference count by 1, the count is greater than zero and the file does not get un-registered and deleted, but the uninstall completes and is removed from the control panel uninstall panel, leaving you with an application that did not get completely un-installed.