I'm developing a windowsforms application that will be deployed on a variety of workstations. Each may have a different level of Visio installed. If the user has Visio 2003 installed, my app should use the PIA and host the control within the application itself. Otherwise, I should just provide a button to launch Visio outside of the app. How do I tell if the PIA is in the GAC and if so, create an instance of the control
Thanks,
Todd G.

Finding a Control in the GAC
Jason P
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetExecutingAssembly();
string [] resources = thisExe.GetManifestResourceNames();
string list = "";
// Build the string of resources.
foreach (string resource in resources)
list += resource + "\r\n";
In case you know the exact PIA you're looking for you might check the resource against it,
the utility "gacutil -l" gives you also a listing of the contents of the GAC.