G
George Jordanov Ivanov
Hello,
I am currently developing an add-in for Visual Studio .NET 7.0, 7.1 and 8.0.
I am using Visual Studio .NET 2003 to develop it and C# as a programming
language. I have installed Microsoft .NET framework 1.0, 1.0 and 2.0 on my
machine.
Normally, my add-in registers his own commands, bound to UI command bar
buttons. To perform a clean uninstall, I added an Installer class, in whose
Uninstall method I am trying to delete the commands, registered by my
add-in. But in this Installer class I don't have a valid instance of DTE
object, so I have to create it. The class which represents the Visual Studio
..NET IDE is EnvDTE.DTEClass
class. Unfortunately, when I am trying to instantiate it, I get the
following exception:
System.Runtime.InteropServices.COMException (0x80040154): COM object with
CLSID {3C9CFE1E-389F-4118-9FAD-365385190329} is either not valid or not
registered.
Now, I checked whether there is a such COM server with CLSID
{3C9CFE1E-389F-4118-9FAD-365385190329} registered in HKEY_CLASSES_ROOT\CLSID
(that is there is a well-formed key under
HKEY_CLASSES_ROOT\CLSID\{3C9CFE1E-389F-4118-9FAD-365385190329} having the
required InprocServer32 subkey, pointing to:
EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
I also created a standalone Windows forms application that actually tries to
create a new instance of DTEClass class, but still I have the same
exception. That is to show that this error is not caused by Windows
Installer or something - this is obviously a generic error.
I found an article in Internet about the same problem, but still it hasn't
any prescribed solution for it. Does anyone has an idea how I can solve this
issue?
Regards,
George Jordanov Ivanov
I am currently developing an add-in for Visual Studio .NET 7.0, 7.1 and 8.0.
I am using Visual Studio .NET 2003 to develop it and C# as a programming
language. I have installed Microsoft .NET framework 1.0, 1.0 and 2.0 on my
machine.
Normally, my add-in registers his own commands, bound to UI command bar
buttons. To perform a clean uninstall, I added an Installer class, in whose
Uninstall method I am trying to delete the commands, registered by my
add-in. But in this Installer class I don't have a valid instance of DTE
object, so I have to create it. The class which represents the Visual Studio
..NET IDE is EnvDTE.DTEClass
class. Unfortunately, when I am trying to instantiate it, I get the
following exception:
System.Runtime.InteropServices.COMException (0x80040154): COM object with
CLSID {3C9CFE1E-389F-4118-9FAD-365385190329} is either not valid or not
registered.
Now, I checked whether there is a such COM server with CLSID
{3C9CFE1E-389F-4118-9FAD-365385190329} registered in HKEY_CLASSES_ROOT\CLSID
(that is there is a well-formed key under
HKEY_CLASSES_ROOT\CLSID\{3C9CFE1E-389F-4118-9FAD-365385190329} having the
required InprocServer32 subkey, pointing to:
EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
I also created a standalone Windows forms application that actually tries to
create a new instance of DTEClass class, but still I have the same
exception. That is to show that this error is not caused by Windows
Installer or something - this is obviously a generic error.
I found an article in Internet about the same problem, but still it hasn't
any prescribed solution for it. Does anyone has an idea how I can solve this
issue?
Regards,
George Jordanov Ivanov