From a59be28daa8763cefd286d43bffcc440515bee2f Mon Sep 17 00:00:00 2001 From: sr55 Date: Fri, 2 Apr 2010 19:43:46 +0000 Subject: [PATCH] WinGui: - Put in some checks on ui launch to make sure the cli and it's dll are present. git-svn-id: svn://localhost/HandBrake/trunk@3191 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- win/C#/Program.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/win/C#/Program.cs b/win/C#/Program.cs index 805d339a..9596676e 100644 --- a/win/C#/Program.cs +++ b/win/C#/Program.cs @@ -21,6 +21,31 @@ namespace Handbrake [STAThread] public static void Main() { + const string failedInstall = "HandBrake is not installed properly. Please reinstall HandBrake. \n\n"; + const string nightlyCLIMissing = + "If you have downloaded the \"HandBrakeGUI\" nightly, " + + "please make sure you have also downloaded the \"HandBrakeCLI\" nightly and extracted it's contents to the same folder. "; + string missingFiles = string.Empty; + + // Verify HandBrakeCLI.exe and ilibgcc_s_sjlj-1.dll exists + if (!File.Exists(Path.Combine(Application.StartupPath, "HandBrakeCLI.exe"))) + { + missingFiles += "\"HandBrakeCLI.exe\" was not found."; + } + + if (!File.Exists(Path.Combine(Application.StartupPath, "libgcc_s_sjlj-1.dll"))) + { + missingFiles += "\n\"libgcc_s_sjlj-1.dll\" was not found."; + } + + if (missingFiles != string.Empty) + { + MessageBox.Show(failedInstall + missingFiles + "\n\n"+ nightlyCLIMissing, "Error", MessageBoxButtons.OK, + MessageBoxIcon.Error); + return; + } + + // Check were not running on a screen that's going to cause some funnies to happen. Screen scr = Screen.PrimaryScreen; if ((scr.Bounds.Width < 1024) || (scr.Bounds.Height < 620)) MessageBox.Show("Your system does not meet the minimum requirements for HandBrake. \n" + "Your screen is running at: " + scr.Bounds.Width + "x" + scr.Bounds.Height + " \nScreen resolution is too Low. Must be 1024x620 or greater", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); -- 2.11.0