Finding a Control in the GAC

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.


Answer this question

Finding a Control in the GAC

  • Jason P

    never done this, but a little peak in the help system under assemblies, finding resource names gave the following code:

    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.

  • Finding a Control in the GAC