/*
  * Removes any eventual services, scheduled tasks and/or registry keys related to the specified app group
  */
 private void PerformPostUninstallOperations(UWPAppGroup appGroup)
 {
     if (postUninstallOperationsForGroup.ContainsKey(appGroup))
     {
         postUninstallOperationsForGroup[appGroup]();
     }
     else
     {
         Console.WriteLine("Nothing to do.");
     }
 }
 private void TryPerformPostUninstallOperations(UWPAppGroup appGroup)
 {
     Console.WriteLine($"Performing post-uninstall operations for app {appGroup}...");
     try
     {
         PerformPostUninstallOperations(appGroup);
     }
     catch (Exception exc)
     {
         ConsoleUtils.WriteLine("Unable to complete post-uninstall operations " +
                                $"for app group {appGroup}: {exc.Message}", ConsoleColor.Red);
     }
 }
        private bool UninstallAppsOfGroup(UWPAppGroup appGroup)
        {
            ConsoleUtils.WriteLine($"Removing {appGroup.ToString()} app(s)...", ConsoleColor.Green);

            bool atLeastOneAppUninstalled = false;

            foreach (string appName in appNamesForGroup[appGroup])
            {
                UninstallApp(appName);
                if (!atLeastOneAppUninstalled)
                {
                    atLeastOneAppUninstalled = psInstance.GetVariable("package").IsNotEmpty();
                }
            }

            return(atLeastOneAppUninstalled);
        }