--- /dev/null
+diff --git a/win/C#/HandBrake.ApplicationServices/Init.cs b/win/C#/HandBrake.ApplicationServices/Init.cs
+new file mode 100644
+index 0000000..bacf132
+--- /dev/null
++++ b/win/C#/HandBrake.ApplicationServices/Init.cs
+@@ -0,0 +1,144 @@
++/* Init.cs $\r
++ This file is part of the HandBrake source code.\r
++ Homepage: <http://handbrake.fr>.\r
++ It may be used under the terms of the GNU General Public License. */\r
++\r
++namespace HandBrake.ApplicationServices\r
++{\r
++ using System;\r
++ using System.Reflection;\r
++\r
++ /// <summary>\r
++ /// Initialize ApplicationServices\r
++ /// </summary>\r
++ public class Init\r
++ {\r
++ /// <summary>\r
++ /// Setup the Settings used by the applicaiton with this library\r
++ /// </summary>\r
++ /// <param name="versionString">\r
++ /// The version / name of the application that's using this DLL.\r
++ /// </param>\r
++ /// <param name="instanceId">\r
++ /// The Instance ID\r
++ /// </param>\r
++ /// <param name="completionOption">\r
++ /// The completion option.\r
++ /// </param>\r
++ /// <param name="disableDvdNav">\r
++ /// The disable dvd nav.\r
++ /// </param>\r
++ /// <param name="growlEncode">\r
++ /// The growl encode.\r
++ /// </param>\r
++ /// <param name="growlQueue">\r
++ /// The growl queue.\r
++ /// </param>\r
++ /// <param name="processPriority">\r
++ /// The process priority.\r
++ /// </param>\r
++ /// <param name="saveLogPath">\r
++ /// The save log path.\r
++ /// </param>\r
++ /// <param name="saveLogToSpecifiedPath">\r
++ /// The save log to specified path.\r
++ /// </param>\r
++ /// <param name="saveLogWithVideo">\r
++ /// The save log with video.\r
++ /// </param>\r
++ /// <param name="showCliForInGuiEncodeStatus">\r
++ /// The show cli for in gui encode status.\r
++ /// </param>\r
++ /// <param name="preventSleep">\r
++ /// Prevent the system from sleeping\r
++ /// </param>\r
++ public static void SetupSettings(string versionString, int instanceId, string completionOption, bool disableDvdNav,\r
++ bool growlEncode, bool growlQueue, string processPriority, string saveLogPath, bool saveLogToSpecifiedPath,\r
++ bool saveLogWithVideo, bool showCliForInGuiEncodeStatus, bool preventSleep)\r
++ {\r
++ InstanceId = instanceId;\r
++ HandBrakeGuiVersionString = versionString;\r
++ CompletionOption = completionOption;\r
++ DisableDvdNav = disableDvdNav;\r
++ GrowlEncode = growlEncode;\r
++ GrowlQueue = growlQueue;\r
++ ProcessPriority = processPriority;\r
++ SaveLogPath = saveLogPath;\r
++ SaveLogToSpecifiedPath = saveLogToSpecifiedPath;\r
++ SaveLogWithVideo = saveLogWithVideo;\r
++ ShowCliForInGuiEncodeStatus = showCliForInGuiEncodeStatus;\r
++ PreventSleep = preventSleep;\r
++ }\r
++\r
++ /// <summary>\r
++ /// Gets the Assembly version.\r
++ /// </summary>\r
++ /// <returns>\r
++ /// Version data\r
++ /// </returns>\r
++ public static Version AssemblyVersion()\r
++ {\r
++ return Assembly.GetExecutingAssembly().GetName().Version;\r
++ }\r
++\r
++ /// <summary>\r
++ /// The instance ID used by the Main Applicaiton\r
++ /// </summary>\r
++ public static int InstanceId;\r
++\r
++ /// <summary>\r
++ /// The Applicaiton that uses this DLL can pass in it's version string.\r
++ /// </summary>\r
++ public static string HandBrakeGuiVersionString;\r
++\r
++ /// <summary>\r
++ /// What to do when the encode completes.\r
++ /// </summary>\r
++ public static string CompletionOption;\r
++\r
++ /// <summary>\r
++ /// Disable LibDvdNav\r
++ /// </summary>\r
++ public static bool DisableDvdNav;\r
++\r
++ /// <summary>\r
++ /// Growl when an encode has finished.\r
++ /// </summary>\r
++ public static bool GrowlEncode;\r
++\r
++ /// <summary>\r
++ /// Growl when a queue has finished.\r
++ /// </summary>\r
++ public static bool GrowlQueue;\r
++\r
++ /// <summary>\r
++ /// The Process Priority for HandBrakeCLI\r
++ /// </summary>\r
++ public static string ProcessPriority;\r
++\r
++ /// <summary>\r
++ /// Path to save log files to.\r
++ /// </summary>\r
++ public static string SaveLogPath;\r
++\r
++ /// <summary>\r
++ /// Copy log files to the SaveLogPath\r
++ /// </summary>\r
++ public static bool SaveLogToSpecifiedPath;\r
++\r
++ /// <summary>\r
++ /// Save a copy of the log files with the video\r
++ /// </summary>\r
++ public static bool SaveLogWithVideo;\r
++\r
++ /// <summary>\r
++ /// Show the CLI window when encoding.\r
++ /// </summary>\r
++ public static bool ShowCliForInGuiEncodeStatus;\r
++\r
++ /// <summary>\r
++ /// Prevent system sleep\r
++ /// </summary>\r
++ public static bool PreventSleep;\r
++ }\r
++}\r