ARUP.IssueTracker.Navisworks.CASERibbon.LaunchPlugin C# (CSharp) Method

LaunchPlugin() public method

Launch
public LaunchPlugin ( ) : void
return void
    public void LaunchPlugin()
    {

      // Running Navis
      if (Autodesk.Navisworks.Api.Application.IsAutomated)
      {
        throw new InvalidOperationException("Invalid when running using Automation");
      }

      // Version
      if (!Autodesk.Navisworks.Api.Application.Version.RuntimeProductName.Contains("2015"))
      {
        MessageBox.Show("Incompatible Navisworks Version" + 
                        "\nThis Add-In was built for Navisworks 2015, please contact info@case-inc for assistance...", 
                        "Cannot Continue!", 
                        MessageBoxButtons.OK, 
                        MessageBoxIcon.Error);
        return;
      }

      //Find the plugin
      PluginRecord pr = Autodesk.Navisworks.Api.Application.Plugins.FindPlugin("ARUP.IssueTracker.Navisworks.Plugin.CASE");

      if (pr != null && pr is DockPanePluginRecord && pr.IsEnabled)
      {
          string m_issuetracker = Path.Combine(ProgramFilesx86(), "CASE", "ARUP Issue Tracker", "ARUP.IssueTracker.dll");
          if (!File.Exists(m_issuetracker))
          {
              MessageBox.Show("Required Issue Tracker Library Not Found");
              return;
          }
          Assembly.LoadFrom(m_issuetracker);
        //check if it needs loading
        if (pr.LoadedPlugin == null)
        {

          string exeConfigPath = GetType().Assembly.Location;
          pr.LoadPlugin();
        }

        DockPanePlugin dpp = pr.LoadedPlugin as DockPanePlugin;
        if (dpp != null)
        {
          //switch the Visible flag
          dpp.Visible = !dpp.Visible;
        }
      }

    }
    static string ProgramFilesx86()