예제 #1
0
        /// <summary>
        /// 생성자입니다.
        /// </summary>
        static Common()
        {
            //Platform 을 설정합니다.
            if (Kernel32Utilscs.Is64Bit() == true)
            {
                registryMode = RegistryMode.WoW64;
            }
            else
            {
                registryMode = RegistryMode.Normal;
            }

            //레지스트리 키의 경로를 설정합니다.
            switch (registryMode)
            {
            case RegistryMode.Normal:
                regKeyRoot      = NormalPath;
                regKeyProxyRoot = NormalProxyPath;
                break;

            case RegistryMode.WoW64:
                regKeyRoot      = Wow64Path;
                regKeyProxyRoot = NormalProxyPath;
                break;

            default:
                regKeyRoot      = NormalPath;
                regKeyProxyRoot = NormalProxyPath;
                break;
            }
        }
예제 #2
0
 public static void ClearConditions()
 {
     if (_conditions != null)
     {
         _conditions.Clear();
     }
     _currentMode = RegistryMode.None;
 }
예제 #3
0
 private Registry()
 {
     if (ComponentTypeUtility.IsManagedComponentType(typeof(TComponent)))
     {
         mode = RegistryMode.Managed;
     }
     else
     {
         mode = RegistryMode.Native;
     }
 }
예제 #4
0
        public static RegistryMode GetCurrentMode()
        {
            if (_conditions == null || _conditions.Count == 0)
            {
                if (_currentMode == RegistryMode.None)
                {
                    _currentMode = GetModeFromEnvConfig();
                }
            }
            else
            {
                _currentMode = GetModeFromConditions();
            }

            return _currentMode;
        }
예제 #5
0
        public static RegistryMode GetCurrentMode()
        {
            if (_conditions == null || _conditions.Count == 0)
            {
                if (_currentMode == RegistryMode.None)
                {
                    _currentMode = GetModeFromEnvConfig();
                }
            }
            else
            {
                _currentMode = GetModeFromConditions();
            }

            return(_currentMode);
        }
예제 #6
0
 private static RegistryMode GetModeFromEnvConfig(RegistryMode mode)
 {
     if (RuntimeHelper.IsInDebugMode())
     {
         mode = RegistryMode.Debug;
     }
     else if (RuntimeHelper.IsInReleaseMode())
     {
         mode = RegistryMode.Release;
     }
     else if (RuntimeHelper.IsInLiveMode())
     {
         mode = RegistryMode.Live;
     }
     return(mode);
 }
예제 #7
0
 internal static void ClearConditions()
 {
     if (_conditions != null) _conditions.Clear();
     _currentMode = RegistryMode.None;
 }