From: Ketchup on
Hi,

I wrote and ATL COM Dll that I am using in VB.NET. I used ATL with static
linking. I am not using MFC. The Dll works on my laptop where all the
development was done. How many times have you heard that? :) On other
machines, the Dll is not working properly, triggering an exception because
it is not registered. While I can regsrvr32 the Dll on other machines, I
would prefer not to do that. How do I get this Dll to just run from the
same folder as the host application, without having to register it first?
VB.NET does the annoying thing where it carves out the Dll and copies to the
executable folder with an Interop. prefix. The Dll file it copies is much
smaller then the original used as a reference.

I am working in Visual Studio 2002. (I know it's buggy).

Thnanks!


From: Igor Tandetnik on
Ketchup <ketchup(a)ketchup.com> wrote:
> While I can
> regsrvr32 the Dll on other machines, I would prefer not to do that.
> How do I get this Dll to just run from the same folder as the host
> application, without having to register it first?

http://msdn.microsoft.com/en-us/library/ms973913.aspx
http://www.devx.com/vb/Article/32888

--
With best wishes,
Igor Tandetnik

With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925


From: Ketchup on
Igor, thank you! Would you be able to point me to a link that would
explain how I can embed the assembly manifest into the dll so that I don't
have to worry about creating manifest files for every host application?
From my reading, it looks like that happens almost automatically in Visual
Studio 2005. I am working on 2002 and can't seem to figure out how to do
that.

thanks!

"Igor Tandetnik" <itandetnik(a)mvps.org> wrote in message
news:O6k8Q2HYJHA.4772(a)TK2MSFTNGP03.phx.gbl...
> Ketchup <ketchup(a)ketchup.com> wrote:
>> While I can
>> regsrvr32 the Dll on other machines, I would prefer not to do that. How
>> do I get this Dll to just run from the same folder as the host
>> application, without having to register it first?
>
> http://msdn.microsoft.com/en-us/library/ms973913.aspx
> http://www.devx.com/vb/Article/32888
>
> --
> With best wishes,
> Igor Tandetnik
>
> With sufficient thrust, pigs fly just fine. However, this is not
> necessarily a good idea. It is hard to be sure where they are going to
> land, and it could be dangerous sitting under them as they fly
> overhead. -- RFC 1925
>
>


From: Igor Tandetnik on
Ketchup <ketchup(a)ketchup.com> wrote:
> Igor, thank you! Would you be able to point me to a link that would
> explain how I can embed the assembly manifest into the dll so that I
> don't have to worry about creating manifest files for every host
> application?

Simply add this line to your .rc file:

1 RT_MANIFEST YourManifestFile.manifest

Note that you can embed the assembly manifest into the assembly, but you
can't embed the application manifest (client.exe.manifest file in the
example). This one is specific to every client app.
--
With best wishes,
Igor Tandetnik

With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925


From: Ketchup on
"Igor Tandetnik" <itandetnik(a)mvps.org> wrote in message
news:%233zxxQJYJHA.1324(a)TK2MSFTNGP04.phx.gbl...

> Note that you can embed the assembly manifest into the assembly, but you
> can't embed the application manifest (client.exe.manifest file in the
> example). This one is specific to every client app.

Igor, thanks again! Regarding the above, is there another way people
create DLL files that do not require registration? I know that I have used
DLL files I have downloaded from the web as COM DLLs in VB.NET without
having to register anything. I simply copied the entire directory with the
program to a destination machine and it just worked. I never had to
create a manifest file for the client application or register a DLL.

thanks!