Example #1
0
        static void Main()
        {
            com.vanticore.utilities.debug.DebugManager dm = new com.vanticore.utilities.debug.DebugManager(Environment.GetCommandLineArgs());

            dm.Initialize(Application.ProductName, Constants.LogFilesPath, com.vanticore.utilities.debug.DebugManager.FileSizes.OneMegaByte);

            Trace.TraceInformation("Debug was turned on via the command line.");

            bool SingleInstance = false;

            System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out SingleInstance);

            if (!SingleInstance)
            {
                MessageBox.Show("Application is already running." + Environment.NewLine + "Please close other instances.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);

                Trace.TraceError("Another instance of this application is already running." + Environment.NewLine + "This instance will terminate.");

                Application.Exit();
            }
            else
            {
                Trace.TraceWarning("First instance of this application.");
            }

            Trace.TraceInformation("Runtime: " + Environment.Version.ToString());
            Trace.TraceInformation("Product Version: " + Application.ProductVersion);

            try
            {
                System.Security.Principal.WindowsPrincipal wp = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent());

                if (!wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
                {
                    MessageBox.Show("Current user is not part of BuiltIn\\Administrators." + Environment.NewLine + "Application will not work properly." + Environment.NewLine + "Please contact your System's Administrator.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    Trace.TraceWarning("User is not part of BuiltIn\\Administrators");
                }
                else
                {
                    Trace.TraceInformation("User is part of BuiltIn\\Administrators");
                }
            }
            catch (Exception ex)
            {
                Trace.TraceError("Exception determining user group:" + ex.Message + Environment.NewLine + "Stack Trace:" + ex.StackTrace);
                MessageBox.Show("Exception determining user group:" + Environment.NewLine + ex.Message + Environment.NewLine + "Application will not work properly." + Environment.NewLine + "Please contact your System's Administrator.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Context());

            GC.KeepAlive(mutex);
        }
Example #2
0
 public static void SetDebugManagerReference(com.vanticore.utilities.debug.DebugManager Reference)
 {
     _DebugManager = Reference;
 }