Hi,
Sorry if this is a basic question, I haven't been developing in vb .net
that long.
Basically my problem is as follows. I have a few VB5 dlls which I have
referenced in my VB.Net application located my c:\winnt\system32\
directory. (The VB5 dlls are also located in all of the user's
c:\winnt\system32\ directory's). After compiling the .Net application,
interop dlls are created for each of my VB5 dlls and are stored in the
\Bin directory, along with a copy of the VB5 dlls. When I move the
.net executable to the network drive where all the user's will run the
application from, the application will only run if the interop dlls and
the VB5 dlls are located in the same directory. If I remove either the
interop or VB5 dll's, then the application does not work.
As I have told the VB.net application to reference the dlls, from the
c:\winnt\system32\ directory, I do not understand that when compiled,
the application must use the dlls from the same location as the
executable.
Is the Interop dll a pointer to the dlls, and if so, is it possible to
modify the interop dlls to point to a location other than the
application path, i.e, the c:\winnt\system32\ directory? Can anyone
please help me out with changing the location of VB5 dlls to anywhere
other than the application path?
TIA,
-adam
Mattias Sjögren - 08 Nov 2006 05:57 GMT
>(The VB5 dlls are also located in all of the user's
>c:\winnt\system32\ directory's).
Are they registered?
>Is the Interop dll a pointer to the dlls, and if so, is it possible to
>modify the interop dlls to point to a location other than the
>application path, i.e, the c:\winnt\system32\ directory?
The interop DLL doesn't contain any fixed path, no. COM relies on
registration to know where the DLL is located.
Mattias

Signature
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Adam - 08 Nov 2006 10:35 GMT
The VB5 dlls are already registered on the user's machines, located in
the c:\winnt\system32\ directory.
If COM relies on registration to know where the DLL is located, does
that mean I nede to to change the location in the registry?