Dynamic assembly load

I use the system.reflection namespace from a VB2005 program to dynamically load forms from unreferenced assemblies. Code below:

            Dim asmFormAssembly As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom(AssemblyName)
            Dim typToLoad As Type = asmFormAssembly.GetType(FormName)
            Dim objGeneric As Object = Activator.CreateInstance(typToLoad)
            Dim frmToLoad As Form = CType(objGeneric, Form)
            Return frmToLoad

If the assembly name is something like "C:\folder\folder\MyApp.exe" and the form is "MyApp.frmDemo" everything works fine. However, if I set up a shared drive on a server (win2008), copy the assembly there and send assembly name "\\servername\sharename\MyApp.exe" I get the famous "object not set ot an instance of an object" error because typToLoad is returned as nothing in the above code.

The shared drive has full permissions for everone and is a simple share. It is not running under IIS so trust issues should not be an issue. The shared folder is accessible from the calling client and I can paste to it and delete from it from the client (XPpro SP3). Also, I can execute the exe assembly directly on the server.

Any ideas?
AlwaysSomethingToLearnAsked:
Who is Participating?
 
PaulHewsCommented:
Assemblies placed in the GAC have full trust by default, assuming the calling code does as well.
0
 
PaulHewsCommented:
> so trust issues should not be an issue.

Network shares get Local Intranet trust levels.  This is a .NET setting independent of the sharing rights and NTFS security.   Try using CasPol to fully trust the assembly on the network share then try your dynamic code again.

http://msdn.microsoft.com/en-us/library/zdc263t0(v=vs.80).aspx
0
 
AlwaysSomethingToLearnAuthor Commented:
Gave that a try to no effect. I used CasPol for the 2.0 framework as that is what the assembly is built for. I ran CasPol on the server, do I need to run it on the client as well?
0
The Firewall Audit Checklist

Preparing for a firewall audit today is almost impossible.
AlgoSec, together with some of the largest global organizations and auditors, has created a checklist to follow when preparing for your firewall audit. Simplify risk mitigation while staying compliant all of the time!

 
käµfm³d 👽Commented:
I ran CasPol on the server, do I need to run it on the client as well?
No need to run it on the server. You should run it on the client and grant the network location.
0
 
AlwaysSomethingToLearnAuthor Commented:
Thanks for your help, that does it. One last question before closing - am I right in assuming that if the assembly was deployed to the GAC then any trust issues go away?
0
 
AlwaysSomethingToLearnAuthor Commented:
Many thanks for your timely responses
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.