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); } } }