Exemple #1
0
        public static IEnumerable <T> RetrieveAllVisualStudioRegistryValues <T>(VisualStudioRegistryLocation primaryKey, string subkeyName, string valueName)
        {
            string subKeyName1;
            string subKeyName2;

            switch (primaryKey)
            {
            case VisualStudioRegistryLocation.LocalMachine:
            case VisualStudioRegistryLocation.User:
                subKeyName1 = "Software\\Microsoft\\VisualStudio\\11.0\\" + subkeyName ?? string.Empty;
                subKeyName2 = "Software\\Microsoft\\VSWinExpress\\11.0\\" + subkeyName ?? string.Empty;
                break;

            case VisualStudioRegistryLocation.UserConfig:
                subKeyName1 = "Software\\Microsoft\\VisualStudio\\11.0_Config\\" + subkeyName ?? string.Empty;
                subKeyName2 = "Software\\Microsoft\\VSWinExpress\\11.0_Config\\" + subkeyName ?? string.Empty;
                break;

            default:
                return(Enumerable.Empty <T>());
            }
            switch (primaryKey)
            {
            case VisualStudioRegistryLocation.LocalMachine:
                return(RegistryHelper.EnumerateValues <T>(new RegistryHelper.Lookup(RegistryHelper.Hives.LocalMachine, subKeyName1, valueName), new RegistryHelper.Lookup(RegistryHelper.Hives.LocalMachine, subKeyName2, valueName)));

            case VisualStudioRegistryLocation.User:
            case VisualStudioRegistryLocation.UserConfig:
                return(RegistryHelper.EnumerateValues <T>(new RegistryHelper.Lookup(RegistryHelper.Hives.CurrentUser, subKeyName1, valueName), new RegistryHelper.Lookup(RegistryHelper.Hives.CurrentUser, subKeyName2, valueName), new RegistryHelper.Lookup(RegistryHelper.Hives.DefaultUser, subKeyName1, valueName), new RegistryHelper.Lookup(RegistryHelper.Hives.DefaultUser, subKeyName2, valueName)));

            default:
                return(Enumerable.Empty <T>());
            }
        }
Exemple #2
0
 public static T RetrieveVisualStudioRegistryValue <T>(VisualStudioRegistryLocation primaryKey, string subkeyName, string valueName)
 {
     return(Enumerable.FirstOrDefault <T>(RegistryHelper.RetrieveAllVisualStudioRegistryValues <T>(primaryKey, subkeyName, valueName)));
 }