Uninstall of InstallShield Developer can break TestDriven.NET

A few people have had problems with TestDriven.NET after they uninstall InstallShield. It appears that important Windows COM components are removed on uninstall. If you reinstall InstallShield, TestDriven.NET starts working again.

Alternatively you can save the following as a .reg file and open it:

======================================
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}]
@="IEnumVARIANT"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}\NumMethods]
@="7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}\ProxyStubClsid]
@="{00020421-0000-0000-C000-000000000046}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}\ProxyStubClsid32]
@="{00020421-0000-0000-C000-000000000046}"
======================================

You can read first hand experience of this issue from Joey Calisay. There are more details in the InstallShield knowledge base.

4 Comments

  • COM Interface registration is just... broken.

    Anybody who implements the interface is supposed to register it on install. Registering overwrites any registration that was present before. Anybody who registered it on install is supposed to unregister it on uninstall. That means that if the same interface is ever implemented by more than one product, you're going to have something break.

    The only safe policy for Interface registry keys is to leave them behind on uninstall unless your product is the only one that ever possibly uses that interface. The same goes for proxy stubs. I've had better luck with TLBs, but even those are scary.

    This is one thing that .NET got right -- the metadata for an interface is in the FILE (the assembly), which can easily be ref-counted.

    Anybody know of any reasonable way to deal with COM Interface registration?

  • thanks for the immediate response jamie.

  • Thanks for this, it fixed it for me.

    Now if I could just get that Sonic Update Manager to shut up about um.msi.. :)

  • Appreciate your this kind of write-up, it had been very useful.
    downloaded 40D not long ago in addition to discovered just how gradual almost everything seemed to be. after that at the moment had cyberhawk show me in regards to a plan signing my family in addition to googled kservice in addition to kontiki...
    Have un-installed the almost pointless 4oD that will decided not to give my family something i needed to observe except when i was paying for it and had the cheek to be able to consistently run in addition to draw in my very own ram!
    boo to be able to 4od

Comments have been disabled for this content.