G
gscott2112
Guest
I have a COM dll that I am distributing as a Side-by-Side reg-free dll.
On XP I have no problems using the component, on Vista I get errors trying
to create the COM object.
Either 0x80040154 (Class not registered) when using a GUID to create the
object or
0x800401F3 when trying to use the prog id.
Is there something additional that needs to be done to get Side-By-Side
assemblies to work on Vista?
The dll manifest is embedded in the dll
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="MyAssembly" version="1.0.0.1" type="win32"
processorArchitecture="x86"/>
<file name="MyDll.dll">
<comClass clsid="{EAFAB8C6-6DA1-453C-BEEB-6DB54F574FE0}"
description="My Class"
tlbid="{10FE49AF-15C5-4FAB-8AB8-0FA72A0A43F9}"
threadingModel="both"
progid="MyDll.MyClass.1">
<progid>MyDll.MyClass</progid>
</comClass>
<typelib tlbid="{10FE49AF-15C5-4FAB-8AB8-0FA72A0A43F9}"
version="1.0"
helpdir=""
flags="hasdiskimage"/>
</file>
<comInterfaceExternalProxyStub
iid="{6A15CB33-C7FD-4740-B4FC-0093C3DC91C4}"
name="IMyClass"
tlbid="{10FE49AF-15C5-4FAB-8AB8-0FA72A0A43F9}"
proxyStubClsid32="{EAFAB8C6-6DA1-453C-BEEB-6DB54F574FE0}"
numMethods="13"/>
</assembly>
On XP I have no problems using the component, on Vista I get errors trying
to create the COM object.
Either 0x80040154 (Class not registered) when using a GUID to create the
object or
0x800401F3 when trying to use the prog id.
Is there something additional that needs to be done to get Side-By-Side
assemblies to work on Vista?
The dll manifest is embedded in the dll
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="MyAssembly" version="1.0.0.1" type="win32"
processorArchitecture="x86"/>
<file name="MyDll.dll">
<comClass clsid="{EAFAB8C6-6DA1-453C-BEEB-6DB54F574FE0}"
description="My Class"
tlbid="{10FE49AF-15C5-4FAB-8AB8-0FA72A0A43F9}"
threadingModel="both"
progid="MyDll.MyClass.1">
<progid>MyDll.MyClass</progid>
</comClass>
<typelib tlbid="{10FE49AF-15C5-4FAB-8AB8-0FA72A0A43F9}"
version="1.0"
helpdir=""
flags="hasdiskimage"/>
</file>
<comInterfaceExternalProxyStub
iid="{6A15CB33-C7FD-4740-B4FC-0093C3DC91C4}"
name="IMyClass"
tlbid="{10FE49AF-15C5-4FAB-8AB8-0FA72A0A43F9}"
proxyStubClsid32="{EAFAB8C6-6DA1-453C-BEEB-6DB54F574FE0}"
numMethods="13"/>
</assembly>