Announcement

Collapse
No announcement yet.

How to register com libraries so uninstall doesn't delete the entire registry

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to register com libraries so uninstall doesn't delete the entire registry

    Registry
    Import
    DLL/OCX

    Then I picked the OCX in question. It subsequently created registry information (see attached)

    HKCU\CLSID (create and remove on uninstall)
    ...
    HKCU\Typelib (create and remove on uninstall)

    I think this may not be the intended behaviour for the import on this. This is why an uninstall with an msi factory generated install turned my computer into a toaster. It deleted major registry keys.

    What is the recommended method of automatically importing registry information directly from a DLL/OCX so that it does NOT generate these incorrect registry removal on uninstall operation?
    Attached Files

  • #2
    One method could be checking the keys which are being created, and make sure that the root entries aren't checked to be removed upon uninstall.
    Click image for larger version

Name:	SNAP-2013-10-28-04.png
Views:	1
Size:	26.9 KB
ID:	284089
    Another possible method would be using the WiX harvester (heat.exe) to scan the control and create a WiX fragment, and include that fragment in the project instead of the file directly.
    Click image for larger version

Name:	SNAP-2013-10-28-02.png
Views:	1
Size:	146.5 KB
ID:	284090
    Ulrich

    Comment


    • #3
      Thanks for the pointers. Was hoping there was something a little easier than "hammer and tongs" to address this issue.

      Comment


      • #4
        If I manually do this I'm afraid I'm going to miss one or two, and that's not a good thing.

        Comment


        • #5
          I hate to mention this may be a colossal logic hole in your software, a hole so big you may want to actually fix it.

          Comment


          • #6
            If it were up to me, there would've been an update a long time ago - but it isn't.

            Ulrich

            Comment

            Working...
            X