void RemovePrigAssemblyCore(PrigPackageViewModel viewModel, string deletionalInclude) { if (viewModel.ShowMessageBox(string.Format("Are you sure you want to remove Prig assembly {0}?", deletionalInclude), OLEMSGBUTTON.OLEMSGBUTTON_YESNO, OLEMSGICON.OLEMSGICON_QUERY) != VSConstants.MessageBoxResult.IDYES) return; viewModel.Statusbar.BeginProgress(); viewModel.Statusbar.ReportProgress("Checking current project's packages...", 25u, 100u); var project = MonitoringSelectionService.GetCurrentProject(); if (!InstallerServices.IsPackageInstalledEx(project, Resources.NuGetRootPackageId, Resources.NuGetRootPackageVersion)) { if (InstallerServices.IsPackageInstalled(project, Resources.NuGetRootPackageId)) Uninstaller.UninstallPackage(project, Resources.NuGetRootPackageId, false); InstallPackage(viewModel, project, Resources.NuGetRootPackageId, Resources.NuGetRootPackageVersion, 50u, 100u); } viewModel.Statusbar.ReportProgress("Starting the Prig setup session...", 75u, 100u); var command = string.Format( @" Import-Module ([IO.Path]::Combine($env:URASANDESU_PRIG_PACKAGE_FOLDER, 'tools\Urasandesu.Prig')) Start-PrigSetup -DeletionalInclude {0} -Project $Project ", deletionalInclude); ExecuteCommand(command, project); viewModel.Statusbar.ReportProgress(string.Format("Completed removing Prig assembly {0}.", deletionalInclude), 100u, 100u); viewModel.ShowMessageBox(string.Format("Completed removing Prig assembly {0}.", deletionalInclude), OLEMSGBUTTON.OLEMSGBUTTON_OK, OLEMSGICON.OLEMSGICON_INFO); viewModel.Statusbar.EndProgress(); viewModel.Statusbar.Text.Value = string.Format("Completed removing Prig assembly {0}.", deletionalInclude); }