コード例 #1
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
        public virtual void UnregisterPrig(PrigViewModel vm)
        {
            var umwPkg = new MachineWideUninstallation(Resources.NuGetRootPackageVersion);

            umwPkg.Preparing += () => vm.BeginMachineWideProcessProgress(MachineWideProcesses.Uninstalling);
            umwPkg.ProfilerStatusChecking           += profLoc => vm.ReportProfilerStatusCheckingProgress(10u, profLoc);
            umwPkg.PrigSourceUninstalling           += pkgName => vm.ReportPrigSourceProcessingProgress(20u, pkgName, null);
            umwPkg.PrigSourceUninstalled            += stdout => vm.ReportPrigSourceProcessedProgress(30u, stdout);
            umwPkg.ProfilerUnregistering            += profLoc => vm.ReportProfilerProcessingProgress(40u, profLoc);
            umwPkg.ProfilerUnregistered             += stdout => vm.ReportProfilerProcessedProgress(50u, stdout);
            umwPkg.EnvironmentVariableUnregistering += name => vm.ReportEnvironmentVariableProcessingProgress(60u, name, null);
            umwPkg.EnvironmentVariableUnregistered  += name => vm.ReportEnvironmentVariableProcessedProgress(70u);
            umwPkg.NuGetSourceUnregistering         += name => vm.ReportNuGetSourceProcessingProgress(80u, name, null);
            umwPkg.NuGetSourceUnregistered          += stdout => vm.ReportNuGetSourceProcessedProgress(90u, stdout);
            umwPkg.Completed += result => OnCompletedUnregisterPrig(vm, result);

            MachineWideInstaller.Uninstall(umwPkg);
        }