Пример #1
0
        public virtual void PrepareRegisteringPrig(ConsoleViewModel vm)
        {
            vm.BeginMachineWideProcessProgress(MachineWideProcesses.Installing);

            var machinePreq = new MachinePrerequisite(Resources.NuGetRootPackageVersion);

            machinePreq.ProfilerStatusChecking += profLoc => vm.ReportProfilerStatusCheckingProgress(profLoc);
            if (MachineWideInstaller.HasBeenInstalled(machinePreq))
            {
                vm.ShowSkippedMachineWideProcessMessage(SkippedReasons.AlreadyRegistered);
                vm.EndSkippedMachineWideProcessProgress(SkippedReasons.AlreadyRegistered);
                return;
            }


            if (!WindowsIdentity.GetCurrent().IsElevated())
            {
                vm.ShowCurrentConsoleHasNotBeenElevatedYetMessage();
                vm.EndSkippedMachineWideProcessProgress(SkippedReasons.Error);
            }
            else
            {
                RegisterPrig(vm);
            }
        }
Пример #2
0
        protected virtual void OnCompletedRegisterPrig(ConsoleViewModel vm, MachineWideProcessResults result)
        {
            switch (result)
            {
            case MachineWideProcessResults.Skipped:
                vm.ShowSkippedMachineWideProcessMessage(SkippedReasons.AlreadyRegistered);
                vm.EndSkippedMachineWideProcessProgress(SkippedReasons.AlreadyRegistered);
                break;

            case MachineWideProcessResults.Completed:
                vm.ShowCompletedMachineWideProcessMessage();
                vm.EndCompletedMachineWideProcessProgress();
                break;
            }
        }
Пример #3
0
        void UnregisterPrig(ConsoleViewModel vm)
        {
            var umwPkg = new MachineWideUninstallation(Resources.NuGetRootPackageVersion);

            umwPkg.Preparing += () => vm.BeginMachineWideProcessProgress(MachineWideProcesses.Uninstalling);
            umwPkg.ProfilerStatusChecking           += profLoc => vm.ReportProfilerStatusCheckingProgress(profLoc);
            umwPkg.ProfilerUnregistering            += profLoc => vm.ReportProfilerProcessingProgress(profLoc);
            umwPkg.ProfilerUnregistered             += stdout => vm.ReportProfilerProcessedProgress(stdout);
            umwPkg.EnvironmentVariableUnregistering += name => vm.ReportEnvironmentVariableProcessingProgress(name, null);
            umwPkg.EnvironmentVariableUnregistered  += name => vm.ReportEnvironmentVariableProcessedProgress();
            umwPkg.NuGetSourceUnregistering         += name => vm.ReportNuGetSourceProcessingProgress(name, null);
            umwPkg.NuGetSourceUnregistered          += stdout => vm.ReportNuGetSourceProcessedProgress(stdout);
            umwPkg.Completed += result => OnCompletedUnregisterPrig(vm, result);

            MachineWideInstaller.Uninstall(umwPkg);
        }
Пример #4
0
        void RegisterPrig(ConsoleViewModel vm)
        {
            var mwInstl = new MachineWideInstallation(Resources.NuGetRootPackageVersion);

            mwInstl.IsPrigSourceInstallationDisabled = true;
            mwInstl.Preparing += () => vm.BeginMachineWideProcessProgress(MachineWideProcesses.Installing);
            mwInstl.ProfilerStatusChecking         += profLoc => vm.ReportProfilerStatusCheckingProgress(profLoc);
            mwInstl.NuGetPackageCreating           += pkgName => vm.ReportNuGetPackageCreatingProgress(pkgName);
            mwInstl.NuGetPackageCreated            += stdout => vm.ReportNuGetPackageCreatedProgress(stdout);
            mwInstl.NuGetSourceRegistering         += (path, name) => vm.ReportNuGetSourceProcessingProgress(path, name);
            mwInstl.NuGetSourceRegistered          += stdout => vm.ReportNuGetSourceProcessedProgress(stdout);
            mwInstl.EnvironmentVariableRegistering += (name, value) => vm.ReportEnvironmentVariableProcessingProgress(name, value);
            mwInstl.EnvironmentVariableRegistered  += (name, value) => vm.ReportEnvironmentVariableProcessedProgress();
            mwInstl.ProfilerRegistering            += profLoc => vm.ReportProfilerProcessingProgress(profLoc);
            mwInstl.ProfilerRegistered             += stdout => vm.ReportProfilerProcessedProgress(stdout);
            mwInstl.Completed += result => OnCompletedRegisterPrig(vm, result);

            MachineWideInstaller.Install(mwInstl);
        }
Пример #5
0
 public RegisterPrigCommand(ConsoleViewModel vm)
     : base(vm)
 {
 }
Пример #6
0
 protected ConsoleCommand(ConsoleViewModel vm, IObservable <bool> canExecuteSource)
     : base(vm, canExecuteSource)
 {
 }
Пример #7
0
 protected ConsoleCommand(ConsoleViewModel vm)
     : base(vm)
 {
 }