BoxedIce.ServerDensity.Agent.Windows.Forms.MainForm.InstallPlugin_Click C# (CSharp) Method

InstallPlugin_Click() private method

private InstallPlugin_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void InstallPlugin_Click(object sender, EventArgs e)
        {
            _plugins.Checked = true;
            if (!IsPluginDirectoryValid())
            {
                MessageBox.Show("Your plugin directory is not valid. It is either blank or doesn't exist.\r\n\r\nPlease ensure this is configured before installing a plugin.", "Invalid plugin directory", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            using (PluginForm form = new PluginForm())
            {
                try
                {
                    form.OK.FlatStyle = FlatStyle.System;
                    SendMessage(form.OK.Handle, BCM_SETSHIELD, 0, 0xFFFFFFFF);
                }
                catch
                {
                }

                if (form.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                string agentKey = _agentKey.Text;
                string installKey = form.InstallKey.Text;
                ProcessStartInfo info = new ProcessStartInfo(PluginHelperExe);
                info.UseShellExecute = true;
                info.Verb = "runas";
                info.Arguments = string.Format("{0} \"{1}\" {2} \"{3}\" \"{4}\" {5} {6} {7} \"{8}\" {9} \"{10}\"",
                    _url.Text,
                    _agentKey.Text,
                    _iis.Checked,
                    _plugins.Checked ? _pluginDirectory.Text : string.Empty,
                    _mongoDB.Checked ? _mongoDBConnectionString.Text : string.Empty,
                    _dbStats.Checked,
                    _replSet.Checked,
                    _sqlServer.Checked,
                    _customPrefix.Checked ? _customPrefixValue.Text : string.Empty,
                    _eventViewer.Checked,
                    installKey);

                try
                {
                    Process p = new Process();
                    p.StartInfo = info;
                    p.Start();
                    Close();
                }
                catch
                {
                    MessageBox.Show("There was an error installing your plugin.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }