Home All Groups Group Topic Archive Search About

Cannot instantiate EnvDTE.DTEClass class

Author
15 Dec 2005 2:46 PM
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

Author
15 Dec 2005 4:52 PM
Carlos J. Quintero [VB MVP]
Hi,

I use "VisualStudio.DTE.7", "VisualStudio.DTE.7.1" and
"VisualStudio.DTE.8.0"

Also,can you use the RegMon tool
(http://www.sysinternals.com/Utilities/Regmon.html) to spy the registry
activity?

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio 2005, Visual Studio .NET,
VB6, VB5 and VBA
You can code, design and document much faster in VB.NET, C#, C++ or VJ#
Free resources for add-in developers:
http://www.mztools.com

Show quote
"George Jordanov Ivanov" <george.ivanov@newsgroups.nospam> escribió en el
mensaje news:uYlKLYYAGHA.344@TK2MSFTNGP11.phx.gbl...
> 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
>
>
>
Author
16 Dec 2005 6:27 AM
Gary Chang[MSFT]
Hi George,

Thanks for your posting here. Regarding on this issue, I've also noticed
your another thread in the microsoft.public.vsnet.ide newsgroup. I've
posted my response there. I'd appreciate if you have a look there.


Thanks for your understanding!

Best regards,

Gary Chang
Microsoft Community Support
--------------------
Get Secure! ¡§C www.microsoft.com/security
Register to Access MSDN Managed Newsgroups!
http://support.microsoft.com/default.aspx?scid=/servicedesks/msdn/nospam.asp
&SD=msdn

This posting is provided "AS IS" with no warranties, and confers no rights.

AddThis Social Bookmark Button