Compare commits

...

83 Commits
1.64 ... 1.67

Author SHA1 Message Date
Riley McArdle
fb826c7fac Hide unimplemented File->Import/Export Folder menu item. 2011-06-05 12:40:20 -05:00
Riley McArdle
d5822094c1 Updated BUILD.CMD and CHANGELOG.TXT for 1.67 RC5. 2011-06-05 12:14:18 -05:00
Riley McArdle
87f7fbdf45 Changed header, removed footer, and added command line to the log file. 2011-06-05 12:06:36 -05:00
Riley McArdle
0bed923a4d Added code to verify database version and upgrade database from 2.2 (mRemoteNG 1.66 or earlier) to 2.3 (mRemoteNG 1.67). 2011-06-05 12:06:07 -05:00
Riley McArdle
69ab11eb5f Enable creation of PDB debug symbol files for release builds. 2011-06-05 12:04:53 -05:00
Riley McArdle
217a03b191 Fixed bug 45 - Changing some settings in the config file may not save. 2011-06-05 12:04:44 -05:00
Riley McArdle
cab2163d01 Fixed Inherit All not affecting Enable Font Smoothing and Enable Desktop Composition. 2011-06-05 12:00:56 -05:00
Riley McArdle
2346aaa1c3 Only try to load 2.3 settings from SQL if the database is version 2.3. 2011-06-05 12:00:45 -05:00
Riley McArdle
7e45928297 Fixed ShowUpdatesTab to show the correct tab. 2011-06-05 12:00:29 -05:00
Riley McArdle
76543a440b Added version and culture information to log on startup. 2011-06-05 12:00:10 -05:00
Riley McArdle
5cb98e0543 Fixed tab order of controls in Options dialog. 2011-06-05 11:59:51 -05:00
Riley McArdle
114db6c90d Fix typo in previous commit. 2011-06-01 18:12:48 -05:00
Riley McArdle
53c5da7e0e Missing changes from commit 17a5853041. 2011-06-01 18:09:12 -05:00
Riley McArdle
888e55aaee Updated BUILD.CMD and CHANGELOG.TXT for 1.67 RC4. 2011-06-01 17:42:54 -05:00
Riley McArdle
2234770dac Changed installer to not show the version tag so that release candidates can be used for release without rebuilding. 2011-06-01 17:42:03 -05:00
Riley McArdle
17a5853041 Changed hard coded SQL database name into a user configurable setting. 2011-06-01 17:32:31 -05:00
Riley McArdle
d80f3d757e Moved default credentials back to the correct page in the Options dialog. 2011-06-01 17:07:40 -05:00
Riley McArdle
85a5d027dc Improved Reset Layout function. 2011-06-01 16:36:33 -05:00
Riley McArdle
006c76b11d Add database icon to project. 2011-06-01 15:47:02 -05:00
Riley McArdle
61a76908ea Moved SQL Server configuration to its own tab in the Options dialog. 2011-06-01 12:45:02 -05:00
Riley McArdle
b729cab9c9 Changed Options dialog to use standard tab control instead of Crownwood tab control. 2011-06-01 12:39:41 -05:00
Riley McArdle
654e3cae1f Refactored UI.Window.Options to frmOptions. 2011-05-31 17:46:14 -05:00
Riley McArdle
bcc681f623 Missing file for previous commit. 2011-05-31 17:28:45 -05:00
Riley McArdle
77716fc058 Fixed showing the updates tab on first startup. 2011-05-31 17:26:49 -05:00
Riley McArdle
103c34853e Changed the Options page into a normal dialog. 2011-05-31 17:12:21 -05:00
Riley McArdle
3ec52987eb Fixed NullReferenceException in App.Runtime. 2011-05-31 16:57:25 -05:00
Riley McArdle
d3130f91d1 Minor code cleanup. 2011-05-31 12:33:56 -05:00
Riley McArdle
aae96c112a Fixed confirm closing connection tabs to also ask when closing a panel. 2011-05-31 12:13:30 -05:00
Riley McArdle
635ae405bd Moved the language override code from frmMain_Load to Config.Settings.Load to make sure that the correct language is applied to everything. 2011-05-31 00:39:40 -05:00
Riley McArdle
66c315f629 Update BUILD.CMD and CHANGELOG.TXT for 1.67 RC3. 2011-05-28 17:20:55 -05:00
Riley McArdle
89c7baf7fa Fixed bug 42 - Maximized location not remembered with multiple monitors. Improved loading and saving of window location. Removed flickering on start up. 2011-05-28 17:10:13 -05:00
Riley McArdle
90eedc689e Fix bug 43 - Creating a duplicate connection causes connection list to no longer be sorted ascending. 2011-05-28 13:27:03 -05:00
Riley McArdle
b262f00491 Added confirmation before closing connection tabs. 2011-05-28 13:10:50 -05:00
Riley McArdle
d0d81e382d Merge branch 'master' of github.com:rmcardle/mRemoteNG 2011-05-28 12:44:08 -05:00
Riley McArdle
5615dc18a6 Fixed inconsistent capitalization of language names. 2011-05-27 16:58:36 -05:00
Riley McArdle
ce08728652 Changed the order of the startup code to ensure that the correct language is shown on the first run after an upgrade. 2011-05-27 16:56:51 -05:00
Riley McArdle
fbc613efe5 Added Holger Henke to CREDITS.TXT for submitting change made in commit 2b1732d061. 2011-05-27 16:38:35 -05:00
Riley McArdle
d3560eb893 Merge from commit a3165ba25a89f6e6b155 by sirrus. New translations and some renamed entries. 2011-05-27 16:36:15 -05:00
Riley McArdle
e53be11383 Merge from commit 410f0173616609caf47c by sirrus. New translations and some renamed entries. 2011-05-27 16:33:28 -05:00
Riley McArdle
17c25d6481 Update BUILD.CMD and CHANGELOG.TXT for 1.67 RC2. 2011-05-25 22:25:54 -05:00
Riley McArdle
e07fbe913f Fixed adding a connection entry if nothing is selected in the tree. 2011-05-25 22:05:20 -05:00
Riley McArdle
c91f406346 Added the mRemoteNG icon to the list of selectable icons for connection entries. 2011-05-25 21:59:44 -05:00
Riley McArdle
46afd47ba0 Improved error handling when loading XML connection files. 2011-05-25 21:57:35 -05:00
Riley McArdle
5f1e9ae0b7 Updated CHANGELOG.TXT. 2011-05-25 21:10:57 -05:00
Riley McArdle
62c9d6f474 Added desktop composition setting for RDP connections. 2011-05-25 21:10:38 -05:00
Riley McArdle
935df3d4fa Added font smoothing setting for RDP connections. 2011-05-25 19:59:03 -05:00
Riley McArdle
ec850f6c15 Added 15-bit color option for RDP. Fixed the description for 32-bit color (8 bits are not used so it's the same number of colors as 24-bit). 2011-05-25 19:06:16 -05:00
Riley McArdle
2b1732d061 Fixed loading of RDP Colors setting from SQL. 2011-05-25 18:33:30 -05:00
Riley McArdle
cec787fd63 Added buttons for Add Connection, Add Folder, and Sort Ascending (A-Z) to the Connections panel toolbar. Fixed rename edit control staying open when collapsing all folders. Changed sorting to sort all subfolders below the selected folder. 2011-05-25 18:18:18 -05:00
Riley McArdle
97e43d9238 Allow sorting of connections if a connection entry is selected. 2011-05-25 18:17:33 -05:00
Riley McArdle
1ec28e0bfd Corrections to the English text. 2011-05-18 10:16:41 -05:00
Riley McArdle
22e9c36365 Replaced a few instances of mRemote with mRemoteNG in German translation. 2011-05-18 10:09:23 -05:00
Riley McArdle
757dd4c8ca Added partial French translation by Lionel Caignec. 2011-05-18 10:01:37 -05:00
Riley McArdle
3de4153c1a Added some missing stuff to CHANGELOG.TXT. 2011-05-17 17:46:39 -05:00
Riley McArdle
cfbdd94ed3 Moved the items under Tools in the Connections panel context menu up to the top level. 2011-05-17 17:22:47 -05:00
Riley McArdle
eab49ef3bd Added a task dialog to ask the user about automatic updates on first run instead of just showing the update options page without any explanation. 2011-05-17 16:58:30 -05:00
Riley McArdle
5027f534e3 Fixed bug 33 - IPv6 doesn't work in quick Connect box. 2011-05-17 15:52:00 -05:00
Riley McArdle
85e1402cc0 Fixed log4net logging and disabled Debug.Print of message IDs in WndProc. 2011-05-17 12:31:25 -05:00
Riley McArdle
f048b2d04d Fixed ignored NullReferenceException in SetHostStatus. 2011-05-17 12:18:48 -05:00
Riley McArdle
19218f20bb Fixed RD Gateway default properties and RDP reconnection count setting not being saved. 2011-05-17 11:37:54 -05:00
Riley McArdle
3f2ffea1f4 Added a language selection option so users can override the language if they don't want it automatically detected. 2011-05-17 03:27:39 -05:00
Riley McArdle
6fa8923f90 Add support for build number and revision to version numbers. 2011-05-13 00:55:22 -05:00
Riley McArdle
9a63b8c316 Updated installer logos to mRemoteNG. Added install and uninstall icons from the Visual Studio 2008 image library. 2011-05-12 22:40:25 -05:00
Riley McArdle
d3311497f2 Added configuration file migration fix to CHANGELOG.TXT. 2011-05-12 21:38:10 -05:00
Riley McArdle
79bdc4f734 Bug Fix: Disable ICA Hotkeys for Citrix connections. Fixes issue with international users. 2011-05-12 21:21:35 -05:00
Riley McArdle
b5b9388d58 Reorganized languages.nsi so everything for each language is in the same place. Added native language names. Sorted alphabetically by native name. 2011-05-12 20:47:31 -05:00
Riley McArdle
d168516859 Added Thai installer translation. Compiling the installer now requires NSIS Unicode (unsis). 2011-05-12 20:36:23 -05:00
Riley McArdle
c219d34fa3 Revert Ctrl+Tab and Ctrl+Shift+Tab related commits. 2011-05-12 20:17:23 -05:00
Riley McArdle
99f3638fbf Do not migrate files from Local to Roaming folder in portable version. 2011-05-12 19:15:59 -05:00
Riley McArdle
944906a594 Safely migrate panel layout file from Local to Roaming folder. 2011-05-12 17:50:45 -05:00
Riley McArdle
4f9e6ebbd4 Safely migrate external tools configuration file from Local to Roaming folder. 2011-05-12 17:45:35 -05:00
Riley McArdle
fae284ca86 Safer migration of connections file from Local to Roaming folder. 2011-05-12 17:31:55 -05:00
Riley McArdle
4a1ac9eded Revert "Autmatically move to Roaming profile"
This reverts commit 3592fbc418.
2011-05-12 17:17:26 -05:00
Riley McArdle
58757ff85f Updated version number to 1.66 for release. 2011-05-02 14:48:07 -05:00
Riley McArdle
31b9b21f61 Fixed connection tabs not opening. 2011-05-02 14:41:27 -05:00
Riley McArdle
49273a95bc Updated version number to 1.65. Updated LegalCopyright date in installer. Updated CHANGELOG.TXT. 2011-05-02 11:40:57 -05:00
Riley McArdle
50489ddcf1 Changed the installer to quit if the user is not an Administrator or Power User. 2011-05-02 11:37:44 -05:00
Riley McArdle
e0a46b7882 Disabled Ctrl-Tab and Ctrl-Shift-Tab hotkeys. 2011-05-02 11:36:55 -05:00
Riley McArdle
b7eac745fa Merge remote branch 'remotes/sirrus/master' 2011-05-02 11:09:11 -05:00
Andreas Rehm
9cff221acb Some more Fixes for NSIS Installer.
Signed-off-by: Andreas Rehm <rehm@itsolution2.de>
2011-04-30 20:45:41 +02:00
Andreas Rehm
3592fbc418 Autmatically move to Roaming profile 2011-04-30 19:33:45 +02:00
Andreas Rehm
605cb4048b Fixed issue 38 - config should be stored in Roaming AppData.
Fixed two settings - should be user settings.
2011-04-30 18:55:18 +02:00
Andreas Rehm
9cb33c4fde Fixed Instlaller - Links for all users. 2011-04-30 18:43:17 +02:00
57 changed files with 7336 additions and 4546 deletions

View File

@@ -1,11 +1,11 @@
@echo off
SET VERSIONTAG=RC5
SET VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
SET DEVENV="devenv.exe"
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\Unicode\makensis.exe"
SET RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
SET BINARYZIP="%~dp0\Release\mRemoteNG-1.64.zip"
SET PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-1.64.zip"
call %VCVARSALL% x86 > NUL 2>&1
@@ -20,8 +20,23 @@ echo Building portable version...
mkdir "%~dp0\Release"
echo Getting product version...
%MAKENSIS% "%~dp0\Installer\GetVersion.nsi"
"%~dp0\Release\GetVersion.exe"
call "%~dp0\Release\Version.cmd"
echo Creating installer package...
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
if defined VERSIONTAG (
%MAKENSIS% /DPRODUCT_VERSION_TAG=%VERSIONTAG% "%~dp0\Installer\mRemote.nsi"
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.zip"
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.zip"
) else (
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%.zip"
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%.zip"
)
echo Creating release ZIP file...
del /f /q %BINARYZIP% > NUL 2>&1

View File

@@ -1,9 +1,12 @@
Contributors
============
Lionel Caignec
Felix Deimel
Holger Henke
Tom Hiller
Riley McArdle
Apisitt Rattana
Andreas Rehm
David Vidmar

30
Installer/GetVersion.nsi Normal file
View File

@@ -0,0 +1,30 @@
!define AppFile "$EXEDIR\..\mRemoteV1\bin\Release\mRemoteNG.exe"
!define VersionCmdFile "$EXEDIR\Version.cmd"
!define VersionNshFile "$EXEDIR\Version.nsh"
OutFile "..\Release\GetVersion.exe"
SilentInstall silent
RequestExecutionLevel user
Section
## Get file version
GetDllVersion "${AppFile}" $R0 $R1
IntOp $R3 $R0 / 0x00010000
IntOp $R4 $R0 & 0x0000FFFF
IntOp $R5 $R1 / 0x00010000
IntOp $R6 $R1 & 0x0000FFFF
StrCpy $R1 "$R3.$R4.$R5.$R6"
StrCpy $R2 "$R3.$R4"
FileOpen $R0 "${VersionCmdFile}" w
FileWrite $R0 '@echo off$\r$\n'
FileWrite $R0 'SET PRODUCT_VERSION_SHORT=$R2$\r$\n'
FileClose $R0
FileOpen $R0 "${VersionNshFile}" w
FileWrite $R0 '!define PRODUCT_VERSION "$R1"$\r$\n'
FileWrite $R0 '!define PRODUCT_VERSION_SHORT "$R2"$\r$\n'
FileWrite $R0 '!define PRODUCT_VERSION_MAJOR "$R3"$\r$\n'
FileWrite $R0 '!define PRODUCT_VERSION_MINOR "$R4"$\r$\n'
FileClose $R0
SectionEnd

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_CZECH} "Installer Language"
LangString SelectInstallerLanguage ${LANG_CZECH} "Please select the language of the installer"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_CZECH} "mRemoteNG requires Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_CZECH} "mRemoteNG requires Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_CZECH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_DUTCH} "Installer Language"
LangString SelectInstallerLanguage ${LANG_DUTCH} "Please select the language of the installer"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_DUTCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_DUTCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_DUTCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_ENGLISH} "Installer Language"
LangString SelectInstallerLanguage ${LANG_ENGLISH} "Please select the language of the installer"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_ENGLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_ENGLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_ENGLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_FRENCH} "Installer Language"
LangString SelectInstallerLanguage ${LANG_FRENCH} "Please select the language of the installer"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_FRENCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_FRENCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_FRENCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_GERMAN} "Installationsprogamm Sprache"
LangString SelectInstallerLanguage ${LANG_GERMAN} "Bitte w<>hlen Sie die Sprache f<>r das Installationsprogramm"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_GERMAN} "mRemoteNG ben<65>tigt das Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_GERMAN} "mRemoteNG ben<65>tigt das Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_GERMAN} "Sie m<>ssen Mitglied der Grupper 'Power Users' or 'Administratoren' sein, damit Sie mRemoteNG installieren k<>nnen."

View File

@@ -1,29 +1,31 @@
; Language names
!define LanguageNameEnglish "English"
!define LanguageNameGerman "Deutsch"
!define LanguageNameDutch "Dutch"
!define LanguageNameFrench "French"
!define LanguageNamePolish "Polish"
!define LanguageNameSpanish "Spanish"
!define LanguageNameCzech "Czech"
!define LanguageNameEnglish "English"
!insertmacro MUI_LANGUAGE "English"
!include "Language\english.nsi"
!define LanguageNameCzech "Čeština"
!insertmacro MUI_LANGUAGE "Czech"
!include "Language\czech.nsi"
!define LanguageNameGerman "Deutsch"
!insertmacro MUI_LANGUAGE "German"
!include "Language\german.nsi"
!insertmacro MUI_LANGUAGE "Dutch"
!include "Language\dutch.nsi"
!insertmacro MUI_LANGUAGE "French"
!include "Language\french.nsi"
!insertmacro MUI_LANGUAGE "Polish"
!include "Language\polish.nsi"
!define LanguageNameSpanish "Español"
!insertmacro MUI_LANGUAGE "Spanish"
!include "Language\spanish.nsi"
!insertmacro MUI_LANGUAGE "Czech"
!include "Language\czech.nsi"
!define LanguageNameFrench "Français"
!insertmacro MUI_LANGUAGE "French"
!include "Language\french.nsi"
!define LanguageNameDutch "Nederlands"
!insertmacro MUI_LANGUAGE "Dutch"
!include "Language\dutch.nsi"
!define LanguageNamePolish "Polski"
!insertmacro MUI_LANGUAGE "Polish"
!include "Language\polish.nsi"
!define LanguageNameThai "ภาษาไทย"
!insertmacro MUI_LANGUAGE "Thai"
!include "Language\thai.nsi"

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_POLISH} "Installer Language"
LangString SelectInstallerLanguage ${LANG_POLISH} "Please select the language of the installer"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_POLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_POLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_POLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."

View File

@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_SPANISH} "Installer Language"
LangString SelectInstallerLanguage ${LANG_SPANISH} "Please select the language of the installer"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_SPANISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."

View File

@@ -0,0 +1,17 @@
; Thai installer translation
; Contributed by Apisitt Rattana
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_THAI} "ขณะนี้กำลังติดตั้ง mRemoteNG"
; Installer Language
LangString InstallerLanguage ${LANG_THAI} "ภาษาสำหรับการติดตั้ง"
; Select installer Language
LangString SelectInstallerLanguage ${LANG_THAI} "กรุณาเลือกภาษาสำหรับการติดตั้ง"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_THAI} "mRemoteNG มีความต้องการ Microsoft .NET Framework 2.0. เป็นพื้นฐาน"
; User needs to be Admin
LangString RequiresAdminUser ${LANG_THAI} "คุณต้องเป็นสมาชิกในกลุ่มของ 'Power Users' หรือ 'Administrators' เพื่อการติดตั้ง mRemoteNG"

BIN
Installer/RecycleBin.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
Installer/Setup_Install.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -1,33 +1,40 @@
!include "MUI.nsh"
!include "MUI.nsh"
!include "WordFunc.nsh"
!insertmacro VersionCompare
!DEFINE PRODUCT_VERSION_MAJOR 1
!DEFINE PRODUCT_VERSION_MINOR 64
!include "..\Release\Version.nsh"
!DEFINE PRODUCT_VERSION "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}"
!DEFINE PRODUCT_VERSION_LONG "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.0.0"
; This will be passed in using the /D switch by BUILD.CMD
!ifdef PRODUCT_VERSION_TAG
!define PRODUCT_VERSION_FRIENDLY "${PRODUCT_VERSION_SHORT}"
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}-${PRODUCT_VERSION_TAG}"
!else
!define PRODUCT_VERSION_FRIENDLY "${PRODUCT_VERSION_SHORT}"
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}"
!endif
; Global Variables
Var InstallDotNET
; Basic Config
Name "mRemoteNG ${PRODUCT_VERSION}"
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION}.exe"
Name "mRemoteNG ${PRODUCT_VERSION_FRIENDLY}"
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION_TAGGED}.exe"
SetCompressor /SOLID lzma
InstallDir "$PROGRAMFILES\mRemoteNG"
InstallDirRegKey HKLM "Software\mRemoteNG" "InstallPath"
RequestExecutionLevel admin
; Version Information
VIProductVersion ${PRODUCT_VERSION_LONG}
VIProductVersion ${PRODUCT_VERSION}
VIAddVersionKey "ProductName" "mRemoteNG"
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION_LONG}
VIAddVersionKey "LegalCopyright" "Copyright <EFBFBD> 2007-2009 Felix Deimel, 2010 Riley McArdle"
VIAddVersionKey "FileDescription" "mRemoteNG ${PRODUCT_VERSION} Installer"
VIAddVersionKey "FileVersion" ${PRODUCT_VERSION_LONG}
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION}
VIAddVersionKey "LegalCopyright" "Copyright © 2007-2009 Felix Deimel, 2010-2011 Riley McArdle"
VIAddVersionKey "FileDescription" "mRemoteNG ${PRODUCT_VERSION_FRIENDLY} Installer"
VIAddVersionKey "FileVersion" ${PRODUCT_VERSION}
; Design
!define MUI_ICON "Setup_Install.ico"
!define MUI_UNICON "RecycleBin.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "header.bmp" ; optional
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
@@ -61,6 +68,42 @@ VIAddVersionKey "FileVersion" ${PRODUCT_VERSION_LONG}
!define MUI_FINISHPAGE_RUN_Text "$(LaunchMremoteNow)"
Function .onInit
ClearErrors
UserInfo::GetName
IfErrors Win9x
Pop $0
UserInfo::GetAccountType
Pop $1
# GetOriginalAccountType will check the tokens of the original user of the
# current thread/process. If the user tokens were elevated or limited for
# this process, GetOriginalAccountType will return the non-restricted
# account type.
# On Vista with UAC, for example, this is not the same value when running
# with `RequestExecutionLevel user`. GetOriginalAccountType will return
# "admin" while GetAccountType will return "user".
StrCmp $1 "Admin" 0 +3
Goto doit
StrCmp $1 "Power" 0 +3
Goto doit
StrCmp $1 "User" 0 +3
Goto noop
StrCmp $1 "Guest" 0 +3
Goto noop
MessageBox MB_OK "Unknown error"
Goto doit
Win9x:
doit:
# We can install
Call SelectLanguage
Goto end
noop:
MessageBox MB_OK "$(RequiresAdminUser)"
Quit
end:
FunctionEnd
Function SelectLanguage
;Language selection dialog
Push ""
Push ${LANG_ENGLISH}
@@ -77,6 +120,8 @@ Function .onInit
Push ${LanguageNameSpanish}
Push ${LANG_CZECH}
Push ${LanguageNameCzech}
Push ${LANG_THAI}
Push ${LanguageNameThai}
Push A ; A means auto count languages
; for the auto count to work the first empty push (Push "") must remain
LangDLL::LangDialog "$(InstallerLanguage)" "$(SelectInstallerLanguage)"
@@ -109,7 +154,8 @@ FunctionEnd
Section "" ; Install
SetOutPath $INSTDIR
SetShellVarContext all
; AddFiles
File /r /x "mRemoteNG.vshost.*" "..\mRemoteV1\bin\Release\*.*"
File /r "Dependencies\*.*"
@@ -150,6 +196,11 @@ Section "un.Uninstall"
RMDIR /r $INSTDIR
; Start Menu
SetShellVarContext all
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
RMDir "$SMPROGRAMS\mRemoteNG"
SetShellVarContext current
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
RMDir "$SMPROGRAMS\mRemoteNG"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -15,7 +15,7 @@ Namespace App
Public Class Settings
#If Not PORTABLE Then
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.ApplicationData) & "\" & My.Application.Info.ProductName
#Else
Public Shared ReadOnly SettingsPath As String = My.Application.Info.DirectoryPath
#End If
@@ -36,7 +36,7 @@ Namespace App
Public Shared ReadOnly DefaultConnectionsPath As String = App.Info.Settings.SettingsPath
Public Shared ReadOnly DefaultConnectionsFile As String = "confCons.xml"
Public Shared ReadOnly DefaultConnectionsFileNew As String = "confConsNew.xml"
Public Shared ReadOnly ConnectionFileVersion As Double = 2.2
Public Shared ReadOnly ConnectionFileVersion As Double = 2.3
End Class
Public Class Credentials

View File

@@ -98,22 +98,6 @@ Namespace App
<DllImport("user32")> _
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Long
End Function
<DllImport("user32")> _
Public Shared Function RegisterHotKey(ByVal Handle As IntPtr, ByVal ID As Integer, ByVal Modifier As Integer, ByVal Key As Integer) As Integer
End Function
<DllImport("user32")> _
Public Shared Function UnregisterHotKey(ByVal Handle As IntPtr, ByVal ID As Integer) As Integer
End Function
<DllImport("kernel32")> _
Public Shared Function GlobalAddAtom(ByVal lpString As String) As Integer
End Function
<DllImport("kernel32")> _
Public Shared Function GlobalDeleteAtom(ByVal nAtom As Integer) As Integer
End Function
#End Region
#Region "Constants"

View File

@@ -3,11 +3,11 @@ Imports System.IO
Imports Crownwood
Imports System.Threading
Imports System.Xml
Imports mRemoteNG.App.Native
Imports System.Environment
Imports System.Management
Namespace App
Public Class Runtime
#Region "Public Declarations"
Public Shared sL As Config.Settings.Load
Public Shared sS As Config.Settings.Save
@@ -40,43 +40,8 @@ Namespace App
Public Shared DefaultInheritance As mRemoteNG.Connection.Info.Inheritance
Public Shared ExtApps As New ArrayList()
'HotKeys
Public Shared HotKey_CtrlTab As clsHotKeyRegister
Public Shared HotKey_ShiftTab As clsHotKeyRegister
#End Region
Public NotInheritable Class clsHotKeyRegister : Inherits NativeWindow
Private atomID As Integer
Event Pressed(ByVal ID As Integer)
Sub New(ByVal Modifier As ModifierKey, ByVal Key As Keys)
CreateHandle(New CreateParams)
atomID = GlobalAddAtom(GetHashCode())
RegisterHotKey(Handle, atomID, Modifier, Key)
End Sub
Sub Unregister()
UnregisterHotKey(Handle, atomID)
End Sub
Protected Overrides Sub WndProc(ByRef M As Message)
If M.Msg = 786 Then 'W_HOTKEY
If ForegroundWindowRealtedToAppInstance() Then
RaiseEvent Pressed(M.WParam.ToInt32)
End If
End If
MyBase.WndProc(M)
End Sub
Public Enum ModifierKey
'None = 0 'Not a good idea to use, commenting out
Alt = 1
Ctrl = 2
Shift = 4
End Enum
End Class
Public Class Windows
Public Shared treeForm As UI.Window.Tree
Public Shared treePanel As New DockContent
@@ -90,7 +55,7 @@ Namespace App
Public Shared screenshotPanel As New DockContent
Public Shared quickyForm As UI.Window.QuickConnect
Public Shared quickyPanel As New DockContent
Public Shared optionsForm As UI.Window.Options
Public Shared optionsForm As frmOptions
Public Shared optionsPanel As New DockContent
Public Shared saveasForm As UI.Window.SaveAs
Public Shared saveasPanel As New DockContent
@@ -129,9 +94,7 @@ Namespace App
Windows.adimportPanel.Show(frmMain.pnlDock)
Case UI.Window.Type.Options
Windows.optionsForm = New UI.Window.Options(Windows.optionsPanel)
Windows.optionsPanel = Windows.optionsForm
Windows.optionsForm = New frmOptions(Windows.optionsPanel)
Windows.optionsForm.Show(frmMain.pnlDock)
Case UI.Window.Type.SaveAs
Windows.saveasForm = New UI.Window.SaveAs(Windows.saveasPanel)
@@ -183,6 +146,11 @@ Namespace App
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Show (App.Runtime.Windows) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Public Shared Sub ShowUpdatesTab()
Windows.optionsForm = New frmOptions(Windows.optionsPanel)
Windows.optionsForm.Show(frmMain.pnlDock, 5)
End Sub
End Class
Public Class Screens
@@ -239,24 +207,21 @@ Namespace App
Public Shared Sub SetDefaultLayout()
frmMain.pnlDock.Visible = False
Windows.configPanel.Show(frmMain.pnlDock, DockState.DockLeft)
frmMain.pnlDock.DockLeftPortion = 0.25
frmMain.pnlDock.DockRightPortion = 0.25
frmMain.pnlDock.DockTopPortion = 0.25
frmMain.pnlDock.DockBottomPortion = 0.25
Windows.treePanel.Show(frmMain.pnlDock, DockState.DockLeft)
For Each pane As DockPane In frmMain.pnlDock.Panes
If pane.DockState = DockState.DockLeft Then
Windows.treePanel.DockTo(pane, DockStyle.Top, 0)
Exit For
End If
Next
Windows.errorsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.sessionsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.screenshotPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.screenshotForm.Hide()
Windows.configPanel.Show(frmMain.pnlDock)
Windows.configPanel.DockTo(Windows.treePanel.Pane, DockStyle.Bottom, -1)
Windows.quickyPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.screenshotPanel.Show(Windows.quickyPanel.Pane, Windows.quickyPanel)
Windows.sessionsPanel.Show(Windows.quickyPanel.Pane, Windows.screenshotPanel)
Windows.errorsPanel.Show(Windows.quickyPanel.Pane, Windows.sessionsPanel)
Windows.screenshotForm.Hide()
Windows.quickyForm.Hide()
frmMain.pnlDock.Visible = True
@@ -283,16 +248,29 @@ Namespace App
Public Shared Sub CreateLogger()
log4net.Config.XmlConfigurator.Configure(New FileInfo("mRemoteNG.exe.config"))
log = log4net.LogManager.GetLogger("mRemoteNG.Log")
End Sub
Public Shared Sub RegisterHotKeys()
'Register HotKey
'Ctrl-Tab | Advance one tab
HotKey_CtrlTab = New clsHotKeyRegister(clsHotKeyRegister.ModifierKey.Ctrl, Keys.Tab)
'Shift-Tab | Reverse one tab
HotKey_ShiftTab = New clsHotKeyRegister(clsHotKeyRegister.ModifierKey.Ctrl + clsHotKeyRegister.ModifierKey.Shift, Keys.Tab)
log.InfoFormat("{0} started.", My.Application.Info.ProductName)
log.InfoFormat("Command Line: {0}", Environment.GetCommandLineArgs)
Try
Dim servicePack As Integer
For Each managementObject As ManagementObject In New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get()
servicePack = managementObject.GetPropertyValue("ServicePackMajorVersion")
If servicePack = 0 Then
log.InfoFormat("{0} {1}", managementObject.GetPropertyValue("Caption").Trim, managementObject.GetPropertyValue("OSArchitecture"))
Else
log.InfoFormat("{0} Service Pack {1} {2}", managementObject.GetPropertyValue("Caption").Trim, servicePack.ToString, managementObject.GetPropertyValue("OSArchitecture"))
End If
Next
Catch ex As Exception
log.WarnFormat("Error retrieving operating system information from WMI. {0}", ex.Message)
End Try
log.InfoFormat("Microsoft .NET Framework {0}", System.Environment.Version.ToString)
#If Not PORTABLE Then
log.InfoFormat("{0} {1}", My.Application.Info.ProductName.ToString, My.Application.Info.Version.ToString)
#Else
log.InfoFormat("{0} {1} {2}", My.Application.Info.ProductName.ToString, My.Application.Info.Version.ToString, My.Resources.strLabelPortableEdition)
#End If
log.InfoFormat("System Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
End Sub
Public Shared Sub UpdateCheck()
@@ -429,8 +407,10 @@ Namespace App
Try
LastSQLUpdate = Nothing
RemoveHandler Tools.Misc.SQLUpdateCheckFinished, AddressOf SQLUpdateCheckFinished
tmrSqlWatcher.Stop()
tmrSqlWatcher.Close()
If tmrSqlWatcher IsNot Nothing Then
tmrSqlWatcher.Stop()
tmrSqlWatcher.Close()
End If
Catch ex As Exception
End Try
End Sub
@@ -458,11 +438,7 @@ Namespace App
' ToDo: Change Report.log location
File.Delete(My.Application.Info.DirectoryPath & "\Report.log")
End If
End If
'Unregister Hotkeys
HotKey_CtrlTab.Unregister()
HotKey_ShiftTab.Unregister()
sS.Save()
Catch ex As Exception
@@ -497,6 +473,8 @@ Namespace App
My.Settings.ConDefaultCacheBitmaps = .CacheBitmaps
My.Settings.ConDefaultDisplayWallpaper = .DisplayWallpaper
My.Settings.ConDefaultDisplayThemes = .DisplayThemes
My.Settings.ConDefaultEnableFontSmoothing = .EnableFontSmoothing
My.Settings.ConDefaultEnableDesktopComposition = .EnableDesktopComposition
My.Settings.ConDefaultRedirectKeys = .RedirectKeys
My.Settings.ConDefaultRedirectDiskDrives = .RedirectDiskDrives
My.Settings.ConDefaultRedirectPrinters = .RedirectPrinters
@@ -519,6 +497,12 @@ Namespace App
My.Settings.ConDefaultVNCSmartSizeMode = .VNCSmartSizeMode.ToString
My.Settings.ConDefaultVNCViewOnly = .VNCViewOnly
My.Settings.ConDefaultExtApp = .ExtApp
My.Settings.ConDefaultRDGatewayUsageMethod = .RDGatewayUsageMethod.ToString
My.Settings.ConDefaultRDGatewayHostname = .RDGatewayHostname
My.Settings.ConDefaultRDGatewayUsername = .RDGatewayUsername
My.Settings.ConDefaultRDGatewayPassword = .RDGatewayPassword
My.Settings.ConDefaultRDGatewayDomain = .RDGatewayDomain
My.Settings.ConDefaultRDGatewayUseConnectionCredentials = .RDGatewayUseConnectionCredentials.ToString
End With
End Sub
#End Region
@@ -551,6 +535,8 @@ Namespace App
My.Settings.InhDefaultCacheBitmaps = .CacheBitmaps
My.Settings.InhDefaultDisplayWallpaper = .DisplayWallpaper
My.Settings.InhDefaultDisplayThemes = .DisplayThemes
My.Settings.InhDefaultEnableFontSmoothing = .EnableFontSmoothing
My.Settings.InhDefaultEnableDesktopComposition = .EnableDesktopComposition
My.Settings.InhDefaultRedirectKeys = .RedirectKeys
My.Settings.InhDefaultRedirectDiskDrives = .RedirectDiskDrives
My.Settings.InhDefaultRedirectPrinters = .RedirectPrinters
@@ -622,11 +608,9 @@ Namespace App
pnlcForm.Show(frmMain.pnlDock, DockState.Document)
If NoTabber = True Then
If NoTabber Then
TryCast(cForm, UI.Window.Connection).TabController.Dispose()
End If
If NoTabber = False Then
Else
wL.Add(cForm)
End If
@@ -782,7 +766,15 @@ Namespace App
End If
Else
If My.Settings.LoadConsFromCustomLocation = False Then
conL.ConnectionFileName = App.Info.Connections.DefaultConnectionsPath & "\" & App.Info.Connections.DefaultConnectionsFile
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Connections.DefaultConnectionsFile
Dim newPath As String = App.Info.Connections.DefaultConnectionsPath & "\" & App.Info.Connections.DefaultConnectionsFile
If File.Exists(newPath) Then
conL.ConnectionFileName = newPath
#If Not PORTABLE Then
Else If File.Exists(oldPath) Then
conL.ConnectionFileName = oldPath
#End If
End If
Else
conL.ConnectionFileName = My.Settings.CustomConsPath
End If
@@ -828,6 +820,7 @@ Namespace App
conL.UseSQL = My.Settings.UseSQLServer
conL.SQLHost = My.Settings.SQLHost
conL.SQLDatabaseName = My.Settings.SQLDatabaseName
conL.SQLUsername = My.Settings.SQLUser
conL.SQLPassword = Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey)
conL.SQLUpdate = Update
@@ -920,6 +913,8 @@ Namespace App
Select Case pValue
Case 8
nConI.Colors = Connection.Protocol.RDP.RDPColors.Colors256
Case 15
nConI.Colors = Connection.Protocol.RDP.RDPColors.Colors15Bit
Case 16
nConI.Colors = Connection.Protocol.RDP.RDPColors.Colors16Bit
Case 24
@@ -955,6 +950,18 @@ Namespace App
Else
nConI.DisplayThemes = False
End If
Case "allow font smoothing"
If pValue = 1 Then
nConI.EnableFontSmoothing = True
Else
nConI.EnableFontSmoothing = False
End If
Case "allow desktop composition"
If pValue = 1 Then
nConI.EnableDesktopComposition = True
Else
nConI.EnableDesktopComposition = False
End If
Case "redirectsmartcards"
If pValue = 1 Then
nConI.RedirectSmartCards = True
@@ -1128,6 +1135,7 @@ Namespace App
If My.Settings.UseSQLServer = True Then
conS.SaveFormat = Config.Connections.Save.Format.SQL
conS.SQLHost = My.Settings.SQLHost
conS.SQLDatabaseName = My.Settings.SQLDatabaseName
conS.SQLUsername = My.Settings.SQLUser
conS.SQLPassword = Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey)
End If
@@ -1210,54 +1218,28 @@ Namespace App
Public Shared Function CreateQuicky(ByVal ConString As String, Optional ByVal Protocol As Connection.Protocol.Protocols = Connection.Protocol.Protocols.NONE) As Connection.Info
Try
nCi = New Connection.Info
Dim Uri As System.Uri = New System.Uri("dummyscheme" + System.Uri.SchemeDelimiter + ConString)
If Protocol <> Connection.Protocol.Protocols.NONE Then
If Not String.IsNullOrEmpty(Uri.Host) Then
nCi = New Connection.Info
nCi.Name = String.Format(My.Resources.strQuick, Uri.Host)
nCi.Protocol = Protocol
End If
Dim qConS() As String = Split(ConString, ":")
Dim qHost As String = ""
Dim qPort As Integer = 0
For i As Integer = 0 To qConS.Length - 1
If i = 0 Then
qHost = qConS(i)
nCi.Hostname = Uri.Host
If Uri.Port = -1 Then
nCi.Port = Nothing
Else
nCi.Port = Uri.Port
End If
If i = 1 Then
Try
qPort = Int(qConS(i))
Catch ex As Exception
qHost += ":" & qConS(i)
End Try
End If
If i = 2 Then
Try
qPort = Int(qConS(i))
Catch ex As Exception
End Try
End If
Next
If qHost <> "" Then
nCi.Name = String.Format(My.Resources.strQuick, qHost)
nCi.Hostname = qHost
nCi.Port = qPort
nCi.IsQuicky = True
Windows.quickyForm.ConnectionInfo = nCi
If Protocol = Connection.Protocol.Protocols.NONE Then
Windows.quickyPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Else
End If
Return nCi
Else
'--------
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strQuickConnectFailed & vbNewLine & ex.Message)
@@ -1640,7 +1622,7 @@ Namespace App
Public Shared Sub SetMainFormText(Optional ByVal ConnectionFileName As String = "")
Try
Dim txt As String = "mRemoteNG"
Dim txt As String = My.Application.Info.ProductName
If App.Editions.Spanlink.Enabled Then
txt &= " | Spanlink Communications"
@@ -1705,45 +1687,6 @@ Namespace App
End If
Next
End Sub
'Determine if the Foreground window is current instance of mRemoteNG, Contained Putty instance or Contained External App instance
Public Shared Function ForegroundWindowRealtedToAppInstance() As Boolean
If GetForegroundWindow() = frmMain.Handle Then
Return True
End If
For Each conns As Connection.Info In cL
For Each openCon As Connection.Protocol.Base In conns.OpenConnections
Select Case openCon.InterfaceControl.Info.Protocol
Case Connection.Protocol.Protocols.SSH1
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.SSH2
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.RAW
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.Rlogin
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.Telnet
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.IntApp
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.IntApp).IntAppHandle = GetForegroundWindow() Then
Return True
End If
End Select
Next
Next
Return False
End Function
#End Region
#Region "SQL Watcher"

View File

@@ -0,0 +1,66 @@
Namespace App
Public Class SupportedCultures
Inherits Dictionary(Of String, String)
Private Sub New()
Dim CultureInfo As Globalization.CultureInfo
For Each CultureName As String In My.Settings.SupportedUICultures.Split(",")
Try
CultureInfo = New Globalization.CultureInfo(CultureName.Trim)
Add(CultureInfo.Name, CultureInfo.TextInfo.ToTitleCase(CultureInfo.NativeName))
Catch ex As Exception
Debug.Print(String.Format("An exception occurred while adding the culture '{0}' to the list of supported cultures. {1}", CultureName, ex.ToString))
End Try
Next
End Sub
Private Shared _Instance As SupportedCultures = Nothing
Public Shared Sub InstantiateSingleton()
If _Instance Is Nothing Then
_Instance = New SupportedCultures
End If
End Sub
Public Shared Function IsNameSupported(ByVal CultureName As String) As Boolean
Return _Instance.ContainsKey(CultureName)
End Function
Public Shared Function IsNativeNameSupported(ByVal CultureNativeName As String) As Boolean
Return _Instance.ContainsValue(CultureNativeName)
End Function
Public Shared ReadOnly Property CultureName(ByVal CultureNativeName As String) As String
Get
Dim Names(_Instance.Count) As String
Dim NativeNames(_Instance.Count) As String
_Instance.Keys.CopyTo(Names, 0)
_Instance.Values.CopyTo(NativeNames, 0)
For Index As Integer = 0 To _Instance.Count
If NativeNames(Index) = CultureNativeName Then
Return Names(Index)
End If
Next
Throw New System.Collections.Generic.KeyNotFoundException()
End Get
End Property
Public Shared ReadOnly Property CultureNativeName(ByVal CultureName As String) As String
Get
Return _Instance.Item(CultureName)
End Get
End Property
Public Shared ReadOnly Property CultureNativeNames() As List(Of String)
Get
Dim ValueList As List(Of String) = New List(Of String)
For Each Value As String In _Instance.Values
ValueList.Add(Value)
Next
Return ValueList
End Get
End Property
End Class
End Namespace

View File

@@ -1,4 +1,45 @@
1.64 (2011-04-27):
1.67 (2011-06-05):
Fixed migration of external tools configuration and panel layout from Local to Roaming folder.
Disable ICA Hotkeys for Citrix connections. Fixes issue with international users.
Added a language selection option so users can override the language if they don't want it automatically detected.
Added partial French translation to the application.
Addded Thai translation to the installer.
Updated graphics in the installer to mRemoteNG logo.
Fixed RD Gateway default properties and RDP reconnection count setting not being saved.
Fixed bug 33 - IPv6 doesn't work in quick Connect box.
Moved the items under Tools in the Connections panel context menu up to the top level.
Added buttons for Add Connection, Add Folder, and Sort Ascending (A-Z) to the Connections panel toolbar.
Fixed rename edit control staying open when collapsing all folders.
Changed sorting to sort all subfolders below the selected folder.
Allow sorting of connections if a connection entry is selected.
Fixed adding a connection entry if nothing is selected in the tree.
Added 15-bit Color RDP setting.
Fixed loading of RDP Colors setting from SQL.
Added Font Smoothing and Desktop Composition RDP settings.
Improved error handling when loading XML connection files.
Added the mRemoteNG icon to the list of selectable icons for connection entries.
Added confirmation before closing connection tabs.
Fixed bug 42 - Maximized location not remembered with multiple monitors.
Improved loading and saving of window location.
Removed flickering on start up.
Changed the Options page into a normal dialog.
Improved Reset Layout function.
Changed to use full four part version numbers with major, minor, build, and revision.
Changed hard coded SQL database name into a user configurable setting.
Fixed tab order of controls in Options dialog.
Fixed bug 45 - Changing some settings in the config file may not save.
1.66 (2011-05-02):
Fixed connections not working
1.65 (2011-05-02):
Fixed Ctrl-Tab and Ctrl-Shift-Tab not working in any other applications while mRemoteNG is running
Ctrl-Tab and Ctrl-Shift-Tab no longer work to switch tabs within mRemoteNG
Fixed bug 36 - Install creates shortcuts only for the installing user
Fixed bug 38 - Application uses the wrong Application Data settings folder (in Local Settings)
Added code to the installer to check that the user is in the 'Power Users' or 'Administrators' group
1.64 (2011-04-27):
Fixed bug 6 - VNC CTRL+key & keyboard combo mappings are broken
Fixed bug 12 - Tab switch is not working in config panel
Fixed bug 14 - RDP Connection authentication problem
@@ -521,7 +562,7 @@ V0.0.3.2:
V0.0.3.0:
Added Options Tab
Load connections file from different location
Save/Dont Save connections file on exit
Save/Don't Save connections file on exit
Show current tab name in window title
Added drag and drop functionality to the connections tree
Added feature to hide top bar
@@ -531,7 +572,7 @@ V0.0.3.0:
V0.0.2.7:
Added feature to save connection settings to all connections in the selected container
Icon choosing bug fixed
Taskbar button had no text when in fullscreen fixed
Taskbar button had no text when in fullscreen - fixed
Fixed bug in Quick Connect GUI
Disabled "Display Wallpaper" and "Display Themes" checkboxes as these features are not implemented

View File

@@ -18,8 +18,6 @@ Namespace Config
Private sqlQuery As SqlCommand
Private sqlRd As SqlDataReader
Private sqlDB As String = "mRemoteNG"
Private selNode As TreeNode
#End Region
@@ -44,6 +42,16 @@ Namespace Config
End Set
End Property
Private _SQLDatabaseName As String
Public Property SQLDatabaseName() As String
Get
Return _SQLDatabaseName
End Get
Set(ByVal value As String)
_SQLDatabaseName = value
End Set
End Property
Private _SQLUsername As String
Public Property SQLUsername() As String
Get
@@ -177,9 +185,9 @@ Namespace Config
App.Runtime.ConnectionsFileLoaded = False
If _SQLUsername <> "" Then
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
Else
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";Integrated Security=True")
End If
sqlCon.Open()
@@ -440,7 +448,7 @@ Namespace Config
conI.Port = .Item("Port")
conI.PuttySession = .Item("PuttySession")
conI.Colors = .Item("Colors")
conI.Colors = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPColors), .Item("Colors"))
conI.Resolution = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPResolutions), .Item("Resolution"))
conI.Inherit = New Connection.Info.Inheritance(conI)
@@ -545,6 +553,13 @@ Namespace Config
conI.Inherit.RDGatewayDomain = .Item("InheritRDGatewayDomain")
End If
If Me.confVersion >= 2.3 Then
conI.EnableFontSmoothing = .Item("EnableFontSmoothing")
conI.EnableDesktopComposition = .Item("EnableDesktopComposition")
conI.Inherit.EnableFontSmoothing = .Item("InheritEnableFontSmoothing")
conI.Inherit.EnableDesktopComposition = .Item("InheritEnableDesktopComposition")
End If
If SQLUpdate = True Then
conI.PleaseConnect = .Item("Connected")
End If
@@ -781,9 +796,9 @@ Namespace Config
End Sub
Private Function GetConnectionInfoFromXml(ByVal xxNode As XmlNode) As Connection.Info
Try
Dim conI As New Connection.Info
Dim conI As New Connection.Info
Try
With xxNode
If Me.confVersion > 0.1 Then '0.2
conI.Name = .Attributes("Name").Value
@@ -879,6 +894,8 @@ Namespace Config
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors24Bit
Case 3
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors32Bit
Case 4
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors15Bit
End Select
conI.RedirectSound = .Attributes("RedirectSound").Value
@@ -998,13 +1015,21 @@ Namespace Config
conI.Inherit.RDGatewayPassword = .Attributes("InheritRDGatewayPassword").Value
conI.Inherit.RDGatewayDomain = .Attributes("InheritRDGatewayDomain").Value
End If
End With
Return conI
If Me.confVersion > 2.2 Then '2.3
' Get settings
conI.EnableFontSmoothing = .Attributes("EnableFontSmoothing").Value
conI.EnableDesktopComposition = .Attributes("EnableDesktopComposition").Value
' Get inheritance settings
conI.Inherit.EnableFontSmoothing = .Attributes("InheritEnableFontSmoothing").Value
conI.Inherit.EnableDesktopComposition = .Attributes("InheritEnableDesktopComposition").Value
End If
End With
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strGetConnectionInfoFromXmlFailed & vbNewLine & ex.Message, True)
Return Nothing
mC.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Resources.strGetConnectionInfoFromXmlFailed, conI.Name, Me.ConnectionFileName, ex.Message), False)
End Try
Return conI
End Function
Private Function Authenticate(ByVal Value As String, ByVal CompareToOriginalValue As Boolean, Optional ByVal RootInfo As mRemoteNG.Root.Info = Nothing) As Boolean

View File

@@ -5,6 +5,7 @@ Imports System.Globalization
Imports mRemoteNG.App.Runtime
Imports System.Data.SqlClient
Imports mRemoteNG.Tools.Misc
Imports mRemoteNG.My.Resources
Namespace Config
Namespace Connections
@@ -24,8 +25,6 @@ Namespace Config
Private xW As XmlTextWriter
Private pW As String = App.Info.General.EncryptionKey
Private sqlDB As String = "mRemote"
Private sqlCon As SqlConnection
Private sqlQuery As SqlCommand
Private sqlWr As Integer
@@ -45,6 +44,16 @@ Namespace Config
End Set
End Property
Private _SQLDatabaseName As String
Public Property SQLDatabaseName() As String
Get
Return _SQLDatabaseName
End Get
Set(ByVal value As String)
_SQLDatabaseName = value
End Set
End Property
Private _SQLUsername As String
Public Property SQLUsername() As String
Get
@@ -165,15 +174,58 @@ Namespace Config
#End Region
#Region "SQL"
Private Function VerifyDatabaseVersion(ByVal sqlConnection As SqlConnection) As Boolean
Dim isVerified As Boolean = False
Dim sqlDataReader As SqlDataReader = Nothing
Dim databaseVersion As System.Version = Nothing
Try
Dim sqlCommand As New SqlCommand("SELECT * FROM tblRoot", sqlConnection)
sqlDataReader = sqlCommand.ExecuteReader()
sqlDataReader.Read()
Dim enCulture As CultureInfo = New CultureInfo("en-US")
databaseVersion = New System.Version(Convert.ToDouble(sqlDataReader.Item("confVersion"), enCulture))
sqlDataReader.Close()
If databaseVersion.CompareTo(New System.Version(2, 2)) = 0 Then ' 2.2
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format("Upgrading database from version {0} to version {1}.", databaseVersion.ToString, "2.3"))
sqlCommand = New SqlCommand("ALTER TABLE tblCons ADD EnableFontSmoothing bit NOT NULL DEFAULT 0, EnableDesktopComposition bit NOT NULL DEFAULT 0, InheritEnableFontSmoothing bit NOT NULL DEFAULT 0, InheritEnableDesktopComposition bit NOT NULL DEFAULT 0;", sqlConnection)
sqlCommand.ExecuteNonQuery()
databaseVersion = New System.Version(2, 3)
End If
If databaseVersion.CompareTo(New System.Version(2, 3)) = 0 Then ' 2.3
isVerified = True
End If
If isVerified = False Then
mC.AddMessage(Messages.MessageClass.WarningMsg, String.Format(strErrorBadDatabaseVersion, databaseVersion.ToString, My.Application.Info.ProductName))
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(strErrorVerifyDatabaseVersionFailed, ex.Message))
Finally
If sqlDataReader IsNot Nothing Then
If Not sqlDataReader.IsClosed Then sqlDataReader.Close()
End If
End Try
Return isVerified
End Function
Private Sub SaveToSQL()
If _SQLUsername <> "" Then
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
Else
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";Integrated Security=True")
End If
sqlCon.Open()
If Not VerifyDatabaseVersion(sqlCon) Then
mC.AddMessage(Messages.MessageClass.ErrorMsg, strErrorConnectionListSaveFailed)
Return
End If
Dim tN As TreeNode
tN = RootTreeNode.Clone
@@ -220,14 +272,14 @@ Namespace Config
sqlQuery = New SqlCommand("INSERT INTO tblCons (Name, Type, Expanded, Description, Icon, Panel, Username, " & _
"DomainName, Password, Hostname, Protocol, PuttySession, " & _
"Port, ConnectToConsole, RenderingEngine, ICAEncryptionStrength, RDPAuthenticationLevel, Colors, Resolution, DisplayWallpaper, " & _
"DisplayThemes, CacheBitmaps, RedirectDiskDrives, RedirectPorts, " & _
"DisplayThemes, EnableFontSmoothing, EnableDesktopComposition, CacheBitmaps, RedirectDiskDrives, RedirectPorts, " & _
"RedirectPrinters, RedirectSmartCards, RedirectSound, RedirectKeys, " & _
"Connected, PreExtApp, PostExtApp, MacAddress, UserField, ExtApp, VNCCompression, VNCEncoding, VNCAuthMode, " & _
"VNCProxyType, VNCProxyIP, VNCProxyPort, VNCProxyUsername, VNCProxyPassword, " & _
"VNCColors, VNCSmartSizeMode, VNCViewOnly, " & _
"RDGatewayUsageMethod, RDGatewayHostname, RDGatewayUseConnectionCredentials, RDGatewayUsername, RDGatewayPassword, RDGatewayDomain, " & _
"InheritCacheBitmaps, InheritColors, " & _
"InheritDescription, InheritDisplayThemes, InheritDisplayWallpaper, InheritDomain, " & _
"InheritDescription, InheritDisplayThemes, InheritDisplayWallpaper, InheritEnableFontSmoothing, InheritEnableDesktopComposition, InheritDomain, " & _
"InheritIcon, InheritPanel, InheritPassword, InheritPort, " & _
"InheritProtocol, InheritPuttySession, InheritRedirectDiskDrives, " & _
"InheritRedirectKeys, InheritRedirectPorts, InheritRedirectPrinters, " & _
@@ -308,6 +360,8 @@ Namespace Config
sqlQuery.CommandText &= "'" & .Resolution.ToString & "',"
sqlQuery.CommandText &= "'" & .DisplayWallpaper & "',"
sqlQuery.CommandText &= "'" & .DisplayThemes & "',"
sqlQuery.CommandText &= "'" & .EnableFontSmoothing & "',"
sqlQuery.CommandText &= "'" & .EnableDesktopComposition & "',"
sqlQuery.CommandText &= "'" & .CacheBitmaps & "',"
sqlQuery.CommandText &= "'" & .RedirectDiskDrives & "',"
sqlQuery.CommandText &= "'" & .RedirectPorts & "',"
@@ -369,6 +423,8 @@ Namespace Config
sqlQuery.CommandText &= "'" & .Description & "',"
sqlQuery.CommandText &= "'" & .DisplayThemes & "',"
sqlQuery.CommandText &= "'" & .DisplayWallpaper & "',"
sqlQuery.CommandText &= "'" & .EnableFontSmoothing & "',"
sqlQuery.CommandText &= "'" & .EnableDesktopComposition & "',"
sqlQuery.CommandText &= "'" & .Domain & "',"
sqlQuery.CommandText &= "'" & .Icon & "',"
sqlQuery.CommandText &= "'" & .Panel & "',"
@@ -634,6 +690,10 @@ Namespace Config
xW.WriteAttributeString("DisplayThemes", "", curConI.DisplayThemes)
xW.WriteAttributeString("EnableFontSmoothing", "", curConI.EnableFontSmoothing)
xW.WriteAttributeString("EnableDesktopComposition", "", curConI.EnableDesktopComposition)
xW.WriteAttributeString("CacheBitmaps", "", curConI.CacheBitmaps)
xW.WriteAttributeString("RedirectDiskDrives", "", curConI.RedirectDiskDrives)
@@ -701,6 +761,8 @@ Namespace Config
xW.WriteAttributeString("InheritDescription", "", curConI.Inherit.Description)
xW.WriteAttributeString("InheritDisplayThemes", "", curConI.Inherit.DisplayThemes)
xW.WriteAttributeString("InheritDisplayWallpaper", "", curConI.Inherit.DisplayWallpaper)
xW.WriteAttributeString("InheritEnableFontSmoothing", "", curConI.Inherit.EnableFontSmoothing)
xW.WriteAttributeString("InheritEnableDesktopComposition", "", curConI.Inherit.EnableDesktopComposition)
xW.WriteAttributeString("InheritDomain", "", curConI.Inherit.Domain)
xW.WriteAttributeString("InheritIcon", "", curConI.Inherit.Icon)
xW.WriteAttributeString("InheritPanel", "", curConI.Inherit.Panel)
@@ -748,6 +810,8 @@ Namespace Config
xW.WriteAttributeString("InheritDescription", "", False)
xW.WriteAttributeString("InheritDisplayThemes", "", False)
xW.WriteAttributeString("InheritDisplayWallpaper", "", False)
xW.WriteAttributeString("InheritEnableFontSmoothing", "", False)
xW.WriteAttributeString("InheritEnableDesktopComposition", "", False)
xW.WriteAttributeString("InheritDomain", "", False)
xW.WriteAttributeString("InheritIcon", "", False)
xW.WriteAttributeString("InheritPanel", "", False)
@@ -828,10 +892,10 @@ Namespace Config
csvLn += "Domain;"
End If
csvLn += "Hostname;Protocol;PuttySession;Port;ConnectToConsole;RenderingEngine;ICAEncryptionStrength;RDPAuthenticationLevel;Colors;Resolution;DisplayWallpaper;DisplayThemes;CacheBitmaps;RedirectDiskDrives;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;RedirectKeys;PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
csvLn += "Hostname;Protocol;PuttySession;Port;ConnectToConsole;RenderingEngine;ICAEncryptionStrength;RDPAuthenticationLevel;Colors;Resolution;DisplayWallpaper;DisplayThemes;EnableFontSmoothing;EnableDesktopComposition;CacheBitmaps;RedirectDiskDrives;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;RedirectKeys;PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
If SaveSecurity.Inheritance Then
csvLn += "InheritCacheBitmaps;InheritColors;InheritDescription;InheritDisplayThemes;InheritDisplayWallpaper;InheritDomain;InheritIcon;InheritPanel;InheritPassword;InheritPort;InheritProtocol;InheritPuttySession;InheritRedirectDiskDrives;InheritRedirectKeys;InheritRedirectPorts;InheritRedirectPrinters;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritUseConsoleSession;InheritRenderingEngine;InheritUsername;InheritICAEncryptionStrength;InheritRDPAuthenticationLevel;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly;InheritRDGatewayUsageMethod;InheritRDGatewayHostname;InheritRDGatewayUseConnectionCredentials;InheritRDGatewayUsername;InheritRDGatewayPassword;InheritRDGatewayDomain"
csvLn += "InheritCacheBitmaps;InheritColors;InheritDescription;InheritDisplayThemes;InheritDisplayWallpaper;InheritEnableFontSmoothing;InheritEnableDesktopComposition;InheritDomain;InheritIcon;InheritPanel;InheritPassword;InheritPort;InheritProtocol;InheritPuttySession;InheritRedirectDiskDrives;InheritRedirectKeys;InheritRedirectPorts;InheritRedirectPrinters;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritUseConsoleSession;InheritRenderingEngine;InheritUsername;InheritICAEncryptionStrength;InheritRDPAuthenticationLevel;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly;InheritRDGatewayUsageMethod;InheritRDGatewayHostname;InheritRDGatewayUseConnectionCredentials;InheritRDGatewayUsername;InheritRDGatewayPassword;InheritRDGatewayDomain"
End If
csvWr.WriteLine(csvLn)
@@ -882,10 +946,10 @@ Namespace Config
csvLn += con.Domain & ";"
End If
csvLn += con.Hostname & ";" & con.Protocol.ToString & ";" & con.PuttySession & ";" & con.Port & ";" & con.UseConsoleSession & ";" & con.RenderingEngine.ToString & ";" & con.ICAEncryption.ToString & ";" & con.RDPAuthenticationLevel.ToString & ";" & con.Colors.ToString & ";" & con.Resolution.ToString & ";" & con.DisplayWallpaper & ";" & con.DisplayThemes & ";" & con.CacheBitmaps & ";" & con.RedirectDiskDrives & ";" & con.RedirectPorts & ";" & con.RedirectPrinters & ";" & con.RedirectSmartCards & ";" & con.RedirectSound.ToString & ";" & con.RedirectKeys & ";" & con.PreExtApp & ";" & con.PostExtApp & ";" & con.MacAddress & ";" & con.UserField & ";" & con.ExtApp & ";" & con.VNCCompression.ToString & ";" & con.VNCEncoding.ToString & ";" & con.VNCAuthMode.ToString & ";" & con.VNCProxyType.ToString & ";" & con.VNCProxyIP & ";" & con.VNCProxyPort & ";" & con.VNCProxyUsername & ";" & con.VNCProxyPassword & ";" & con.VNCColors.ToString & ";" & con.VNCSmartSizeMode.ToString & ";" & con.VNCViewOnly & ";"
csvLn += con.Hostname & ";" & con.Protocol.ToString & ";" & con.PuttySession & ";" & con.Port & ";" & con.UseConsoleSession & ";" & con.RenderingEngine.ToString & ";" & con.ICAEncryption.ToString & ";" & con.RDPAuthenticationLevel.ToString & ";" & con.Colors.ToString & ";" & con.Resolution.ToString & ";" & con.DisplayWallpaper & ";" & con.DisplayThemes & ";" & con.EnableFontSmoothing & ";" & con.EnableDesktopComposition & ";" & con.CacheBitmaps & ";" & con.RedirectDiskDrives & ";" & con.RedirectPorts & ";" & con.RedirectPrinters & ";" & con.RedirectSmartCards & ";" & con.RedirectSound.ToString & ";" & con.RedirectKeys & ";" & con.PreExtApp & ";" & con.PostExtApp & ";" & con.MacAddress & ";" & con.UserField & ";" & con.ExtApp & ";" & con.VNCCompression.ToString & ";" & con.VNCEncoding.ToString & ";" & con.VNCAuthMode.ToString & ";" & con.VNCProxyType.ToString & ";" & con.VNCProxyIP & ";" & con.VNCProxyPort & ";" & con.VNCProxyUsername & ";" & con.VNCProxyPassword & ";" & con.VNCColors.ToString & ";" & con.VNCSmartSizeMode.ToString & ";" & con.VNCViewOnly & ";"
If SaveSecurity.Inheritance Then
csvLn += con.Inherit.CacheBitmaps & ";" & con.Inherit.Colors & ";" & con.Inherit.Description & ";" & con.Inherit.DisplayThemes & ";" & con.Inherit.DisplayWallpaper & ";" & con.Inherit.Domain & ";" & con.Inherit.Icon & ";" & con.Inherit.Panel & ";" & con.Inherit.Password & ";" & con.Inherit.Port & ";" & con.Inherit.Protocol & ";" & con.Inherit.PuttySession & ";" & con.Inherit.RedirectDiskDrives & ";" & con.Inherit.RedirectKeys & ";" & con.Inherit.RedirectPorts & ";" & con.Inherit.RedirectPrinters & ";" & con.Inherit.RedirectSmartCards & ";" & con.Inherit.RedirectSound & ";" & con.Inherit.Resolution & ";" & con.Inherit.UseConsoleSession & ";" & con.Inherit.RenderingEngine & ";" & con.Inherit.Username & ";" & con.Inherit.ICAEncryption & ";" & con.Inherit.RDPAuthenticationLevel & ";" & con.Inherit.PreExtApp & ";" & con.Inherit.PostExtApp & ";" & con.Inherit.MacAddress & ";" & con.Inherit.UserField & ";" & con.Inherit.ExtApp & ";" & con.Inherit.VNCCompression & ";" & con.Inherit.VNCEncoding & ";" & con.Inherit.VNCAuthMode & ";" & con.Inherit.VNCProxyType & ";" & con.Inherit.VNCProxyIP & ";" & con.Inherit.VNCProxyPort & ";" & con.Inherit.VNCProxyUsername & ";" & con.Inherit.VNCProxyPassword & ";" & con.Inherit.VNCColors & ";" & con.Inherit.VNCSmartSizeMode & ";" & con.Inherit.VNCViewOnly
csvLn += con.Inherit.CacheBitmaps & ";" & con.Inherit.Colors & ";" & con.Inherit.Description & ";" & con.Inherit.DisplayThemes & ";" & con.Inherit.DisplayWallpaper & ";" & con.Inherit.EnableFontSmoothing & ";" & con.Inherit.EnableDesktopComposition & ";" & con.Inherit.Domain & ";" & con.Inherit.Icon & ";" & con.Inherit.Panel & ";" & con.Inherit.Password & ";" & con.Inherit.Port & ";" & con.Inherit.Protocol & ";" & con.Inherit.PuttySession & ";" & con.Inherit.RedirectDiskDrives & ";" & con.Inherit.RedirectKeys & ";" & con.Inherit.RedirectPorts & ";" & con.Inherit.RedirectPrinters & ";" & con.Inherit.RedirectSmartCards & ";" & con.Inherit.RedirectSound & ";" & con.Inherit.Resolution & ";" & con.Inherit.UseConsoleSession & ";" & con.Inherit.RenderingEngine & ";" & con.Inherit.Username & ";" & con.Inherit.ICAEncryption & ";" & con.Inherit.RDPAuthenticationLevel & ";" & con.Inherit.PreExtApp & ";" & con.Inherit.PostExtApp & ";" & con.Inherit.MacAddress & ";" & con.Inherit.UserField & ";" & con.Inherit.ExtApp & ";" & con.Inherit.VNCCompression & ";" & con.Inherit.VNCEncoding & ";" & con.Inherit.VNCAuthMode & ";" & con.Inherit.VNCProxyType & ";" & con.Inherit.VNCProxyIP & ";" & con.Inherit.VNCProxyPort & ";" & con.Inherit.VNCProxyUsername & ";" & con.Inherit.VNCProxyPassword & ";" & con.Inherit.VNCColors & ";" & con.Inherit.VNCSmartSizeMode & ";" & con.Inherit.VNCViewOnly
End If
csvWr.WriteLine(csvLn)

View File

@@ -2,6 +2,7 @@ Imports System.IO
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemoteNG.App.Runtime
Imports System.Xml
Imports System.Environment
Namespace Config
Namespace Settings
@@ -37,28 +38,44 @@ Namespace Config
My.Settings.UpdatePending = False
End If
If My.Settings.MainFormLocation <> New Point(999, 999) Then
.Location = My.Settings.MainFormLocation
App.SupportedCultures.InstantiateSingleton()
If Not My.Settings.OverrideUICulture = "" And App.SupportedCultures.IsNameSupported(My.Settings.OverrideUICulture) Then
Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(My.Settings.OverrideUICulture)
log.InfoFormat("Override Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
End If
If My.Settings.MainFormSize <> Nothing Then
.Size = My.Settings.MainFormSize
End If
'check if form is visible
Dim curScreen As Screen = Screen.FromHandle(.Handle)
If .Right < curScreen.Bounds.Left Or .Left > curScreen.Bounds.Right _
Or .Top * -1 > curScreen.Bounds.Top * -1 Or .Bottom > curScreen.Bounds.Bottom Then
.Location = curScreen.Bounds.Location
End If
If My.Settings.MainFormState = Nothing Or My.Settings.MainFormState = FormWindowState.Minimized Then
.WindowState = FormWindowState.Normal
.WindowState = FormWindowState.Normal
If My.Settings.MainFormState = FormWindowState.Normal Then
If Not My.Settings.MainFormLocation.IsEmpty Then .Location = My.Settings.MainFormLocation
If Not My.Settings.MainFormSize.IsEmpty Then .Size = My.Settings.MainFormSize
Else
.WindowState = My.Settings.MainFormState
If Not My.Settings.MainFormRestoreLocation.IsEmpty Then .Location = My.Settings.MainFormRestoreLocation
If Not My.Settings.MainFormRestoreSize.IsEmpty Then .Size = My.Settings.MainFormRestoreSize
End If
If My.Settings.MainFormState = FormWindowState.Maximized Then
.WindowState = FormWindowState.Maximized
End If
' Make sure the form is visible on the screen
Const minHorizontal As Integer = 300
Const minVertical As Integer = 150
Dim screenBounds As Drawing.Rectangle = Screen.FromHandle(.Handle).Bounds
Dim newBounds As Drawing.Rectangle = .Bounds
If newBounds.Right < screenBounds.Left + minHorizontal Then
newBounds.X = screenBounds.Left + minHorizontal - newBounds.Width
End If
If newBounds.Left > screenBounds.Right - minHorizontal Then
newBounds.X = screenBounds.Right - minHorizontal
End If
If newBounds.Bottom < screenBounds.Top + minVertical Then
newBounds.Y = screenBounds.Top + minVertical - newBounds.Height
End If
If newBounds.Top > screenBounds.Bottom - minVertical Then
newBounds.Y = screenBounds.Bottom - minVertical
End If
.Location = newBounds.Location
If My.Settings.MainFormKiosk = True Then
Tools.Misc.Fullscreen.EnterFullscreen()
@@ -159,8 +176,15 @@ Namespace Config
Loop
Startup.CreatePanels()
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName) And My.Settings.ResetPanels = False Then
.pnlDock.LoadFromXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName, AddressOf GetContentFromPersistString)
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Settings.LayoutFileName
Dim newPath As String = App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName
If File.Exists(newPath) Then
.pnlDock.LoadFromXml(newPath, AddressOf GetContentFromPersistString)
#If Not PORTABLE Then
ElseIf File.Exists(oldPath) Then
.pnlDock.LoadFromXml(oldPath, AddressOf GetContentFromPersistString)
#End If
Else
Startup.SetDefaultLayout()
End If
@@ -172,13 +196,19 @@ Namespace Config
End Sub
Public Sub LoadExternalAppsFromXML()
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName) = False Then
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Settings.ExtAppsFilesName
Dim newPath As String = App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName
Dim xDom As New XmlDocument()
If File.Exists(newPath) Then
xDom.Load(newPath)
#If Not PORTABLE Then
ElseIf File.Exists(oldPath) Then
xDom.Load(oldPath)
#End If
Else
Exit Sub
End If
Dim xDom As New XmlDocument()
xDom.Load(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName)
For Each xEl As XmlElement In xDom.DocumentElement.ChildNodes
Dim extA As New Tools.ExternalApp
extA.DisplayName = xEl.Attributes("DisplayName").Value

View File

@@ -1,6 +1,7 @@
Imports mRemoteNG.App.Runtime
Imports System.Xml
Imports System.IO
Imports mRemoteNG.Tools.WindowPlacement
Namespace Config
Namespace Settings
@@ -25,12 +26,18 @@ Namespace Config
Public Sub Save()
Try
With Me._MainForm
If .WindowState = FormWindowState.Normal Then
My.Settings.MainFormLocation = .Location
My.Settings.MainFormSize = .Size
Else
My.Settings.MainFormLocation = .RestoreBounds.Location
My.Settings.MainFormSize = .RestoreBounds.Size
Dim windowPlacement As New Tools.WindowPlacement(_MainForm)
If .WindowState = FormWindowState.Minimized And windowPlacement.RestoreToMaximized Then
.Opacity = 0
.WindowState = FormWindowState.Maximized
End If
My.Settings.MainFormLocation = .Location
My.Settings.MainFormSize = .Size
If Not .WindowState = FormWindowState.Normal Then
My.Settings.MainFormRestoreLocation = .RestoreBounds.Location
My.Settings.MainFormRestoreSize = .RestoreBounds.Size
End If
My.Settings.MainFormState = .WindowState

View File

@@ -439,7 +439,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayHostname As String
Private _RDGatewayHostname As String = My.Settings.ConDefaultRDGatewayHostname
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayHostname"), _
@@ -492,7 +492,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayUsername As String
Private _RDGatewayUsername As String = My.Settings.ConDefaultRDGatewayUsername
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayUsername"), _
@@ -518,7 +518,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayPassword As String
Private _RDGatewayPassword As String = My.Settings.ConDefaultRDGatewayPassword
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayPassword"), _
@@ -545,7 +545,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayDomain As String
Private _RDGatewayDomain As String = My.Settings.ConDefaultRDGatewayDomain
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayDomain"), _
@@ -706,6 +706,60 @@ Namespace Connection
Me._DisplayThemes = value
End Set
End Property
Private _EnableFontSmoothing As Boolean = My.Settings.ConDefaultEnableFontSmoothing
<LocalizedCategory("strCategoryAppearance", 5), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameEnableFontSmoothing"), _
LocalizedDescription("strPropertyDescriptionEnableFontSmoothing"), _
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
Public Property EnableFontSmoothing() As Boolean
Get
If Me._Inherit.EnableFontSmoothing And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer = True Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.EnableFontSmoothing
Else
Return Me._EnableFontSmoothing
End If
End Get
Set(ByVal value As Boolean)
Me._EnableFontSmoothing = value
End Set
End Property
Private _EnableDesktopComposition As Boolean = My.Settings.ConDefaultEnableDesktopComposition
<LocalizedCategory("strCategoryAppearance", 5), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameEnableDesktopComposition"), _
LocalizedDescription("strPropertyDescriptionEnableDesktopComposition"), _
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
Public Property EnableDesktopComposition() As Boolean
Get
If Me._Inherit.EnableDesktopComposition And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer = True Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.EnableDesktopComposition
Else
Return Me._EnableDesktopComposition
End If
End Get
Set(ByVal value As Boolean)
Me._EnableDesktopComposition = value
End Set
End Property
#End Region
#Region "6 Redirect"
Private _RedirectKeys As Boolean = My.Settings.ConDefaultRedirectKeys
@@ -1478,6 +1532,8 @@ Namespace Connection
Me._Description = val
Me._DisplayThemes = val
Me._DisplayWallpaper = val
Me._EnableFontSmoothing = val
Me._EnableDesktopComposition = val
Me._Domain = val
Me._Icon = val
Me._Password = val
@@ -1558,6 +1614,7 @@ Namespace Connection
'LocalizedDisplayName("strPropertyNameInheritAll"), _
Get
If Me._CacheBitmaps And Me._Colors And Me._Description And Me._DisplayThemes And Me._DisplayWallpaper _
And Me._EnableFontSmoothing And Me._EnableDesktopComposition _
And Me._Domain And Me._Icon And Me._Password And Me._Port And Me._Protocol And Me._PuttySession _
And Me._RedirectDiskDrives And Me._RedirectKeys And Me._RedirectPorts And Me._RedirectPrinters _
And Me._RedirectSmartCards And Me._RedirectSound And Me._Resolution And Me._UseConsoleSession _
@@ -1957,6 +2014,36 @@ Namespace Connection
Me._DisplayThemes = value
End Set
End Property
Private _EnableFontSmoothing As Boolean = My.Settings.InhDefaultEnableFontSmoothing
<LocalizedCategory("strCategoryAppearance", 6), _
Browsable(True), _
LocalizedDisplayNameInheritAttribute("strPropertyNameEnableFontSmoothing"), _
LocalizedDescriptionInheritAttribute("strPropertyDescriptionEnableFontSmoothing"), _
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
Public Property EnableFontSmoothing() As Boolean
Get
Return Me._EnableFontSmoothing
End Get
Set(ByVal value As Boolean)
Me._EnableFontSmoothing = value
End Set
End Property
Private _EnableDesktopComposition As Boolean = My.Settings.InhDefaultEnableDesktopComposition
<LocalizedCategory("strCategoryAppearance", 6), _
Browsable(True), _
LocalizedDisplayNameInheritAttribute("strPropertyNameEnableDesktopComposition"), _
LocalizedDescriptionInheritAttribute("strPropertyDescriptionEnableEnableDesktopComposition"), _
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
Public Property EnableDesktopComposition() As Boolean
Get
Return Me._EnableDesktopComposition
End Get
Set(ByVal value As Boolean)
Me._EnableDesktopComposition = value
End Set
End Property
#End Region
#Region "7 Redirect"
Private _RedirectKeys As Boolean = My.Settings.InhDefaultRedirectKeys

View File

@@ -46,6 +46,30 @@ Namespace Connection
Me.SetSecurity()
'Disable hotkeys for international users
ICA.Hotkey1Shift = Nothing
ICA.Hotkey1Char = Nothing
ICA.Hotkey2Shift = Nothing
ICA.Hotkey2Char = Nothing
ICA.Hotkey3Shift = Nothing
ICA.Hotkey3Char = Nothing
ICA.Hotkey4Shift = Nothing
ICA.Hotkey4Char = Nothing
ICA.Hotkey5Shift = Nothing
ICA.Hotkey5Char = Nothing
ICA.Hotkey6Shift = Nothing
ICA.Hotkey6Char = Nothing
ICA.Hotkey7Shift = Nothing
ICA.Hotkey7Char = Nothing
ICA.Hotkey8Shift = Nothing
ICA.Hotkey8Char = Nothing
ICA.Hotkey9Shift = Nothing
ICA.Hotkey9Char = Nothing
ICA.Hotkey10Shift = Nothing
ICA.Hotkey10Char = Nothing
ICA.Hotkey11Shift = Nothing
ICA.Hotkey11Char = Nothing
ICA.PersistentCacheEnabled = Info.CacheBitmaps
ICA.Title = Info.Name
@@ -144,6 +168,8 @@ Namespace Connection
Select Case Info.Colors
Case RDP.RDPColors.Colors256
ICA.SetProp("DesiredColor", 2)
Case RDP.RDPColors.Colors15Bit
ICA.SetProp("DesiredColor", 4)
Case RDP.RDPColors.Colors16Bit
ICA.SetProp("DesiredColor", 4)
Case Else

View File

@@ -334,7 +334,15 @@ Namespace Connection
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.DisableWallpaper)
End If
RDP.AdvancedSettings2.PerformanceFlags = pFlags
If Me.Info.EnableFontSmoothing Then
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.EnableFontSmoothing)
End If
If Me.Info.EnableDesktopComposition Then
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.EnableDesktopComposition)
End If
RDP.AdvancedSettings.PerformanceFlags = pFlags
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetPerformanceFlagsFailed & vbNewLine & ex.Message, True)
End Try
@@ -410,6 +418,8 @@ Namespace Connection
Public Enum RDPColors
<LocalizedDescription("strRDP256Colors")> _
Colors256 = 8
<LocalizedDescription("strRDP32768Colors")> _
Colors15Bit = 15
<LocalizedDescription("strRDP65536Colors")> _
Colors16Bit = 16
<LocalizedDescription("strRDP16777216Colors")> _
@@ -429,17 +439,21 @@ Namespace Connection
Private Enum RDPPerformanceFlags
<Description("strRDPDisableWallpaper")> _
DisableWallpaper = 1
DisableWallpaper = &H1
<Description("strRDPDisableFullWindowdrag")> _
DisableFullWindowDrag = 2
DisableFullWindowDrag = &H2
<Description("strRDPDisableMenuAnimations")> _
DisableMenuAnimations = 4
DisableMenuAnimations = &H4
<Description("strRDPDisableThemes")> _
DisableThemes = 8
DisableThemes = &H8
<Description("strRDPDisableCursorShadow")> _
DisableCursorShadow = 20
DisableCursorShadow = &H20
<Description("strRDPDisableCursorblinking")> _
DisableCursorBlinking = 40
DisableCursorBlinking = &H40
<Description("strRDPEnableFontSmoothing")> _
EnableFontSmoothing = &H80
<Description("strRDPEnableDesktopComposition")> _
EnableDesktopComposition = &H100
End Enum
Public Enum RDPResolutions

View File

@@ -274,6 +274,7 @@ Partial Class frmMain
Me.mMenFileImportExport.Name = "mMenFileImportExport"
Me.mMenFileImportExport.Size = New System.Drawing.Size(334, 22)
Me.mMenFileImportExport.Text = "Import/Export Folder"
Me.mMenFileImportExport.Visible = False
'
'ImportFromXMLFileToolStripMenuItem
'
@@ -314,6 +315,7 @@ Partial Class frmMain
'
Me.mMenFileSep3.Name = "mMenFileSep3"
Me.mMenFileSep3.Size = New System.Drawing.Size(331, 6)
Me.mMenFileSep3.Visible = False
'
'mMenFileDelete
'
@@ -740,7 +742,7 @@ Partial Class frmMain
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(264, 25)
Me.ToolStrip1.TabIndex = 19
Me.ToolStrip1.Visible = False
Me.ToolStrip1.Visible = False
'
'ToolStripButton1
'
@@ -806,6 +808,7 @@ Partial Class frmMain
Me.Icon = Global.mRemoteNG.My.Resources.Resources.mRemote_Icon
Me.MainMenuStrip = Me.msMain
Me.Name = "frmMain"
Me.Opacity = 0
Me.Text = "mRemoteNG"
Me.msMain.ResumeLayout(False)
Me.msMain.PerformLayout()

View File

@@ -10,29 +10,37 @@ Public Class frmMain
Public Shared Event clipboardchange()
Private fpChainedWindowHandle As IntPtr
#Region "Properties"
Private _IsClosing As Boolean = False
Public ReadOnly Property IsClosing() As Boolean
Get
Return _IsClosing
End Get
End Property
#End Region
#Region "Startup & Shutdown"
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'insert enable edition code here
App.Editions.Spanlink.Enabled = False
ApplyLanguage()
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
Startup.ParseCommandLineArgs()
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
Startup.CreateLogger()
' Create gui config load and save objects
sL = New Config.Settings.Load(Me)
sS = New Config.Settings.Save(Me)
Startup.CreateLogger()
Startup.RegisterHotKeys()
' Load GUI Configuration
sL.Load()
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
Startup.ParseCommandLineArgs()
ApplyLanguage()
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
mC = New Messages.Collector(Windows.errorsForm)
Connection.Protocol.RDP.Resolutions.AddResolutions()
@@ -58,9 +66,14 @@ Public Class frmMain
End If
If Not My.Settings.CheckForUpdatesAsked Then
Windows.Show(UI.Window.Type.Options)
Windows.optionsForm.ShowUpdatesTab()
My.Settings.CheckForUpdatesAsked = True
Dim CommandButtons() As String = {My.Resources.strAskUpdatesCommandRecommended, My.Resources.strAskUpdatesCommandCustom, My.Resources.strAskUpdatesCommandAskLater}
Dim Result As DialogResult = cTaskDialog.ShowTaskDialogBox(Me, My.Application.Info.ProductName, My.Resources.strAskUpdatesMainInstruction, String.Format(My.Resources.strAskUpdatesContent, My.Application.Info.ProductName), "", "", "", "", String.Join("|", CommandButtons), eTaskDialogButtons.None, eSysIcons.Question, eSysIcons.Question)
If cTaskDialog.CommandButtonResult = 0 Or cTaskDialog.CommandButtonResult = 1 Then
My.Settings.CheckForUpdatesAsked = True
End If
If cTaskDialog.CommandButtonResult = 1 Then
Windows.ShowUpdatesTab()
End If
End If
Startup.UpdateCheck()
@@ -69,6 +82,8 @@ Public Class frmMain
AddSysMenuItems()
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanged, AddressOf DisplayChanged
Me.Opacity = 1
End Sub
Private Sub ApplyLanguage()
@@ -138,7 +153,7 @@ Public Class frmMain
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If My.Settings.ConfirmExit And wL.Count > 0 Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.AssemblyName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmExit = False
End If
@@ -148,6 +163,8 @@ Public Class frmMain
End If
End If
_IsClosing = True
For Each Window As UI.Window.Base In wL
Window.Close()
Next
@@ -688,7 +705,7 @@ Public Class frmMain
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
Try
#If Config = "Debug" Then
Debug.Print(m.Msg)
'Debug.Print(m.Msg)
#End If
Select Case m.Msg

View File

@@ -0,0 +1,277 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="imgListPages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imgListPages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABu
IgAAAk1TRnQBSQFMAgEBBwEAAdABAAHQAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIB4AAeIB7wH0Af8BqAHJAdcB/wF3AaQBtgH/AVoBhgGcAf8BRQFsAYoB/wFA
AWcBhwH/AUABcQGVAf8BUwGOAasB/wGPAbcBzQH/Ad0B6gHxAf8MAANXAbcDnwH/A5oB/wOWAf8DkQH/
A40B/wOJAf8DhAH/A4AB/wNiAf8DXgH/A1oB/wNXAf8DUwH/A1AB/wNXAbcYAAMNARIDVgG2A1YBtgMN
ARFgAAGtAc8B3wH/AVIBkQGtAf8BVwGjAb8B/wFzAcAB1AH/AZUB2QHmAf8BgQHbAfAB/wFLAcYB7AH/
AR8BqgHdAf8BEQGSAccB/wEdAYABrAH/ATQBbAGSAf8BnQG/AdEB/wgAA6gB/wPpAf8D0wH/A9IB/wPR
Af8D0AH/A84B/wPNAf8DzQH/A8sB/wPLAf8DygH/A8kB/wPIAf8D4gH/A1AB/xgAA14B2QPkAf8D4wH/
A1gBwWAAAVUBhAGbAf8BPwG9AecB/wFiAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUsBygHw
Af8BGQG2Ae0B/wEAAacB6AH/AQABoQHhAf8BBAGWAdIB/wE4AVkBdQH/CAADrQH/A9YB/wO6Af8DuAH/
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DVAH/CAADCwEPA1QBrQM6
AWEDPwFuA3sB+AHiAeEB3wH/AeEB4AHfAf8DawHzAzwBZwM8AWYDUwGtAwsBD1AAAVgBhwGeAf8BPgHE
AfAB/wFkAdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUsBygHwAf8BGQG2Ae0B/wEAAagB6AH/
AQABoQHhAf8BAAGcAdoB/wE5AVoBdwH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOw
Af8DrwH/A60B/wOrAf8DqQH/A6gB/wPKAf8DWAH/CAADWgHFBP8CtAGzAf4CswGyAf4C5wHmAf8B1gHV
AdMB/wHXAdYB1AH/AeMB4gHgAf8BqAGnAaUB/gKxAbAB/QHpAegB5gH/A1gBwVAAAVoBiQGgAf8BPgHE
Ae8B/wFjAdQB8QH/AY0B4wH0Af8BogHrAfYB/wGCAd8B8wH/AUwBygHwAf8BGQG2Ae0B/wEAAagB6AH/
AQABoQHhAf8BAAGcAdoB/wE7AV0BeQH/CAADtgH/A90B/wPBAf8DvQH/A7wB/wO6Af8DuAH/A7UB/wO0
Af8DsgH/A7AB/wOtAf8DrAH/A6wB/wPPAf8DXAH/CAADZAHnAvkB9wH/Au8B7gH/AtsB2gH/AcoCyQH/
AckByAHGAf8ByQHIAccB/wHJAcgBxwH/AssByQH/AeYB5QHkAf8B5QHkAeIB/wNlAeVQAAFcAYwBogH/
AUABxgHwAf8BZQHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BggHfAfQB/wFMAcoB8AH/ARkBtgHtAf8BAAGo
AegB/wEAAaIB4gH/AQABmwHbAf8BPQFgAYAB/wgAA1oBvQPaAf8DyAH/A8AB/wO/Af8DvQH/A7oB/wO4
Af8DtwH/A7UB/wOzAf8DsAH/A68B/wOzAf8DwgH/A1oBvQgAA04BlQH2AfUB9AH/AeYB5QHkAf8BvwG+
Ab0B/wLrAeoB/wHUAdMB0gH/AdYB1QHUAf8B4gLhAf8CtAGzAf8B1wHWAdQB/wHiAeEB3wH/A0oBjVAA
AV8BjwGlAf8BQQHGAfAB/wFlAdQB8gH/AY0B4wH0Af8BogHrAfYB/wGDAd8B9AH/AUsBygHwAf8BGQG2
Ae0B/wEAAacB6AH/AQABoQHiAf8BAAGcAdsB/wE/AWMBgwH/CAADWgG9A+MB/wPnAf8D4QH/A+AB/wPg
Af8D3wH/A98B/wPeAf8D3QH/A90B/wPcAf8D2wH/A+AB/wPQAf8DWgG9AwsBDwNVAbUDZAHnAeQB4wHi
Af8B0QHQAc8B/wLwAe8B/wOuAf8DZAHxA2cB8gKsAasB/wLoAecB/wLLAcoB/wHgAd8B3QH/A2EB5ANV
AbUDCwEPSAABYAGSAagB/wFBAcUB8AH/AWYB1AHyAf8BjQHjAfQB/wGiAesB9gH/AYIB3wH0Af8BSwHK
AfAB/wEZAbYB7QH/AQABpwHoAf8BAAGhAeEB/wEAAZwB2wH/AUEBZgGGAf8IAAMpAT8DzgH/A+wB/wPe
Af8D2AH/A9IB/wPMAf8DyAH/A8cB/wPIAf8DywH/A9AB/wPdAf8D6AH/A6QB/wMrAUIDPwFtAuQB4wH/
AdgB1gHVAf8B0gHRAdAB/wHFAcQBwwH/Ae0B7AHrAf8DVwG6CAADXAHNAegB5wHmAf8BtgG1AbQB/wHW
AdUB0wH/AeIB4QHgAf8C4AHfAf8DPAFmSAABYwGVAasB/wFBAcUB8AH/AWYB1AHyAf8BjQHjAfQB/wGi
AesB9gH/AYMB3wH0Af8BTAHLAfAB/wEZAbUB7QH/AQABpwHoAf8BAAGhAeIB/wEAAZwB2gH/AUQBaQGI
Af8MAANaAb0D4wH/A9sB/wPiAf8BtwHQAbgB/wFKAa0BTgH/AVwBqgFKAf8BVgGvAU4B/wE8AaUBSAH/
AawBxQGsAf8DwgH/A9EB/wPTAf8DWgG9BAADQgF2AewB6wHoAf8B2gHZAdcB/wHUAdMB0QH/AcYBxQHE
Af8B3gLcAf8DRgF+CAADUAGaAd0B3AHbAf8ByAHGAcUB/wLiAeEB/wLhAd8B/wHuAe0B7AH/Az8Bb0gA
AWUBmAGuAf8BQQHFAfAB/wFmAdQB8QH/AY0B4wH0Af8BogHrAfYB/wGDAd8B9AH/AUwBygHwAf8BGQG2
Ae0B/wEAAagB6QH/AQABoQHhAf8BAAGcAdoB/wFGAWsBigH/DAADKQE/A9EB/wPzAf8BxwHeAcoB/wFK
AckBhQH/AbMB3AGkAf8B5wHHAWIB/wHcAb8BWQH/AVwBzAGPAf8BNQGtAU4B/wG4AdABuAH/A/EB/wOv
Af8DKwFCBAADLwFKA2AB6wONAfwB3gHdAdwB/wHLAsoB/wHmAuUB/wNhAeEDMgFQAzgBXANgAesC7gHs
Af8BzALLAf8B5wHmAeUB/wKOAY0B/ANgAesDLAFDSAABaAGbAbAB/wFAAcYB8AH/AWYB1AHyAf8BjQHj
AfQB/wGiAesB9gH/AYMB3wH0Af8BTAHKAfAB/wEZAbYB7QH/AQABqAHoAf8BAAGhAeEB/wEAAZwB2gH/
AUkBbwGOAf8QAANaAb0DxAH/AVwBzgGLAf8BmQHkAasB/wGwAcUBQwH/AeoBtQEuAf8B4QGiAR8B/wGl
AZ0BJgH/AYIBxQGPAf8BLwGaATwB/wOgAf8DWgG9EAADXgHOAeEB4AHeAf8B2QHXAdYB/wG4ArcB/wHh
AeAB3wH/A6wB/QOxAf0C9gH1Af8CwAG/Af8B6gHpAegB/wLzAfIB/wNcAclQAAFrAZ8BswH/AUABxgHw
Af8BZAHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wFMAcoB8AH/ARkBtgHtAf8BAAGnAegB/wEA
AaEB4QH/AQABmwHaAf8BSwFyAZAB/xgAAWgBlQFzAfwBogHpAZUB/wHWAc8BTwH/AeIBswEtAf8B0QG7
ATUB/wHCAa4BKAH/AYIBvQFSAf8BMQF5AV4B/BgAA0wBkQHjAeIB4AH/At4B3AH/AeEB4AHfAf8BzALL
Af8BxAHDAcIB/wLPAc4B/wLeAd0B/wLwAe8B/wLwAe8B/wL2AfUB/wNIAYdQAAFsAaEBtQH/AWYB1QH0
Af8BmgHoAfcB/wG1AfMB+gH/AcIB+AH8Af8BwwH4Af0B/wHBAfcB/QH/Aa8B8AH7Af8BjwHiAfcB/wFl
AdAB8AH/ATkBuAHlAf8BTgF1AZMB/xgAAWoBlQF0AfwBogHwAZ8B/wHYAe0BrwH/Ad4BxQFOAf8BtAHi
AUsB/wFGAecBHwH/AVEB1wFRAf8BQAF7AWUB/BQAAwEBAgNfAeMB5QHkAeEB/wLuAe0B/wLuAe0B/wLr
AeoB/wHjAeIB4QH/AugB5wH/AuoB6QH/AvMB8gH/AvUB9AH/AfoB+QH4Af8DXAHfUAABbwGjAbgB/wHF
AfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9
Af8BxQH5Af0B/wHFAfkB/QH/AVABeAGVAf8YAANhAdwByAH3AdQB/wHYAfYBygH/AecB4wGpAf8B2wHP
AVIB/wGvAdwBTgH/AZ0B6gGrAf8DXwHgGAADQAFvA38B/gNkAecDXwHzAegB5wHmAf8B5wHmAeUB/wLt
AewB/wL7AfoB/wNnAfIDZAHnA4QB/gM9AWhQAAG3AdcB4QH/AYwBvQHMAf8BnQHPAdsB/wGtAd8B6AH/
AbkB7AHzAf8BwgH1AfoB/wHCAfUB+gH/AbgB6wHxAf8BqQHaAeMB/wGUAcQB0QH/AXYBqAG4Af8BqQHF
AdEB/xgAAy0BRQFrAYUBdwH6AdsB+AHpAf8B5wHyAdgB/wHtAeUBswH/Ad8B2QGmAf8BXwGPAV8B+wMy
AVAgAAMPARQDCgEOA1MBqgHvAe4B7QH/AvQB8wH/A1IBpAMIAQsDEQEXWAAC/gL/AeMB8QH0Af8BuQHX
AeEB/wGVAb4BzAH/AXYBqAG7Af8BaQGbAbAB/wFlAZgBrQH/AW4BoQGzAf8BjAGyAcIB/wGxAc0B1wH/
Ad8B6wHvAf8D/gH/HAADLgFHA14B2QFuAZUBcgH8AW4BkQFuAfwDXgHdAzIBUCwAAy8BSgNdAfADYgHv
AywBQ2QAAxEBFwNWAbMBUwFUAVMBrLQAAwQBBQMQARUDHwEtAykBPwMvAUkDLgFIAygBPQMeASsDDwEU
AwMBBBAAA7cB/wGcAagBngH/AQABXQE4Af8BIgGSAVoB/wEAAWEBOAH/AQoBTgGgAf8BBwFMAZ4B/wED
AUkBmwH/AQABRwGZAf8BAAFFAZcB/wEAAUIBlAH/AQABQQGTAf8DUgH/A1IB/xwAA0EBcgFMAl8B8wFZ
AlwBzwFLAkwBkAMjATNcAAMFAQcDHwEsAj4BPQFqAlIBUAGjAVsCWQHEAV0CWgHTAV0CWgHTAVsCWQHD
AVICUQGhAzwBZgMcASgDBAEGDAADFQEdA1EBogEnAZUBXgH/AYIBvgGqAf8BNgGlAYIB/wEXAZcBUAH/
ARoBmQFVAf8BHgGZAVkB/wEiAZ0BXgH/AVwBqgHSAf8BWgGoAdEB/wEAAUMBlQH/IAADIQEwASsBRgFy
AfwBhgGtAeEB/wFkAagB3AH/AUUBkgHJAf8BFgFYAasB/wFVAlYBsQMfAS1TAAEBAxIBGAM+AWsBXQJZ
AdcBYAErASkB/AGsATMBCgH/AeEBUwEnAf8B5AFlATsB/wHTAVEBHwH/AaMBQAEwAf0BYQJeAdoCPgE9
AWoDDwEUCAADGAEiAVABUgFQAaQDVgGzAVMBrAGfAf8BWgG3AZ4B/wFkAbsBrAH/AWQBuwGuAf8BZQG7
AbAB/wGAAbwBswH/AR0BmgFhAf8BOgGVAccB/wFdAasB0wH/AQABRgGYAf8gAAFUAlYBqwFTAZ0B0QH/
AZkBvAHrAf8BVwGgAeMB/wGWAbkB6gH/AZQBuAHqAf8BRgGTAcoB/wErATQBbgH8A0MBeFAAAxsBJgNZ
AdIBIwENAQAB/wGKAUIBKgH/AcoBhgFMAf8B9gG8AZwB/wH5AcwBtwH/AeMBoAFeAf8BsQFdAUMB/wFf
ATkBGgH/AV4CWAHdAxwBKAgAAVUBVgFVAbEDVgGzA1YBswFCAaQBkQH/AVUBtgGbAf8BTgGyAZsB/wFQ
AbIBngH/AVIBswGhAf8BhQG/AbYB/wEkAZ4BggH/AT8BmQHJAf8BYQGtAdQB/wEEAUoBnAH/HAADHwEt
ASsBWQF2AfwBnQG/AewB/wFPAZwB4gH/AUEBkwHfAf8BPgGRAd8B/wFFAZQB4AH/AZUBuAHqAf8BhgGt
AeEB/wEvAYMBuwH/AUsCTAGQBAADnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/CAABUwJPAaUBOgEfAQcB/wFfAUoBNQH/AY8BXAFHAf8BrAGI
AVEB/wHCAaMBiAH/AcEBpQGOAf8BswGYAYEB/wGRAVwBRgH/AVoBQQEsAf8BSQEiAQAB/wFWAlUBsQgA
AwgBCwNVAbIDVgGzAVwBsgGoAf8BYwG9AacB/wGHAcEBtQH/AYYBwQG2Af8BhwHBAbcB/wGIAcEBuQH/
ASoBogGIAf8BRAGcAcsB/wFlAbAB1QH/AQkBTQGfAf8QAAMrAUIDSAGEAVUCVwG3AUwBXwFhAfMBXAGk
AdcB/wGhAcIB7QH/AZ8BwAHtAf8BnQG/Ae0B/wFaAaMB5AH/AUABkgHfAf8BPgGQAd4B/wFhAacB5gH/
AZIBtgHoAf8BKQFlAbcB/wM3AVoDnQH/AboCvQH/AeYC7AH/AeYC7QH/AecC7QH/AegC7gH/AekC7wH/
AekC7wH/AeoC7wH/AeoC8AH/AesC8AH/AesC8QH/AewC8QH/AewC8QH/Ab0CvwH/A50B/wQAAzkBXwFb
ATsBIAH/AcMBsQGiAf8BtgGcAYMB/wGmAV8BMgH/AagBXQEvAf8BwwGkAYcB/wHYAcYBsAH/Ab0BqQGL
Af8BZQFFASUB/wFCASIBAwH/ATgBFAEAAf8BPwEYAQAB/wMzAVMIAAMGAQgDVQGyATUBoAGKAf8BkwHJ
AboB/wFFAa8BlwH/ASoBogGDAf8BKwGjAYcB/wEtAaQBiwH/ASwBqgGSAf8BOgHCAe0B/wGBAbQB1wH/
AQ4BUQGjAf8MAANMAZMBSgGXAc8B/wFhAagB2QH/AY0BtAHiAf8BowHEAe0B/wGnAccB7gH/AUoBlwHN
Af8BGgFbAbIB/wFFAZMByQH/AZ8BwAHtAf8BXgGWAaMB/wGeAZYBLgH/AWIBlAGRAf8BjQGzAekB/wFf
AaUB2AH/AVoCXgHYBAADXAHqAdsC4gH/Ac0CzwH/A8sB/wPMAf8DzgH/A88B/wPQAf8D0gH/A9MB/wPV
Af8B1wLYAf8B5wLsAf8DbQH3BAADIgExAVYCVQGxAU0BIQEAAf8BqgGFAUUB/wGyAVgBFgH/Aa0BNQEA
Af8BugFSAQoB/wHqAdUBvwH/Af0B/AH6Af8B1gG+AaYB/wGQAUUBEgH/AUgBFgEAAf8BSQEmAQUB/wFC
ASIBBAH/A1cBxQMcAScIAAMEAQYBGwGUAV0B/wFUAbkBngH/AS8BpgGJAf8BXwGxAdUB/wFbAa0B1AH/
AVcBqwHSAf8BRQG6AeQB/wEAAZkBTwH/AQ0BjgE+Af8BEAFWAZoB/wwAAUgCYgH2Aa4BzQHwAf8BsAHP
AfAB/wGYAb8B7AH/AWQBrgHnAf8BqgHKAe8B/wEjAWEBuAH/BAABGwFcAbMB/wGiAcMB7QH/AagBlwEX
Af8BxAG1AUAB/wGsAZcBDAH/AUEBkwHfAf8BmAG7AesB/wECAUoBnwH/BAADXAHqAdkC4QH/AcsCzAH/
A8cB/wPIAf8DygH/A8sB/wPNAf8DzgH/A9AB/wPRAf8B0wLUAf8B5QLrAf8DbQH3BAADLgFHA1kB7AFI
ARYBAAH/AZkBNQEAAf8BuAFNAQAB/wHCAUkBAAH/AckBWwEJAf8B5gG/AZQB/wHsAdQBtgH/Ac0BnAFI
Af8BqAFSARIB/wGZAVMBJwH/AaMBjAFYAf8BZQFMATUB/wJRAT8B9wE1AjQBVQwAAT4BjgHEAf8BOAGs
AYsB/wE1AaoBjwH/AWQBtQHYAf8BYAGyAdYB/wFdAa8B1QH/AVkBrAHTAf8BCgGQAUgB/wE/AagBhAH/
AQABXgE5Af8DFAEbCAABWgJgAd4BqAHJAe0B/wGEAacB7QH/AT4BUAHtAf8BUAGOAekB/wGtAc0B8AH/
AVMBnQHSAf8BJAFiAbkB/wFNAZkBzgH/AaUBxQHuAf8BlQGaAU8B/wGtAZcBDAH/AZ0BlwEzAf8BTAGb
AeIB/wGYAbsB6gH/AUgCYgH2BAADXAHqAdcC3wH/AccCyQH/A8IB/wPEAf8DxQH/A8gB/wPJAf8DygH/
A8wB/wPNAf8B0ALRAf8B4wLqAf8DbQH3BAADOQFfAkABHQH9AVoBIQEAAf8BrgE/AQAB/wHAAUcBAAH/
AecBlgEsAf8B6AGyAWAB/wHkAbEBYAH/AdIBiQEfAf8BvQFMAQAB/wGoAToBAAH/AbgBjQFDAf8B1AHD
AbIB/wGYAYQBVAH/AUEBIwEFAf8BPgI9AWoMAAFEAZEByQH/AaQBzAHkAf8BhwG7AdsB/wElAaEBYAH/
AR8BnAFaAf8BGgGaAVYB/wEVAZYBUAH/ATEBowGBAf8BhAHAAasB/wEoAZYBXwH/A1EBogMVAR0EAANR
AZwBkgG5AeUB/wFUAVoB9gH/AYEBhAH1Af8CJgHwAf8BkAG7AesB/wGuAc0B8AH/AawBzAHwAf8BqgHK
AfAB/wGFAbIB6QH/AUQBqQHBAf8BKgGzAY0B/wE8AagBtgH/AVYBoQHkAf8BlwG6AegB/wNdAe0EAANc
AeoB1gLfAf8BwwLFAf8DwAH/A8AB/wPCAf8DwwH/A8QB/wPFAf8DyAH/A8kB/wPNAf8B4ALoAf8DbQH3
BAADNwFaAV0BTQEoAfoBgwEsAQAB/wHLAVYBAQH/AeUBiwEjAf8B/gG2AVgC/wHjAcIB/wH0AbwBhQH/
AdYBXQEPAf8BxQFUAQAB/wG6AUkBAAH/Aa8BXQEfAf8BrgGIAUMB/wGUAVwBQwH/AUIBJAEIAf8DPAFm
DAABSQGVAc0B/wGoAc8B5QH/AYwBvwHdAf8BKwGlAYEB/wGNAcUBuAH/AYkBwwG0Af8BhgHBAbEB/wGE
Ab8BrwH/AV0BuQGfAf8BVAGtAaAB/wNWAbMBUAFSAVABpAMYASIDIwEzATABawGHAfwBkgGkAfUB/wE/
AUAB9gH/ATcBhgH0Af8BIQGmAfsB/wFCAasB8gH/AWQBrwHnAf8BYQGtAecB/wFeAaoB5gH/ASUBtgGA
Af8BRgHIAZcB/wEhAbcBYAH/AWMBrAHnAf8BjwG1AeMB/wFaAl4B1QQAA2AB1gHHAs0B/wHbAuQB/wHb
AuQB/wHbAuUB/wHcAuUB/wHcAuUB/wHdAuYB/wHdAuYB/wHeAucB/wHfAugB/wHgAugB/wHNAtMB/wNf
AeMEAAMmATkBYAJaAd4BjgE0AQAB/wHsAZ4BOQH/Af4BvwGFAv8BzAGhAv8B3wG7Af8B/gHCAWUB/wHi
AY4BLwH/AdMBhAEgAf8BygFfARIB/wG1AVYBEAH/AZcBRwENAf8BgQFEAR8B/wNZAewDLgFIDAABTQGY
AdAB/wGrAdEB5wH/AZABwgHfAf8BMgGpAYgB/wGRAckBuwH/AVwBugGlAf8BWAG4AaEB/wFUAbYBngH/
AVgBuAGdAf8BQwGlAZIB/wNWAbMDVgGzAVUBVgFVAbEEAANJAYcBhgGvAeEB/wG5AdcB8wH/ARgBpgH+
Af8BUgG/Av8BEQGjAv8BTAG+AfAB/wEgAc4B+wH/AUABvgHxAf8BOAGzAaAB/wEhAbcBXwH/AS0BswGQ
Af8BpwHIAe4B/wFdAaUB1gH/AU8CUQGcBAADLAFDA1sByAOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOd
Af8DnQH/A50B/wOdAf8DXgHdAzEBTgQAAwkBDANLAY4BwAFUARMC/wG8AWUB/wH6Ac4BpwH/AfgB2wG+
Av8B4gHGAv8BvgGGAf8B9AGsAVsB/wHsAcIBmgH/AeIBtQGLAf8BuAFbARkB/wGdAUoBEgH/AYgBSgEm
Af8DTwGlAxABFQwAAVEBmwHTAf8BrgHUAegB/wGrAdMB6AH/AT8BsQGQAf8BmwHOAcAB/wGZAc0BvQH/
AZYBywG7Af8BlQHKAbkB/wGAAb8BqAH/AV0BswGpAf8DVgGzA1UBsgMIAQsEAAMEAQYDUQGfAYUBrgHh
Af8BQAGyAfkB/wERAaMC/wEmAakB+wH/ARYB0wH+Af8BUgHiAv8BEQHVAv8BZQGwAegB/wFiAa0B5wH/
AakBygHvAf8BpQHFAe0B/wErAV0BeAH8AyEBMEQAAxMBGgJkAVMB8QHYAZ4BWAH/AecB0wHAAf8B/AH1
Ae4C/wH4AesC/wHlAcIB/wH2AbkBggH/AfIB0gG4Af8B7gHSAbYB/wHCAYYBNAH/AacBXAEtAf8CTQEp
AfoDHQEpEAABVAGdAdUB/wFSAZsB0wH/AU8BmgHSAf8BLwGhAYwB/wEqAZ8BigH/AScBnQGFAf8BIwGZ
AYAB/wE8AaUBkgH/AWUBuAGxAf8BNgGhAYsB/wNVAbIDBgEIEAADQgF1AV8CYgH2AY4BtgHjAf8BuQHX
AfMB/wFDAdUB+wH/ARAB1QL/AScB0QH7Af8BswHSAfIB/wGxAdAB8QH/AZIBuAHiAf8BSAGVAcwB/wNK
AYpMAAM1AVcBqQFIARoB/wHKAbgBqAb/Af4B/AL/AfYB4gH/AfsBxQGgAf8B5AG5AZUB/wHbAawBYwH/
AcMBjgFCAf8BkwFKAR4B/wE+Aj0BajAAAVMCVAGsA1YBswNWAbMDBAEGGAADFgEeA1QBrgFcAaMB3AH/
AZEBuAHkAf8BqAHKAewB/wGlAccB7AH/AY0BtQHiAf8BTgGaAdIB/wFaAl8B2wMxAU5UAAMyAVECZAFZ
AewB0AGyAZUB/wHsAeAB2QH/AeYB1QHEAf8B0wGwAZQB/wHTAaYBXQH/AcsBjwE7Af8BZwFlAVkB8gE6
AjkBYDQAAVMCVAGsA1YBswMEAQYkAAMrAUIDTAGQAVsCXQHSAVkCXAHPA04BmQMtAUVgAAMRARcDRAF6
AloBVwHFAmUBXgHlAmEBWAHmAlwBWQHJAkgBRwGDAxUBHRAAAUIBTQE+BwABPgMAASgDAAFAAwABIAMA
AQEBAAEBBgABARYAA/8BAAHgAQcCAAH8AT8CAAHAAQMCAAH8AT8CAAHAAQMCAAHAAQMCAAHAAQMCAAHA
AQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMGAAHAAQMCAAEBAYACAAHAAQMBgAIBAYACAAHA
AQMBgAEBBAABwAEDAcABAwHAAQMCAAHAAQMB8AEPAcABAwIAAcABAwHwAQ8BgAEDAgABwAEDAfABDwHA
AQMCAAHAAQMB8AEPAfABDwIAAcABAwH4AR8B/AE/AgAB4wX/AeABBwGAAQEB/AEfAv8BwAEDAYABBwH4
AQcC/wGAAQMBAAEHAfgBAwL/AcABAwEAAQcB8AEBAgABwAEDAQABBwGAAwABgAEBAYABBwIAAYABAQIA
AcABBwEBAQABgAEBAgAB4AEDAgABgAEBAgAB4AEBAgABgAEBAgAB4AMAAYABAQIAAeABAAGAAQABgAEB
AgAB4AEAAYABAAL/AYABAQHgAQEB4AEBAv8BwAEDAf8BwwHwAQMC/wHgAQcB/wHHAfwBDwL/AfABDws=
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -37,6 +37,8 @@ CREATE TABLE [dbo].[tblCons] (
[Resolution] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[DisplayWallpaper] [bit] NOT NULL ,
[DisplayThemes] [bit] NOT NULL ,
[EnableFontSmoothing] [bit] NOT NULL ,
[EnableDesktopComposition] [bit] NOT NULL ,
[CacheBitmaps] [bit] NOT NULL ,
[RedirectDiskDrives] [bit] NOT NULL ,
[RedirectPorts] [bit] NOT NULL ,
@@ -72,6 +74,8 @@ CREATE TABLE [dbo].[tblCons] (
[InheritDescription] [bit] NOT NULL ,
[InheritDisplayThemes] [bit] NOT NULL ,
[InheritDisplayWallpaper] [bit] NOT NULL ,
[InheritEnableFontSmoothing] [bit] NOT NULL ,
[InheritEnableDesktopComposition] [bit] NOT NULL ,
[InheritDomain] [bit] NOT NULL ,
[InheritIcon] [bit] NOT NULL ,
[InheritPanel] [bit] NOT NULL ,

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
<!--
Microsoft ResX Schema
Version 2.0
@@ -59,80 +59,95 @@
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="strPropertyDescriptionColors" xml:space="preserve">
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="strPropertyDescriptionColors" xml:space="preserve">
<value>Select the color quality to be used.</value>
</data>
<data name="strPropertyNameColors" xml:space="preserve">
<data name="strPropertyNameColors" xml:space="preserve">
<value>Colors</value>
</data>
<data name="strComponentsCheck" xml:space="preserve">
<value>Components Check</value>
</data>
<data name="strCcAlwaysShowScreen" xml:space="preserve">
<value>Always show this screen at startup</value>
</data>
<data name="strCcCheckAgain" xml:space="preserve">
<value>Refresh</value>
</data>
<data name="strConnecting" xml:space="preserve">
<value>Connecting...</value>
</data>
<data name="strComponentsCheck" xml:space="preserve">
<value>Components Check</value>
</data>
<data name="strCcAlwaysShowScreen" xml:space="preserve">
<value>Always show this screen at startup</value>
</data>
<data name="strCcCheckAgain" xml:space="preserve">
<value>Refresh</value>
</data>
<data name="strConnecting" xml:space="preserve">
<value>Connecting...</value>
</data>
<data name="strRDP16777216Colors" xml:space="preserve">
<value>16777216 Colors (24-bit)</value>
</data>
<data name="strRDP256Colors" xml:space="preserve">
<value>256 Colors (8-bit)</value>
</data>
<data name="strRDP4294967296Colors" xml:space="preserve">
<value>16777216 Colors (32-bit)</value>
</data>
<data name="strRDP65536Colors" xml:space="preserve">
<value>65536 Colors (16-bit)</value>
</data>
<data name="strRDP32768Colors" xml:space="preserve">
<value>32768 Colors (15-bit)</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -31,5 +31,4 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.64")>
<Assembly: AssemblyFileVersion("1.64")>
<Assembly: AssemblyVersion("1.67.*")>

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -1223,7 +1223,7 @@
<value>Connecting...</value>
</data>
<data name="strRDP256Colors" xml:space="preserve">
<value>256 Colors (8bit)</value>
<value>256 Colours (8-bit)</value>
</data>
<data name="strRDPSoundBringToThisComputer" xml:space="preserve">
<value>Bring to this computer</value>
@@ -1540,13 +1540,13 @@ If you are still not able to pass this check or use the (RDP) Sessions feature i
<value>Logoff</value>
</data>
<data name="strTheFollowing" xml:space="preserve">
<value>the follwing</value>
<value>The follwing</value>
</data>
<data name="strMyCurrentWindowsCreds" xml:space="preserve">
<value>my current credentials (windows logon info)</value>
<value>My current credentials (Windows logon information)</value>
</data>
<data name="strNoInformation" xml:space="preserve">
<value>none</value>
<value>None</value>
</data>
<data name="strSingleClickOnOpenConnectionSwitchesToIt" xml:space="preserve">
<value>Single click on opened connection switches to it</value>
@@ -1614,9 +1614,6 @@ If you are still not able to pass this check or use the (RDP) Sessions feature i
<data name="strChoosePanelBeforeConnecting" xml:space="preserve">
<value>Choose panel before connecting</value>
</data>
<data name="strTools" xml:space="preserve">
<value>Tools</value>
</data>
<data name="strImportExport" xml:space="preserve">
<value>Import/Export</value>
</data>
@@ -1706,13 +1703,13 @@ mRemoteNG will now quit and begin with the installation.</value>
<value>CTRL-ESC</value>
</data>
<data name="strRDP65536Colors" xml:space="preserve">
<value>65536 Colors (16bit)</value>
<value>65536 Colours (16-bit)</value>
</data>
<data name="strRDP16777216Colors" xml:space="preserve">
<value>16777216 Colors (24bit)</value>
<value>16777216 Colours (24-bit)</value>
</data>
<data name="strRDP4294967296Colors" xml:space="preserve">
<value>4294967296 Colors (32bit)</value>
<value>16777216 Colours (32-bit)</value>
</data>
<data name="strRDPDisableWallpaper" xml:space="preserve">
<value>Disable Wallpaper</value>
@@ -1766,7 +1763,7 @@ mRemoteNG will now quit and begin with the installation.</value>
<value>Transfer successful!</value>
</data>
<data name="strSSHTransferEndFailed" xml:space="preserve">
<value>Ssh Transfee End (UI.Window.SSHTransfer) failed!</value>
<value>SSH Transfer End (UI.Window.SSHTransfer) failed!</value>
</data>
<data name="strTransfer" xml:space="preserve">
<value>Transfer</value>
@@ -1786,7 +1783,7 @@ Please use File - Load Connections for normal connection files!</value>
<value>AddNodeFromXML failed!</value>
</data>
<data name="strGetConnectionInfoFromXmlFailed" xml:space="preserve">
<value>Get Connection Info From Xml failed</value>
<value>An error occured while loading the connection entry for "{0}" from "{1}". {2}</value>
</data>
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
<value>Couldn't create new connections file!</value>
@@ -2000,7 +1997,7 @@ Starting with new connections file.</value>
<value>RDP SetEventHandlers failed!</value>
</data>
<data name="strRdpControlCreationFailed" xml:space="preserve">
<value>Couldn't create RDP control, please check mRemote requirements.</value>
<value>Couldn't create RDP control, please check mRemoteNG requirements.</value>
</data>
<data name="strRdpSetPropsFailed" xml:space="preserve">
<value>RDP SetProps failed!</value>
@@ -2063,16 +2060,16 @@ Starting with new connections file.</value>
<value>Basic</value>
</data>
<data name="strEnc128BitLogonOnly" xml:space="preserve">
<value>128Bit (logon only)</value>
<value>128-bit (logon only)</value>
</data>
<data name="strEnc40Bit" xml:space="preserve">
<value>40 Bit</value>
<value>40-bit</value>
</data>
<data name="strEnc56Bit" xml:space="preserve">
<value>56 Bit</value>
<value>56-bit</value>
</data>
<data name="strEnc128Bit" xml:space="preserve">
<value>128 Bit</value>
<value>128-bit</value>
</data>
<data name="strIntAppConnectionFailed" xml:space="preserve">
<value>Connection failed!</value>
@@ -2283,4 +2280,70 @@ Error Description: {1}</value>
<data name="strGeneral" xml:space="preserve">
<value>General</value>
</data>
<data name="strLanguage" xml:space="preserve">
<value>Language</value>
</data>
<data name="strLanguageDefault" xml:space="preserve">
<value>(Automatically Detect)</value>
</data>
<data name="strLanguageRestartRequired" xml:space="preserve">
<value>{0} must be restarted before changes to the language will take effect.</value>
</data>
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
<value>Ask me again later</value>
</data>
<data name="strAskUpdatesCommandCustom" xml:space="preserve">
<value>Customize the settings now</value>
</data>
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
<value>Use the recommended settings</value>
</data>
<data name="strAskUpdatesContent" xml:space="preserve">
<value>{0} can automatically check for updates that may provide new features and bug fixes. It is recommended that you allow {0} to check for updates weekly.</value>
</data>
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
<value>Automatic update settings</value>
</data>
<data name="strRDP32768Colors" xml:space="preserve">
<value>32768 Colours (15-bit)</value>
</data>
<data name="strPropertyDescriptionEnableFontSmoothing" xml:space="preserve">
<value>Select whether to use font smoothing or not.</value>
</data>
<data name="strPropertyNameEnableFontSmoothing" xml:space="preserve">
<value>Font Smoothing</value>
</data>
<data name="strPropertyDescriptionEnableDesktopComposition" xml:space="preserve">
<value>Select whether to use desktop composition or not.</value>
</data>
<data name="strPropertyNameEnableDesktopComposition" xml:space="preserve">
<value>Desktop Composition</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Confirm closing connection tabs</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Do you want to close the connection, "{0}"?</value>
</data>
<data name="strConfirmCloseConnectionPanelMainInstruction" xml:space="preserve">
<value>Are you sure you want to close the panel, "{0}"? Any connections that it contains will also be closed.</value>
</data>
<data name="strTabUpdates" xml:space="preserve">
<value>Updates</value>
</data>
<data name="strLabelSQLDatabaseName" xml:space="preserve">
<value>Database:</value>
</data>
<data name="strLabelSQLServerDatabaseName" xml:space="preserve">
<value>Database:</value>
</data>
<data name="strErrorVerifyDatabaseVersionFailed">
<value xml:space="preserve">VerifyDatabaseVersion (Config.Connections.Save) failed. {0}</value>
</data>
<data name="strErrorConnectionListSaveFailed">
<value xml:space="preserve">The connection list could not be saved.</value>
</data>
<data name="strErrorBadDatabaseVersion">
<value xml:space="preserve">The database version {0} is not compatible with this version of {1}.</value>
</data>
</root>

View File

@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:2.0.50727.4952
' This code was generated by a tool.
' Runtime Version:2.0.50727.4959
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
@@ -22,7 +22,7 @@ Namespace My
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings),MySettings)
#Region "Funktion zum automatischen Speichern von My.Settings"
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
@@ -56,8 +56,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("999, 999")> _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormLocation() As Global.System.Drawing.Point
Get
Return CType(Me("MainFormLocation"),Global.System.Drawing.Point)
@@ -69,8 +68,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("900, 600")> _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormSize() As Global.System.Drawing.Size
Get
Return CType(Me("MainFormSize"),Global.System.Drawing.Size)
@@ -1950,22 +1948,30 @@ Namespace My
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Never")> _
Public ReadOnly Property ConDefaultRDGatewayUsageMethod() As String
Public Property ConDefaultRDGatewayUsageMethod() As String
Get
Return CType(Me("ConDefaultRDGatewayUsageMethod"),String)
End Get
Set
Me("ConDefaultRDGatewayUsageMethod") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Yes")> _
Public ReadOnly Property ConDefaultRDGatewayUseConnectionCredentials() As String
Public Property ConDefaultRDGatewayUseConnectionCredentials() As String
Get
Return CType(Me("ConDefaultRDGatewayUseConnectionCredentials"),String)
End Get
Set
Me("ConDefaultRDGatewayUseConnectionCredentials") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
@@ -1982,6 +1988,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultRDGatewayUsageMethod() As Boolean
@@ -1994,6 +2001,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultRDGatewayHostname() As Boolean
@@ -2006,6 +2014,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultRDGatewayUsername() As Boolean
@@ -2018,6 +2027,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultRDGatewayPassword() As Boolean
@@ -2030,6 +2040,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultRDGatewayDomain() As Boolean
@@ -2042,6 +2053,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultRDGatewayUseConnectionCredentials() As Boolean
@@ -2054,6 +2066,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("5")> _
Public Property RdpReconnectionCount() As Integer
@@ -2064,6 +2077,182 @@ Namespace My
Me("RdpReconnectionCount") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property OverrideUICulture() As String
Get
Return CType(Me("OverrideUICulture"),String)
End Get
Set
Me("OverrideUICulture") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("de,en,en-US,fr")> _
Public ReadOnly Property SupportedUICultures() As String
Get
Return CType(Me("SupportedUICultures"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property ConDefaultRDGatewayHostname() As String
Get
Return CType(Me("ConDefaultRDGatewayHostname"),String)
End Get
Set
Me("ConDefaultRDGatewayHostname") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property ConDefaultRDGatewayUsername() As String
Get
Return CType(Me("ConDefaultRDGatewayUsername"),String)
End Get
Set
Me("ConDefaultRDGatewayUsername") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property ConDefaultRDGatewayPassword() As String
Get
Return CType(Me("ConDefaultRDGatewayPassword"),String)
End Get
Set
Me("ConDefaultRDGatewayPassword") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property ConDefaultRDGatewayDomain() As String
Get
Return CType(Me("ConDefaultRDGatewayDomain"),String)
End Get
Set
Me("ConDefaultRDGatewayDomain") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property ConDefaultEnableFontSmoothing() As Boolean
Get
Return CType(Me("ConDefaultEnableFontSmoothing"),Boolean)
End Get
Set
Me("ConDefaultEnableFontSmoothing") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultEnableFontSmoothing() As Boolean
Get
Return CType(Me("InhDefaultEnableFontSmoothing"),Boolean)
End Get
Set
Me("InhDefaultEnableFontSmoothing") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property ConDefaultEnableDesktopComposition() As Boolean
Get
Return CType(Me("ConDefaultEnableDesktopComposition"),Boolean)
End Get
Set
Me("ConDefaultEnableDesktopComposition") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property InhDefaultEnableDesktopComposition() As Boolean
Get
Return CType(Me("InhDefaultEnableDesktopComposition"),Boolean)
End Get
Set
Me("InhDefaultEnableDesktopComposition") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Public Property ConfirmCloseConnection() As Boolean
Get
Return CType(Me("ConfirmCloseConnection"),Boolean)
End Get
Set
Me("ConfirmCloseConnection") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormRestoreSize() As Global.System.Drawing.Size
Get
Return CType(Me("MainFormRestoreSize"),Global.System.Drawing.Size)
End Get
Set
Me("MainFormRestoreSize") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormRestoreLocation() As Global.System.Drawing.Point
Get
Return CType(Me("MainFormRestoreLocation"),Global.System.Drawing.Point)
End Get
Set
Me("MainFormRestoreLocation") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("mRemoteNG")> _
Public Property SQLDatabaseName() As String
Get
Return CType(Me("SQLDatabaseName"),String)
End Get
Set
Me("SQLDatabaseName") = value
End Set
End Property
End Class
End Namespace

View File

@@ -3,10 +3,10 @@
<Profiles />
<Settings>
<Setting Name="MainFormLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">999, 999</Value>
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">900, 600</Value>
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormState" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Windows.Forms.FormWindowState" Scope="User">
<Value Profile="(Default)">Normal</Value>
@@ -440,35 +440,77 @@
<Setting Name="UpdatePending" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayUsageMethod" Type="System.String" Scope="Application">
<Setting Name="ConDefaultRDGatewayUsageMethod" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Never</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayUseConnectionCredentials" Type="System.String" Scope="Application">
<Setting Name="ConDefaultRDGatewayUseConnectionCredentials" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Yes</Value>
</Setting>
<Setting Name="ConDefaultIcon" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">mRemoteNG</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayUsageMethod" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayUsageMethod" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayHostname" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayHostname" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayUsername" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayUsername" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayPassword" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayPassword" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayDomain" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayDomain" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayUseConnectionCredentials" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayUseConnectionCredentials" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="RdpReconnectionCount" Type="System.Int32" Scope="User">
<Setting Name="RdpReconnectionCount" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Int32" Scope="User">
<Value Profile="(Default)">5</Value>
</Setting>
<Setting Name="OverrideUICulture" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="SupportedUICultures" Type="System.String" Scope="Application">
<Value Profile="(Default)">de,en,en-US,fr</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayHostname" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRDGatewayUsername" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRDGatewayPassword" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRDGatewayDomain" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultEnableFontSmoothing" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultEnableFontSmoothing" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConDefaultEnableDesktopComposition" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultEnableDesktopComposition" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConfirmCloseConnection" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="MainFormRestoreSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormRestoreLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="SQLDatabaseName" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">mRemoteNG</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -4,7 +4,7 @@ How to build the portable package:
to Inherits PortableSettingsProvider
In App.Info.Settings:
change SettingsPath
from GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.CompanyName.Replace(" ", "_") & "\" & My.Application.Info.ProductName
from GetFolderPath(SpecialFolder.ApplicationData) & "\" & My.Application.Info.CompanyName.Replace(" ", "_") & "\" & My.Application.Info.ProductName
to My.Application.Info.DirectoryPath
How to add a new language:

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 B

View File

@@ -71,13 +71,12 @@ Namespace Tools
Dim sqlQuery As SqlCommand
Dim sqlRd As SqlDataReader
Dim sqlDB As String = "mRemote"
Dim LastUpdateInDB As Date
If My.Settings.SQLUser <> "" Then
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & My.Settings.SQLUser & ";Password=" & Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey))
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & My.Settings.SQLDatabaseName & ";User Id=" & My.Settings.SQLUser & ";Password=" & Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey))
Else
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & My.Settings.SQLDatabaseName & ";Integrated Security=True")
End If
sqlCon.Open()

View File

@@ -0,0 +1,120 @@
Imports System.Runtime.InteropServices
Namespace Tools
Public Class WindowPlacement
#Region "Windows API"
#Region "Functions"
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hWnd As System.IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hWnd As System.IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
#End Region
#Region "Structures"
Private Structure WINDOWPLACEMENT
Public length As UInteger
Public flags As UInteger
Public showCmd As UInteger
Public ptMinPosition As POINT
Public ptMaxPosition As POINT
Public rcNormalPosition As RECT
End Structure
Private Structure POINT
Public x As Long
Public y As Long
End Structure
Private Structure RECT
Public left As Long
Public top As Long
Public right As Long
Public bottom As Long
End Structure
#End Region
#Region "Constants"
' WINDOWPLACEMENT.flags values
Private Const WPF_SETMINPOSITION As UInteger = &H1
Private Const WPF_RESTORETOMAXIMIZED As UInteger = &H2
Private Const WPF_ASYNCWINDOWPLACEMENT As UInteger = &H4
' WINDOWPLACEMENT.showCmd values
Private Const SW_HIDE As UInteger = 0
Private Const SW_SHOWNORMAL As UInteger = 1
Private Const SW_SHOWMINIMIZED As UInteger = 2
Private Const SW_SHOWMAXIMIZED As UInteger = 3
Private Const SW_MAXIMIZE As UInteger = 3
Private Const SW_SHOWNOACTIVATE As UInteger = 4
Private Const SW_SHOW As UInteger = 5
Private Const SW_MINIMIZE As UInteger = 6
Private Const SW_SHOWMINNOACTIVE As UInteger = 7
Private Const SW_SHOWNA As UInteger = 8
Private Const SW_RESTORE As UInteger = 9
#End Region
#End Region
#Region "Private Variables"
Private _form As Windows.Forms.Form
#End Region
#Region "Constructors/Destructors"
Public Sub New(ByRef form As Windows.Forms.Form)
_form = form
End Sub
#End Region
#Region "Public Properties"
Public Property Form() As Windows.Forms.Form
Get
Return _form
End Get
Set(ByVal value As Windows.Forms.Form)
_form = value
End Set
End Property
Public Property RestoreToMaximized() As Boolean
Get
Dim windowPlacement As WINDOWPLACEMENT = GetWindowPlacement()
Return windowPlacement.flags And WPF_RESTORETOMAXIMIZED
End Get
Set(ByVal value As Boolean)
Dim windowPlacement As WINDOWPLACEMENT = GetWindowPlacement()
If value Then
windowPlacement.flags = windowPlacement.flags Or WPF_RESTORETOMAXIMIZED
Else
windowPlacement.flags = windowPlacement.flags And Not WPF_RESTORETOMAXIMIZED
End If
SetWindowPlacement(windowPlacement)
End Set
End Property
#End Region
#Region "Private Functions"
Private Function GetWindowPlacement() As WINDOWPLACEMENT
If _form Is Nothing Then
Throw New System.NullReferenceException("WindowPlacement.Form is not set.")
End If
Dim windowPlacement As WINDOWPLACEMENT
windowPlacement.length = Marshal.SizeOf(windowPlacement)
Try
GetWindowPlacement(_form.Handle, windowPlacement)
Return windowPlacement
Catch ex As Exception
Throw ex
End Try
End Function
Private Function SetWindowPlacement(ByVal windowPlacement As WINDOWPLACEMENT) As Boolean
If _form Is Nothing Then
Throw New System.NullReferenceException("WindowPlacement.Form is not set.")
End If
windowPlacement.length = Marshal.SizeOf(windowPlacement)
Try
Return SetWindowPlacement(_form.Handle, windowPlacement)
Catch ex As Exception
Throw ex
End Try
End Function
#End Region
End Class
End Namespace

View File

@@ -303,6 +303,7 @@ Namespace Tree
Dim nConI As Connection.Info = conI.Copy
Dim nInh As Connection.Info.Inheritance = conI.Inherit.Copy()
nInh.Parent = nConI
nConI.Inherit = nInh
cL.Add(nConI)
@@ -479,13 +480,20 @@ Namespace Tree
Public Shared Sub Sort(ByVal treeNode As TreeNode, ByVal sortType As Tools.Controls.TreeNodeSorter.SortType)
Try
If Tree.Node.GetNodeType(treeNode) <> Type.Connection Then
Dim ns As New Tools.Controls.TreeNodeSorter(treeNode, sortType)
_TreeView.TreeViewNodeSorter = ns
_TreeView.Sort()
_TreeView.Sorted = False
If treeNode Is Nothing Then
treeNode = _TreeView.Nodes.Item(0)
ElseIf Tree.Node.GetNodeType(treeNode) = Type.Connection Then
treeNode = treeNode.Parent
End If
Dim ns As New Tools.Controls.TreeNodeSorter(treeNode, sortType)
_TreeView.TreeViewNodeSorter = ns
_TreeView.Sort()
For Each childNode As TreeNode In treeNode.Nodes
If GetNodeType(childNode) = Type.Container Then Sort(childNode, sortType)
Next
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Sort nodes failed" & vbNewLine & ex.Message, True)
End Try

View File

@@ -298,7 +298,7 @@ Namespace UI
Try
lblCopyright.Text = My.Application.Info.Copyright
Me.lblVersion.Text = "Version " & My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor
Me.lblVersion.Text = "Version " & My.Application.Info.Version.ToString
FillLinkLabel(llblFAMFAMFAM, My.Resources.strFAMFAMFAMAttribution, My.Resources.strFAMFAMFAMAttributionURL)
FillLinkLabel(llblMagicLibrary, My.Resources.strMagicLibraryAttribution, My.Resources.strMagicLibraryAttributionURL)

View File

@@ -542,6 +542,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
strHide.Add("PuttySession")
@@ -575,6 +577,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -610,6 +614,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -645,6 +651,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -682,6 +690,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -719,6 +729,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -756,6 +768,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -791,6 +805,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ExtApp")
strHide.Add("ICAEncryption")
@@ -823,6 +839,8 @@ Namespace UI
Case mRemoteNG.Connection.Protocol.Protocols.ICA
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("ExtApp")
strHide.Add("Port")
strHide.Add("PuttySession")
@@ -857,6 +875,8 @@ Namespace UI
strHide.Add("Colors")
strHide.Add("DisplayThemes")
strHide.Add("DisplayWallpaper")
strHide.Add("EnableFontSmoothing")
strHide.Add("EnableDesktopComposition")
strHide.Add("Domain")
strHide.Add("ICAEncryption")
strHide.Add("PuttySession")
@@ -911,6 +931,14 @@ Namespace UI
strHide.Add("DisplayWallpaper")
End If
If .EnableFontSmoothing Then
strHide.Add("EnableFontSmoothing")
End If
If .EnableDesktopComposition Then
strHide.Add("EnableDesktopComposition")
End If
If .Domain Then
strHide.Add("Domain")
End If
@@ -1238,21 +1266,15 @@ Namespace UI
Public Sub SetHostStatus(ByVal ConnectionInfo As Object)
Try
If TypeOf ConnectionInfo Is mRemoteNG.Connection.Info Then
'continue
ElseIf TypeOf ConnectionInfo Is mRemoteNG.Connection.Info.Inheritance Then
ConnectionInfo = TryCast(ConnectionInfo, mRemoteNG.Connection.Info.Inheritance).Parent
Else
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Exit Sub
End If
If TryCast(ConnectionInfo, mRemoteNG.Connection.Info).IsContainer Then
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Exit Sub
End If
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
' To check status, ConnectionInfo must be an mRemoteNG.Connection.Info that is not a container
If TypeOf ConnectionInfo Is mRemoteNG.Connection.Info Then
If TryCast(ConnectionInfo, mRemoteNG.Connection.Info).IsContainer Then Return
Else
Return
End If
Me.btnHostStatus.Tag = "checking"
HostName = TryCast(ConnectionInfo, mRemoteNG.Connection.Info).Hostname
pThread = New Threading.Thread(AddressOf CheckHostAlive)

View File

@@ -3,6 +3,7 @@ Imports System.Windows
Imports System.Windows.Forms
Imports Crownwood
Imports WeifenLuo.WinFormsUI.Docking
Imports PSTaskDialog
Imports mRemoteNG.App.Runtime
Namespace UI
@@ -226,37 +227,8 @@ Namespace UI
Me.InitializeComponent()
Me.Text = FormText
Me.TabText = FormText
AddHandler mRemoteNG.App.Runtime.HotKey_CtrlTab.Pressed, AddressOf CtrlTabHK_Press
AddHandler mRemoteNG.App.Runtime.HotKey_ShiftTab.Pressed, AddressOf ShiftTabHK_Press
End Sub
Protected Sub CtrlTabHK_Press(ByVal sender As Integer)
With Me.TabController
If .TabPages.Count > 1 And Me.Visible Then
If .TabPages.Count = .SelectedIndex + 1 Then
.SelectedIndex = 0
Else
.SelectedIndex = .SelectedIndex + 1
End If
FocusIC()
RefreshIC()
End If
End With
End Sub
Protected Sub ShiftTabHK_Press(ByVal sender As Integer)
With Me.TabController
If .TabPages.Count > 1 And Me.Visible Then
If .SelectedIndex = 0 Then
.SelectedIndex = .TabPages.Count - 1
Else
.SelectedIndex = .SelectedIndex - 1
End If
FocusIC()
RefreshIC()
End If
End With
End Sub
Public Function AddConnectionTab(ByVal conI As mRemoteNG.Connection.Info) As Magic.Controls.TabPage
Try
Dim nTab As New Magic.Controls.TabPage
@@ -335,6 +307,17 @@ Namespace UI
End Sub
Private Sub Connection_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Not frmMain.IsClosing And My.Settings.ConfirmCloseConnection And TabController.TabPages.Count > 0 Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Resources.strConfirmCloseConnectionPanelMainInstruction, Me.Text), "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmCloseConnection = False
End If
If Result = DialogResult.No Then
e.Cancel = True
Exit Sub
End If
End If
Try
For Each tabP As Magic.Controls.TabPage In Me.TabController.TabPages
If tabP.Tag IsNot Nothing Then
@@ -373,12 +356,23 @@ Namespace UI
End Sub
Private Sub CloseConnectionTab()
Dim SelectedTab As Crownwood.Magic.Controls.TabPage = Me.TabController.SelectedTab
If My.Settings.ConfirmCloseConnection Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Resources.strConfirmCloseConnectionMainInstruction, SelectedTab.Title), "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmCloseConnection = False
End If
If Result = DialogResult.No Then
Exit Sub
End If
End If
Try
If Me.TabController.SelectedTab.Tag IsNot Nothing Then
Dim IC As mRemoteNG.Connection.InterfaceControl = Me.TabController.SelectedTab.Tag
If SelectedTab.Tag IsNot Nothing Then
Dim IC As mRemoteNG.Connection.InterfaceControl = SelectedTab.Tag
IC.Protocol.Close()
Else
Me.CloseTab(Me.TabController.SelectedTab)
Me.CloseTab(SelectedTab)
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)

View File

@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,6 @@ Namespace UI
Friend WithEvents cMenTreeConnectWithOptionsConnectInFullscreen As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeDisconnect As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeSep2 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents cMenTreeTools As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeToolsTransferFile As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeToolsImportExport As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeToolsImportExportExportmRemoteXML As System.Windows.Forms.ToolStripMenuItem
@@ -48,6 +47,9 @@ Namespace UI
Friend WithEvents cMenTreeToolsImportExportImportFromPortScan As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeConnectWithOptionsChoosePanelBeforeConnecting As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeConnectWithOptionsDontConnectToConsoleSession As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents mMenSortAscending As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents mMenAddConnection As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents mMenAddFolder As System.Windows.Forms.ToolStripMenuItem
Public WithEvents tvConnections As System.Windows.Forms.TreeView
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
@@ -65,7 +67,6 @@ Namespace UI
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeDisconnect = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeSep2 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeTools = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsTransferFile = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExport = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportExportmRemoteXML = New System.Windows.Forms.ToolStripMenuItem
@@ -90,9 +91,12 @@ Namespace UI
Me.PictureBox1 = New System.Windows.Forms.PictureBox
Me.txtSearch = New System.Windows.Forms.TextBox
Me.msMain = New System.Windows.Forms.MenuStrip
Me.mMenAddConnection = New System.Windows.Forms.ToolStripMenuItem
Me.mMenAddFolder = New System.Windows.Forms.ToolStripMenuItem
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
Me.mMenViewExpandAllFolders = New System.Windows.Forms.ToolStripMenuItem
Me.mMenViewCollapseAllFolders = New System.Windows.Forms.ToolStripMenuItem
Me.mMenSortAscending = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTree.SuspendLayout()
Me.pnlConnections.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -123,10 +127,10 @@ Namespace UI
'cMenTree
'
Me.cMenTree.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cMenTree.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeAddConnection, Me.cMenTreeAddFolder, Me.cMenTreeSep1, Me.cMenTreeConnect, Me.cMenTreeConnectWithOptions, Me.cMenTreeDisconnect, Me.cMenTreeSep2, Me.cMenTreeTools, Me.cMenTreeSep3, Me.cMenTreeDuplicate, Me.cMenTreeRename, Me.cMenTreeDelete, Me.cMenTreeSep4, Me.cMenTreeMoveUp, Me.cMenTreeMoveDown})
Me.cMenTree.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeAddConnection, Me.cMenTreeAddFolder, Me.cMenTreeSep1, Me.cMenTreeConnect, Me.cMenTreeConnectWithOptions, Me.cMenTreeDisconnect, Me.cMenTreeSep2, Me.cMenTreeToolsTransferFile, Me.cMenTreeToolsImportExport, Me.cMenTreeToolsSort, Me.cMenTreeToolsExternalApps, Me.cMenTreeSep3, Me.cMenTreeDuplicate, Me.cMenTreeRename, Me.cMenTreeDelete, Me.cMenTreeSep4, Me.cMenTreeMoveUp, Me.cMenTreeMoveDown})
Me.cMenTree.Name = "cMenTree"
Me.cMenTree.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.cMenTree.Size = New System.Drawing.Size(187, 292)
Me.cMenTree.Size = New System.Drawing.Size(187, 336)
'
'cMenTreeAddConnection
'
@@ -202,26 +206,18 @@ Namespace UI
Me.cMenTreeSep2.Name = "cMenTreeSep2"
Me.cMenTreeSep2.Size = New System.Drawing.Size(183, 6)
'
'cMenTreeTools
'
Me.cMenTreeTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeToolsTransferFile, Me.cMenTreeToolsImportExport, Me.cMenTreeToolsSort, Me.cMenTreeToolsExternalApps})
Me.cMenTreeTools.Image = Global.mRemoteNG.My.Resources.Resources.Tools
Me.cMenTreeTools.Name = "cMenTreeTools"
Me.cMenTreeTools.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeTools.Text = "Tools"
'
'cMenTreeToolsTransferFile
'
Me.cMenTreeToolsTransferFile.Image = Global.mRemoteNG.My.Resources.Resources.SSHTransfer
Me.cMenTreeToolsTransferFile.Name = "cMenTreeToolsTransferFile"
Me.cMenTreeToolsTransferFile.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsTransferFile.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsTransferFile.Text = "Transfer File (SSH)"
'
'cMenTreeToolsImportExport
'
Me.cMenTreeToolsImportExport.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeToolsImportExportExportmRemoteXML, Me.cMenTreeToolsImportExportImportmRemoteXML, Me.cMenTreeToolsImportExportSep1, Me.cMenTreeToolsImportExportImportFromAD, Me.cMenTreeToolsImportExportImportFromRDPFiles, Me.cMenTreeToolsImportExportImportFromPortScan})
Me.cMenTreeToolsImportExport.Name = "cMenTreeToolsImportExport"
Me.cMenTreeToolsImportExport.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsImportExport.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsImportExport.Text = "Import/Export"
'
'cMenTreeToolsImportExportExportmRemoteXML
@@ -268,7 +264,7 @@ Namespace UI
'
Me.cMenTreeToolsSort.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeToolsSortAscending, Me.cMenTreeToolsSortDescending})
Me.cMenTreeToolsSort.Name = "cMenTreeToolsSort"
Me.cMenTreeToolsSort.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsSort.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsSort.Text = "Sort"
'
'cMenTreeToolsSortAscending
@@ -289,7 +285,7 @@ Namespace UI
'
Me.cMenTreeToolsExternalApps.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp
Me.cMenTreeToolsExternalApps.Name = "cMenTreeToolsExternalApps"
Me.cMenTreeToolsExternalApps.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsExternalApps.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsExternalApps.Text = "External Applications"
'
'cMenTreeSep3
@@ -386,14 +382,29 @@ Namespace UI
'msMain
'
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenView})
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenAddConnection, Me.mMenAddFolder, Me.mMenView, Me.mMenSortAscending})
Me.msMain.Location = New System.Drawing.Point(0, 0)
Me.msMain.Name = "msMain"
Me.msMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.msMain.ShowItemToolTips = True
Me.msMain.Size = New System.Drawing.Size(192, 24)
Me.msMain.TabIndex = 10
Me.msMain.Text = "MenuStrip1"
'
'mMenAddConnection
'
Me.mMenAddConnection.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.mMenAddConnection.Image = Global.mRemoteNG.My.Resources.Resources.Connection_Add
Me.mMenAddConnection.Name = "mMenAddConnection"
Me.mMenAddConnection.Size = New System.Drawing.Size(28, 20)
'
'mMenAddFolder
'
Me.mMenAddFolder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.mMenAddFolder.Image = Global.mRemoteNG.My.Resources.Resources.Folder_Add
Me.mMenAddFolder.Name = "mMenAddFolder"
Me.mMenAddFolder.Size = New System.Drawing.Size(28, 20)
'
'mMenView
'
Me.mMenView.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
@@ -417,6 +428,13 @@ Namespace UI
Me.mMenViewCollapseAllFolders.Size = New System.Drawing.Size(161, 22)
Me.mMenViewCollapseAllFolders.Text = "Collapse all folders"
'
'mMenSortAscending
'
Me.mMenSortAscending.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.mMenSortAscending.Image = Global.mRemoteNG.My.Resources.Resources.Sort_AZ
Me.mMenSortAscending.Name = "mMenSortAscending"
Me.mMenSortAscending.Size = New System.Drawing.Size(28, 20)
'
'Tree
'
Me.ClientSize = New System.Drawing.Size(192, 453)
@@ -486,7 +504,6 @@ Namespace UI
cMenTreeConnectWithOptionsConnectInFullscreen.Text = My.Resources.strConnectInFullscreen
cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Text = My.Resources.strChoosePanelBeforeConnecting
cMenTreeDisconnect.Text = My.Resources.strMenuDisconnect
cMenTreeTools.Text = My.Resources.strTools
cMenTreeToolsTransferFile.Text = My.Resources.strMenuTransferFile
cMenTreeToolsImportExport.Text = My.Resources.strImportExport
cMenTreeToolsImportExportExportmRemoteXML.Text = My.Resources.strExportmRemoteXML
@@ -503,9 +520,12 @@ Namespace UI
cMenTreeDelete.Text = My.Resources.strMenuDelete
cMenTreeMoveUp.Text = My.Resources.strMoveUp
cMenTreeMoveDown.Text = My.Resources.strMoveDown
mMenView.Text = My.Resources.strMenuView
mMenAddConnection.ToolTipText = My.Resources.strAddConnection
mMenAddFolder.ToolTipText = My.Resources.strAddFolder
mMenView.ToolTipText = My.Resources.strMenuView.Replace("&", "")
mMenViewExpandAllFolders.Text = My.Resources.strExpandAllFolders
mMenViewCollapseAllFolders.Text = My.Resources.strCollapseAllFolders
mMenSortAscending.ToolTipText = My.Resources.strSortAsc
TabText = My.Resources.strConnections
Text = My.Resources.strConnections
End Sub
@@ -682,11 +702,8 @@ Namespace UI
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Enabled = True
Me.cMenTreeToolsImportExport.Enabled = False
Me.cMenTreeToolsSort.Enabled = False
Me.cMenTreeToolsExternalApps.Enabled = True
Me.cMenTreeDuplicate.Enabled = True
@@ -719,8 +736,6 @@ Namespace UI
Me.cMenTreeToolsImportExportImportFromAD.Enabled = True
Me.cMenTreeToolsImportExportImportmRemoteXML.Enabled = True
Me.cMenTreeToolsSort.Enabled = True
Me.cMenTreeToolsExternalApps.Enabled = False
Me.cMenTreeDuplicate.Enabled = True
@@ -743,8 +758,6 @@ Namespace UI
Me.cMenTreeToolsImportExportImportFromAD.Enabled = True
Me.cMenTreeToolsImportExportImportmRemoteXML.Enabled = True
Me.cMenTreeToolsSort.Enabled = True
Me.cMenTreeToolsExternalApps.Enabled = False
Me.cMenTreeDuplicate.Enabled = False
@@ -910,12 +923,12 @@ Namespace UI
#End Region
#Region "Tree Context Menu"
Private Sub cMenTreeAddConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddConnection.Click
Private Sub cMenTreeAddConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddConnection.Click, mMenAddConnection.Click
Me.AddConnection()
SaveConnectionsBG()
End Sub
Private Sub cMenTreeAddFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddFolder.Click
Private Sub cMenTreeAddFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddFolder.Click, mMenAddFolder.Click
Me.AddFolder()
SaveConnectionsBG()
End Sub
@@ -968,17 +981,28 @@ Namespace UI
Me.ImportFromPortScan()
End Sub
Private Sub mMenSortAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenSortAscending.Click
Me.tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(Me.tvConnections.Nodes.Item(0), Tools.Controls.TreeNodeSorter.SortType.Ascending)
Me.tvConnections.EndUpdate()
SaveConnectionsBG()
End Sub
Private Sub cMenTreeToolsSortAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeToolsSortAscending.Click
Me.tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(Me.tvConnections.SelectedNode, Tools.Controls.TreeNodeSorter.SortType.Ascending)
Me.tvConnections.EndUpdate()
SaveConnectionsBG()
End Sub
Private Sub cMenTreeToolsSortDescending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeToolsSortDescending.Click
Me.tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(Me.tvConnections.SelectedNode, Tools.Controls.TreeNodeSorter.SortType.Descending)
Me.tvConnections.EndUpdate()
SaveConnectionsBG()
End Sub
Private Sub cMenTreeTools_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles cMenTreeTools.DropDownOpening
Private Sub cMenTree_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles cMenTree.Opening
AddExternalApps()
End Sub
@@ -1019,6 +1043,7 @@ Namespace UI
If nNode IsNot Nothing Then
Dim nConI As New mRemoteNG.Connection.Info()
If Me.tvConnections.SelectedNode Is Nothing Then Me.tvConnections.SelectedNode = Me.tvConnections.Nodes.Item(0)
If TypeOf Me.tvConnections.SelectedNode.Tag Is mRemoteNG.Container.Info Then
nConI.Parent = Me.tvConnections.SelectedNode.Tag
Else
@@ -1211,6 +1236,7 @@ Namespace UI
End Sub
Private Sub mMenViewCollapseAllFolders_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewCollapseAllFolders.Click
If Me.tvConnections.SelectedNode.IsEditing Then Me.tvConnections.SelectedNode.EndEdit(False)
mRemoteNG.Tree.Node.CollapseAllNodes()
End Sub
#End Region
@@ -1272,7 +1298,6 @@ Namespace UI
End Try
End Sub
#End Region
End Class
End Namespace
End Namespace

View File

@@ -1,4 +1,4 @@
Imports WeifenLuo.WinFormsUI.Docking
Imports WeifenLuo.WinFormsUI.Docking
Imports System.Threading
Imports System.IO
Imports mRemoteNG.App.Runtime
@@ -60,7 +60,7 @@ Namespace UI
Me.pnlUp.Controls.Add(Me.txtChangeLog)
Me.pnlUp.Location = New System.Drawing.Point(16, 152)
Me.pnlUp.Name = "pnlUp"
Me.pnlUp.Size = New System.Drawing.Size(672, 248)
Me.pnlUp.Size = New System.Drawing.Size(718, 248)
Me.pnlUp.TabIndex = 6
Me.pnlUp.Visible = False
'
@@ -91,7 +91,7 @@ Namespace UI
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.prgbDownload.Location = New System.Drawing.Point(160, 224)
Me.prgbDownload.Name = "prgbDownload"
Me.prgbDownload.Size = New System.Drawing.Size(496, 23)
Me.prgbDownload.Size = New System.Drawing.Size(542, 23)
Me.prgbDownload.TabIndex = 3
'
'txtChangeLog
@@ -106,7 +106,7 @@ Namespace UI
Me.txtChangeLog.Name = "txtChangeLog"
Me.txtChangeLog.ReadOnly = True
Me.txtChangeLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtChangeLog.Size = New System.Drawing.Size(653, 181)
Me.txtChangeLog.Size = New System.Drawing.Size(699, 181)
Me.txtChangeLog.TabIndex = 1
Me.txtChangeLog.TabStop = False
'
@@ -145,7 +145,7 @@ Namespace UI
'
Me.lblAvailableVersion.Location = New System.Drawing.Point(136, 72)
Me.lblAvailableVersion.Name = "lblAvailableVersion"
Me.lblAvailableVersion.Size = New System.Drawing.Size(64, 16)
Me.lblAvailableVersion.Size = New System.Drawing.Size(104, 16)
Me.lblAvailableVersion.TabIndex = 4
Me.lblAvailableVersion.Text = "Version"
Me.lblAvailableVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -154,7 +154,7 @@ Namespace UI
'
Me.lblCurrentVersion.Location = New System.Drawing.Point(136, 48)
Me.lblCurrentVersion.Name = "lblCurrentVersion"
Me.lblCurrentVersion.Size = New System.Drawing.Size(64, 16)
Me.lblCurrentVersion.Size = New System.Drawing.Size(104, 16)
Me.lblCurrentVersion.TabIndex = 2
Me.lblCurrentVersion.Text = "Version"
Me.lblCurrentVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -164,7 +164,7 @@ Namespace UI
Me.pbUpdateImage.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pbUpdateImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pbUpdateImage.Cursor = System.Windows.Forms.Cursors.Hand
Me.pbUpdateImage.Location = New System.Drawing.Point(200, 48)
Me.pbUpdateImage.Location = New System.Drawing.Point(246, 48)
Me.pbUpdateImage.Name = "pbUpdateImage"
Me.pbUpdateImage.Size = New System.Drawing.Size(468, 60)
Me.pbUpdateImage.TabIndex = 45
@@ -173,7 +173,7 @@ Namespace UI
'
'Update
'
Me.ClientSize = New System.Drawing.Size(688, 418)
Me.ClientSize = New System.Drawing.Size(734, 418)
Me.Controls.Add(Me.pbUpdateImage)
Me.Controls.Add(Me.lblCurrentVersionLabel)
Me.Controls.Add(Me.lblInstalledVersionLabel)
@@ -250,6 +250,7 @@ Namespace UI
Private Sub UpdateCheckComplete(ByVal UpdateAvailable As Boolean)
Try
My.Settings.CheckForUpdatesLastCheck = Date.Now
SetCurrentVersionText(My.Application.Info.Version.ToString)
If UpdateAvailable = True Then
My.Settings.UpdatePending = True
@@ -258,7 +259,6 @@ Namespace UI
SetVisible(pnlUp, True)
Dim uI As App.Update.Info = uD.GetUpdateInfo()
SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
SetAvailableVersionText(uI.Version.ToString)
SetChangeLogText(uI.ChangeLog)
@@ -282,7 +282,6 @@ Namespace UI
SetVisible(pnlUp, False)
Dim uI As App.Update.Info = uD.GetUpdateInfo()
SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
SetAvailableVersionText(uI.Version.ToString)
End If
Catch ex As Exception

View File

@@ -20,15 +20,13 @@
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="${USERPROFILE)\AppData\Local\mRemoteNG\mRemoteNG.log" />
<file value="${USERPROFILE}\AppData\Local\mRemoteNG\mRemoteNG.log" />
<!-- Example using environment variables in params -->
<!-- <file value="${TMP}\log-file.txt" /> -->
<appendToFile value="true" />
<!-- An alternate output encoding can be specified -->
<!-- <encoding value="unicodeFFFE" /> -->
<layout type="log4net.Layout.PatternLayout">
<header value="[mRemoteNG Start]&#xD;&#xA;" />
<footer value="[mRemoteNG Exit]&#xD;&#xA;" />
<conversionPattern value="%date [%thread] %-5level- %message%newline" />
</layout>
<!-- Alternate layout using XML
@@ -59,12 +57,6 @@
</system.diagnostics>
<userSettings>
<mRemoteNG.My.MySettings>
<setting name="MainFormLocation" serializeAs="String">
<value>999, 999</value>
</setting>
<setting name="MainFormSize" serializeAs="String">
<value>900, 600</value>
</setting>
<setting name="MainFormState" serializeAs="String">
<value>Normal</value>
</setting>
@@ -497,6 +489,12 @@
<setting name="UpdatePending" serializeAs="String">
<value>False</value>
</setting>
<setting name="ConDefaultRDGatewayUsageMethod" serializeAs="String">
<value>Never</value>
</setting>
<setting name="ConDefaultRDGatewayUseConnectionCredentials" serializeAs="String">
<value>Yes</value>
</setting>
<setting name="ConDefaultIcon" serializeAs="String">
<value>mRemoteNG</value>
</setting>
@@ -521,15 +519,45 @@
<setting name="RdpReconnectionCount" serializeAs="String">
<value>5</value>
</setting>
<setting name="OverrideUICulture" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayHostname" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayUsername" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayPassword" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayDomain" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultEnableFontSmoothing" serializeAs="String">
<value>False</value>
</setting>
<setting name="InhDefaultEnableFontSmoothing" serializeAs="String">
<value>False</value>
</setting>
<setting name="ConDefaultEnableDesktopComposition" serializeAs="String">
<value>False</value>
</setting>
<setting name="InhDefaultEnableDesktopComposition" serializeAs="String">
<value>False</value>
</setting>
<setting name="ConfirmCloseConnection" serializeAs="String">
<value>True</value>
</setting>
<setting name="SQLDatabaseName" serializeAs="String">
<value>mRemoteNG</value>
</setting>
</mRemoteNG.My.MySettings>
</userSettings>
<applicationSettings>
<mRemoteNG.My.MySettings>
<setting name="ConDefaultRDGatewayUsageMethod" serializeAs="String">
<value>Never</value>
</setting>
<setting name="ConDefaultRDGatewayUseConnectionCredentials" serializeAs="String">
<value>Yes</value>
<setting name="SupportedUICultures" serializeAs="String">
<value>de,en,en-US,fr</value>
</setting>
</mRemoteNG.My.MySettings>
</applicationSettings>

View File

@@ -55,7 +55,7 @@
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>None</DebugType>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
@@ -65,7 +65,7 @@
<NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
<WarningsAsErrors>
</WarningsAsErrors>
<DebugSymbols>false</DebugSymbols>
<DebugSymbols>true</DebugSymbols>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release Portable|AnyCPU' ">
@@ -73,9 +73,10 @@
<OutputPath>bin\Release Portable\</OutputPath>
<Optimize>true</Optimize>
<NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
<DebugType>None</DebugType>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<DefineConstants>PORTABLE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug Portable|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -138,6 +139,7 @@
<Reference Include="System.Data" />
<Reference Include="System.DirectoryServices" />
<Reference Include="System.Drawing" />
<Reference Include="System.Management" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
@@ -171,6 +173,7 @@
<Compile Include="App\App.Info.vb" />
<Compile Include="App\App.Native.vb" />
<Compile Include="App\App.Runtime.vb" />
<Compile Include="App\App.SupportedCultures.vb" />
<Compile Include="App\App.Update.vb" />
<Compile Include="Config\Config.Connections.Load.vb" />
<Compile Include="Config\Config.Connections.Save.vb" />
@@ -262,6 +265,7 @@
<Compile Include="Tools\Tools.Misc.vb" />
<Compile Include="Tools\Tools.PortScan.vb" />
<Compile Include="Tools\Tools.SystemMenu.vb" />
<Compile Include="Tools\Tools.WindowPlacement.vb" />
<Compile Include="Tree\Tree.Node.vb" />
<Compile Include="UI\UI.Window.About.vb">
<SubType>Form</SubType>
@@ -294,7 +298,7 @@
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\UI.Window.List.vb" />
<Compile Include="UI\UI.Window.Options.vb">
<Compile Include="Forms\frmOptions.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\UI.Window.PortScan.vb">
@@ -345,6 +349,9 @@
<EmbeddedResource Include="Language\Resources.en-US.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Language\Resources.fr.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
@@ -391,8 +398,8 @@
<DependentUpon>UI.Window.Help.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="UI\UI.Window.Options.resx">
<DependentUpon>UI.Window.Options.vb</DependentUpon>
<EmbeddedResource Include="Forms\frmOptions.resx">
<DependentUpon>frmOptions.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="UI\UI.Window.PortScan.resx">
@@ -764,6 +771,9 @@
<Content Include="Icons\mRemote.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\mRemoteNG.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Remote Desktop.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -806,6 +816,7 @@
<Content Include="Icons\Workstation.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\Images\database.bmp" />
<None Include="Resources\Images\Copy.png" />
<None Include="Resources\Icons\mRemote_Icon.ico" />
<None Include="Resources\Icons\Sessions_Icon.ico" />