/// <summary>
        /// Creates a new instance of this class creating the specified company and application folders
        /// if they don't already exist and optionally allows write/modify to all users.
        /// </summary>
        /// <param name="companyFolder">The name of the company's folder (normally the company name).</param>
        /// <param name="applicationFolder">The name of the application's folder (normally the application name).</param>
        /// <param name="allUsers">true to allow write/modify to all users; otherwise, false.</param>
        /// <remarks>If the application folder already exists then permissions if requested are NOT altered.</remarks>
        public WindowsApplicationSpecialFolderHelper(TE_ConfigFolderType enumConfigFolderType, string companyFolder, string applicationFolder, bool allUsers)
        {
            //NOTE:  For more detailed explanation of the Following see:
            //       http://blogs.msdn.com/b/patricka/archive/2010/03/18/where-should-i-store-my-data-and-configuration-files-if-i-target-multiple-os-versions.aspx
            switch (enumConfigFolderType)
            {
            case TE_ConfigFolderType.UserLocalFolder:
                this._rootDirectory = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
                break;

            case TE_ConfigFolderType.UserRoamingFolder:
                this._rootDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                break;

            case TE_ConfigFolderType.MachineLocalFolder:
                this._rootDirectory = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
                break;

            case TE_ConfigFolderType.MachineTempFolder:
                this._rootDirectory = Path.GetTempPath();
                break;
            }

            this._applicationFolder = applicationFolder;
            this._companyFolder     = companyFolder;

            CreateFolders(allUsers);
        }
 /// <summary>
 /// Creates a new instance of this class creating the specified company and application folders
 /// if they don't already exist and optionally allows write/modify to all users.
 /// </summary>
 /// <param name="companyFolder">The name of the company's folder (normally the company name).</param>
 /// <param name="applicationFolder">The name of the application's folder (normally the application name).</param>
 /// <remarks>If the application folder already exists then permissions if requested are NOT altered.</remarks>
 public WindowsApplicationSpecialFolderHelper(TE_ConfigFolderType enumConfigFolderType, string companyFolder, string applicationFolder)
     : this(enumConfigFolderType, companyFolder, applicationFolder, false)
 {
 }