Exemple #1
0
        public void PerformTreatment()
        {
            int packageCount = 0;

            try
            {
                using (DismSession session = DismApi.OpenOnlineSession())
                {
                    DismAppxPackageCollection dismAppxPackages = DismApi.GetProvisionedAppxPackages(session);
                    foreach (var package in dismAppxPackages)
                    {
                        try
                        {
                            if (StoreApps.shouldRemove(package.DisplayName))
                            {
                                DismApi.RemoveProvisionedAppxPackage(session, package.PackageName);
                                logger.Log("Successfully deprovisioned {0}", package.DisplayName);
                            }
                            else
                            {
                                logger.Log("Not deprovisioning {0}", package.DisplayName);
                            }
                        }
                        catch (DismRebootRequiredException ex)
                        {
                            logger.Log("Successfully deprovisioned {0}: {1}", package.DisplayName, ex.Message);
                        }

                        packageCount += 1;
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Log("An error occurred while deprovisioning packages: {0}", ex.Message);
            }

            if (packageCount <= 0)
            {
                logger.Log("No Windows Store packages were deprovisioned.");
            }
        }
Exemple #2
0
        public void PerformTreatment()
        {
            int packageCount = 0;
            IEnumerable <Package> packages = packageManager.FindPackages();

            foreach (var package in packages)
            {
                // Don't remove frameworks
                if (package.IsFramework)
                {
                    continue;
                }

                // Don't remove system packages
                if (package.SignatureKind == PackageSignatureKind.System)
                {
                    continue;
                }

                if (StoreApps.shouldRemove(package.Id.Name))
                {
                    RemovePackage(package);
                    packageCount += 1;
                }
                else
                {
                    logger.Log("Not removing {0}", package.Id.Name);
                }
            }

            if (packageCount <= 0)
            {
                logger.Log("No Windows Store applications were uninstalled.");
            }
            logger.Log("");
        }