/// <summary>
        /// Reloads information about installed packages from
        /// chocolatey lib directory.
        /// </summary>
        public IList <Package> ReloadFromDir()
        {
            this.Log().Debug("Reloadfromdir");
            _instaledPackages = new List <Package>();
            var expandedLibDirectory = Environment.ExpandEnvironmentVariables(_settingsService.ChocolateyLibDirectory);
            var directories          = _fileStorageService.GetDirectories(expandedLibDirectory);

            foreach (var directoryPath in directories)
            {
                this.Log().Debug("Found directory: {0}", directoryPath);
                var directoryPathSegments = directoryPath.Split(_segmentDelim);
                var directoryName         = directoryPathSegments.Last();

                var package = GetPackageFromDirectoryName(directoryName);
                _instaledPackages.Add(package);
            }
            //add chocolatey by default because else this won't work anyway
            _chocolateyService.Help();
            var chocoPackage = new Package {
                Name = "chocolatey", InstalledVersion = _chocoVersion
            };

            this.Log().Debug("Chocolatey package added: {0}", chocoPackage);
            _instaledPackages.Add(chocoPackage);
            return(_instaledPackages);
        }
예제 #2
0
        private void LoadHelp()
        {
            progressBar.Visible = true;
            var bw = new BackgroundWorker();

            bw.DoWork += (o, args) => _chocolateyService.Help();
            bw.RunWorkerAsync();
        }