Android_UEFIInstaller.MainWindow.RequirementsCheck C# (CSharp) Method

RequirementsCheck() private method

private RequirementsCheck ( ) : System.Boolean
return System.Boolean
        Boolean RequirementsCheck()
        {
            /*
             * App is running as admin
             * Access to NVRAM Granted
             * System has UEFI
             * System is running Windows 8 or higher
             * System is running on Windows 64-bit
             * Target partition has enough space
             *
             */

            Log.write("=============[REQUIREMENTS CHECK]============");
            //
            //Administrator check
            //
            if (IsAdministrator())
                Log.write("Administrator privilege ... ok");
            else
            {
                Log.write("Administrator privilege ... fail");
                return false;
            }
            //
            // 64-bit check
            //
            if (!Environment.Is64BitOperatingSystem)
            {
                Log.write("OS Type: ... fail");
                return false;
            }
            //
            // OS Version Check
            //
            Log.write("OSVer: " + Environment.OSVersion.ToString());
            if (System.Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                switch (System.Environment.OSVersion.Version.Major)
                {
                    case 6:
                        if (System.Environment.OSVersion.Version.Minor >= 2)
                            Log.write("OperatingSystem Version ... ok");
                        break;
                    case 10:
                        Log.write("OperatingSystem Version ... ok");
                        break;
                    default:
                        return false;
                }
            }
            else
                return false;

            //
            //Load UEFI Library
            //
            Handle = LoadLibrary( @"Win32UEFI.dll");
            if (Handle == IntPtr.Zero)
            {
                int errorCode = Marshal.GetLastWin32Error();
                Log.write(string.Format("Failed to load library (ErrorCode: {0})", errorCode));
                return false;
            }

            //
            //NVRAM Access
            //
            if (ws.GetAccesstoNVRam())
                Log.write("Windows Security: Access NVRAM Privilege ... ok");
            else
            {
                Log.write("Windows Security: Access NVRAM Privilege ... Not All Set");
            }

            //
            //UEFI Check
            //
            if (UEFIWrapper.UEFI_isUEFIAvailable())
                Log.write("System Firmware: UEFI");
            else
            {
                Log.write("System Firmware: Other");
                return false;
            }

            return true;
        }