public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor) { using (progressMonitor.BeginTask("Saving TestDriven.Net preferences.", 2)) { base.ApplyPendingSettingsChanges(elevationContext, progressMonitor); foreach (DataGridViewRow row in frameworkGridView.Rows) { var installationMode = InstallationModeFromString((string)row.Cells[1].Value); var frameworkId = (string)row.Tag; PreferenceManager.SetInstallationModeForFramework(frameworkId, installationMode); } progressMonitor.Worked(1); InstallerManager.Install(new[] { TDNetRunnerInstaller.InstallerId }, elevationContext, progressMonitor.CreateSubProgressMonitor(1)); } }