protected List <string> ListPaths(LibraryPathType iType)
        {
            List <string> vResult = new List <string>();

            vResult.AddRange(ReadString(DelphiRegistryKeys.LibraryKey(iType), "Search Path").ToString().Split(';'));
            return(vResult);
        }
        protected IDictionary <string, string> ListEnvironmentPaths(LibraryPathType iType)
        {
            Dictionary <string, string> vResult = new Dictionary <string, string>();

            try
            {
                vResult.Add("delphi", ReadString(DelphiRegistryKeys.RootDirKey(iType), "RootDir"));
                RegistryKey vKey = DelphiRegistryKeys.EnvironmentPathsKey(iType);
                foreach (string vValueName in vKey.GetValueNames())
                {
                    vResult.Add(vValueName, vKey.GetValue(vValueName).ToString());
                }
            }
            catch (NotSupportedException)
            {
                // In this case return empty dictionary - no environment variables to return
            }
            return(vResult);
        }