How to build the portable package:
	In Config.Settings.Providers:
	  change Inherits LocalFileSettingsProvider
	  to Inherits PortableSettingsProvider
	In App.Info.Settings:
	  change SettingsPath
	  from GetFolderPath(SpecialFolder.ApplicationData) & "\" & My.Application.Info.CompanyName.Replace(" ", "_") & "\" & My.Application.Info.ProductName
	  to My.Application.Info.DirectoryPath

How to add a new language:
	Create a new Language.XX.resx file in the My Project folder

Localize PropertyGrid:
	http://www.morganskinner.com/Articles/LocalizedPropertyGrid/

ToDo:
	Attribute for roaming settings: "Global.System.Configuration.SettingsManageabilityAttribute(Configuration.SettingsManageability.Roaming), _"

PuTTY Problem:
	http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=96485
	http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1652917&SiteID=1
	http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1654341&SiteID=1	

How to add a new protocol:
	Create a new class in the namespace Connection.Protocol
	This class must inherit from Connection.Protocol.Base
	It should implement the following methods:
		Public Function Connect() as Boolean
		Public Sub Focus()
		Public Sub Resize()
		Public Sub Disconnect()
		Public Sub Close()
	The following events can be implemented:
	    Public Event Connecting(ByVal sender As Object)
        Public Event Connected(ByVal sender As Object)
        Public Event Disconnected(ByVal sender As Object, ByVal DisconnectedMessage As String)
        Public Event ErrorOccured(ByVal sender As Object, ByVal ErrorMessage As String)
        Public Event Closing(ByVal sender As Object)
        Public Event Closed(ByVal sender As Object)
    Then the new protocol must be added in the following places:
		Connection.Protocol.Protocols
		App.Runtime.OpenConnectionFinal
		Connection.Info.SetDefaultPort
		UI.Window.Config.ShowHideGridItems
		
Remote Desktop ActiveX Control Reference
	http://msdn.microsoft.com/en-us/library/aa383022%28VS.85%29.aspx

RDP 6.0 NLA:
	AdvancedSettings5.AuthenticationLevel
	0 = No authentication of the server.
		Always connect, even if authentication fails
	1 = Server authentication is required and must complete successfully for the connection to proceed.
		Do not connect if authentication fails
	2 = Attempt authentication of the server. If authentication fails, the user will be prompted with the option to cancel the connection or to proceed without server authentication.
		Warn me if authentication fails

RDP 6.0 TS Gateway:
	TransportSettings
	  .GatewayIsSupported
	    Boolean
	  .GatewayProfileUsageMode
	    0 = Use the default profile mode, as specified by the administrator
	    1 = Use explicit settings, as specified by the user
	  .GatewayUsageMethod
	    0 = Do not use a TS Gateway server (Bypass TS Gateway for local addresses NOT set)
	    1 = Always use a TS Gateway server (Bypass TS Gateway for local addresses NOT set)
	    2 = Use a TS Gateway server if a direct connection cannot be made (Detect/Bypass TS Gateway for local address IS set)
	    3 = Use the default TS Gateway server settings
	    4 = Do not use a TS Gateway server (Bypass TS Gateway for local addresses IS set)
	  .GatewayUserSelectetdCredsSource
	    0 = Use a password
	    1 = Use a smart card
	    4 = Use any authentication method
	  .GatewayHostname
	    Hostname of TS Gateway server
	  
	

VNC Props:
	Compression (Enum 1,2,3,4,5,6,7,8,9) -> JPEGCompression (Bool), JPEGCompressionLevel (Integer 0-9)
	Encoding (Enum RAW, RRE, Corre, Hextile, ZLib, Tight, ZLibHex, ZRle) -> Encoding (enum)
	Authentication Mode (Enum VNC, Windows) -> LoginType (Enum)
	Proxy Type (Enum None, HTTP, Socks5, UltraVNC Repeater) -> ProxyType (Enum)
	Proxy IP (string) -> ProxyIP (string)
	Proxy Port (long) -> ProxyPort (long)
	Proxy Username (string) -> ProxyUser (string)
	Proxy Password (string) -> ProxyPassword (string)
	Colors (Enum Normal, 8-bit) -> RestrictPixel (bool)
	Smart Size Mode (Enum Normal, Free, Aspect) -> StretchMode (Enum)
	View Only (bool) -> ViewOnly (bool)



TreeNode
  Tag (Connection/Container.Info)
    Protocol

Connection Container (Tab, Panel, etc)
  Tag (Connection.InterfaceControl)
    Info
      Connection.Protocol.Protocols
    Protocol
      Connection.Protocol.RDP/VNC/...