Example #1
0
        static void Main()
        {
#if RELEASE
            try {
#endif
//		  System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ml-IN");
//		  System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("ml-IN");

            // The application should be run in full trust mode; but just in case!
            System.Security.Permissions.EnvironmentPermission envPermission = new System.Security.Permissions.EnvironmentPermission(System.Security.Permissions.PermissionState.Unrestricted);
            envPermission.Demand();

            LoadRuntimeData();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
#if RELEASE
        }
        catch (Exception ex) {
            System.Security.Permissions.FileIOPermission ioperm = new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.AllAccess, System.Security.AccessControl.AccessControlActions.Change, Utility.DEBUG_FILE_PATH);
            ioperm.Demand();
            using (FileStream fs = new FileStream(Utility.DEBUG_FILE_PATH, FileMode.Append, FileAccess.Write, FileShare.None)) {
                string debugMessage = "-------------------------------------------" + Environment.NewLine;
                debugMessage += DateTime.UtcNow.ToLongDateString() + " " + DateTime.UtcNow.ToLongTimeString() + " UTC" + Environment.NewLine + Environment.NewLine;
                debugMessage += ex.Message + Environment.NewLine;
                debugMessage += ex.StackTrace + Environment.NewLine + Environment.NewLine;
                byte[] buffer = System.Text.UTF8Encoding.UTF8.GetBytes(debugMessage);
                fs.Write(buffer, 0, buffer.Length);
                fs.Flush();
            }
            MessageBox.Show("An unhandled error has occured in SMOz. SMOz cannot continue.\n\nMore information is available in the file '" + Utility.DEBUG_FILE_PATH + "'. Please include the contents of that file when requesting support. Sorry about the inconvenience.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
#endif
        }
Example #2
0
        private Boolean CanSystemAccessFile()
        {
            //////////////////////////////////////////
            var perm = new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.Write | System.Security.Permissions.FileIOPermissionAccess.Read, _st_PathErrLog);

            //
            try
            {
                perm.Demand();
                return(true);
            }
            catch (System.AccessViolationException ex_0)
            {
                return(false);
            }
            catch (IOException e)
            {
                if (IsSystemFileLocked(e))
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex_1)
            {
                return(false);
            }
        }
Example #3
0
        } // end checkForToSProcess

        internal static bool checkForToSDirectory(string tosRootDir)
        {
            bool ret = false;

            if (!string.IsNullOrEmpty(tosRootDir) && System.IO.Directory.Exists(tosRootDir))
            {
                System.Security.Permissions.FileIOPermission fP = new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.Read, tosRootDir);
                fP.AddPathList(System.Security.Permissions.FileIOPermissionAccess.Write | System.Security.Permissions.FileIOPermissionAccess.Read, tosRootDir);
                try {
                    fP.Demand();
                    ret = true;
                } catch (System.Security.SecurityException ex) {
                    Common.showError("Invalid access to directory", ex);
                }
            }
            return(ret);
        } // end checkForToSDirectory
Example #4
0
 /// <summary>Determines whether a file is in use.</summary>
 ///<param name="filename">The path of the file.</param>
 /// <returns>
 /// Returns <c>true</c> if file is in use; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsFileInUse(string filename)
 {
     {
         var perm = new System.Security.Permissions.FileIOPermission(
             System.Security.Permissions.FileIOPermissionAccess.Write |
             System.Security.Permissions.FileIOPermissionAccess.Read,
             filename);
         try
         {
             perm.Demand();
             return(false);
         }
         catch
         {
             return(true);
         }
     }
 }
Example #5
0
 /// <summary>Determines whether a file is in use.</summary>
 ///<param name="filename">The path of the file.</param>
 /// <returns>
 /// Returns <c>true</c> if file is in use; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsFileInUse(string filename)
 {
     {
         var perm = new System.Security.Permissions.FileIOPermission(
              System.Security.Permissions.FileIOPermissionAccess.Write |
              System.Security.Permissions.FileIOPermissionAccess.Read,
              filename);
         try
         {
             perm.Demand();
             return false;
         }
         catch
         {
             return true;
         }
     }
 }