public void Uninstall(MachineWideUninstallation mwUninstl) { if (mwUninstl == null) { throw new ArgumentNullException("mwUninstl"); } mwUninstl.OnPreparing(); if (!HasBeenInstalled(mwUninstl.Prerequisite)) { mwUninstl.OnCompleted(MachineWideProcessResults.Skipped); return; } if (!mwUninstl.IsPrigSourceUninstallationDisabled) { UninstallAllSources(mwUninstl); } UnregisterProfiler(mwUninstl); UnregisterEnvironmentVariables(mwUninstl); UnregisterNuGetSource(mwUninstl); EnvironmentRepository.UnregisterToolsPath(); EnvironmentRepository.UnregisterPackageFolder(); mwUninstl.OnCompleted(MachineWideProcessResults.Completed); }
void UnregisterNuGetSource(MachineWideUninstallation mwUninstl) { var name = "Prig Source"; mwUninstl.OnNuGetSourceUnregistering(name); var stdout = NuGetExecutor.StartUnsourcing(name); mwUninstl.OnNuGetSourceUnregistered(stdout); }
void UninstallAllSources(MachineWideUninstallation mwUninstl) { var pkgName = "All"; mwUninstl.OnPrigSourceUninstalling(pkgName); var stdout = PrigExecutor.StartUninstalling(pkgName); mwUninstl.OnPrigSourceUninstalled(stdout); }
void UnregisterEnvironmentVariables(MachineWideUninstallation mwUninstl) { { var name = EnvironmentRepository.GetPackageFolderKey(); mwUninstl.OnEnvironmentVariableUnregistering(name); EnvironmentRepository.RemovePackageFolder(); mwUninstl.OnEnvironmentVariableUnregistered(name); } { var name = EnvironmentRepository.GetLogFolderKey(); mwUninstl.OnEnvironmentVariableUnregistering(name); EnvironmentRepository.RemoveLogFolder(); mwUninstl.OnEnvironmentVariableUnregistered(name); } }
void UnregisterProfiler(MachineWideUninstallation mwUninstl) { var profLocs = EnvironmentRepository.GetProfilerLocations(); if (profLocs == null || profLocs.Length == 0) { return; } foreach (var profLoc in EnvironmentRepository.GetProfilerLocations()) { mwUninstl.OnProfilerUnregistering(profLoc); var stdout = Regsvr32Executor.StartUninstalling(profLoc.PathOfInstalling); mwUninstl.OnProfilerUnregistered(stdout); } }
void UnregisterProfiler(MachineWideUninstallation mwUninstl) { var profLocs = EnvironmentRepository.GetProfilerLocations(); if (profLocs == null || profLocs.Length == 0) return; foreach (var profLoc in EnvironmentRepository.GetProfilerLocations()) { mwUninstl.OnProfilerUnregistering(profLoc); var stdout = Regsvr32Executor.StartUninstalling(profLoc.PathOfInstalling); mwUninstl.OnProfilerUnregistered(stdout); } }
public void Uninstall(MachineWideUninstallation mwUninstl) { if (mwUninstl == null) throw new ArgumentNullException("mwUninstl"); mwUninstl.OnPreparing(); if (!HasBeenInstalled(mwUninstl.Prerequisite)) { mwUninstl.OnCompleted(MachineWideProcessResults.Skipped); return; } if (!mwUninstl.IsPrigSourceUninstallationDisabled) UninstallAllSources(mwUninstl); UnregisterProfiler(mwUninstl); UnregisterEnvironmentVariables(mwUninstl); UnregisterNuGetSource(mwUninstl); EnvironmentRepository.UnregisterToolsPath(); EnvironmentRepository.UnregisterPackageFolder(); mwUninstl.OnCompleted(MachineWideProcessResults.Completed); }