public override Task ApplyAsync()
        {
            _logger?.LogEvent(PythonLogEvent.InstallEnv, null);

            var ids = SetupPackages.Where(p => p.IsChecked).Select(p => p.PackageId).ToArray();

            if (ids.Length > 0)
            {
                IVsProjectAcquisitionSetupDriver driver;
                if (_retargeting != null &&
                    ErrorHandler.Succeeded(_retargeting.GetSetupDriver(VSConstants.SetupDrivers.SetupDriver_VS, out driver)) &&
                    driver != null)
                {
                    var task = driver.Install(ids);
                    if (task != null)
                    {
                        task.Start();
                    }
                }
            }
            else
            {
                Debug.Fail("Accept button should have been disabled");
            }

            return(Task.CompletedTask);
        }
 private void RefreshAcceptButton()
 {
     IsAcceptEnabled = SetupPackages?.Any(p => p.IsChecked) ?? false;
 }