One thing you can do at first is to check whether the assembly is in the
GAC. Assembly.GlobalAssemblyCache will help you to do this. All .Net
framework assemlies are in GAC, while most application assembly won't be
installed into GAC.
However, it won't really resolve your problem, because a user assembly
could be installed into GAC too.
What you can do, is to create a list of names of the assemblies in the .NET
framework, and use this table to match the real assembly name. However,
you will spend some time to generate that list. I think you can get those
names from scanning an install package of the .net framework. It should be
a MSI package, which is actually a small database, where you can find
tables containing what you want.
Thanks
Lifeng
MS VB team