void RegisterPrig(PrigViewModel vm) { var mwInstl = new MachineWideInstallation(Resources.NuGetRootPackageVersion); mwInstl.Preparing += () => vm.BeginMachineWideProcessProgress(MachineWideProcesses.Installing); mwInstl.ProfilerStatusChecking += profLoc => vm.ReportProfilerStatusCheckingProgress(8u, profLoc); mwInstl.NuGetPackageCreating += pkgName => vm.ReportNuGetPackageCreatingProgress(17u, pkgName); mwInstl.NuGetPackageCreated += stdout => vm.ReportNuGetPackageCreatedProgress(25u, stdout); mwInstl.NuGetSourceRegistering += (path, name) => vm.ReportNuGetSourceProcessingProgress(33u, path, name); mwInstl.NuGetSourceRegistered += stdout => vm.ReportNuGetSourceProcessedProgress(42u, stdout); mwInstl.EnvironmentVariableRegistering += (name, value) => vm.ReportEnvironmentVariableProcessingProgress(50u, name, value); mwInstl.EnvironmentVariableRegistered += (name, value) => vm.ReportEnvironmentVariableProcessedProgress(58u); mwInstl.ProfilerRegistering += profLoc => vm.ReportProfilerProcessingProgress(67u, profLoc); mwInstl.ProfilerRegistered += stdout => vm.ReportProfilerProcessedProgress(75u, stdout); mwInstl.PrigSourceInstalling += (pkgName, src) => vm.ReportPrigSourceProcessingProgress(83u, pkgName, src); mwInstl.PrigSourceInstalled += stdout => vm.ReportPrigSourceProcessedProgress(92u, stdout); mwInstl.Completed += result => OnCompletedRegisterPrig(vm, result); MachineWideInstaller.Install(mwInstl); }