Crash on Program Start: Windows Update KB2533623


Faulting application bpftpserver-2011.exe, version 2011.1.0.71, time stamp 0x4e8f8103, faulting module unknown, version 0.0.0.0, time stamp 0x00000000, exception code 0xc000001d, fault offset 0x03094c99, process id 0x818, application start time 0x01cc9567a0e85aad

We’ve experienced some random crashes, at start-up in the program that have been found to be related to a patch from Microsoft Update with Microsoft Security Advisory: Insecure library loading could allow remote code execution (KB 2533623).

Technically, this patch prevents the loading of external DLL’s without a fully-qualified-path to the DLL. Unfortunately, we utilize a virtualized DLL that is loaded at program start that does not load a DLL-file on the system, so it can fail when KB2533623 is applied to this system.


Is KB2533623 installed on my installation of Windows?

Windows GUI: You can list all of the updates for your installation of Windows from the following location:

Windows Start -> Control Panel -> Programs -> View Installed Updates

Alternatively, Internet Explorer can take you there with the following:
http://go.microsoft.com/fwlink/?LinkID=3326

Windows CLI: Alternatively you can execute the following at a command-line:

C:\Users\myusername> wmic qfe list | find "2533623"
http://support.microsoft.com/?kbid=2533623 MYCOMPUTERNAME Update KB2533623 MYCOMPUTERNAME\myusername 7/15/2011


How do I uninstall KB2533623?

Windows GUI: You can uninstall individual updates from Microsoft by loading the following:

Right-Click and select "Uninstall"

Windows CLI: If you are using Windows 2008 R2, you can then uninstall it from the command line using the WUSA.EXE command. (If you aren’t using Windows 2008 R2, you’ll need to use the above GUI method).

C:\Users\myusername> wusa /uninstall /kb:2533623

HOWTO: Overridding the Storage-Path for Settings, Users and Groups

The latest version of BulletProof FTP Server (by default) stores everything related to the program’s operation, including “Settings, Users and Groups” in the non-roaming, local user storage location %LOCALAPPDATA%. This allows for a constant, microsoft certified location for the storage of files and settings related to a program. This path is user-specific, in that, it is private to the OS-USER that you use to login to Windows. In some environments, you may want to change this location to something that complies with your own standards .. or perhaps you would like to run the SERVICE as a different user than the GUI.

Starting with BulletProof FTP Server v2010 (including later versions), the path for storing the “Settings, Users and Groups” was changed as a result of security improvements to Windows (starting with Vista). Previously, the BulletProof FTP Server stored everything in the “Installation-Directory” for the software. However, with the development of User-Access-Control (UAC) in Windows Vista/2008, the storage-path for these files were redirected to the Virtual Store. This redirection of file-writes to now protected paths, such as the %ProgramFiles%, proved to be very cumbersome of difficult for our customers to manage. For this reason, we embraced the new location Microsoft has specified and developed the ability to OVERRIDE it for customers that wanted to retain control of this location.

Table-Listing of Storage-Locations over the past several versions of BulletProof FTP Server:
Q: Can I backup the Settings, Users and Groups?

In the following example, you are stepped through the process of “Overriding the Storage-Path” in the program and the subsequent process that BulletProof FTP Server goes through to migrate the files containing the “Settings, Users and Groups”. Please note, this process can also be used to restore a backed up copy of your files.

Frequently Asked Questions (FAQ)

Q: We are running an older version of BulletProof FTP Server. If we upgrade to your latest version, will our configuration/user list/etc. transfer from our old version?
Q: Can I backup the Settings, Users and Groups?
Q: Can BulletProof FTP Server run as a Windows System-Service?
Q: My customers can’t login to BPFTP Server!
Q: My customers can login, but they can’t get a directory-listing!
Q: Do I get a discount for upgrading or renewing my previous order?
Q: I purchased BulletProof FTP Server a few years ago and I lost my key. Can you resend it?


 

Q: We are running an older version of BulletProof FTP Server. If we upgrade to your latest version, will our configuration/user list/etc. transfer from our old version?

A: YES! Absolutely. Everything is stored in INI files (settings, users, groups, etc), when the current version of the software is installed; it will go out and look for these files in the default locations for previous versions. If anything is found, the program will prompt you and ask if it’s ok to migrate these files to the current version.

FAQ: Can I Upgrade and retail all my Users, Groups and Settings?

 

Q: Can I backup the Settings, Users and Groups?

A: YES! You just need to make sure the program is not running when you backup the files. For a list of the default storage-locations for these files, please see the URL below:
http://blog.builtbp.com/2011/12/faq-where-does-bpftp-server-store-the-users-groups-and-settings/

 

Q: Can BulletProof FTP Server run as a Windows System-Service?

A: YES! The latest version includes very tight support for running BulletProof FTP Server as a Windows System-Service. Please see this guide:
HOWTO: Windows System-Service
Windows System Service: Logon As Service

 

Q: My customers can’t login to BPFTP Server!
Q: My customers can login, but they can’t get a directory-listing!

A: The machine is most likely firewalled. This means there’s a physical-device which is acting as a firewall (aka NAT/Firewall/Router/WiFi,etc) and/or Windows Firewall and/or (some other) Internet Security that is protecting the computer.

In order to run BulletProof FTP Server in a secure environment, you *MUST* configure PASSIVE-MODE and open at least two tcp/ip ports to allow full functionality. These two ports are called:
Control-Port (default tcp/ip 21) provides the ability for the ftp-client to login and issue commands
Data-Ports provide a conduit for the ftp-client to connect to the ftp-server for file-transfers, directory-listings, etc

HOWTO: Windows Firewall and BPFTP Server 2011
HOWTO: Setting up NAT/Passive/Firewall Support
FTP Server Firewall Ports and Tester

 

Q: Do I get a discount for upgrading or renewing my previous order?

A: YES! You can get the discount coupon-code and instructions from our website under the Members section of our website (see below) or you can email us with the customer information used on the previous order and we can send it directly to you.

Please also see:
FAQ: My License-Code doesn’t work in the Latest Version

 

Q: I purchased BulletProof FTP Server a few years ago and I lost my key. Can you resend it?

A: PERHAPS: First, we need you to send the customer information for the previous order. This will allow us to look it up and see what length of Update/Support Protection with Download Locker was purchased. If it’s within the period you purchased, we can quickly issue a new key and send it to you. If it’s expired, then we can send you a discount coupon-code for renewal.

You can see all of your orders and the Update/Support Protection with Download Locker by logging into the Members section of our website. If the term is expired, you an also get a coupon-code for renewal in this same location. If you are having troubles logging into the Members section of the website, please Contact Us and include your question and customer-information used on the previous order.

UPDATE: BulletProof FTP Server 2011.1.0.71

Today, we are proud to release a major-update to BulletProof FTP Server for Windows 2011 (version 2011.1.0.71). For all customers with a current license, please download/install the demo/trial version from our website and it will automatically update itself to the full-version on your computer.

Download the Newest Version Here

SO MANY UPDATES!!!!!

Oct 7th and Seattle is headlong into rainy days… great for programming, not so great for Vitamin D deficiencies.

    Summary of Changes:

  • Windows XP/2000 Start-Up problems with low GDI Memory (Out of Memory or Freeze on “Loading…”)
  • Management -> Logging had several UI and engine problems
  • Under Windows Vista,7,2008,2008R2 we’ve included a new feature to automatically create Windows Firewall Rules (Management -> Settings -> Auto-Start -> Windows System-Service)
  • Changes to work more seamlessly with the dreaded Windows User-Access-Control (UAC)
  • Windows System-Service: Several “Assertions” at start-up of the service to make sure the service can “see” the configuration files, users and groups (Check the Event Viewer for Service start-up problems)

Below is a full listing of the “changelog” and contains a lot of techno-jargon.. but rest-assured, it’s chock full of changes related to my goals for 2011 (in this order):

#1 – Windows System Service
#2 – Stability
#3 – Speed
#4 – User-Interface

What’s New aka Changelog (Copied Below)


Version 2011.1.0.71 - 2011-OCT-07
-------------------------------------------------------------------------
* Improved: START-UP: The program will now interrogate the Windows Registry to see if there's enough GDI-Desktop-Heapspace allocated, in order to prevent a problem with "Out of Memory" in Windows XP/2K (subsequent versions of Windows increased this setting). We prompt a warning if the value is < 8192 (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems)

* Changed: Server Info: When clicking the "Log File Path" entry, the program will now take you to "Management -> Logging -> Log Settings -> Saved Log-File Location"... instead of opening the folder that contains the log file.

* Fixed: Console -> Error Messages: Fixed a couple of bugs that prevented the Copy & Clear menu-options (right-click) from working correctly.

* Improved: Management -> Logging -> Log to File: On start-up, the logging-to-file option was not starting correctly

* Improved: Management -> Logging -> Logged Events: Went through each and every menu option, fixed it's (mis)behavior in the UI and ensured that the options worked and did as described.

* Improved: Management -> Logging -> Logging Options: Went through each and every menu option, fixed it's (mis)behavior in the UI and ensured that the options worked and did as described.

* Improved: Management -> Logging -> Log Settings: Went through each and every menu option, fixed it's (mis)behavior in the UI and ensured that the options worked and did as described.

* Fixed: Management -> User Manager -> Edit User -> Login -> Group Name: Rewrote the handling of group-membership for a user-account, as there was a random error in which the group- membership would be "lost" for a user-account. Part of the fix was an internal restructing of the user-account (object) to *not* store a pointer to the group-account (object), but rather it now dynamically looks up the group-account (object) from the list of group-accounts (TBPSGroupAcctList)

* Changed: Moved to latest licensing-wrapper v8.60 (previous v8.40)

* Fixed: Clicking the "X" to close the program: Fixed a problem in which, if there were connected clients and you clicked "X" to close the program, it would boot the ftp-clients, but not actually close the program until you clicked the "X" again.

* Improved: Management -> Settings -> Security -> Block FXP: Changed the DEFAULT for Blocking server-to-server (FXP) to "FALSE" aka "UNCHECKED". As connecting with an ftp-client, from inside the network, to the external IP address of the network-connection would cause it to be falsely triggered (Client:192.168.0.11 connecting to InternetIP:24.2.23.2 is port-forwarded back inside the network to Server:192.168.0.12, FTP-Client would thus be connected from 192.x but asking for a PORT command back to 24.2.23.2)

+ Added: Management -> Settings -> Auto-Start -> Windows System-Service: "Open Windows Firewall" which will automatically create four firewall-rules in Windows Adv. Firewall for the program, service, control port and data-ports. (only in WinVista,7,2008,2008R2)

* Improved: Management -> Settings -> Logging: Added "Log Watch" to list of options and made some performance tweaks for handling of windows-messages during fast-updates to the control.

* Improved: Management -> Settings -> General -> Adv General Options -> Remote Debug: Made a change to keep the "Information: Remote-Debug is ON" message from displaying, if it was already ON when saving settings.

* Improved: Management -> Settings -> Auto-Start -> Windows System-Service: Made some minor changes to better handle the turning ON|OFF of the Windows-System-Service and error handling for the DOMAIN/USER and PASSWD values.

* Fixed: Management -> Settings -> Auto-Start -> Windows System-Service: Changed the default OS-USER for the SERVICE to "USERDOMAIN\USERNAME" (originally this was just ".\USERNAME")

* Fixed: Management -> Settings -> Auto-Start -> Windows System-Service: Fixed a case where... if the main-executable failed to start or terminated abruptly, The THREAD that rain the main-executable was terminating, but the parent Service-Handler was never getting the Event-Raised and sat in a WaitForSingleObject(hKillServiceEvent,INFINITE) forever

* Improved: Management -> Settings -> Auto-Start -> Windows System-Service: The service will now refuse to start if it's running under "Local System", as a User/Password must be granted to the program in order to the Settings,Users,Groups stored in %LOCALAPPDATA%

* Improved: Management -> Settings -> Auto-Start -> Windows System-Service: The service will now refuse to start if no configuration files are found. This helps to resolve problems in which the SERVICE is ran under a different OS-USER than the GUI; as files are stored in %LOCALAPPDATA%, which is OS-User dependant

* Changed: Management -> "Server Settings" renamed to "Settings"

* Changed: Server Monitor -> "Server Statistics" renamed to "Statistics"

* Improved: Vista/Win7 User-Access-Control (UAC): Added a manifest file to the installation in order to tell Vista/Win7 that "Admin Privledges are Needed"

* Improved: Vista/Win7 User-Access-Control (UAC): In an effort to reduce program-compatibility problems when running under a NON-ADMIN account, the "Override Storage Path" file has been moved to CSIDL_COMMON_APPDATA, originally this was saved in the installation-directory for the software.

* Improved: Vista/Win7 User-Access-Control (UAC): In an effort to reduce program-compatibility problems when running under a NON-ADMIN account, the "Remote-Debug" flag-file (bpftpserver-remotedebug.txt) has been moved to CSIDL_COMMON_APPDATA, originally this was saved in the installation-directory for the software.

HOWTO: Windows System-Service

BulletProof FTP Server 2011 can also run as a Windows System-Sevice, allowing you to serve up ftp-content from your computer without having to login to the system. This is a very handy feature for businesses that rely upon a FTP-Server to communicate with customers, receive files from automated processes or just-plain access your HOME computer from WORK.

Setting up Windows System-Service Support is very easy, but it does mean a little-bit of leg work on your end to satisfy Microsoft Windows’ security.

Click on a thumbnail to expand the image and see more information and instructions.

HOWTO: Upgrade your license from HOME to CORP

First, thank you very much for upgrading to the CORP version! Your support helps to fund development and keep new versions coming out with the same pace of changing technology!

Second, you’ll need to remove the previous license from the computer. This is done by:

  • Launch the GUI version of BulletProof FTP Server for Windows
  • Clicking the “About” button
  • Now, hold down Ctrl + Shift + Alt and Left-Click the section labeled “Licensed for Use”
  • Click “Yes” to confirm removing the license
  • Then click the “Enter Key” dialog after the program terminates
  • FIX: “Out of Memory” or “Low GDI” with BulletProof FTP Server

    Is BulletProof FTP Server for Windows crashing when you first run it? You might have it freeze during “Loading” or a “Crash Report” comes up saying “Out of Memory”…

    Don’t worry! It’s most likely a problem with running out of GDI-Handles in your installation of Windows…

    You may receive an “Out of Memory” error message because of the desktop heap limitation in Windows Vista or in Windows 7
    http://support.microsoft.com/kb/947246

    “Out of Memory” error message appears when you have a large number of programs running
    http://support.microsoft.com/kb/126962

    NOTE: You CANNOT have the /3GB option specified in the bootloader, this is often used on Exchange Server installations. (MORE INFO)

    This GUIDE will help illustrate the steps to increase the amount of memory..

    Vista Hands On #17: Solving a pesky resource problem
    http://www.zdnet.com/blog/bott/vista-hands-on-17-solving-a-pesky-resource-problem/269

    SharedSection & Max Number of Open Windows on XP & Vista
    http://www.mycsharpcorner.com/Post.aspx?postID=50

    Windows XP flakiness – solved
    http://weblogs.asp.net/kdente/archive/2004/06/04/148145.aspx

    Registry setting keeps Windows from wigging out when you open lots of IE7 tabs
    http://weblogs.asp.net/jgalloway/archive/2008/01/14/registry-setting-keeps-windows-from-wigging-out-when-you-open-lots-of-ie7-tabs.aspx

    INCREASING USER HANDLE AND GDI HANDLE LIMITS
    http://weblogs.asp.net/mikedopp/archive/2008/05/16/increasing-user-handle-and-gdi-handle-limits.aspx

    Many Thanks to AlexanderL for helping to discover a resolution to this problem!

    HOWTO: Remote-Debugging in BPFTP Server

    The latest version of BulletProof FTP Server for Windows has an advanced debugging mode, which will send verbose, detailed information on your configuration, settings and what happens during the program’s execution.

    This is very useful in understanding and solving a problem.

    To toggle this mode, there’s a very simple checkbox under:

    Management -> Server Settings -> General (tab) -> Adv. General Options -> Enable Remote-Debugging

    If you are having Start-Up issues and can’t get the UI to come up for this option, you can also manually activate it:

    1) Open NOTEPAD
    2) Type the word "debug" (or really anything)
    3) Save the Text-File to the installation directory for the software:

    Under Windows (32-bit) the default path is:
    C:\Program Files\BulletProof FTP Server 2011\remotedebug.txt

    Under Windows (64-bit) the default path is:
    C:\Program Files (x86)\BulletProof FTP Server 2011\remotedebug.txt

    Then run through the steps that generate the error or that you have a question about and send us an email with your Computer-Name. This will allow us to pull the logs from the remote-debug-server and analyse the problem. The Computer-Name is obtained by:
    Windows Start -> right-click "My Computer" or "Computer" and choose "Properties"

    NOTES:

  • Please ONLY run under this REMOTE-DEBUG mode for a very short time; Enable it, perform the action which represents the problem, then Disable it. The amount of debugging information sent is extraordinary and running it for 30 minutes with several connected ftp-users will take hours to send the data.
  • FIREWALL: If you are running Windows Firewall or other types of firewalls (hardware or software based), you will need to allow the program to open an OUTBOUND tcp/ip connection to “remotedebug.builtbp.com” on tcp/ip port 30101.
  • When this mode is enabled, you will see a new process appear under “Task Manager -> Processes -> (sort) Image Name” called “CSDISPATCHER.EXE”. This process is responsible for relaying the debugging information from BulletProof FTP Server to the Remote-Debug-Server. Killing this process, will empty the outbound queue of remote-debug-messages.
  • Windows System Service: Logon As Service

    Microsoft is known to be one of the most security (gui) operating-systems on the ‘net. For us old salts, we know it certainly didn’t start that way. Over the last decade, Microsoft has made tremendous strides… but with that comes added levels of complications.

    Take running BPFTP Server as a Windows-System-Service, one of the most common technical-support questions (second to Firewall settings )… It’s a complicated issue.

    In order to run BPFTP Server as a Windows-System-Service, you must give it a USER/PASSWORD to run under. In BulletProof FTP Server 2011, this is done under:

    Management -> Server Settings -> Auto-Start (tab) -> Auto-Start: Windows System Service

    Or, You can change it directly from Windows in:

    Windows Start -> Control Panel -> Administrative Tools -> Services -> BulletProof FTP Server 2011 -> right-click for "Properties" -> "Logon" (tab)


    NOTE: This USER/PASSWORD needs to be the same one you run the GUI version as, since the Settings, Users and Groups are all stored in:

    "%LOCALAPPDATA%\BulletProof Software\BulletProof FTP Server\2011\"

    NOTE: You can get around this, by overriding the “default storage-path” in BulletProof FTP Server 2011 under the following:

    Management -> Server Settings -> General (tab) -> Adv Settings -> Override Storage-Path


    Which brings us to the permission “Logon as Service”… The magically permission that the OS-USER needs to have in Windows in order to run BulletProof FTP Server 2011 as a Windows System Service.

    Microsoft: Logon as Service
    http://technet.microsoft.com/en-us/library/cc739424(WS.10).aspx

    UPDATE: BulletProof FTP Server 2011.1.0.70

    Today, we are proud to release a major-update to BulletProof FTP Server for Windows 2011 (version 2011.1.0.70). For all customers with a current license, please download/install the demo/trial version from our website and it will automatically update itself to the full-version on your computer.

    Download the Newest Version Here

    SO MANY UPDATES!!!!!

    Well, it’s Aug 25th and while we’ve had 5 days over 80 degrees in Seattle… the dreary weather has yielded A TON of updates to BPFTP Server. With the help of several betas testers and some clever customers, lots of problems have been addressed in the code. Below is a full listing of the “changelog” and contains a lot of techno-jargon.. but rest-assured, it’s chock full of changes related to my goals for 2011 (in this order):

    #1 – Windows System Service
    #2 – Stability
    #3 – Speed
    #4 – User-Interface

    What’s New aka Changelog (Copied Below)


    Version 2011.1.0.70 - 2011-AUG-25
    -------------------------------------------------------------------------
    * Fixed: Server Monitor -> User Activity: Put several checks for NIL pointers (ListViewData)
    * Improved: Reorganized the start-up code in an effort to battle the "Freeze" during "User-Interface...". Moved the "Internal_Init_OSDriveScan|OutputOSInfo" to BPSBootstrap_InitAll()
    * Improved: Reorganized the start-up code in an effort to battle the "Freeze" during "User-Interface...". Moved the "AutoStartActivateOnExecute" to BPEngine_StartYourEngines()
    * Changed: Removed the 64x64 set of pixel images and enabled the x-small 24x24 set for Toolbars. This changed causes the internal memory footprint for graphic-resources to be cut in half. This should eliminate the start-up program on some computers which results in "Out of Resources" (Thx ALEXANDERL, "Error reading TCheckBox.Checked: Not enough storage is available to process this command.")
    * Fixed: Server Monitor -> Server|Error Log -> Right-Click for COPY/CLEAR: Fixed an Access-Violation which was being raised when these functions were executed. (Thanks Fr Philippe)
    * Improved: Management -> Server Settings -> Enable Remote-Debug: Changed to allow for the saving of remote-debug-files on a per-computername, per-day basis.
    * Fixed: Server Monitor -> Current Activity: Fixed a problem, caused by the last beta, which was not displaying any data.

    Version 2011.1.0.69 - BETA - 2011-AUG-16 - ONLY BETA
    -------------------------------------------------------------------------
    * Improved: Main-Toolbar: Reorganized the menu-options by moving "User|Group Manager" to the main, added "Server Monitor" (renamed Console) and grouped liked functions, added "Management" and grouped liked functions, renamed "View Server Logs" to "Log Watch" (thx IBRAHIM)
    * Improved: Main-Toolbar: Removed the sub-toolbar that appears under the main-toolbar. This was replaced by the new "Classic: Use traditional Main-Menu" under Management -> Settings -> Visual (thx IBRAHIM)
    x Fixed: Management -> Server Settings -> Auto-Start -> After Logging into Windows: The program executable-path, that is written to the Windows-Registry, was not surrounded by dbl-quotes for cases in which the path contained spaces aka 0x20.
    x Fixed: Management -> Server Settings -> Auto-Start -> After Logging into Windows: Previously the program was writting to the Windows-Registry for HKLM:RunServices, while this could work.. it's really incorrect, the program should only be started for the current-user and moved to HKCU:Run.
    x Fixed: Management -> Server Settings -> Auto-Start -> Windows System Service: Fixed an exception that was generated if you click "Accept" in "Settings" and "Enable...Windows System Service" was left checked OFF and the service had never been enabled. It was essentially trying to Uninstall it, without it being Installed.
    ! Wish-List:Management -> Settings -> Visual -> "Classic: Use traditional Main-Menu "Pull-Down" style vs the new "Button" look"... it's back! Some people think the old-skool Main-Pulldown-Menu "File, Edit, View" was dead... but I've had lots of people state they like the older-look and feel of the "Classic" v2.x better that we've put in another compatibility layer in place for those that wanted to get their Windows 3.1 fix.
    x Fixed: Go Online|Offline Button: If the configuration for the ftp-server is changed to a different port and that port is currently in-use by another process on the system... then a failure to BIND occurs and the user is presented an error message to fix the problem. However, in the UI the button still got depressed and would change to "Go Offline" (indicating that it was ONLINE). This behaviour was fixed and will no-longer show pressed when it shouldn't be.
    * Wish-List:Console -> Server Log -> Error Messages: In an effort to help in visibility for error-messages, a new panel common-panel has been added to the bottom of the UI that presents a list of all error messages... before the errors would be "lost" in the chaos of all the other logged-messages and would scroll off the screen and out of the user-defined buffer for number-of-lines-to-show.
    * Improved: Console -> Server Log: All code now goes through the central-loggging mechanism for logging to disk as well as screen. Some information was only sent to the screen, this change now sends everything to disk as well.
    * Improved: Main -> Server Info: Added a section for "Licensing" information which shows the current status of the installed license or the number of days left in the trial.
    * Improved: Main -> Server Info: Added a section for "logging" which shows the current status of logging to the screen|file as well as being able to open/view the log-file and open the directory containing the log-file.
    x Fixed: Management -> Group Manager -> Cancel: Fixed a problem in which the in-memory-list of pending-group-accounts was being .Free()'d but not .Remove()'d from the list... so the pointer still existed, but the memory was freed. When the program terminated and the list was cleaned up (with all the rest), it still had "items" in the list and when I went to free them .. blam-o and Access-Violation occurred. I had this problem fixed in 2011-06-06 for the Users, but the same fix didn't make it to Groups.
    * Improved: Management -> User|Group Manager: On Add|Clone of a user|group-account, adding a new account will automatically resort the list and automatically select the recently added account.
    x Fixed: Management -> User Manager -> Clone User: Resolved a UI problem where you could clone a single-user multiple times.. then stop cloning when you hit the ESC key for the cloned-user-name. This was confusing behaviour and removed the cloning of a user multiple times.
    x Fixed: Management -> User Manager: Right-click the list of user-accounts and select "Copy URL for Email to Clipboard" has been fixed to use the "External IP" in the case where Passive-Mode was defined but no Hostname or Static-IP was assigned for the passive-mode-ip.
    x Fixed: Management -> User|Group Manager: Right-click the list of user|group-accounts and selecting "Copy Account-List to Clipboard" has been fixed to correctly copy the entire list to the clipboard
    x Fixed: Management -> User|Group Manager -> Access-Rights: Resolved a problem where dbl-clicking on an existing-defined access-right for editting, was *not* preselecting the defined path in the "Select Directory" dialog-box's ShellTreeView.
    * Improved: Management -> User|Group Manager: When the list of user|group-accounts are populated, it will now default to sorted
    * Improved: Management -> User|Group Manager: Before the settings for the user-account (on the right) would only update to the currently selected user|group-account (on the left) if it was clicked-on with the mouse. Changed the behavior to update the settings when a new user-account is selected using the keyboard-arrows.
    * Improved: Management -> User|Group Manager: Increased the speed of populating the list of user|group-accounts (.beginupdate(), .endupdate())
    x Fixed: Internal: Fixed a problem where computers with over 3GB of RAM where being reported incorrectly at program-start. This is purely cosmetic, as we don't care about total physical-ram... but it's nice to be correct!
    * Improved: Initialization and Start-Up Time REDUCED: Optimized the query of the system-information (CPU,MEM,OS). Reduced the time from 6.5 seconds in this routine to roughly < 1ms.
    * Improved: Initialization and Start-Up Time REDUCED: Optimized the loading of user/group-accounts on start-up of the program. The loading of 620 user/group-accounts is now under 2 seconds vs 20 seconds on test platform.
    * Improved: Management -> User|Group Manager -> Save: Dramatically increased the speed of saving user/group-accounts. The saving of 620 user/group-accounts is under 2 seconds vs 16 seconds on test platform.
    * Changed: Changed the Icon-Names under "Console" to "User Activity" and "File Activity" from "Current User Activity" and "File Activity"
    * Improved: Management -> User|Group Manager -> Edit User|Group -> Restrictions: Added new "Access-Control List (ACL)" management, this allows the ability to ALLOW|DENY access to the ftp-server by IP-Address (exact match, address-range, wildcards) as well Hostname restriction based on the Reverse-DNS-Lookup of the IP.
    * Improved: Remote-Debug-Mode: Added functionality to echo any log-messages to the remote-debug-server to aid in reporting of current activity on the customer's machine.
    x Fixed: Management -> User Manager -> Edit User -> Login -> Group-Name (pulldown): fixed a problem where the pull-down was disabled at start-up, even if the check-box for "Group Name" was checked and the user was a member of a group.
    * Improved: Main Toolbar: Rearranged the User|Group Manager to be the first two options and Quick-Add User|Group to the last two items. In addition, a hot-key for User|Group Manager has been added of Ctrl-U and Ctrl-G.
    ! Wish-List:Console -> Server Log: For the "Classic" (aka v2.x) lovers out there; Added a check-box at the bottom to "Make this your default view on program-start". While this option is also under Management -> Settings, it seemed fitting to put a quick-toggle under the Console-Log
    * Improved: Windows System Service: When the GUI is ran and BPS is running as a Windows-System-Service, the GUI will now automatically issue a termination of the service *and* restart it automatically when the GUI closes.
    * Improved: F9 HotKey-Added to Minimize Window
    x Fixed: Management -> Server Settings -> Visual -> "Send Minimized Program to the System Tray.."; fixed a problem where it wasn't *always* minimizing as TrayIcon
    x Fixed: Management -> Server Settings -> Visual -> "Start Minimized.."; fixed a problem where an icon would still show in the Task-Bar *and* in the System-Tray, instead of just in the System-Tray
    ! Wish-List:Management -> Server Settings -> Auto-Start: We've tightly integrated Windows System-Service support into the codebase, by providing an option to install the service *as well* as provide the OS-User and Password for the Service to run under.
    * Improved: Management -> Server Settings -> Auto-Start: Created a new "tab" called "Auto-Start" which will house all of the options related to the program's start-up
    ! Wish-List:STORAGE-PATHS. Starting in v2011.1.0.63 the program was changed to use LOCALAPPDATA as the storage-path for all files (settings, users, groups, etc). This was done to adhere more strictly with Microsoft's recommendations for the placement of files used by applications. However, we've found that customers like to control the location of these files for many purposes; such as redudancy, load-sharing and better user-security (running BPS as a Service under a OS-User without desktop-permissions, a great reason!). So we've implemented a method of overriding the location of these files by placing a file called "bpftpserver-storagepath.txt" in the installation directory for the software with a single line that reads "storage=c:\somewhere\on\my\computer".
    ! Wish-List:Management -> Settings -> Adv. General Options: Override Storage-Path that will allow you to specify a directory where the Settings, Users, Groups, etc are stored... (see the notes for the above change for technical info)
    * Improved: Management -> Settings -> Adv. General Options: Added the ability to turn-ON off the Remote-Debug feature for sending verbose logging to the remote-debug-server for analysis