Compare commits

..

953 Commits
1.61 ... v1.74

Author SHA1 Message Date
David Sparer
5ebd255a22 MR-874: Added work-around to installer to ignore installation prerequisites 2016-06-28 08:26:25 -06:00
Sean Kaim
6ec4bdd926 Updated change log 2016-06-28 10:09:35 -04:00
Sean Kaim
fe023b798d MR-884 - Slow startup
https://blogs.technet.microsoft.com/markrussinovich/2009/05/23/the-case-of-the-slow-keynote-demo/

https://msdn.microsoft.com/en-us/library/cc656914(v=vs.100).aspx#Anchor_8
2016-06-28 10:06:48 -04:00
Sean Kaim
141c916b7b MR-884: Attempt to optimize startup 2016-06-27 11:46:41 -04:00
Sean Kaim
49c6219a84 MR-854: Additional code clean up
New (.NET) method for getting file icons.
Additional ReShaper fixes
Additional null checks/protections
2016-06-25 21:34:32 -04:00
Sean Kaim
0db444e78c MR-854: Code Clean up and logging 2016-06-24 13:08:35 -04:00
Sean Kaim
57c2dc0a88 Fix log message for debugging exception 2016-06-24 12:21:40 -04:00
Sean Kaim
15ba2d3156 Fix incorrect Language Selection on Reconnect 2016-06-24 12:11:41 -04:00
David Sparer
48e2ba11bf Resolved MR-882 by removing a ProtocolType enum value that was being tested some time back. This should not have made it into the develop branch. 2016-06-24 08:21:59 -06:00
David Sparer
aa3e8344fb Modified installer postbuild actions to only attempt to sign the MSI during Release builds 2016-06-23 09:58:16 -06:00
David Sparer
df5e619349 - Moved the PuTTYNG dependency file to $(SolutionDir)\Resources
- Added postbuild task to mRemoteV1 project to copy PuTTYNG file to $(TargetDir)
- Modified installer to point to the new PuTTYNG location
2016-06-23 09:57:46 -06:00
Sean Kaim
0c06983411 MR-875 - Win native compress can't extract
Removed LZMA options
Checked for file existance
2016-06-22 10:11:54 -04:00
Sean Kaim
dda9c1f1af Additional fixes for MR-872
Additional code clean up
Fixed some casting errors likely from the initial c# conversion
2016-06-22 09:35:01 -04:00
Sean Kaim
6779a02cf9 MR-872: Prevent outofbounds ex parsing args 2016-06-21 15:30:07 -04:00
David Sparer
ba7608602b Restricted code signing postbuild task to only Release configurations 2016-06-20 12:52:04 -06:00
David Sparer
92dcd8981d Fixed bug with Help window where clicking a treenode that does not have a .html file associated with it would produce an error. 2016-06-20 12:51:25 -06:00
David Sparer
cbe18b70ca Fixed bug when clicking the root tree node in the Help window 2016-06-20 12:46:47 -06:00
David Sparer
ab26b94808 Remove references to the Help page for Sessions. This feature was removed 2016-06-20 12:38:29 -06:00
David Sparer
0e176cee74 Point postbuild action at the correct location of build-relport 2016-06-20 11:53:05 -06:00
David Sparer
23eaba0d47 - Added scripts to rename and copy the MSI installer to the $(SolutionDir)\Release folder
- Added conditional post build to run the build-relport script when building the Release Portable configuration
2016-06-20 11:52:01 -06:00
David Sparer
c6b079c9cb Moved build-relport.cmd to Tools directory 2016-06-20 11:50:08 -06:00
Sean Kaim
9d544fa7fe Updated date. 2016-06-20 10:25:55 -04:00
Sean Kaim
8aba1be3e6 Remove sessions.htm 2016-06-20 10:24:00 -04:00
Sean Kaim
72d28c5219 Minor build fixes 2016-06-20 10:19:12 -04:00
David Sparer
283714f88c - Moved various build tools to the Tools folder
- Modified the build-relport script to point to the Tools folder for its required external programs
2016-06-19 20:12:18 -06:00
David Sparer
063be0dbe2 Move all files under "Installer Projects" to "InstallerProjects" to make post build tasks a bit easier 2016-06-18 16:50:01 -06:00
David Sparer
1e4656769e - Began tracking changes to the signing script.
- Added post build event for moving Resources\Help to the correct location
- Added post build events for removing unnecessary files for all "Release" configurations
- Removed lines from the release portable script that are now present in the post build events
2016-06-18 12:03:00 -06:00
David Sparer
3079cad8d6 Somehow this file was not being tracked correctly 2016-06-18 12:01:22 -06:00
Sean Kaim
d5c86b91c3 Updated change log and help files 2016-06-17 17:37:57 -04:00
David Sparer
d5de0b8fa3 Modified postbuild actions to sign the binaries. This will only run if a specific script exists 2016-06-17 12:41:45 -06:00
Sean Kaim
167c02f433 Don't build by default, just package 2016-06-17 08:47:51 -04:00
David Sparer
327e03c3b1 Turned debugging symbol generation off for Release and Release Portable configurations 2016-06-16 19:27:29 -06:00
David Sparer
5304ecb71d Prevent .pdb files from being harvested for the installer 2016-06-16 19:20:33 -06:00
Sean Kaim
64dfa2fa33 Updated Assembly Info 2016-06-16 16:28:34 -04:00
Sean Kaim
8f6431f657 fix display issues on about screen 2016-06-16 16:26:12 -04:00
Sean Kaim
5a59c8c179 Merge pull request #118 from mRemoteNG/develop
merge develop into release (again)
2016-06-16 16:16:09 -04:00
Sean Kaim
2a7fa03df1 3G -> NG 2016-06-16 16:14:15 -04:00
David Sparer
be009d55f4 Jenkinsfile: add support for branches with a period (.) in the name 2016-06-16 14:10:01 -06:00
Sean Kaim
d8789926a7 Updated Credits 2016-06-16 16:09:15 -04:00
Sean Kaim
e7de6bd42b French Spell and typographic checking
From @SebThieu
2016-06-16 16:05:31 -04:00
David Sparer
3f6b70e783 Few changes to build configurations.
- Removed the 'AnyCPU' platform. Should always use x86
- Removed installer projects from being built by default in Release configuration
2016-06-16 13:59:42 -06:00
Sean Kaim
d1ab5cc40f Merge pull request #117 from mRemoteNG/develop
merge develop into release
2016-06-16 12:17:15 -04:00
Sean Kaim
a8376ebb96 fix a typo in the changelog. 2016-06-16 12:10:06 -04:00
Sean Kaim
f0456cce0e minor change log update 2016-06-16 12:09:33 -04:00
David Sparer
bc46f8c432 Merge branch 'develop' of github.com:mRemoteNG/mRemoteNG into develop 2016-06-14 15:23:44 -06:00
Sean Kaim
4de8a8e915 More detailed messages for RDP Disconnected events 2016-06-14 16:46:55 -04:00
David Sparer
4f0d425711 - Created a unit test to verify that the LARGEADDRESSAWARE flag is set on mRemoteNG.exe
- Created configurations for the unit test project to support the PORTABLE compilation symbol. This is required for the unit test to work correctly.
2016-06-14 14:28:45 -06:00
Sean Kaim
7679c255f3 better compression for the portable zip 2016-06-14 16:26:14 -04:00
David Sparer
3027ba6dc7 Fixed issue with setting LARGEADDRESSAWARE flag on the binary 2016-06-14 13:36:08 -06:00
Sean Kaim
9b556436bb Spell check and other minor updates
"offiginally" - seriously?  😕
2016-06-11 17:35:14 -04:00
Sean Kaim
1c84205a5e Updated Changelog 2016-06-11 17:08:02 -04:00
Sean Kaim
d39373a4f5 Remove files that are no longer needed 2016-06-10 09:08:55 -04:00
Sean Kaim
3dbfdf3b5b Merge pull request #116 from mRemoteNG/GeckoFx
Replaced XULRunner with GeckoFx
2016-06-10 09:02:55 -04:00
David Sparer
286cfc961e Set the unit tests to always build with "AnyCpu" configuration 2016-06-09 16:37:52 -06:00
David Sparer
3148879bf7 Removed the installer projects from being built in the Debug, Debug Portable, and Release Portable build configurations. 2016-06-09 16:20:36 -06:00
David Sparer
70924b6823 Modified jenkinsfile to force build server to build x86 2016-06-09 15:54:29 -06:00
Sean Kaim
2a63fe6a09 build fix 2016-06-09 17:42:49 -04:00
Sean Kaim
91c09ebd7e Fix jenkins unit test build/run 2016-06-09 17:39:42 -04:00
David Sparer
4957e62765 Fixed a missing apostrophe in the jenkinsfile 2016-06-09 14:57:10 -06:00
David Sparer
80ef32b8b5 Updated the jenkinsfile to restore nuget packages before build. This is done automatically in VS2015 but not in msbuild. 2016-06-09 14:55:26 -06:00
Sean Kaim
39bf3e754d Clarify option 2016-06-09 12:20:15 -04:00
hiriumi
3d8c0ce181 More Japanese translations 2016-06-09 08:26:54 -07:00
hiriumi
07042d16b0 More Japanese translation. About 60% done. 2016-06-08 13:02:48 -07:00
hiriumi
fce583a346 Option page weren't displaying target language so I added apply language in frmOptions. 2016-06-08 10:16:45 -07:00
hiriumi
7ba5a3b8cd Merge branch 'develop' of https://github.com/mRemoteNG/mRemoteNG.git 2016-06-08 10:07:56 -07:00
Sean Kaim
ae16c021da Remove XULRunner path from settings 2016-06-08 10:40:29 -04:00
Sean Kaim
70ff34438f Update component check for GeckoFx 2016-06-08 10:00:23 -04:00
Sean Kaim
b105585f5a Update Credits.txt 2016-06-07 16:12:16 -04:00
Sean Kaim
29c7859ea1 Replace XULRunner with GeckoFX 2016-06-07 15:43:44 -04:00
Sean Kaim
678194f4f7 minor code clean up 2016-06-07 10:41:56 -04:00
hiriumi
60353be2c0 Japanese translation 2016-06-06 07:05:35 -07:00
Sean Kaim
6410acbb48 minor tweaks to the port scan UI
This seems like a better user experience.  This will also allow for
further (future) changes in the import window when using custom ports
and have it make even more sense.
2016-06-05 14:55:31 -04:00
Sean Kaim
731c2e22b8 PortScan: Actually scan asynchronously
Speeds up the port scan signifigantly
2016-06-05 14:09:51 -04:00
Sean Kaim
cd950f39b4 refactor/cleanup + make portscan work
The non-import version of a portscan didn't test any ports and never
found any open ports (due to backwards logic).
2016-06-04 23:34:51 -04:00
Sean Kaim
8cbf56f7a5 Build FilteredPropertyGrid into mRemoteNG
No longer load the dll.
Makes the small amount of source more maintainable then from the code
project.
Gets rebuilt with latest build env.
2016-06-03 22:13:12 -04:00
David Sparer
17f986ea26 Few fixes for casting errors. These occurred due to commit e5f9fce01e 2016-06-03 15:56:15 -06:00
David Sparer
e5f9fce01e Cleaned up WindowPlacement class by moving native Win32 functions to the NativeMethods class 2016-06-03 15:53:11 -06:00
David Sparer
4c34a88a10 Cleaned up ProcessController tool by moving all native win32 methods to the NativeMethods class 2016-06-03 15:40:09 -06:00
David Sparer
324d34aa3c Moved the TreeImageType to the mRemoteNG.Tree namespace. Removed all references to the mRemoteNG.Images namespace, which no longer exists. 2016-06-03 15:24:01 -06:00
David Sparer
3f984fb65e Removed unused file (contained enum had no references) 2016-06-03 15:19:18 -06:00
David Sparer
c108c60c30 Merge branch 'release/v1.74' into develop 2016-06-03 15:11:44 -06:00
David Sparer
cf1a84f4b2 Resolved MR-855 - Resource not found error when testing proxy settings.
This was introduced in 634df366bd
2016-06-03 15:10:19 -06:00
hiriumi
350afcdb70 more Japanese translations 2016-06-03 12:01:20 -07:00
hiriumi
e5b319e518 Added question mark to MessageBox and more Japanese translation. 2016-06-02 17:07:45 -07:00
David Sparer
a43785d1f0 Small cleanup in Startup.cs 2016-06-02 15:29:24 -06:00
David Sparer
b90981a17c Made a couple more Startup methods non-static 2016-06-02 15:26:51 -06:00
David Sparer
47bbe20001 Startup: clean up some 'using' directives and sort them 2016-06-02 15:23:42 -06:00
David Sparer
668b9dd903 Refactored some Startup functions to their own class 2016-06-02 15:22:22 -06:00
David Sparer
6ca98149a7 Made Startup slightly less static 2016-06-02 15:21:30 -06:00
David Sparer
af2de33809 Forgot to save project when deleting the ApplicationEvents file... I do this a lot it seems. 2016-06-02 14:59:02 -06:00
Sean Kaim
737054873e Update Credits.txt 2016-06-02 16:46:23 -04:00
Sean Kaim
1dd0961a48 Just a comment... 2016-06-02 16:35:39 -04:00
David Sparer
3fcb6bcbd0 Removed unnecessary file. These functions were reimplemented in commit 996af9b268 2016-06-02 14:28:59 -06:00
David Sparer
53660cc7dc Merge branch 'release/v1.74' into develop 2016-06-02 13:49:21 -06:00
David Sparer
996af9b268 Fixed MR-852 - Option "Allow only a single instance of the application" non-functional 2016-06-02 13:47:04 -06:00
Sean Kaim
512044617c Last VB references removed 2016-06-02 15:45:47 -04:00
Sean Kaim
a91f712735 Remove more VB referneces 2016-06-02 14:35:12 -04:00
Sean Kaim
fb7a0fcb50 Remove VB references + fix exception 2016-06-02 14:34:56 -04:00
David Sparer
749ed5432b Merge branch 'release/v1.74' into develop 2016-06-01 11:17:10 -06:00
David Sparer
53be4c259e Fixed MR-847 - Renaming folder in connection tree does not update config panel name 2016-06-01 11:16:47 -06:00
Sean Kaim
e32630511d fix portable build
Move help files to proper location
Don't include unnecessary files
2016-06-01 10:51:02 -04:00
Sean Kaim
c9a6d69d6f README update 2016-05-31 22:38:37 -04:00
Sean Kaim
5a78a71316 Merge branch 'develop' of https://github.com/mRemoteNG/mRemoteNG into develop 2016-05-31 21:07:47 -04:00
Sean Kaim
da9680d210 Minor form changes
Ported from PR #105
Thanks @aplocher
2016-05-31 21:06:56 -04:00
Sean Kaim
1ec37d657d Minor form changes
Ported from PR #105
2016-05-31 21:04:58 -04:00
Sean Kaim
99df3df42c avoid exception when disposing external tools items
Similar to #114
Thanks @Brandhor
2016-05-31 20:53:10 -04:00
David Sparer
1c83609971 Merge pull request #114 from Brandhor/exttools
External Tools Fixes
2016-05-31 17:59:55 -06:00
Brandon
32da8433bb avoid exception when disposing external tools items 2016-06-01 01:05:15 +02:00
Brandon
485536dc90 fix launching external tools 2016-06-01 00:46:14 +02:00
David Sparer
0b605ddb70 Merge branch 'release/v1.74' into develop 2016-05-31 16:24:32 -06:00
David Sparer
755d7b0742 Resolved MR-846 - help files not being copied with installer 2016-05-31 15:31:47 -06:00
Sean Kaim
15030ab7cb Release Portable Build script 2016-05-31 16:59:06 -04:00
hiriumi
a438d6c3c3 Merging Japanese translation 2016-05-31 09:33:24 -07:00
hiriumi
865a926047 saving Japanese translation. 2016-05-31 09:27:56 -07:00
Sean Kaim
a36ec166cf Initial 1.74 Changelog update 2016-05-31 12:27:06 -04:00
Sean Kaim
77e702da6c Merge pull request #113 from mRemoteNG/develop
exception fixes
2016-05-29 22:07:01 -04:00
Sean Kaim
1560339377 Fix MR-838 - correct cast 2016-05-29 21:58:54 -04:00
Sean Kaim
f0aaab1299 Fix MR-839 - correct cast 2016-05-29 21:55:15 -04:00
Sean Kaim
4eced42981 Fix MR-840 (exception entering fullscreen)
bug introduced as part of the C# conversion

VB code:
Public Fullscreen As New Misc.Fullscreen(Me)

Private Sub mMenViewFullscreen_Click(sender As Object, e As EventArgs)
Handles mMenViewFullscreen.Click
Fullscreen.Value = Not Fullscreen.Value
mMenViewFullscreen.Checked = Fullscreen.Value
End Sub
2016-05-29 21:35:41 -04:00
hiriumi
1da2839cc3 Cleaned up PortScan.cs 2016-05-28 22:16:38 -07:00
hiriumi
0200281732 Cleaned up mRemoteNG.cs 2016-05-28 22:12:25 -07:00
hiriumi
3d9f9ff4c2 Cleaned up ConnectionIcon.cs 2016-05-28 21:55:38 -07:00
hiriumi
60048b4450 Cleaned up ConfigWindow.cs 2016-05-28 21:47:47 -07:00
hiriumi
4bd67c15c0 More Japanese translation. Not complete yet. 2016-05-27 23:35:46 -07:00
hiriumi
3237e18d2d Removed redundant initialization. 2016-05-27 23:01:47 -07:00
hiriumi
fe17123707 Some more clean up of ThemeSerializer.cs 2016-05-27 22:59:57 -07:00
hiriumi
a51df79925 Cleaned up ThemeSerializer.cs 2016-05-27 22:52:54 -07:00
hiriumi
efbe78a77e Just a bit of clean up using ReSharper. 2016-05-27 22:49:23 -07:00
David Sparer
9f860a3f3e Resolved MR-683 - Validated then updated the German localization with provided file. 2016-05-27 14:33:06 -06:00
Sean Kaim
9dc5442743 minor clean up 2016-05-27 15:56:03 -04:00
Sean Kaim
e2d66235b5 Remove Microsoft.VisualBasic references & cleanup 2016-05-27 15:49:03 -04:00
David Sparer
cafad5599d Merge branch 'MR-836_Deleting_folder_only_deletes_2_connections' into develop
# Conflicts:
#	mRemoteV1/Tree/ConnectionTree.cs
2016-05-27 12:58:28 -06:00
Sean Kaim
6d8f375ae1 Remove Microsoft.VisualBasic references 2016-05-27 14:21:34 -04:00
David Sparer
a055d7f4a8 Slight optimization to prevent window flicker when deleting a folder with many connections. 2016-05-27 11:56:48 -06:00
Sean Kaim
09102325eb Fix MR-828 NullReferenceException SetNodeToolTip
Also, remove Microsoft.VisualBasic references
2016-05-27 13:56:04 -04:00
David Sparer
33c9774b21 There was still a bug with deleting folders that had contents. Using a builtin function to do this instead of trying to re-implement.
I am hoping this really does fix MR-836 this time.
2016-05-27 11:39:18 -06:00
David Sparer
d7f64fec4f Added check for null nodes in ConnectionTree.DeleteSelectedNode(). This now fully resolves the issues noted in MR-836 2016-05-27 11:22:40 -06:00
David Sparer
eab5a42d93 Refactored ConnectionTree.DeleteSelectedNode() - extracted some methods to make it more readable 2016-05-27 11:18:05 -06:00
David Sparer
5c7f120a7e Fixed bug with ConnectionTreeNode.IsEmpty(). Logic was inverted 2016-05-27 11:12:32 -06:00
David Sparer
d7d78d8053 Inverted conditional statement. This resolved the primary issue in MR-836 where deleting a non-empty folder would not delete all connections within it 2016-05-27 10:21:28 -06:00
David Sparer
cde7f114f9 Cleaned up some code noise in ConnectionTree 2016-05-27 09:40:34 -06:00
David Sparer
69f4904b5a Merge branch 'MR-834_support_uninstalling_pre-MSI_installs' into develop 2016-05-26 17:18:05 -06:00
David Sparer
93d54a915d Made the legacy uninstall a silent uninstall. Not sure if this is how we will want to release it, but it's reasonably user friendly 2016-05-26 16:47:39 -06:00
Sparer, David
fe9aa59690 Finished basic implementation of uninstalling legacy versions. 2016-05-26 15:37:12 -06:00
hiriumi
381a87ab50 Adding more Japanese translations in Language.ja-JP.resx file. It's not 100% complete yet. 2016-05-26 08:32:03 -07:00
hiriumi
ffea221568 Merge branch 'develop' of https://github.com/mRemoteNG/mRemoteNG.git 2016-05-25 17:53:27 -07:00
hiriumi
aaf3316e65 Added Japanese as a supported language and started to work on Language. ja-JP.resx. The language file itself is not 100% complete yet. 2016-05-25 16:05:21 -07:00
Sean Kaim
41664d2ef4 Make fonts consistent 2016-05-25 17:38:17 -04:00
Sean Kaim
717d4f0b9a Add CREDITS.TXT to About form 2016-05-25 17:27:49 -04:00
Sean Kaim
24873ffa9b Updated language files for RDP requirements 2016-05-25 15:49:01 -04:00
Sean Kaim
7f6e90758a Merge pull request #112 from mRemoteNG/remove_IPTextBox
Remove IPTextBox.dll and use a built-in control
2016-05-25 15:38:46 -04:00
Sean Kaim
5f4d565483 Remove IPTextBox.dll and use a built-in control 2016-05-25 15:37:33 -04:00
Sean Kaim
727e23ada9 DockPanelSuite updates and new theme 2016-05-25 12:29:42 -04:00
Sean Kaim
497363bc3a code clean up 2016-05-25 12:09:23 -04:00
Sean Kaim
6acf8b84ad code clean up and minor UserAgent change 2016-05-25 11:48:50 -04:00
Sean Kaim
daff0de0bd very minor code clean up 2016-05-25 10:55:36 -04:00
David Sparer
f6daa3b5dc Removed static reference to SystemMenu from Runtime. The only references to it were in frmMain 2016-05-24 20:07:25 -06:00
David Sparer
2c87d36cbb Merge remote-tracking branch 'origin/singleton' into frmMain_refactoring_experiment
# Conflicts:
#	mRemoteV1/App/ProgramRoot.cs
#	mRemoteV1/UI/Forms/frmMain.cs
2016-05-24 17:10:17 -06:00
David Sparer
3af3074ab9 Minor cleanup of frmOptions code (deleted dead space, reorder usings, reorder functions based on call order) 2016-05-24 16:56:56 -06:00
David Sparer
c00342df6f Refactoring: Extracted a method in frmOptions that sets the initially selected page 2016-05-24 16:53:47 -06:00
David Sparer
9bbd95a6f2 Fixed minor UI annoyance in frmOptions where you could not see the active page after clicking within that page. 2016-05-24 16:52:37 -06:00
Sparer, David
f1fe5d215c Fixed a few more subtle bugs in frmMain:WndProc() that were caused by the c# conversion 2016-05-24 15:33:20 -06:00
Sparer, David
36e1522a32 Fixed bug MR-826 by resolving an issue caused by the migration from VB to C#. 2016-05-24 13:29:17 -06:00
David Sparer
7c5f795bf4 Added documentation to native constants to help with troubleshooting WndProc 2016-05-22 12:09:07 -06:00
David Sparer
90258636ed Moved program initialization from frmMain to ProgramRoot 2016-05-22 11:15:18 -06:00
David Sparer
06ce840a8f Moved GetConnectionIcons call from frmMain to Startup 2016-05-22 10:48:29 -06:00
David Sparer
268c5a92d8 Minor cleanup in Startup 2016-05-22 10:45:41 -06:00
David Sparer
7f11783d46 Moved IEBrowserEmulation registration from frmMain to Startup 2016-05-22 10:45:02 -06:00
David Sparer
ae2d18e79c Removed unnecessary usings in options form test 2016-05-22 10:44:05 -06:00
David Sparer
58b9755d0c Cleaned up unnecessary usings and fully qualified names in MessageCollector 2016-05-22 10:37:27 -06:00
David Sparer
11a79c2f1f Removed Runtime.Log and replaced all references to Logger.Instance. This still breaks the law of demeter - we should fully wrap the log4net object in our own class at some point. 2016-05-22 10:34:24 -06:00
David Sparer
32742a6f4f Refactored Logger singleton implementation to be more in line with other implementations 2016-05-22 10:27:21 -06:00
David Sparer
083e71370f - Moved the startup debugging "program start" line from frmMain to Startup.cs
- Moved call to ParseCommandLineArgs() from frmMain to Startup.cs
2016-05-22 10:15:55 -06:00
David Sparer
0278390279 Moved method "CreatePanels" from Startup.cs to LayoutSettingsLoader.cs 2016-05-22 10:14:00 -06:00
David Sparer
f344ef054f - Removed unnecessary using directive
- Made many methods in Startup private and non-static
2016-05-22 10:05:11 -06:00
David Sparer
68e3953bcc Made Startup a singleton 2016-05-22 09:58:27 -06:00
David Sparer
7755a5cd9a Removed Runtime.Mainform property and replaced all references to frmMain.Default 2016-05-22 09:43:53 -06:00
Sean Kaim
05a7fec4c4 convert to singleton 2016-05-21 14:39:45 -04:00
Sean Kaim
8f0e15db85 code cleanup 2016-05-20 21:43:11 -04:00
Sean Kaim
b7dc56fef5 Disable VS hosting process
PuTTYNG windows don't integrate properly when it's enabled.
2016-05-20 21:23:48 -04:00
Sean Kaim
da14fb56fa code clean up 2016-05-20 21:19:45 -04:00
Sparer, David
b15e892c60 Removing all frmOptions unit tests since they are failing and polluting the view of our builds in Jenkins. There seems to be an issue with how the tests were structured that has now been broken since the frmOptions rewrite. 2016-05-20 12:53:51 -06:00
Sparer, David
eeeb13d094 Changed the singleton instance implementation in SupportedCultures to be safer. This resolves one of the reasons the UI unit tests are failing. 2016-05-20 12:42:34 -06:00
Sean Kaim
03cb3cd161 update credits.txt 2016-05-20 11:46:05 -04:00
Sean Kaim
f1b3558565 Use latest log4net.dll 2016-05-20 11:44:46 -04:00
Sean Kaim
6a69725ca9 Update CREDITS.TXT 2016-05-20 09:51:48 -04:00
Sean Kaim
63fdabd902 minitabcontrol.dll is no longer used 2016-05-20 09:49:45 -04:00
Sean Kaim
d624f04cde pstaskdialog.dll is no longer used 2016-05-20 09:48:07 -04:00
Sean Kaim
ba08c7d589 no need to ship the PDB with release code 2016-05-20 09:47:24 -04:00
Sean Kaim
35d072f550 Additional code clean up 2016-05-19 16:21:54 -04:00
Sean Kaim
4c28eebbdf Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	mRemoteV1/App/Runtime.cs
2016-05-19 16:13:05 -04:00
Sean Kaim
3ca0e2fc58 Refactoring & code clean up
Corrects some complier warnings.
2016-05-19 15:58:38 -04:00
Sparer, David
7450b22130 Cleaned up a bit more noise in Runtime.cs 2016-05-19 13:17:45 -06:00
Sparer, David
e39faaa550 Cleaned up some code noise in Runtime.cs (mostly just unnecessarily qualified namespaces) 2016-05-19 12:38:18 -06:00
Sean Kaim
ccde45acc9 Better fix for SettingsPath location 2016-05-19 14:18:49 -04:00
hiriumi
6b1c5b5b92 Merge branch 'develop' of https://github.com/mRemoteNG/mRemoteNG.git 2016-05-19 08:48:05 -07:00
hiriumi
e6af5aaea3 Removing OptionsForm as it's replaced by frmOptions. Removed unreference method in Windows class along with it. Also modified the unit test. 2016-05-19 08:47:50 -07:00
Sean Kaim
a792c98630 3G port-Avoid exceptions starting an empty ExtApp
Reference: https://github.com/kmscode/mRemote3G/issues/10

In my testing the crash was semi-random. The exception was thrown,
logged and put into Notifications (all as expected). But every now and
then, would crash (with no further info available). Could not reproduce
in a debug build.

b248849428
2016-05-18 21:56:39 -04:00
Sean Kaim
46985ab39d code clean up and set RDP admin session properly
console is deprecated, admin is not.
2016-05-18 21:51:04 -04:00
Sean Kaim
28d882af7f 3G port - Added 1920x1080 resolution.
5a5c0c1e6b
2016-05-18 21:40:17 -04:00
Sean Kaim
9d6423e7d7 3G port (and fix) - Make Smart Size Work
Allow the Smart Size selection for RDP resolution to work properly (for
reals this time).

3f54842cc1

& code clean up.
2016-05-18 21:37:05 -04:00
Sean Kaim
0a88ae6a52 3G Port - Don't display items in the ToolStripMenu
Set disabled items to invisible when they aren't needed.

97d82f2b86
2016-05-18 21:15:34 -04:00
Sean Kaim
395741a502 Disable optimizations to allow LARGEADDRESSAWARE
Reference: https://msdn.microsoft.com/en-us/library/0zza0de8.aspx
.obj files produced with /GL will not be available to such linker
utilities as EDITBIN and DUMPBIN.
2016-05-18 21:08:32 -04:00
Sean Kaim
00dbbdf453 Port from 3G - Attempt to set a default icon
11fdc4fc28
2016-05-18 17:36:41 -04:00
Sean Kaim
77cf6202fe Port from 3G - Attempt to avoid crash
2f99c57eb6
2016-05-18 17:31:30 -04:00
Sean Kaim
7ed00bb42d Port from 3G - avoid crash and default icon
c917f35352
2016-05-18 17:26:22 -04:00
Sean Kaim
b97fe50958 Put log in more appropriate location
ad create log by default
2016-05-18 17:13:59 -04:00
Sean Kaim
0501d73e7b Set largeaddressaware during build 2016-05-18 17:02:09 -04:00
Sean Kaim
8abe2bffb8 Use CredSSP needs to be true for modern targets
Just about all modern versions of Windows require CredSSP by default.
Set that one back to "Yes".
2016-05-18 16:36:54 -04:00
Sean Kaim
8477625472 Changed some default settings to avoid hangs
Multiple users reported that having "Cahse Bitmaps" and/or "Use CredSSP"
set to yes (which was the previous default) would cause problems with
mRemoteNG - especially when opening multiple RDP connections.

Also increased update check to 14 days.
2016-05-18 16:32:19 -04:00
Sparer, David
08851a2b7a Merge branch 'MR-810_App_crashes_when_setting_all_inherited' into csharp_conv 2016-05-18 11:17:53 -06:00
Sparer, David
d4b9ccf1c2 - Unit tests: Fixed tests for ConnectionInfoInheritance 2016-05-18 11:16:48 -06:00
Sparer, David
7b177f1fd8 Fixed bug MR-810. Omit setting the IsDefault setting when turning inheritance on completely 2016-05-18 09:42:26 -06:00
Sparer, David
7d6e814745 minor code noise cleanup 2016-05-18 09:08:54 -06:00
Sean Kaim
3cfb6ecf6f Clean up files that are no longer needed
"My Project" files are from the VB code.
SharedLibraryNG was removed - see commit:
71254ba6e2
2016-05-18 10:22:50 -04:00
Sean Kaim
11085a0037 PuTTYNG.exe 0.67 for the installer 2016-05-18 09:02:19 -04:00
David Sparer
a679bcf26b - Installer: fixed GUID for mainexe
- mRemoteNG: incremented the minor version of the product to 74. Assembly version is now 1.74
2016-05-17 19:51:49 -06:00
David Sparer
8ed1764fb3 added puttyng.exe dependency back in - this is required and im not sure how it slipped by 2016-05-17 19:03:51 -06:00
David Sparer
b2696003f0 The installer will now utilize the file version attribute of the mRemoteNG.exe file and set the installer version to match. This will help us support major upgrades easier 2016-05-17 19:03:07 -06:00
David Sparer
bc818704df Removed Pandoc from the gitignore since it is part of the build process now 2016-05-17 17:37:55 -06:00
Sparer, David
d21f3c1bcf Merge branch 'MR-818_Create_new_installer' into csharp_conv 2016-05-17 15:17:24 -06:00
Sparer, David
e6ae513474 - Add CustomActions project as a dependency of Installer project 2016-05-17 15:16:34 -06:00
Sparer, David
4360f45ab8 - Custom action for checking if RDP8.0 is installed will only run on Win7 machines
- Re-ordered conditional checks. Installer will warn about .Net version before warning about RDP 8.0 requirement. This more logically follows the "broad to specific" ordering of requirements
2016-05-17 13:50:20 -06:00
Sparer, David
74ef73ebf4 The RDP8.0 custom action project now targets .Net 2.0 for maximum compatibility. 2016-05-17 13:47:10 -06:00
Sparer, David
35b512de19 RDP 8.0 verification is working and now enabled.
Checking for the installed KBs is unusually time-intensive. Should try to optimize the runtime of this verification.
2016-05-17 13:44:19 -06:00
Sparer, David
a5966592e1 update gitignore 2016-05-16 16:11:25 -06:00
Sparer, David
8e2e1769c3 Started creating the custom action for checking if RDP 8.0 is installed. Currently not working correctly 2016-05-16 16:10:53 -06:00
hiriumi
19da883e14 Removed dependency on Microsoft.VisualBasic in Import.cs 2016-05-16 08:22:37 -07:00
hiriumi
600d5f4475 comming the 2016-05-16 08:14:51 -07:00
hiriumi
0e0e3b28de Removed dependency to Microsoft.VisualBasic in Import.cs 2016-05-16 08:11:15 -07:00
Sparer, David
2439ae0508 Merge branch 'csharp_conv' into MR-818_Create_new_installer 2016-05-16 08:07:30 -06:00
Sean Kaim
f9633cb860 Fix non-portable build 2016-05-15 20:54:49 -04:00
David Sparer
2c43f35b0b Added required variables to the other localization files.
Set the debug build configuration to only build the en-US culture for sanity's sake
2016-05-15 15:24:15 -06:00
Sean Kaim
a1beff754c Suppress JavaScript errors 2016-05-15 17:24:11 -04:00
Sean Kaim
647fa12cdc Support additional browser features
ported from mRemote3G:

11a1f94e97
2016-05-15 17:18:03 -04:00
Sean Kaim
725235c250 Fix HTTP connections not working & code cleanup 2016-05-15 17:17:14 -04:00
David Sparer
25d438d691 Links to the License, Credits, and Readme are now created when user requests start menu shortcuts. 2016-05-15 15:14:44 -06:00
David Sparer
37232b5302 Added install conditions:
- Requires Win7 or higher
- If Win7, requires SP1
- Requires .Net Framework 4.0 or higher
- Requires elevated priveleges to install
2016-05-15 15:13:40 -06:00
David Sparer
2d250282ee Added localization files for the languages we will be able to have translated the soonest 2016-05-15 13:09:19 -06:00
Sean Kaim
18e1c112e0 Correct unit tests after keyboard options removed 2016-05-15 14:06:16 -04:00
Sean Kaim
32891e5155 Remove KeyboardOptions tests
Keyboard options removed in 71254ba6e2
2016-05-15 13:57:40 -04:00
Sean Kaim
ef7cbf097b Merge pull request #111 from mRemoteNG/replace_pstaskdialog
Replace pstaskdialog
2016-05-15 13:51:39 -04:00
David Sparer
41ab8033e7 began the slow process of supporting localizations 2016-05-15 07:52:14 -06:00
David Sparer
4f392690eb Added pandoc to automatically convert the license file to RTF format for use in the installer.
Added GUI to installer with mRemoteNG images
Added git ignore entries for the FilesFragment.wsx and License.rtf files which will be re-compiled on every build
2016-05-14 18:12:21 -06:00
David Sparer
d591e4ebc2 added .msi files to the git ignore file 2016-05-14 15:36:28 -06:00
David Sparer
a315c19ebb Merge branch 'csharp_conv' into MR-818_Create_new_installer
# Conflicts:
#	mRemoteV1.sln
2016-05-14 15:35:31 -06:00
David Sparer
764b956221 Added installer support for installing PuTTYNG 2016-05-14 13:57:53 -06:00
David Sparer
f0b0086ca5 Installer now properly places shortcuts in start menu and the desktop.
Updated the program icon to a higher resolution version.
2016-05-14 12:33:52 -06:00
David Sparer
8c43494c03 Added support for creating shortcuts to start menu and desktop. However, the desktop shortcut is not functioning as expected 2016-05-14 11:53:53 -06:00
amaterasu48
634df366bd Removed PSTaskDialog.dll reference added pure .NET Form that mimics PSTaskDialog. No more dependency to it, so we shouldn't see the unexpected error. 2016-05-12 14:59:39 -07:00
Sparer, David
86585feb56 no message 2016-05-12 15:20:56 -06:00
Sparer, David
f4335ff339 updates to support the Portable build types 2016-05-12 15:10:15 -06:00
Sparer, David
61100d167f Accidentatly moved an icon file rather than copying. Put it back. 2016-05-12 14:19:59 -06:00
Sparer, David
77c7ba3194 Installer works in a very basic manner. Files will be installed as expected, though there is no GUI to select options 2016-05-12 14:14:39 -06:00
Sean Kaim
669e3a762b Removed PSTaskDialog instances & code cleanup 2016-05-12 15:08:55 -04:00
Sean Kaim
71254ba6e2 Remove Keyboard shortcut functionality
Removed due to the following reasons:
1. Crashes (semi-regularly)
2. "Beta" option from 1.73 (never released) that doesn't work (on
Windows 10 at least)
3. A multiple bugs were reported for it in the bug tracking system:
https://mremoteng.atlassian.net/browse/MR-714
https://mremoteng.atlassian.net/browse/MR-624
https://mremoteng.atlassian.net/browse/MR-687
https://mremoteng.atlassian.net/browse/MR-752
(and possibly more)
4. After reviewing the bug reports and other info, I feel it's a bad
idea. All keyboard input should go to the connected session (while
"active"). Otherwise a mouse click would be required to have mRemote be
the active Window. In which case, just click the desired tab.
2016-05-12 11:59:13 -04:00
David Sparer
8e7fe19585 Create very simple WiX project 2016-05-11 20:43:06 -06:00
David Sparer
95f605ea9d moved old installer to a new folder 2016-05-11 20:41:18 -06:00
amaterasu48
19d0e5d42f A little bit of UI clean up. 2016-05-11 15:50:09 -07:00
amaterasu48
5433a69775 Refactored and cleaned up frmMain 2016-05-11 14:41:34 -07:00
amaterasu48
f2ac6dace6 Just did refactoring and code cleaning to make it more CSharpy. 2016-05-11 12:49:48 -07:00
David Sparer
028889f9ec set default values for window position (center of screen) and size (minimum size allowed by frmMain) 2016-05-10 18:14:23 -06:00
David Sparer
f0c3395c00 Updated namespace of Resources and Language classes. The namespace was set in the designer but the custom tool needed to be run again to update the actual files. 2016-05-10 18:06:33 -06:00
David Sparer
ee180440e0 Merge branch 'settings_refactor' into csharp_conv 2016-05-10 16:53:16 -06:00
Sparer, David
4eac00c0d9 Resolved a mis-merged file 2016-05-09 10:58:49 -06:00
Sean Kaim
8e15b38e03 Set Code Analysis to MS Managed Recommended
Previously was set to "All" which generates a lot of complier warnings.

15e297eef3 seems to have been overwritten.
2016-05-09 09:42:15 -04:00
hiriumi
61e44af487 Merge remote-tracking branch 'refs/remotes/origin/csharp_conv' into settings_refactor
# Conflicts:
#	mRemoteV1/Config/Settings/SettingsLoader.cs
2016-05-08 22:27:54 -07:00
hiriumi
605fecedea Refactored config related code. 2016-05-08 21:53:41 -07:00
hiriumi
ac1a5e257e refactored settings related code. The UI still looks buggy. Will continue later. 2016-05-08 21:35:38 -07:00
Sean Kaim
401ac0225f Merge pull request #110 from mRemoteNG/settings_refactor
Settings refactor
2016-05-08 22:26:41 -04:00
Sean Kaim
dbda032a4c Disable AppSettingsProvider code as well
And an easier way to disable all custom settings provider code, but
leave it for possible/quicker future use.
2016-05-08 21:32:38 -04:00
David Sparer
b60b55dca2 property needed to be "Configuration" not "config" 2016-05-08 16:29:46 -06:00
David Sparer
e3229f4400 escaped double quotes 2016-05-08 13:15:51 -06:00
David Sparer
34435b3046 added new stage for Debug Portable build profile 2016-05-08 13:14:00 -06:00
David Sparer
1077d8ef4b Decided on commenting out the CreatePanels() / SetDefaultLayout() in frmMain rather than in LayoutSettingsLoader.
If we keep these methods in frmMain and remove in LayoutSettingsLoader, we will overwrite any custom layout loaded.
2016-05-08 12:43:57 -06:00
hiriumi
9527780d99 Removed dependency to PortableSettingsProvider.cs. This prevents app from throwing a lot of NullReferenceException on start up. I will do further testing on settings piece and probably more refactoring. 2016-05-08 11:40:30 -07:00
David Sparer
9878b39571 LayoutSettingsLoader: fix variable name for non-portable build 2016-05-08 12:23:05 -06:00
David Sparer
34f0b54284 Quick update+fix to SettingsLoader and forgot to update teh csproj 2016-05-08 12:09:22 -06:00
David Sparer
49d8aa7352 Extracted some responsibilities of the SettingsLoader to dedicated classes
Also cleaned some minor code noise in SettingsLoader
2016-05-08 12:03:36 -06:00
David Sparer
3ad6246e68 minor cleanup for Windows.cs 2016-05-08 10:30:16 -06:00
David Sparer
66eccf0032 some minor cleanup and local var renaming in ConnectionList.cs 2016-05-08 10:07:11 -06:00
David Sparer
995daecaff Merge branch 'MR-385_inheritance_settings_lost' into csharp_conv
# Conflicts:
#	mRemoteV1/App/Runtime.cs
#	mRemoteV1/Container/ContainerInfo.cs
2016-05-07 21:43:34 -06:00
Sean Kaim
1757c141fe Settings file changes
change from .config to .settings
Set UpdateAddress to an Application property, not a user property.
2016-05-07 22:31:02 -04:00
David Sparer
45b3f3d56f fixed issue described in MR-385
also made some refactoring changes in a quest to make the code more readable
2016-05-07 17:59:23 -06:00
Sean Kaim
b758b053d5 Added AppSettingsProvider (for non-portable builds) 2016-05-07 17:34:29 -04:00
Sean Kaim
7a3088d553 Fixed a number of complier warnings 2016-05-07 16:47:47 -04:00
Sean Kaim
15e297eef3 Set Code Analysis to MS Managed Recommended
Previously was set to "All" which generates a lot of complier warnings.
2016-05-07 16:26:55 -04:00
Sean Kaim
9476ba6578 target x86 / fixes complier warnings 2016-05-06 22:04:02 -04:00
Sean Kaim
a532120662 fix complier warning 2016-05-06 21:58:29 -04:00
David Sparer
b33f1a988c extracted the code for moving treenodes into its own class 2016-05-06 19:13:00 -06:00
David Sparer
24663a1944 forgot to build to update the csproj file after refactor 2016-05-06 18:29:10 -06:00
David Sparer
983ce80703 massive cleanup of code noise and renamed a few classes for clarity 2016-05-06 18:09:32 -06:00
David Sparer
4f3dbaa7ff Merge branch 'csharp_conv' into MR-385_inheritance_settings_lost 2016-05-06 17:38:00 -06:00
David Sparer
0c93614423 Revert "MR-808 intentionally broke build to test something in Jenkins"
This reverts commit 2060b19e92.
2016-05-06 17:07:21 -06:00
David Sparer
2060b19e92 MR-808 intentionally broke build to test something in Jenkins 2016-05-06 15:54:43 -06:00
David Sparer
cc3fc47cc3 did a bit of extra cleanup for MR-808 2016-05-06 15:42:53 -06:00
David Sparer
dd81a6ea91 Resolved issue by utilizing the correct object cast 2016-05-06 15:24:31 -06:00
Sparer, David
95f59ffb1b Merge branch 'csharp_conv' into MR-385_inheritance_settings_lost 2016-05-06 11:39:37 -06:00
Sparer, David
eaf1eaaee3 removing unit test that hangs 2016-05-06 11:35:35 -06:00
Sparer, David
2ebccbe372 fixed a small bug with the branch name regex 2016-05-06 11:32:06 -06:00
Sparer, David
adc49e61e7 adding Jenkinsfile to branch to enable automatic builds within Jenkins 2016-05-06 11:08:51 -06:00
Sparer, David
58142e70af updated Contributors section. also just pushing this to test jenkins webhooks 2016-05-04 08:51:19 -06:00
David Sparer
bae61f58af Merge pull request #109 from sparerd/MR-385_Inheritance_settings_lost
migrating branch to official repo
2016-05-03 09:24:59 -06:00
Kaim, Sean M
f7ac538f1d prevent exception at startup 2016-05-03 00:02:30 -04:00
Kaim, Sean M
8196e61a2c last fix to ensure loading correct settings file 2016-05-02 23:54:25 -04:00
Kaim, Sean M
403983ac6b addl fix to ensure loading correct settings file 2016-05-02 22:41:14 -04:00
Sean Kaim
f3e2f495d3 Merge pull request #108 from sparerd/csharp_conversion
Initial pull from fork into main repo
2016-05-02 22:02:16 -04:00
Sparer, David
78f7ded7a8 Merge branch 'csharp_conversion' into MR-385_Inheritance_settings_lost 2016-05-02 14:52:29 -06:00
Kaim, Sean M
053d59153e Fix portable settings path and remove some VB calls 2016-05-02 16:09:13 -04:00
Kaim, Sean M
84d849da4c Fix NullReferenceExceptions
Introduced in commit 63e0cd198c
Also performed some code cleanup
2016-05-02 15:58:38 -04:00
Sparer, David
90eba686c7 Quick refactor of the methods for retrieving ConnectionInfo properties (including inherited properties). 2016-05-02 11:50:17 -06:00
hiriumi
5a4d53908d A lof refactoring. There is a problem in PortableSettingsProvider.cs where it doesn't save the config file. We need to address PortableSettingsProvider.SetPropertyValues() method that saves the config file is not called at all. 2016-05-02 00:43:28 -07:00
hiriumi
e76dd18962 Refactoring to make the code more CSharpy and resolving more namespace issues. 2016-05-01 19:41:06 -07:00
hiriumi
071c4537ee Removed Microsoft.VisualBasic reference 2016-05-01 19:01:38 -07:00
hiriumi
e4e92c8b21 Did some refactoring to get some classes in the right namespace and some other adjustment. 2016-05-01 18:37:32 -07:00
hiriumi
43a54cdc76 Merge branch 'csharp_conversion' of https://github.com/mRemoteNG/mRemoteNG.git 2016-05-01 11:06:12 -07:00
hiriumi
c88ad088c0 Jira Item 714. I'm supressing the error to prevent the KeyboardHook from crashing the whole application. I'm not sure if this is the right away, so please review the code.
https://mremoteng.atlassian.net/browse/MR-714
2016-05-01 10:43:05 -07:00
Sean Kaim
f462340ac8 Merge pull request #6 from mRemoteNG/kmscode_rpd_v8
RDP version 8 Client & code clean up
2016-04-29 17:06:18 -04:00
Kaim, Sean M
b0cef15fa2 RDP version 8 Client & code clean up 2016-04-29 17:05:25 -04:00
Sean Kaim
160b0101a9 Merge pull request #3 from mRemoteNG/kmcode_csharp_conv
Remove WTS Sessions panel
2016-04-29 15:16:25 -04:00
Kaim, Sean M
63e0cd198c Correct errors for non-portable build 2016-04-29 12:22:19 -04:00
Kaim, Sean M
8a601b4d00 remove bin and obj files 2016-04-29 11:55:09 -04:00
Kaim, Sean M
ff81202d8a Remove bin and obj files 2016-04-29 11:54:20 -04:00
Kaim, Sean M
eed8df7391 Remove WTS Sessions Panel 2016-04-29 11:47:59 -04:00
Kaim, Sean M
12df1caead Remove WTS Sessions panel 2016-04-29 11:47:35 -04:00
Kaim, Sean M
15a7565cfb Update gitignore 2016-04-29 11:13:33 -04:00
Kaim, Sean M
38f17b05c2 update gitignore 2016-04-29 11:07:23 -04:00
Kaim, Sean M
d4e81daee3 Remove Unused References 2016-04-29 10:59:30 -04:00
Kaim, Sean M
143724f146 update gitignore 2016-04-29 10:54:49 -04:00
hiriumi
a3223d2f01 Fixed options forms. Namespaces are also corrected as well. 2016-04-26 22:52:24 -07:00
David Sparer
9520fbe4a1 re-adding some files lost during the migraton from sparerd/mRemoteNG-1 2016-04-14 01:27:15 -06:00
David Sparer
91bce23a5a Merge pull request #1 from sparerd/c#conversion
C#conversion
2016-04-13 23:06:35 -06:00
Sparer, David
b39b367ef2 absolute mess, but decided on a Strategy pattern for choosing connection protocols 2016-03-16 15:41:24 -06:00
Sparer, David
97736b19cd refactoring Connections subsystem 2016-03-15 15:45:45 -06:00
Sparer, David
a5c6fc9bed Revert "began rewrite of Theme subsystem"
This reverts commit a68bbc7950.
2016-03-15 08:00:07 -06:00
David Sparer
a68bbc7950 began rewrite of Theme subsystem 2016-03-13 21:34:09 -06:00
Sparer, David
40941a3b22 fixes 2016-03-11 12:58:19 -07:00
David Sparer
7ea6902b87 fixes 2016-03-10 18:43:16 -07:00
Sparer, David
7c74d447bc runtime and conversion fixes 2016-03-10 15:35:09 -07:00
Sparer, David
a937d5c4f7 runtime fixes 2016-03-09 15:44:41 -07:00
Sparer, David
2f90496a6e more fixes and cleanup 2016-03-08 15:43:29 -07:00
David Sparer
36fa99cef0 fixes 2016-03-07 18:14:31 -07:00
Sparer, David
eadbb1672f more fixes 2016-03-07 15:41:02 -07:00
David Sparer
eb7fad1054 more fixes 2016-03-06 18:24:44 -07:00
David Sparer
b4b7dc667f more fixes 2016-03-06 18:03:06 -07:00
David Sparer
8fe56722a5 more syntax fixes 2016-03-04 18:10:17 -07:00
Sparer, David
7dfc0643d5 more syntax fixes 2016-03-04 12:49:19 -07:00
David Sparer
b3c2fa1770 more syntax fixing 2016-03-03 19:12:11 -07:00
Sparer, David
4303c452e1 who knows 2016-03-03 15:45:53 -07:00
Sparer, David
6b4f2d3e18 more conversion updates 2016-03-03 15:44:51 -07:00
Sparer, David
f8dfc3c652 began converting project to c# 2016-03-01 15:04:05 -07:00
Sparer, David
21014f2e0e Added postbuild event to enable LargeAddressAware as a workaround for https://mremoteng.atlassian.net/browse/MR-582 2016-02-17 11:39:34 -07:00
Riley McArdle
5835e5f72c Revert "Merge pull request #101 from ozkanpakdil/develop"
This reverts commit 7350e94662, reversing
changes made to 14d1f6cde2.
2014-03-16 13:45:20 -05:00
Andreas Rehm
7350e94662 Merge pull request #101 from ozkanpakdil/develop
multi command for ssh
2014-03-16 16:52:57 +01:00
ozkan.pakdil
d5d2d5bf82 multi command for ssh 2014-03-16 17:44:53 +02:00
Riley McArdle
14d1f6cde2 Add support for importing files from PuTTY Connection Manager. Improve the import and export functionality. 2013-12-17 22:10:24 -06:00
Riley McArdle
9f17b917f7 Change icon for "Full Screen (RDP)" in connection tab context menu. 2013-11-26 16:17:21 -06:00
Riley McArdle
c046b48ee9 Update CHANGELOG.TXT. 2013-11-24 22:21:37 -06:00
Riley McArdle
cb6cf7c01f Move SharedLibraryNG into mRemoteNG solution folder. 2013-11-24 22:18:17 -06:00
Riley McArdle
cd9b07ca0a Update for 1.73 Beta 1. 2013-11-19 20:23:19 -06:00
Riley McArdle
eb435bc6b0 Clean up code and fix possible NullReferenceException in UI.Window.Connection.WndProc(). 2013-11-19 20:18:42 -06:00
Riley McArdle
c9ca613348 Make improvement MR-250 - Show the name of the selected connection tab in the title of the window 2013-11-19 20:16:04 -06:00
Riley McArdle
771855fd07 Fix possible NullReferenceException in ExternalTool.StartIntegrated(). 2013-11-17 21:24:43 -06:00
Riley McArdle
e6967bbc07 Fix variable expansion in external tool filenames. 2013-11-17 21:24:11 -06:00
Riley McArdle
095d8ca719 Update ReSharper abbreviations list. 2013-11-17 21:23:30 -06:00
Riley McArdle
9c089bed37 Code cleanup of external tools. 2013-11-17 21:23:00 -06:00
Riley McArdle
7e94c6f1c9 Fix issue MR-523 - Changes to external tools are not saved until exiting the program 2013-11-17 18:50:14 -06:00
Riley McArdle
df44296ee0 Code cleanup. 2013-11-17 18:37:44 -06:00
Riley McArdle
da42b6f3b2 Fix issue MR-556 - Export fails when overwriting an existing file 2013-11-17 18:37:12 -06:00
Riley McArdle
264756d986 Fix warnings when compiling TestProject. 2013-11-17 18:03:21 -06:00
Riley McArdle
49d9887d03 Fix issue MR-594 - Crash on startup if write access is denied to the IE browser emulation registry key 2013-11-17 18:02:34 -06:00
Riley McArdle
39f22dec4c Add error logging to RemoteDesktopConnectionManager.DecryptPassword(). 2013-11-17 17:49:41 -06:00
Riley McArdle
69befbc97b Code cleanup of Connection.Info. 2013-11-17 17:44:12 -06:00
Riley McArdle
820ed1c457 Fix issue MR-603 - Some configuration options are still shown even when inheritance is enabled 2013-11-17 15:15:35 -06:00
Riley McArdle
c0c6a6dc4b Code cleanup. 2013-11-17 15:01:34 -06:00
Riley McArdle
a410709f92 Add feature MR-512 - Add support for importing files from Remote Desktop Connection Manager 2013-11-17 12:48:40 -06:00
Riley McArdle
3b20e85ff0 Add MR-486 to CHANGELOG.TXT. 2013-11-16 03:19:27 -06:00
Riley McArdle
5d8e7a9fa8 Make improvement MR-419 - Password prompt dialog should have a meaningful window title 2013-11-16 03:09:56 -06:00
Riley McArdle
63ad0760cd Fix issue MR-187 - F7 keyboard shortcut for New Folder conflicts with remote connections 2013-11-16 01:31:10 -06:00
Riley McArdle
2ea29ef8cb Hide UVNC Single Click port setting on advanced options page. 2013-11-16 00:41:31 -06:00
Riley McArdle
f34baa389c Add and improve menu icons. 2013-11-16 00:40:17 -06:00
Riley McArdle
41db2f7fe7 Sort Language.resx. 2013-11-16 00:14:42 -06:00
Riley McArdle
2db04225a7 Add feature MR-212 - Add option to connect without credentials
I have my username/password stored in mRemote, but sometimes i want to
log in as the service account or administrator account for various
reasons. This "new feature" allows you to quickly enter credentials
without changing other settings.
(cherry picked from commit 2ec0cdbc30 by cyclops1982)

Conflicts:
	mRemoteV1/Language/Language.Designer.vb
	mRemoteV1/Language/Language.resx
2013-11-16 00:14:23 -06:00
Riley McArdle
b6004117e6 Improve handling of variables in external tool arguments.
Code cleanup.
2013-11-15 23:27:10 -06:00
Riley McArdle
fd73b28061 Merge branch 'release/1.72' into develop
Conflicts:
	CHANGELOG.TXT
2013-11-13 18:48:43 -06:00
Riley McArdle
da39c03a6f Fix issue MR-592 - Unable to run VBS script as an external tool
Fix issue MR-596 - Incorrect escaping of quotation marks in external tool arguments
2013-11-13 18:20:52 -06:00
Riley McArdle
ba721c9db6 Remove debug message. 2013-11-07 21:02:12 -06:00
Riley McArdle
9b707cf93d Make improvement MR-590 - Make panels docked to the edge of the window keep their size 2013-11-06 02:07:58 -06:00
Riley McArdle
a73b42409f Remove stray trailing colon from SQL Server options page name in some translations. 2013-11-05 04:18:23 -06:00
Riley McArdle
e743b2c699 Refactor options dialog. 2013-11-05 04:10:02 -06:00
Riley McArdle
107c44df88 Merge branch 'release/1.71' into develop
Conflicts:
	CHANGELOG.TXT
2013-11-04 03:44:13 -06:00
Riley McArdle
5e19c420e7 Add feature MR-16 - Add keyboard shortcuts to switch between tabs
Add feature MR-557 - Add Hotkeys to Tabs / Subtabs
2013-11-04 02:41:16 -06:00
Riley McArdle
2f55324708 Continue implementing keyboard options page. 2013-10-31 07:00:48 -05:00
Riley McArdle
6cc6c34c4b Create KeyboardShortcuts class to manage keyboard shortcuts. 2013-10-30 06:28:23 -05:00
Riley McArdle
3d64fbef49 Update CHANGELOG.TXT for 1.71 RC3. 2013-10-29 02:35:33 -05:00
Riley McArdle
539a0198f3 Improve control focus behavior of options dialog. 2013-10-28 09:13:13 -05:00
Riley McArdle
9beebac7fc Set AcceptButton for options dialog. 2013-10-28 09:12:42 -05:00
Riley McArdle
50567fd967 Improve options dialog. Start implementing keyboard options page. 2013-10-28 09:06:10 -05:00
Riley McArdle
3ee004ce4e Code cleanup. 2013-10-28 01:42:43 -05:00
Riley McArdle
a58fd7559c Code cleanup. 2013-10-28 01:39:43 -05:00
Riley McArdle
73d738887a Merge branch 'develop' into feature/hotkeys
Conflicts:
	CHANGELOG.TXT
2013-10-28 01:25:38 -05:00
Riley McArdle
e96199dc37 Change XmingProvider to include sessions from the registry. 2013-10-28 01:14:59 -05:00
Riley McArdle
f5cde10d62 Fix merge error. 2013-10-28 01:06:36 -05:00
Riley McArdle
1d5df08e78 Merge branch 'release/1.71' into develop 2013-10-28 00:03:12 -05:00
Riley McArdle
869c2726bb Fix checking for updates even when disabled. 2013-10-27 06:04:54 -05:00
Riley McArdle
2e663df42a Fix issue MR-578 - Connections file is reset
Fix the wrong connections file opening on startup under certain conditions.
Improve error reporting when loading connections files.
Remove warning message when mRemoteNG is started for the first time about new connections file being created.
2013-10-27 05:46:11 -05:00
Riley McArdle
1c33494547 Update version number to 1.72. 2013-10-27 01:54:48 -05:00
Riley McArdle
4acaefe9c3 Add "Reset" to config panel context menu to allow resetting some config settings to their default value.
Fix config panel showing settings from previously loaded connection file after loading a new one.
Code cleanup.
2013-10-27 01:53:24 -05:00
Riley McArdle
8c3f4c06df Add feature MR-547 - Add support for Xming Portable PuTTY 2013-10-27 01:40:32 -05:00
Riley McArdle
ed589f4b51 Merge branch 'release/1.71' into develop
Conflicts:
	CHANGELOG.TXT
2013-10-25 01:03:54 -05:00
Riley McArdle
0a82828d2e Fix log file not showing operating system version on Windows XP and Windows Server 2003. 2013-10-25 00:57:21 -05:00
Riley McArdle
13c1d049fc Fix issue MR-574 - Crash when retrieving RDP session list if eolwtscom.dll is not registered 2013-10-25 00:56:28 -05:00
Riley McArdle
8c61e95a5b Reword CHANGELOG.TXT. 2013-10-21 20:43:21 -05:00
Riley McArdle
a6fa6e19d0 Fix PuTTY Saved Sessions still showing if all saved sessions are removed 2013-10-21 20:38:39 -05:00
Riley McArdle
8273bdf70f Remove invalid "Site" configuration option from PuTTY Saved Sessions 2013-10-21 18:55:59 -05:00
Riley McArdle
5267de8b87 Merge branch 'release/1.71' into develop
Conflicts:
	CHANGELOG.TXT
2013-10-16 17:21:49 -05:00
Riley McArdle
62feba1691 Update CHANGELOG.TXT for 1.71 RC2. 2013-10-16 17:08:10 -05:00
Riley McArdle
6036a792e5 Merge branch 'release/1.71' into develop
Conflicts:
	CHANGELOG.TXT
2013-10-14 22:55:53 -05:00
Riley McArdle
3cb8784996 Minor code cleanup. 2013-10-14 22:48:10 -05:00
Riley McArdle
81d150f80a Fix duplicated folders possibly being named "New Connection" instead of the original folder's name 2013-10-14 22:47:48 -05:00
Riley McArdle
9ebce266ec Fix issue MR-565 - Double Folder keep heritage on the initial Folder 2013-10-14 22:42:34 -05:00
Riley McArdle
42bcf8db31 Fix typo in Portuguese translation. 2013-10-14 18:31:31 -05:00
Riley McArdle
ff2bbcf650 Fix issue MR-566 - Typo in German UI Automatic Update Settings 2013-10-14 18:30:55 -05:00
Riley McArdle
1341db0812 Change namespace of HotkeyControl. 2013-10-06 22:31:50 -05:00
Riley McArdle
c16a4134c7 Merge branch 'develop' into feature/hotkeys
Conflicts:
	CHANGELOG.TXT
2013-10-06 21:36:04 -05:00
Riley McArdle
771047ddd7 Merge branch 'release/1.71' into feature/hotkeys 2013-10-06 21:33:03 -05:00
Riley McArdle
718d67f20c Fix misleading log messages about RD Gateway support. 2013-10-06 21:32:12 -05:00
Riley McArdle
d18a510310 Fix issue MR-141 - Add a default protocol option
Fix issue MR-367 - Make the 'Connect' button on the 'Quick Connect' toolbar a forced dropdown
2013-10-06 20:30:38 -05:00
Riley McArdle
3a3da1c6f1 Continue adding support for hotkeys to switch tabs. 2013-10-03 20:56:56 -05:00
Riley McArdle
ba55958327 Fix issue MR-560 - Cannot Auto-Update With Open Connections: Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32' 2013-10-02 14:38:58 -05:00
Riley McArdle
2a67f493f6 Always use debug update channel for debug builds. 2013-10-02 13:56:04 -05:00
Riley McArdle
00647e4963 Start adding support for hotkeys to switch tabs. 2013-10-01 23:27:22 -05:00
Riley McArdle
06892deedf Update CHANGELOG.TXT for release. 2013-10-01 19:58:36 -05:00
Riley McArdle
d12ea40845 Add missing variable type. 2013-10-01 19:57:34 -05:00
Riley McArdle
3f21151331 Add new translations to project file. Add code signing of DLLs for new translations to BUILD.CMD. 2013-10-01 19:56:53 -05:00
Riley McArdle
c91f5e5cba Remove Beta VERSIONTAG from BUILD.CMD. Fix encoding of CHANGELOG.TXT. 2013-10-01 19:45:54 -05:00
Riley McArdle
9e90d17d80 Fix AnnouncementAddress for release version. 2013-10-01 19:41:16 -05:00
Riley McArdle
2e67bbf6a1 Add Chinese (Traditional) translation. Add partial Greek and Hungarian translations. 2013-10-01 19:17:21 -05:00
Riley McArdle
ceec9749b9 Update translations from Crowdin. 2013-10-01 19:16:31 -05:00
Riley McArdle
f674b5bfeb Fix issue MR-542 - Wrapped putty has security flaw
Update PuTTY to version 0.63.
2013-10-01 17:23:12 -05:00
Riley McArdle
b3e541c627 Add missing punctuation in CHANGELOG.TXT. 2013-09-30 22:09:43 -05:00
Riley McArdle
3389a152be Fix PuTTY Saved Sessions not showing after loading a new connections file 2013-09-30 22:09:04 -05:00
Riley McArdle
662fcfa318 Fix possible cross-thread operation exception when loading connections from SQL 2013-09-30 22:08:05 -05:00
Riley McArdle
06baec9c55 Fix issue MR-535 - SQL error saving Connections 2013-09-30 22:07:39 -05:00
Riley McArdle
270699c26b Fix issue MR-538 - RDP loses connection when hiding config or connections pane 2013-09-27 23:01:14 -05:00
Riley McArdle
bc699a04ec Fix issue MR-525 - Could not start on windows 7 64bit 2013-09-27 22:15:40 -05:00
Riley McArdle
3639e75f5b Fix issue MR-514 - Window Proxy test failed without close button 2013-09-27 21:04:26 -05:00
Riley McArdle
eef14ebc29 Fix issue MR-521 - Right-Clicking in "Sessions" panel crashes mRemoteNG 2013-09-27 01:39:43 -05:00
Riley McArdle
2568d2b750 Fix issue MR-495 - Having a negative range in port scan creates memory exhaustion.
Make minor improvements to the port scan functionality.
2013-09-27 01:29:35 -05:00
Riley McArdle
58a57d7a7d Improve reliability of BUILD.CMD. 2013-07-03 02:07:51 -05:00
Riley McArdle
8ddb71758e Update CHANGELOG.TXT for 1.71 Beta 5. 2013-06-09 15:48:22 -05:00
Riley McArdle
54f19eaeb6 Fix typo in SQL queries. 2013-06-08 00:00:10 -05:00
Riley McArdle
960096273b Fix issue MR-499 - TS Gateway is not working in latest release 1.71 2013-06-07 23:30:07 -05:00
Riley McArdle
b360902bd9 Improve SetRdGateway(). 2013-06-03 15:40:52 -05:00
Riley McArdle
8006bb49ca Fix issue MR-491 - Could not start RDP Connection 2013-06-03 14:20:34 -05:00
Riley McArdle
ac65468233 Update CHANGELOG.TXT for release of 1.71 Beta 4. 2013-05-28 15:37:34 -05:00
Riley McArdle
8992cb29da Add nb-NO and pt-BR language DLLs to list to be signed in BUILD.CMD. 2013-05-28 15:31:13 -05:00
Riley McArdle
b5f5f43b4c Sign PuTTYNG.exe. 2013-05-28 15:20:38 -05:00
Riley McArdle
8a814d9016 Update VncSharpNG to 1.3.4896.25007. 2013-05-28 14:56:02 -05:00
Riley McArdle
4ff4a365e1 Fix issue MR-487 - Initiate connections on MouseUp event 2013-05-28 13:48:07 -05:00
Riley McArdle
905b6bb92a Update translations. Add Norwegian (Bokmål) and Portuguese (Brazil) translations. 2013-05-22 13:38:05 -05:00
Riley McArdle
88d06c8ef2 Add Spanish installer translation from Marlon Montoya Torres. 2013-05-22 12:55:36 -05:00
Riley McArdle
102987dac7 Fix list of files to sign with code signing certificate. 2013-05-22 12:53:39 -05:00
Riley McArdle
54cf76444e Update BUILD.CMD with new code signing certificate information. 2013-05-22 12:53:07 -05:00
Riley McArdle
f595c1d446 Fix issue MR-470 - Quick Connect to Linux server uses invalid credentials 2013-05-13 13:04:39 -05:00
Riley McArdle
9cf06c44e8 Improve loading time of large connection files. 2013-05-08 21:08:29 -05:00
Riley McArdle
5d63ec6d2a Fix issue MR-459 - Maximized -> Minimized -> Restored results in mangled active display
Fix issue MR-463 - Add support for LoadBalanceInfo to RDP
2013-05-08 19:17:51 -05:00
Riley McArdle
0544b61138 Code cleanup. 2013-05-08 17:52:52 -05:00
Riley McArdle
ceb6f70b4d Improve the PuTTY Saved Sessions list to update automatically when any changes are made. 2013-05-06 00:28:23 -05:00
Riley McArdle
f3075f4c51 Hide PuTTY sessions from PuTTY Saved Sessions if no host is set. Show "Default Settings" if host is set. Default to SSH2 if "Protocol" or "SshProt" are not set (matching behavior of PuTTY). 2013-05-05 19:55:52 -05:00
Riley McArdle
7b850892ae Improve changes made in commit 5737d78. Improve RDP components check and failure text. 2013-05-05 00:24:17 -05:00
Riley McArdle
6a3ca9c9de Fix issue MR-443 - Instructions for eolwtscom.dll registration for Portable version are inaccurate 2013-05-04 23:54:41 -05:00
Riley McArdle
d69d948963 Fix issue MR-446 - Putty saved sessions show in connection panel 2013-05-04 23:08:38 -05:00
Riley McArdle
aa6061d7b6 Fix issue MR-471 - PuTTY Saved Sessions disappears from connection list 2013-05-04 22:56:40 -05:00
Riley McArdle
ba667475bf Fix issue MR-440 - RDP import with non-standard port 2013-05-04 22:43:14 -05:00
Riley McArdle
5737d78f78 Fix issue MR-255 - The version of the RDP AX client should be updated to 7 2013-05-04 19:53:33 -05:00
Riley McArdle
079fe000bb Fix issue MR-439 - MRemoteNG 1.70 does not start 2013-05-02 18:21:17 -05:00
Riley McArdle
29865c69ab Sort language files. 2013-04-30 22:06:30 -05:00
Riley McArdle
f2e9cce248 Make "Sort Language Files.cmd" actually do something. 2013-04-30 22:06:08 -05:00
Riley McArdle
6a16656f03 Code cleanup. 2013-04-30 22:05:09 -05:00
Riley McArdle
7f4d3605c0 Added feature MR-435 - Add digital signature check to updater
Refactor update and announcement handling.
2013-04-30 22:04:07 -05:00
Riley McArdle
d97ad31cc3 Change PuTTY saved sessions to only send session name command line parameter. 2013-03-25 19:34:41 -05:00
Riley McArdle
a49ebf17bf Add PuTTY Session Settings command to the Config panel for PuTTY Saved Sessions.
Fix handling of the plus (+) character in PuTTY session names.
2013-03-25 19:29:20 -05:00
Riley McArdle
903a9dd5cc Start adding "Edit in PuTTY" command to property grid for PuTTY Saved Sessions. 2013-03-25 00:52:27 -05:00
Riley McArdle
5d8db1ade6 Change the "Launch PuTTY" button in the "Options" dialog to open PuTTY from the path the user has currently set, instead of what was previously saved. 2013-03-24 23:29:16 -05:00
Riley McArdle
423a89fdaa Change Internet Explorer to no longer force IE7 compatibility mode. 2013-03-23 19:21:11 -05:00
Riley McArdle
85d78fd4ae Remove unused BorderSize property from Connection.Protocol.PuttyBase. 2013-03-23 18:21:16 -05:00
Riley McArdle
725269e914 Fix issue MR-424 - Import of a few Linux SSH2 hosts discovered via the port scan tool results in a UE 2013-03-23 15:03:54 -05:00
Riley McArdle
9d3beaffbb Additional fix for MR-392. 2013-03-23 14:08:56 -05:00
Riley McArdle
7f36b7926b Fix issue MR-392 - Sessions Panel - context menu entries need to be context aware
Refactor UI.Window.Sessions.
2013-03-23 13:58:39 -05:00
Riley McArdle
f4bb268e27 Fix issue MR-422 - Gives error Object reference not set to an instance of an object. 2013-03-22 22:03:41 -05:00
Riley McArdle
e1329348d1 Remove intermediate debugging variables from Themes.ThemeSerializer.EncodeColorName(). 2013-03-20 22:26:10 -05:00
Riley McArdle
4f06a48d16 Fix an exception or crash when choosing unnamed colors for themes.
Fix possible error "Control does not support transparent background colors" when modifying themes.
Fix changes to the active theme not being saved reliably.
2013-03-20 22:20:58 -05:00
Riley McArdle
1dea64d2eb Improve SSH transfer error message. 2013-03-20 16:54:51 -05:00
Riley McArdle
375e737f02 Fix PuTTY saved sessions with spaces or special characters not being listed. 2013-03-20 16:25:51 -05:00
Riley McArdle
1032801f12 Fix the category names in the themes tab of the options dialog on Windows XP not showing correctly. 2013-03-20 16:09:32 -05:00
Riley McArdle
1002b8d32f Fix namespace problem in App.Runtime.vb. 2013-03-20 15:51:32 -05:00
Riley McArdle
36a72da71f Update CHANGELOG.TXT for 1.71 Beta 3 release. 2013-03-20 15:45:19 -05:00
Riley McArdle
a2b3a815e7 Fix issue MR-397 - Putty disappears from the screen
Fix issue MR-402 - scrollbar touch moves putty window
2013-03-20 15:36:30 -05:00
Riley McArdle
7820707e46 Fix issue MR-413 - Can't use aplication 2013-03-20 11:09:01 -05:00
Riley McArdle
c3f960cfe8 More small changes to fullscreen mode. 2013-03-20 00:17:06 -05:00
Riley McArdle
965f43a4c3 Fix issue MR-398 - Full Screen mode doesn't correctly make use of available space 2013-03-19 23:20:49 -05:00
Riley McArdle
317175bb03 Minor code cleanup. 2013-03-19 22:28:55 -05:00
Riley McArdle
1608d48495 Fix new connections having a globe icon. 2013-03-19 22:24:42 -05:00
Riley McArdle
08ddee1bda Fix issue MR-406 - Items disappear from External Tools toolbar when accessing External Tools panel 2013-03-19 22:22:49 -05:00
Riley McArdle
72756a2bb8 Fix issue MR-410 - Unhandled exception when clicking New button under Theme 2013-03-19 21:11:00 -05:00
Riley McArdle
38011a3546 Add missing line to CHANGELOG.TXT. 2013-03-19 13:15:18 -05:00
Riley McArdle
d72dbdace0 Update CHANGELOG.TXT for release of 1.71 Beta 2. 2013-03-19 13:14:34 -05:00
Riley McArdle
5c887b648f Update translations from Crowdin. 2013-03-18 23:38:08 -05:00
Riley McArdle
4de7167352 Add additional translators to CREDITS.TXT. 2013-03-18 22:58:43 -05:00
Riley McArdle
54825b353f Fix issue MR-401 - Checkbox misaligned 2013-03-17 17:51:13 -05:00
Riley McArdle
b23fb58977 RDP connections can now be switched to full screen mode when redirect key combinations is enabled. 2013-03-17 15:36:59 -05:00
Riley McArdle
7b831c6ab8 Add feature MR-351 - Import connections from PuTTY 2013-03-16 22:37:34 -05:00
Riley McArdle
167344bd14 Add translator Emanuel Silva to CREDITS.TXT. 2013-03-16 13:46:21 -05:00
Riley McArdle
14f31ba461 Fix COMException on WebBrowser controls. 2013-03-15 23:56:48 -05:00
Riley McArdle
13a82799b2 Correct a typo. 2013-03-15 22:14:09 -05:00
Riley McArdle
66fe33683e Fix issue MR-375 - Changing a connection's icon using the picture button should immediately update Icon field 2013-03-15 18:03:41 -05:00
Riley McArdle
8030c9a63d Add feature MR-346 - Option to show/hide the description box at the bottom of the Config panel 2013-03-15 17:50:17 -05:00
Riley McArdle
60630a5cab Remove debug message from Connection.Protocol.PuttyBase.vb. 2013-03-15 16:51:02 -05:00
Riley McArdle
d9ba8f81e2 Create Sort Language Files.cmd. 2013-03-14 22:01:14 -05:00
Riley McArdle
7fe56402fd Fix spelling of colour for English and add color to en-US. 2013-03-14 22:00:05 -05:00
Riley McArdle
634bce25cd Move theme related strings into Language.resx. 2013-03-14 21:41:12 -05:00
Riley McArdle
437ff003b0 More theme improvements. 2013-03-14 20:18:56 -05:00
Riley McArdle
9f09798da5 More theme improvements. 2013-03-14 19:46:06 -05:00
Riley McArdle
5da85b6a88 More additions to theming. 2013-03-12 22:41:59 -05:00
Riley McArdle
bb42a31486 Change theme settings file name to Themes.xml and moved it to a Const in App.Info.Settings. 2013-03-12 20:18:13 -05:00
Riley McArdle
7e5e1e6342 Hide theme properties that don't look good. Additional improvements to theming. 2013-03-12 20:01:35 -05:00
Riley McArdle
6f43bbf96e Start adding theme support. 2013-03-09 22:13:40 -06:00
Riley McArdle
8ea514643d Additional fix for MR-345. 2013-03-09 15:14:42 -06:00
Riley McArdle
f7e12c6e92 Fix issue MR-354 - Re-ordering tabs doesn't give good, reliable visual feedback 2013-03-08 20:32:54 -06:00
Riley McArdle
30f2cc9e28 Fix ArgumentNullException in Tools.CommandLineArguments. 2013-03-08 19:35:31 -06:00
Riley McArdle
45b9dddb4b Add feature MR-345 - Two separate options for confirming closure of Tabs and Connection Panels 2013-03-08 18:33:37 -06:00
Riley McArdle
650dc487db Fix issue MR-381 - Notifications panel - whitespace context menu allows Copy and Delete on nothing 2013-03-07 22:34:49 -06:00
Riley McArdle
5bc443707f Fix issue MR-377 - Several redundant panels can be opened 2013-03-07 21:14:00 -06:00
Riley McArdle
4510219300 Fix issue MR-379 - Connection variables not working with external tools 2013-03-07 20:26:02 -06:00
Riley McArdle
cd8601c7ff Correct CHANGELOG.TXT. 2013-03-07 20:25:41 -06:00
Riley McArdle
73c27069ee Change "Automatically get session information" to be disabled by default. 2013-03-07 19:50:35 -06:00
Riley McArdle
7dcad234f5 Hide the username and domain settings for VNC connections. 2013-03-07 18:52:15 -06:00
Riley McArdle
66281639b4 Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
2013-03-07 12:11:20 -06:00
Riley McArdle
1af6fde986 Prepare CHANGELOG.TXT for release of 1.70 RC3. 2013-03-07 12:07:01 -06:00
Riley McArdle
83ec9e50b8 Merge branch 'release/1.70' into develop 2013-03-06 23:04:55 -06:00
Riley McArdle
6d21c85d98 Fix issue MR-355 - Moving sub folders to top level causes property loss 2013-03-06 22:58:53 -06:00
Riley McArdle
0ff00e59ba Add setting for update channel. 2013-03-04 21:52:28 -06:00
Riley McArdle
850a342e38 Prepare CHANGELOG.TXT for release of 1.71 Beta 1. 2013-03-04 15:54:49 -06:00
Riley McArdle
1caba06aca Fix issue MR-362 - Rename 'Screenshot Manager' to 'Screenshots' on the View menu to match Panel name 2013-03-04 13:20:49 -06:00
Riley McArdle
a115196cee Disable Fullscreen item on tab context menu if redirect keys is enabled for RDP connection. Fix automatic RDP resize when redirect keys is enabled. Fix automatic RDP resize when SmartSize setting is changed. 2013-03-04 12:55:46 -06:00
Riley McArdle
5f451de94e Fix issue MR-352 - Passwords with " (quotation mark) and # (hash key) characters make mRemoteNG to open PuttyNG dialog 2013-03-02 01:41:00 -06:00
Riley McArdle
a4921fc564 Add automatic resizing of RDP connections when the window is resized or when toggling full screen mode. 2013-03-01 17:04:28 -06:00
Riley McArdle
7d1d03e8cd Fix connection bar being shown when connecting to an RDP connection with redirect key combinations enabled. 2013-02-28 22:46:07 -06:00
Riley McArdle
92c18a45ba Merge branch 'release/1.70' into develop 2013-02-28 14:57:41 -06:00
Riley McArdle
a61fb5c6d6 Fix issue MR-350 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long. 2013-02-28 14:56:51 -06:00
Riley McArdle
e1deaf73ea Fix issue MR-117 - Remote Session Info Window / Tab does not populate 2013-02-27 19:20:49 -06:00
Riley McArdle
7d6d602477 Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
2013-02-27 14:44:17 -06:00
Riley McArdle
b0439adee4 Fix issue MR-339 - Connection group collapses with just one click
(cherry picked from commit 0a7c88a853)

Conflicts:
	CHANGELOG.TXT
2013-02-27 14:41:53 -06:00
Riley McArdle
0a7c88a853 Fix issue MR-339 - Connection group collapses with just one click 2013-02-27 14:39:27 -06:00
Riley McArdle
b735e6d3e4 Fix tabs not closing on double-click when the active tab is a PuTTY connection.
(cherry picked from commit 960ecba12a)

Conflicts:
	CHANGELOG.TXT
2013-02-27 14:15:20 -06:00
Riley McArdle
960ecba12a Fix tabs not closing on double-click when the active tab is a PuTTY connection. 2013-02-27 14:12:49 -06:00
Riley McArdle
3988820db9 Fix issue MR-342 - Incorrect view in config pane of new connection after viewing default inheritance 2013-02-26 21:06:47 -06:00
Riley McArdle
22ea7055c9 Fix issue MR-142 - Start of mRemoteNG takes about one minute and consumes excessive CPU 2013-02-26 20:46:49 -06:00
Riley McArdle
edba3fbea0 Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
	mRemoteV1/Forms/frmOptions.resx
	mRemoteV1/Forms/frmOptions.vb
2013-02-26 20:02:18 -06:00
Riley McArdle
51e4bc7eae Move search prompt to resource string. 2013-02-26 16:19:06 -06:00
Riley McArdle
3e680235ee Improve appearance and discoverability of the connection search box. 2013-02-26 16:13:45 -06:00
Riley McArdle
d2459de700 Fix issue MR-344 - Move "Always show panel tabs" option 2013-02-26 15:16:00 -06:00
Riley McArdle
f9f265b409 Fix issue MR-340 - Object reference not set to an instance of an object. 2013-02-26 15:08:55 -06:00
Riley McArdle
c218f0362e Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
2013-02-25 18:47:20 -06:00
Riley McArdle
fb68ed099e Update CHANGELOG.TXT for release of 1.70 Release Candidate 2. 2013-02-25 18:33:34 -06:00
Riley McArdle
01133b3d9f Fix issue MR-338 - PuTTYNG crashing on fresh install of mRemoteNG 2013-02-25 18:32:54 -06:00
Riley McArdle
52461b758b Revert "Fixed issue MR-229 - Integrated PuTTY doesn't work in Windows 8 RP"
This reverts commit c29c5015d5.
2013-02-25 18:32:07 -06:00
Riley McArdle
3bc5ceede4 Fix issue MR-332 - Can't select different tab with one click after disconnecting existing tab
(cherry picked from commit 73f71050a0)

Conflicts:
	CHANGELOG.TXT
2013-02-25 18:16:22 -06:00
Riley McArdle
a3c9c667b4 Add detection of newer versions of connection files and database schemata and refuse to open them to avoid data loss. 2013-02-24 16:46:37 -06:00
Riley McArdle
73f71050a0 Fix issue MR-332 - Can't select different tab with one click after disconnecting existing tab 2013-02-24 16:02:04 -06:00
Riley McArdle
94d901ec4c Increment version to 1.71. 2013-02-24 15:40:19 -06:00
Riley McArdle
9e67f36615 Fix issue MR-330 - Portable version saves log to user's profile folder 2013-02-24 15:38:48 -06:00
Riley McArdle
bf6f166d8f Add feature MR-329 - Create Option to disable the "Quick: " prefix 2013-02-24 13:15:44 -06:00
Riley McArdle
1de5ab43d6 Fix issue MR-67 - Sort does not recursively sort 2013-02-24 12:49:38 -06:00
Riley McArdle
39dd75dbde Fix issue MR-121 - Config pane not sorting properties correctly when switching between alphabetical and categorized view 2013-02-24 00:04:45 -06:00
Riley McArdle
b509f75c17 Fix issue MR-130 - Issues duplicating folders 2013-02-23 23:38:16 -06:00
Riley McArdle
877649b80a Fix issue MR-158 - Password field not accepting Pipe 2013-02-23 22:14:48 -06:00
Riley McArdle
b5846f2286 Fix issue MR-333 - Unnecessary prompt for 'close all open connections?' 2013-02-23 21:34:48 -06:00
Riley McArdle
80dd98e7fb Merge branch 'release/1.70' into develop 2013-02-23 21:03:21 -06:00
Riley McArdle
7c3a349bd6 Fix typo in CHANGELOG.TXT. 2013-02-23 21:02:13 -06:00
Riley McArdle
84d3f7d30b Fixed KiTTY opening in a separate window when using a saved session. 2013-02-22 19:38:43 -06:00
Riley McArdle
c29c5015d5 Fixed issue MR-229 - Integrated PuTTY doesn't work in Windows 8 RP
Fixed issue MR-264 - Windows 8 support
2013-02-21 23:58:04 -06:00
Riley McArdle
1f776fb9bf Add timeout to WaitForInputIdle in Connection.Protocol.PuttyBase.Connect(). 2013-02-21 23:54:29 -06:00
Riley McArdle
f90eb94484 Fix issue MR-322 - Connection Button not listing servers 2013-02-21 22:23:58 -06:00
Riley McArdle
80f35cea71 Refactor Security.Crypt.Decrypt(). 2013-02-21 21:08:19 -06:00
Riley McArdle
a12978967a Change "Fix" to "Fixed" in CHANGELOG.TXT. 2013-02-21 19:46:50 -06:00
Riley McArdle
8cce811ce5 Fixed "Decryption failed. Padding is invalid and cannot be removed." notification. 2013-02-21 19:46:12 -06:00
Riley McArdle
adb45cec98 Change PuttyBase.Connect() to use MaxPuttyWaitTime setting instead of hard coded value. 2013-02-19 20:30:42 -06:00
Riley McArdle
c09ea26a3c Fix issue MR-183 - Error trying to save connections when using SQL - Invalid column name _parentConstantId 2013-02-19 19:51:20 -06:00
Riley McArdle
d71bf494df Fix issue MR-317 - Difficulty right-clicking on Tab
Fix issue MR-318 - Wrong tab gets selected when tab names overflow on the tab bar
2013-02-19 17:25:36 -06:00
Riley McArdle
e82a9c5228 Fix issue MR-225 - Tabs do not open in a panel until multiple panels are displayed.
Fix issue MR-321 - New connection panel doesn't get panel header if its the only one or is moved
Added option to always show panel tabs
2013-02-19 15:36:30 -06:00
Riley McArdle
a7d976a0a7 Update CHANGELOG.TXT for release of 1.70 Beta 2. 2013-02-18 13:34:08 -06:00
Riley McArdle
d09727a9cd Fix program exiting immediately and possible NullReferenceException in frmMain_FormClosing. 2013-02-18 13:28:47 -06:00
Riley McArdle
30c3b0111d Split 1.70 Beta 1 and 1.70 Beta 2 changes in CHANGELOG.TXT. 2013-02-18 13:14:40 -06:00
Riley McArdle
4ea588d897 Fix issue MR-175 - Problem with focus when 2 or more PuTTY sessions opened
Fix issue MR-190 - Can't click on tab/session
Fix issue MR-224 - Session tabs become un-clickable after duplicating a tab or opening a new one in the same panel
2013-02-17 18:47:28 -06:00
Riley McArdle
f7dfe0ecd0 Fix issue MR-235 - Config file gets corrupted when leaving the password entry box with ESC 2013-02-17 17:50:51 -06:00
Riley McArdle
323b3fb6de Fix installer not detecting some installs of .NET Framework 3.0. 2013-02-17 16:43:00 -06:00
Riley McArdle
e6f1c947be Fix issue MR-174 - Trailing Space on a Hostname/IP will cause the connection not to happen. 2013-02-17 16:00:10 -06:00
Riley McArdle
a01663d2ca Fix .NET Framework 3.0 detection in installer. 2013-02-15 22:53:35 -06:00
Riley McArdle
936f2e6655 Fix MR-313 - PuTTY window not maximized when loading from saved session 2013-02-15 21:54:48 -06:00
Riley McArdle
67a6d60c62 Updated translations with data from Crowdin.
Added translations for Spanish (Argentina), Italian, Portuguese, Chinese (Simplified).
2013-02-15 20:44:21 -06:00
Riley McArdle
85e6797c4f Update copyright year in installer. 2013-02-15 20:12:57 -06:00
Riley McArdle
22322bc3ba Change ConDefaultUseCredSsp to be a User scoped setting instead of Application scoped. 2013-02-15 20:12:37 -06:00
Riley McArdle
b4a3b14334 Fix issue MR-85 - Microsoft .NET Framework warning
Fix issue MR-86 - Citrix GDI+ Error when screen is locked
Fix issue MR-299 - mRemoteNG crashes while using remotely (Windows XP remote desktop)
Change target .NET Framework to 3.0 instead of 2.0
2013-02-15 20:11:03 -06:00
Riley McArdle
a3ac44af55 Fix issue MR-165 - Can't close About window if it is the last tab 2013-02-15 17:09:24 -06:00
Riley McArdle
d773f78ff5 Fix issue MR-47 - Silent Installation Prompts for Language
(cherry picked from commit 8e967a983aded875a97c3e9eeab2837cab00edb4)
2013-02-15 15:37:02 -06:00
Riley McArdle
76ee48269b Improve LoadFromXML to handle files from older versions of mRemoteNG that may have set ConfVersion incorrectly. 2013-02-15 15:32:00 -06:00
Riley McArdle
35f442bad6 Fix issue MR-233 - Backslash at end of password prevents success of putty invocation and corresponding auto-logon 2013-02-15 14:10:55 -06:00
Riley McArdle
43c001b4ba Rename UI.Window.Export.vb. 2013-02-14 20:57:16 -06:00
Riley McArdle
182b097902 Fix issue MR-196 - Cannot export list without usernames and passwords 2013-02-14 20:56:09 -06:00
Riley McArdle
f841f4b41c Fix issue MR-81 - Problem Duplicating Folder w/ Sub-Folders 2013-02-14 15:20:08 -06:00
Riley McArdle
67d07e5f0f Fix issue MR-58 - Bug when duplicating connection in connection view 2013-02-14 14:37:43 -06:00
Riley McArdle
6d15e3649e Fix issue MR-71 - Minimizing mRemoteNG causes temporary re-size of Putty sessions (windows)
Fix issue MR-199 - when using screen inside putty, screen becomes dead when reduce mremoteNG
Fix issue MR-284 - SSH: Text not showing properly
2013-02-14 14:12:48 -06:00
Riley McArdle
4fab4d91d5 Fix typing certain characters in the Config pane. 2013-02-14 12:45:10 -06:00
Riley McArdle
61b70047c6 Fix issue MR-214 - Hostname/IP reset 2013-02-14 12:35:11 -06:00
Riley McArdle
8c3cdc39fb Fix issue MR-96 - When pressing SHIFT+F4 to create a new connection inside a folder, the new connections doesn't inherit any properties from its parent
Fix issue MR-166 - Inheritance button is disabled on some connections
2013-02-12 22:11:14 -06:00
Riley McArdle
a871074845 Fix MR-178 - 3 different panels crashes all connections 2013-02-12 21:31:22 -06:00
Riley McArdle
155bc07466 Fix issue MR-54 - Error When disconnecting from SSL channel RDP 2013-02-12 21:25:11 -06:00
Riley McArdle
d32699008c Add MR-80 to CHANGELOG.TXT. Fixed along with MR-181. 2013-02-12 21:09:17 -06:00
Riley McArdle
28a8a3debd Fix issue MR-202 - The Connection "Tab" show Ampersands as underscores. 2013-02-12 21:05:50 -06:00
Riley McArdle
da50517113 Fix issue MR-101 - Collapse all folders causes a NullReferenceException 2013-02-12 21:01:49 -06:00
Riley McArdle
3079b45ab1 Fix issue MR-176 - Del key while editing connection name triggers 'Delete Connection' 2013-02-12 20:54:58 -06:00
Riley McArdle
62edfd2c50 Improved the use of Tab and Shift-Tab to cycle through entries in the Config grid. 2013-02-12 19:23:17 -06:00
Riley McArdle
becf48f347 Fix MR-167 Name and description of properties not show in inheritance list
Fix MR-171 Inherit configuration not showing friendly names for each inherit component
2013-02-12 16:44:43 -06:00
Riley McArdle
568170d525 Change default for "Check proper installation of components at startup" to false. 2013-02-12 15:41:10 -06:00
Riley McArdle
d853303bc6 encrypt RDGateway password when saving to SQL
(cherry picked from commit 0f136187a5)

Conflicts:
	mRemoteV1/Config/Config.Connections.Save.vb
2013-02-12 15:27:30 -06:00
Riley McArdle
5462242c39 Fix compiler warning about unused variable toolStrip. 2013-02-12 15:22:56 -06:00
Riley McArdle
cfa935df11 Fix RDGatewayPassword is unencrypted in confCons.xml file
(cherry picked from commit 5a97032f29)

Conflicts:
	mRemoteV1/Config/Config.Connections.Save.vb
2013-02-12 15:22:26 -06:00
Riley McArdle
818708dfb4 Fix issue MR-181 - Sessions on startup
Thanks to tbstudee
fa18d10f4a
2013-02-12 15:09:03 -06:00
Riley McArdle
3d26a1a028 Update copyright year. 2013-02-12 14:57:00 -06:00
Riley McArdle
5dcfb272d9 Remove default domain from UI.Window.ADImport.vb. 2013-02-12 12:39:26 -06:00
Riley McArdle
c634b0ccbc Remove line from CHANGELOG.TXT as it is a fix for a bug introduced in 1.70 Beta 1 and is not a change from 1.69. 2013-02-07 21:55:09 -06:00
Riley McArdle
c957be8774 Improve readability of new error checking in App.Runtime.Startup.CheckCompatibility(). 2013-02-07 21:53:40 -06:00
Riley McArdle
513356506b Improve error handling in UI.Window.Config.AddToolStripItems(). 2013-02-07 21:47:14 -06:00
Riley McArdle
f7754d2371 Fix issue MR-68 - Config Window Loses Options
Fix issue MR-277 - Inheritance configuration button not appear in configuration tab
2013-02-07 21:24:26 -06:00
Riley McArdle
aa9a642ade Fix issue MR-264 - Windows 8 support 2013-02-07 16:55:32 -06:00
Riley McArdle
7868b7e76b Add error checking to App.Runtime.Startup.CheckCompatibility() to fix issue MR-306 - Fatal .NET exception on program start. 2013-02-07 16:37:37 -06:00
rmcardle
01d62c410d Replaced putty.exe with PuTTYNG.exe. Changed code to look for PuTTYNG.exe instead of putty.exe. 2012-02-27 20:50:28 -06:00
rmcardle
a1b4cadc1d Updated VncSharpNG to version 1.2.4440.36644. Added debugging symbols for VncSharpNG.dll. 2012-02-27 20:47:01 -06:00
rmcardle
9a283e5da7 Made the use of CredSSP for RDP connections optional. 2012-02-27 19:41:51 -06:00
rmcardle
7a7c6aebd9 Removed unused string. 2012-02-23 22:23:50 -06:00
rmcardle
4b03e542d6 Created script to update language files with translations from Crowdin. 2012-02-23 22:10:52 -06:00
rmcardle
66d3a83f1c Sorted strings in resource files to improve merging of updated translations. 2012-02-23 20:58:37 -06:00
rmcardle
cbda4f3b96 Corrected capitalization of "smart cards". 2012-02-13 02:08:50 -06:00
rmcardle
1e139fa5d9 Cleanup code in Connection.Protocol.RDP.vb. 2012-02-13 02:08:04 -06:00
rmcardle
816b5baefb Cherry-pick commit cc1266910c from kusuriya.
Added options and code to allow use of smart card credentials for RD Gateway
2012-02-13 02:07:04 -06:00
rmcardle
ba3fb6cab2 Update PuTTY information in CREDITS.TXT. 2012-02-13 01:42:39 -06:00
rmcardle
a19a027d5a Improved PuTTY focus handling. 2012-02-13 01:41:01 -06:00
rmcardle
ab9f61dbd8 Cherry-pick commit 78b5253fd9 from kusuriya.
Added RDP.TransportSettings2.GatewayCredSharing = 0 to the SetRDGateway to make it respect separate creds instead of attempting SSO

Fixes issue MR-131.
2012-02-12 23:09:47 -06:00
rmcardle
b76019f516 Removed special case for frameless PuTTYNG window. 2012-02-12 22:57:36 -06:00
rmcardle
9d97c86704 Add additional file extensions to .gitignore. 2012-02-12 22:55:45 -06:00
rmcardle
8bbb717ac1 Merge branch 'develop' into feature/puttyng
Conflicts:
	mRemoteV1/Language/Language.resx
2012-02-12 22:23:48 -06:00
rmcardle
43f1c1fdce Corrected two variable declarations. 2012-01-27 12:14:37 -06:00
rmcardle
ec6cb2218f Cleaned up Config.Connections.Save. Changed saving to an XML file to write to a temp file first and then rename it. 2012-01-26 23:07:45 -06:00
rmcardle
b382c8556f Added saving the most recent ten backups of the connection file. 2012-01-26 23:06:10 -06:00
rmcardle
427464bca5 Fixed typo. 2012-01-25 12:41:16 -06:00
rmcardle
5629acba85 Fix issue MR-78 - Renaming Connections 2012-01-23 00:00:57 -06:00
rmcardle
55caaefe88 Changed to always log error messages to the log file. 2012-01-22 23:31:06 -06:00
rmcardle
1ce99d89b3 Improved error reporting when loading connection files. 2012-01-22 23:30:37 -06:00
rmcardle
ad64e7f7f3 Fix issue MR-79 - MoveUp/Down item doesn't work + Sort button broken. Improved refreshing of tree control when making changes. Cleaned up some other code in Tree.Node.vb. 2012-01-22 23:16:53 -06:00
rmcardle
8d857867f2 Improved error handling when loading connection files. Fixed bugs with creating a new connection file. Refactored Config.Connections.Load.AddNodeFromXml. 2012-01-22 22:56:23 -06:00
rmcardle
8211a730d2 Update copyright year to 2012. 2012-01-22 21:00:41 -06:00
rmcardle
4d4fd79ce1 Move two resource strings from Resources.resx to Language.resx. 2012-01-22 20:58:47 -06:00
rmcardle
c155ac234e Adjusted Options dialog to allow new translations to fit better. 2012-01-22 20:55:08 -06:00
rmcardle
0d71be34f2 Cleaned up English, French, German and Polish translations. 2012-01-22 20:54:31 -06:00
rmcardle
b5295dc98d Integrate Dutch, Spanish, Russian, and Ukranian translations. 2012-01-22 20:53:59 -06:00
rmcardle
864bfd912e Remove duplicate entries from Language.en-US.resx. 2012-01-22 20:52:06 -06:00
rmcardle
a20606888e Add detection of PuTTYNG. 2012-01-14 23:49:06 -06:00
rmcardle
80791ff642 Improved focus handling. Cleaned up App.Native.vb. 2012-01-14 22:47:40 -06:00
rmcardle
00db5c4dc7 Fix merge of two language strings. 2012-01-14 17:47:28 -06:00
rmcardle
701933cfb5 Merge branch 'develop' into feature/puttyng 2012-01-14 17:41:47 -06:00
rmcardle
13a19fc9eb Clean up code in UI.Window.Connection.WndProc. 2012-01-10 00:22:44 -06:00
rmcardle
be8ed0f263 Fix focus issue with RDP connections when changing tabs. Show changes live as connection tabs are being dragged around to change their order. 2012-01-10 00:18:55 -06:00
rmcardle
435e5eb9a8 Focus fixes for PuTTYNG. 2012-01-09 01:24:49 -06:00
rmcardle
b539c34cf6 Fix typo in CHANGELOG.TXT. 2011-12-28 20:38:44 -06:00
rmcardle
2cd27114d6 Use InvariantCulture instead of en-US when serializing data. Fixes issues MR-77 and MR-93. 2011-12-28 20:37:26 -06:00
rmcardle
eff877169d Change version number to 1.70. 2011-12-28 20:10:00 -06:00
rmcardle
4474b84dac Add *.orig to .gitignore. 2011-12-28 20:07:37 -06:00
rmcardle
175d955ef8 Update PuTTY to 0.62. 2011-12-28 20:06:42 -06:00
rmcardle
d23fd3fc1f Fix merge error. 2011-12-28 20:02:40 -06:00
rmcardle
82d56f13fc Merge branch 'master' into develop
Conflicts:
	CHANGELOG.TXT
	Installer/mRemote.nsi
	mRemoteV1/App/App.Runtime.vb
	mRemoteV1/Config/Config.Connections.Load.vb
	mRemoteV1/My Project/Resources.Designer.vb
	mRemoteV1/My Project/Settings.Designer.vb
2011-12-28 19:59:06 -06:00
rmcardle
68cee49830 Upgrade solution to Visual Studio 2010 format. 2011-12-09 01:47:11 -06:00
rmcardle
5892c0cda8 Update EstimatedSize in installer. 2011-12-09 01:45:24 -06:00
rmcardle
59e09e3762 Update BUILD.CMD for VS2010. Clean up code in BUILD.CMD. Replace GetVersion.nsi with Sigcheck. 2011-12-09 01:44:57 -06:00
rmcardle
79dad7e319 Add Visual Studio solution upgrade files to .gitignore. 2011-12-09 01:36:48 -06:00
rmcardle
4455f9c71d Update CHANGELOG.TXT. 2011-12-09 01:35:21 -06:00
Riley McArdle
ed8e4e0303 Added Credits, License, and Version History items to the Start Menu and made Start Menu item names localizable. 2011-12-08 23:07:15 -06:00
Riley McArdle
56993c0785 Fixed missing link between chkUseOnlyErrorsAndInfosPanel and CheckedChanged event handler. 2011-12-08 23:01:10 -06:00
rmcardle
ec830a3fc4 Add issue #72 to CHANGELOG.TXT. 2011-12-08 01:18:35 -06:00
rmcardle
cb224a352a Add support for PuTTYNG. 2011-12-08 01:15:21 -06:00
rmcardle
99b981b988 Merge remote-tracking branch 'origin/release/1.69' into release/1.69 2011-12-08 01:12:42 -06:00
rmcardle
e88cf2be5e Fixed issue #72 - scrollbars added to RDP window after minimize/restore of mRemoteNG 2011-12-07 23:19:51 -06:00
rmcardle
91262db838 Fixed file name in window title changing when exporting an XML file. Removed redundant code. 2011-12-06 23:05:42 -06:00
rmcardle
e339fb1390 Revert AssemblyCompany change from 72e2d9c2ab to fix settings migration. 2011-12-06 22:59:39 -06:00
rmcardle
4644741849 Fixed issue #67 - Connection file gets erased 2011-12-06 03:21:28 -06:00
rmcardle
f249505d84 Merge branch 'release/1.69' into develop
Conflicts:
	CHANGELOG.TXT
	mRemoteV1/Forms/frmOptions.vb
	mRemoteV1/My Project/AssemblyInfo.vb
	mRemoteV1/My Project/Resources.Designer.vb
	mRemoteV1/My Project/Resources.resx
2011-12-05 00:59:32 -06:00
rmcardle
6792737f25 Merge branch 'release/1.68' into develop
Conflicts:
	CHANGELOG.TXT
	mRemoteV1/App/App.Runtime.vb
	mRemoteV1/My Project/AssemblyInfo.vb
2011-12-05 00:48:55 -06:00
Riley McArdle
87b0f317d1 Updated AssemblyVersion to 1.69. 2011-07-29 02:12:11 -05:00
Riley McArdle
2778f8d1c3 Disabled automatic updates in the portable edition 2011-07-29 02:10:15 -05:00
Riley McArdle
b67a68b100 Added code to BUILD.CMD to digitally sign binaries 2011-07-29 01:22:01 -05:00
Riley McArdle
72e2d9c2ab Changed company name to Next Generation Software 2011-07-29 01:21:56 -05:00
Riley McArdle
2af9e02029 Updated PuTTY to version 0.61 2011-07-29 01:21:47 -05:00
Riley McArdle
7b6d01a965 Fixed issue #66 - Fresh Install Fails to Create Config 2011-07-29 01:21:37 -05:00
Riley McArdle
d9cfda43b6 Updated BUILD.CMD, CHANGELOG.TXT, and AssemblyInfo.vb for version 1.68. 2011-07-07 16:22:07 -05:00
Riley McArdle
d15aa639f5 Fixed issue #48 - VerifyDatabaseVersion fails with new (empty) database tables. 2011-07-07 16:11:30 -05:00
Riley McArdle
8a70a3e64b Fixed issue #60 - Can't save connections file and issue #62 - Connection file error upon launch. 2011-07-07 16:10:55 -05:00
Riley McArdle
1a26a6a145 Renamed translation files from Resources.xx.resx to Language.xx.resx. Refactored string resources from My.Resources to My.Language. Moved neutral (en) string resources to Language.resx. 2011-06-12 12:39:55 -05:00
Riley McArdle
5f3449876e Removed image references from resx for Polish translation. 2011-06-12 11:29:12 -05:00
Riley McArdle
d757443e38 Hide the panel tabs if only one panel is open. 2011-06-12 02:02:34 -05:00
Riley McArdle
f8fe2c9760 Fixed missing link between chkUseOnlyErrorsAndInfosPanel and CheckedChanged event handler. 2011-06-11 21:10:25 -05:00
Riley McArdle
a24728eebf Added partial Polish translation. 2011-06-10 22:45:07 -05:00
Riley McArdle
06bdb264bc Remove CHANGELOG.TXT from project file. 2011-06-10 22:42:47 -05:00
Riley McArdle
7a2c18804b Added Credits, License, and Version History items to the Start Menu and made Start Menu item names localizable. 2011-06-10 21:54:34 -05:00
Riley McArdle
ac797aaa8e Updated EstimatedSize in installer. 2011-06-10 21:52:46 -05:00
Riley McArdle
c530ea300f Moved CHANGELOG.TXT. 2011-06-10 21:51:57 -05:00
Riley McArdle
245282bd06 Added compatibility check for "Use FIPS compliant algorithms" security setting. Improved reporting of errors when encrypting and decrypting connection files. 2011-06-10 20:57:31 -05:00
Riley McArdle
ab1930e972 Changed neutral language to English. 2011-06-06 18:33:54 -05:00
Riley McArdle
13ba0b2802 Code cleanup. 2011-06-06 17:49:55 -05:00
Riley McArdle
ee94b65fb0 Code cleanup. 2011-06-06 16:10:09 -05:00
Riley McArdle
cf16606348 Merge branch 'release/1.67' into develop 2011-06-05 12:50:06 -05:00
Riley McArdle
fb826c7fac Hide unimplemented File->Import/Export Folder menu item. 2011-06-05 12:40:20 -05:00
Riley McArdle
5b57f46d99 Hide unimplemented File->Import/Export Folder menu item. 2011-06-05 12:30:34 -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
0436a6490e Fixed some exception handling. 2011-06-05 02:48:26 -05:00
Riley McArdle
b3ee2633a8 Merge branch 'feature/sql' 2011-06-05 02:02:07 -05:00
Riley McArdle
036b90370f Code cleanup. 2011-06-05 01:54:47 -05:00
Riley McArdle
04dbfb2bf4 Fix ThreadStateException. 2011-06-05 00:30:04 -05:00
Riley McArdle
bfb137c442 Removed Spanlink related code. 2011-06-04 23:08:34 -05:00
Riley McArdle
5c2059c16f Code cleanup. 2011-06-04 21:31:14 -05:00
Riley McArdle
52694a1c4c Changed header, removed footer, and added command line to the log file. 2011-06-04 19:20:08 -05:00
Riley McArdle
961eb0b92c Removed unused data sources from project. 2011-06-04 19:12:55 -05:00
Riley McArdle
cbf74e5432 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-04 19:07:37 -05:00
Riley McArdle
760b9b5434 Enable creation of PDB debug symbol files for release builds. 2011-06-04 02:00:52 -05:00
Riley McArdle
d344e5ad16 Fixed bug 45 - Changing some settings in the config file may not save. 2011-06-03 22:00:30 -05:00
Riley McArdle
3247f9a487 Refactored App.Runtime.cL and Tree.Node.CloneNode(). 2011-06-03 21:58:08 -05:00
Riley McArdle
33a140ed60 Fixed Inherit All not affecting Enable Font Smoothing and Enable Desktop Composition. 2011-06-03 12:29:08 -05:00
Riley McArdle
0bc3cdb111 Refactored App.Runtime.ctL and UI.Window.Tree.AddFolder(). 2011-06-03 12:03:09 -05:00
Riley McArdle
127e7cce2e Only try to load 2.3 settings from SQL if the database is version 2.3. 2011-06-02 12:26:46 -05:00
Riley McArdle
db428989b1 Fixed ShowUpdatesTab to show the correct tab. 2011-06-02 12:10:08 -05:00
Riley McArdle
4c33adfee7 Added version and culture information to log on startup. 2011-06-02 12:06:09 -05:00
Riley McArdle
3876099d56 Fixed tab order of controls in Options dialog. 2011-06-01 18:41:53 -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
Riley McArdle
1cbcffdd34 Merge commit '19f2d6c6aa608c7ffa9dc813c3798fd7835d83e3' and reworded CHANGELOG.TXT 2011-04-27 12:28:34 -05:00
thrilleratplay
19f2d6c6aa *Clipboard call not passing WINPROC message when VNC connection existed. Changed order of raise event and resending WM_DRAWCLIPBOARD.
*Updated Changelog
2011-04-27 02:41:50 -04:00
Riley McArdle
e0b8d8fc9d Fixed missing text in en-US locale. Hid unfinished toolbar. 2011-04-25 10:54:58 -05:00
Riley McArdle
ee3f0bfa3a Fixed build configuration for portable release. 2011-04-25 00:14:46 -05:00
Riley McArdle
e54097cea6 Updated copyright date. 2011-04-25 00:00:59 -05:00
Riley McArdle
0db6ea0c46 Merge commit '55968e5e8530b9bbcf613c51dd25f2f80e9db99a' 2011-04-24 23:42:37 -05:00
thrilleratplay
55968e5e85 Bug Fix: Additional Keypress correction for VNCSharpNG
Bug Fix: Added proper hook to update clipboard for VNC connections
Feature Request: CTRL-Shift-Tab changes to previous connection tab
2011-04-06 14:08:12 -04:00
Andreas Rehm
83b7f111b2 Edited changelog.txt 2011-04-02 00:42:17 +02:00
Andreas Rehm
af8b6c9f07 Merge remote branch 'RileyMcArdle/master'
Conflicts:
	BUILD.CMD
	mRemoteV1/App/App.Runtime.vb
	mRemoteV1/CHANGELOG.TXT
	mRemoteV1/Connection/Connection.Protocol.VNC.vb
	mRemoteV1/Forms/frmMain.vb
	mRemoteV1/UI/UI.Window.Connection.vb
2011-04-02 00:30:09 +02:00
Riley McArdle
48ec5cdb01 Fixed encoding and added dates to CHANGELOG.TXT. 2011-03-31 20:51:40 -05:00
Riley McArdle
7923991fbf Added Tom Hiller and Andreas Rehm to CREDITS.TXT. Contributors are listed in alphabetical order. 2011-03-31 20:24:47 -05:00
Riley McArdle
e11b25f22b Revert changes to mRemoteV1/mRemoteV1.vbproj from commit 2eb2dc56bd. 2011-03-31 20:04:43 -05:00
Andreas Rehm
e1274cb69a Bugfix Weifen Luo should not show up with crownwood link 2011-03-31 19:45:58 -05:00
Andreas Rehm
6ea439e08b Weifen Luo should be mentioned on the about page
Default Panel is now translated and no longer set in app.config
2011-03-31 19:45:57 -05:00
Andreas Rehm
e06d914d0a Allow pre and post extApp for integrated Apps 2011-03-31 19:45:57 -05:00
Andreas Rehm
1a1e2452f3 Code optimization and bugfix #22 2011-03-31 19:45:57 -05:00
Andreas Rehm
611d352103 Debug infos only for Debug Config 2011-03-31 19:45:57 -05:00
Andreas Rehm
bfe68ad3eb Enabled and fixed Tab and Shift-Tab key combination in PropertyGrid 2011-03-31 19:45:57 -05:00
Andreas Rehm
6f1446fec7 Tab and Shift-Tab to cycle through property grid entries 2011-03-31 19:45:57 -05:00
Andreas Rehm
3c449f9f3d Bugfix: RDP protocol string missing 2011-03-31 19:45:56 -05:00
Andreas Rehm
25ef36d8a3 Update WeifenLuo WinFormsUI Docking library to version 2.5 RC1 2011-03-31 19:45:56 -05:00
Andreas Rehm
101ec68f76 Some fixes on german resources and notes. 2011-03-31 19:45:56 -05:00
Riley McArdle
a798785083 Merge remote branch 'remotes/thrilleratplay/master' 2011-03-31 17:33:28 -05:00
Riley McArdle
07ea389464 Added VNC clipboard fix from thrilleratplay commit 2eb2dc56bd. 2011-03-31 17:23:13 -05:00
Riley McArdle
6509de486e Fix incomplete merge of BUILD.CMD. 2011-03-31 17:12:52 -05:00
thrilleratplay
2f60379f3c Feature Request:
*Added class to create,catch and destroy system hot keys
*Added event handle for hot key CTRL-TAB to change advance to the next tab for the visible panel if mRemoteNG, internal instance of Putty or internal instance of an external application is active.  On last tab, the hot key will set focus to the first tab in the panel

Signed-off-by: thrilleratplay <thilleratplay@gmail.com>
2011-03-25 02:39:29 -04:00
thrilleratplay
5edbe78672 Bug Fix:
*VNC client missing delegate to populate remote clipboard
*Updating version of VncSharpNG.dll with corrected modifier key handling.  Corrects Windows style Copy\Cut\Paste

Signed-off-by: thrilleratplay <thilleratplay@gmail.com>
2011-03-19 14:50:29 -04:00
Andreas Rehm
94aa5357ed Bugfix Weifen Luo should not show up with crownwood link 2011-02-20 14:40:04 +01:00
Andreas Rehm
0477af479d Weifen Luo should be mentioned on the about page
Default Panel is now translated and no longer set in app.config
2011-02-20 14:28:40 +01:00
Andreas Rehm
2f296d691c Allow pre and post extApp for integrated Apps 2011-02-20 12:50:18 +01:00
Andreas Rehm
5b0ba26ecd Code optimization and bugfix #22 2011-02-20 12:19:05 +01:00
thrilleratplay
844b2e9575 Merge branch 'master' of github.com:Thrilleratplay/mRemoteNG 2011-02-19 13:03:50 -05:00
Andreas Rehm
69b4633e9e Debug infos only for Debug Config 2011-02-19 18:17:40 +01:00
Andreas Rehm
00f14684bb Enabled and fixed Tab and Shift-Tab key combination in PropertyGrid 2011-02-19 18:10:10 +01:00
Riley McArdle
2eb2dc56bd Fixed build script to properly create ZIP files. Added progress messages to build script.
Signed-off-by: thrilleratplay <thilleratplay@gmail.com>
2011-02-19 01:32:38 -05:00
Andreas Rehm
661c930d51 Tab and Shift-Tab to cycle through property grid entries 2011-02-19 00:53:30 +01:00
Andreas Rehm
9cf6086518 Bugfix build script merge 2011-02-18 00:09:09 +01:00
Andreas Rehm
7353852429 Bugfix: RDP protocol string missing 2011-02-17 23:43:30 +01:00
Andreas Rehm
2a112d1cc3 Update WeifenLuo WinFormsUI Docking library to version 2.5 RC1 2011-02-17 23:43:30 +01:00
Andreas Rehm
526412b40d Some fixes on german resources and notes. 2011-02-17 23:43:29 +01:00
Riley McArdle
3def5f2a37 Fixed build script to properly create ZIP files. Added progress messages to build script. 2011-01-22 08:13:58 +08:00
Riley McArdle
43d6a64576 Fixed build script to properly create ZIP files. Added progress messages to build script. 2010-12-02 14:36:54 -06:00
Andreas Rehm
f24b1b5cec Added RDP Reconnection Count Setting and fixed TabIndexes of Connection options page 2010-08-01 01:12:44 +08:00
Andreas Rehm
e7abe6b4cf Bufix Gecko Translation 2010-08-01 01:12:44 +08:00
Andreas Rehm
18be51ec88 Translation of PuTTY Settings 2010-08-01 01:12:44 +08:00
Andreas Rehm
32ae93b760 Bugfix - Inheritance for InheritRDGatewayUseConnectionCredentials was not loaded with conf.Load 2010-08-01 01:12:44 +08:00
Andreas Rehm
9520fbf019 Removed some strings for inheritance - rewritten to use string.format 2010-08-01 01:12:43 +08:00
Andreas Rehm
7d2a4f05f1 Rewrite of new configuration creation to vb code
* Translation of Connections and New Connections
2010-08-01 01:12:43 +08:00
Andreas Rehm
4ec984d22e Bugfixes in rdgateway inheritance, new translations, rewrite of inheritance / exclusion
* some more translations
* rdgateway inheritance implemented and fixed
* inheritance / exclusion of properties rewritten to use a list instead of string to array
  * this fixes some bugs that occured due to missing semicolons
2010-08-01 01:12:43 +08:00
Andreas Rehm
0eedd9f6ae Reorganized installer script
All language based settings reside inside of Installer\Language folder and will be included by Installer\Language\languages.nsi
2010-08-01 01:12:42 +08:00
Andreas Rehm
93f77e33c2 Prepared installer translations 2010-08-01 01:12:41 +08:00
Andreas Rehm
ea203ed539 Changed some spelling errors, modified some translations 2010-08-01 01:12:41 +08:00
Andreas Rehm
6d5d6f0247 Translation of quick connect added / and used consequently 2010-08-01 01:12:41 +08:00
Andreas Rehm
57c0236c66 More translations in App.Runtime, changed logfile syntax 2010-08-01 01:12:40 +08:00
Andreas Rehm
e1623a8157 NSIS script translations 2010-08-01 01:12:40 +08:00
Andreas Rehm
f06c4f7e6b Removed scary CultureInfo switching and added a quickfix for mRemoteNG namespace refactoring
ConfVersion was converted to an en-US numberformat by switching the CurrentCulture - this is not the best practice - replaced by ToString(new CultureInfo("en-US").

The refactoring done in commit e08c88db5f resulted in an unusable pnlLayout.xml (panel persistence) file. Added a quickfix to convert that file.
2010-08-01 01:12:40 +08:00
Andreas Rehm
be3c8de3a2 Removed hardcoded switch to de-DE 2010-08-01 01:12:37 +08:00
Andreas Rehm
f8fb72f455 Fixed en-US resx Fallback to en-GB (default) 2010-08-01 01:12:37 +08:00
Andreas Rehm
1700f1a940 And even more translations 2010-08-01 01:12:37 +08:00
Andreas Rehm
b32617b114 More translations for Connections.Protocol.RDP.vb 2010-08-01 01:12:36 +08:00
Andreas Rehm
7a25e3cc2e Refactoring and even more translations
* removed unneeded Imports
* renamed namespace to mRemoteNG
* changed Logfile path to %USERPROFILE%\AppData\Local\mRemoteNG\mRemoteNG.log
* fixed mRemoteNG.exe.config
* added more ignores to .gitignore
2010-08-01 01:12:36 +08:00
Andreas Rehm
29b1b90ae6 Even more localization
Changed button size in options/update check
2010-08-01 01:12:31 +08:00
Andreas Rehm
9852293d98 More localization
* translated/moved more strings to resx
* resized Port Scan TextFields
2010-08-01 01:12:30 +08:00
Andreas Rehm
49c758a8a6 Language fixes
* fixed all enum translations
* replaced hardcoded strings with resx Resources
2010-08-01 01:12:30 +08:00
Andreas Rehm
89fee5b579 Added still missing translations
Modified NSIS Installer and BUILD Script Versions to 1.64
2010-08-01 01:12:29 +08:00
Andreas Rehm
ccebf41645 Changed/Fixed language based data
* Fixed some german grammer mistakes
* Changed some weird translations
* moved all language strings to resx files
* added missing translations
* removed old language classes
2010-08-01 01:12:29 +08:00
Andreas Rehm
4d1003cfec Added RDP Reconnection Count Setting and fixed TabIndexes of Connection options page 2010-06-22 12:58:11 +02:00
Andreas Rehm
bd6c07e9d0 Bufix Gecko Translation 2010-06-22 01:22:24 +02:00
Andreas Rehm
45b8e5c10f Translation of PuTTY Settings 2010-05-28 19:36:45 +02:00
Andreas Rehm
176bc52f62 Bugfix - Inheritance for InheritRDGatewayUseConnectionCredentials was not loaded with conf.Load 2010-05-25 22:01:59 +02:00
Andreas Rehm
98293c99aa Removed some strings for inheritance - rewritten to use string.format 2010-05-25 20:01:16 +02:00
Andreas Rehm
9878acff9a Rewrite of new configuration creation to vb code
* Translation of Connections and New Connections
2010-05-25 18:56:49 +02:00
Andreas Rehm
e874292016 Bugfixes in rdgateway inheritance, new translations, rewrite of inheritance / exclusion
* some more translations
* rdgateway inheritance implemented and fixed
* inheritance / exclusion of properties rewritten to use a list instead of string to array
  * this fixes some bugs that occured due to missing semicolons
2010-05-25 18:21:48 +02:00
Andreas Rehm
280c6678cb Reorganized installer script
All language based settings reside inside of Installer\Language folder and will be included by Installer\Language\languages.nsi
2010-05-20 19:23:58 +02:00
Andreas Rehm
dc7460cbaa Prepared installer translations 2010-05-20 19:18:25 +02:00
Andreas Rehm
4bd4a604e7 Changed some spelling errors, modified some translations 2010-05-20 16:04:32 +02:00
Andreas Rehm
16e2c927bb Translation of quick connect added / and used consequently 2010-05-20 15:50:09 +02:00
Andreas Rehm
687fe28820 More translations in App.Runtime, changed logfile syntax 2010-05-18 18:15:52 +02:00
Andreas Rehm
ee70bea036 NSIS script translations 2010-05-18 01:12:51 +02:00
Andreas Rehm
c917193575 Removed scary CultureInfo switching and added a quickfix for mRemoteNG namespace refactoring
ConfVersion was converted to an en-US numberformat by switching the CurrentCulture - this is not the best practice - replaced by ToString(new CultureInfo("en-US").

The refactoring done in commit e08c88db5f resulted in an unusable pnlLayout.xml (panel persistence) file. Added a quickfix to convert that file.
2010-05-18 00:13:38 +02:00
Andreas Rehm
b1d40f2c74 Removed hardcoded switch to de-DE 2010-05-17 19:11:17 +02:00
Andreas Rehm
a255d24867 Fixed en-US resx Fallback to en-GB (default) 2010-05-17 19:10:25 +02:00
Andreas Rehm
5e726472bc And even more translations 2010-05-17 18:55:05 +02:00
Andreas Rehm
6ab8bb4a58 More translations for Connections.Protocol.RDP.vb 2010-05-17 17:31:12 +02:00
Andreas Rehm
e08c88db5f Refactoring and even more translations
* removed unneeded Imports
* renamed namespace to mRemoteNG
* changed Logfile path to %USERPROFILE%\AppData\Local\mRemoteNG\mRemoteNG.log
* fixed mRemoteNG.exe.config
* added more ignores to .gitignore
2010-05-16 19:30:27 +02:00
Andreas Rehm
96e6752af3 Even more localization
Changed button size in options/update check
2010-05-16 05:45:20 +02:00
Andreas Rehm
e71bf93052 More localization
* translated/moved more strings to resx
* resized Port Scan TextFields
2010-05-16 05:07:06 +02:00
Andreas Rehm
8232f10e14 Language fixes
* fixed all enum translations
* replaced hardcoded strings with resx Resources
2010-05-14 16:43:30 +02:00
Andreas Rehm
cb13433102 Added still missing translations
Modified NSIS Installer and BUILD Script Versions to 1.64
2010-05-14 16:01:24 +02:00
Andreas Rehm
3ead76ab77 Changed/Fixed language based data
* Fixed some german grammer mistakes
* Changed some weird translations
* moved all language strings to resx files
* added missing translations
* removed old language classes
2010-05-14 04:41:33 +02:00
Riley McArdle
ecf3ecbcf0 More localization work. 2010-03-16 17:28:53 -05:00
Riley McArdle
26afcaeef2 Added LocalizedCategory attribute. More localization. 2010-02-20 21:15:25 -06:00
Riley McArdle
0c1d69946d Derived attributes for DisplayName and Description to enable localization of property grids. 2010-02-20 19:52:08 -06:00
Riley McArdle
5e584cf4c7 More localization. 2010-02-20 18:54:03 -06:00
Riley McArdle
6301fcc320 More localization improvements. 2010-02-20 13:49:09 -06:00
Riley McArdle
a1fc6c0a0d Moved additional localization strings to satellite assemblies. 2010-02-18 00:06:17 -06:00
Riley McArdle
98460eea2b Started work on moving localization to satellite assemblies. 2010-02-11 21:17:44 -06:00
Riley McArdle
de0142dd37 Started working on UI improvements. 2010-02-11 18:26:29 -06:00
Riley McArdle
9a0f8881a7 Added build configuration for portable edition.
Fixes for portable edition.
Added missing Icons directory.
New build script to make release ZIPs and installer EXE.
2010-02-02 23:01:14 -06:00
Riley McArdle
7c41abb1b4 Updated Components Check to check for Remote Desktop Connection 6.1. 2010-02-02 20:57:10 -06:00
Riley McArdle
e3ae10518d Added PuTTY Settings item to tab context menu. 2010-02-01 03:58:45 -06:00
Riley McArdle
93eb34b71f Delete Interop.EOLWTSCOM.dll. 2010-02-01 03:13:50 -06:00
Riley McArdle
9ccf91ad74 Changed COM/ActiveX references to be dynamically created. 2010-02-01 03:13:00 -06:00
Riley McArdle
d44254f6b2 Popups can now be allowed in Internet Explorer by holding Ctrl+Alt when clicking a link. 2010-02-01 02:51:07 -06:00
Riley McArdle
6afe0c9748 Add Load/Save of RD Gateway information to SQL. 2010-02-01 01:16:56 -06:00
Riley McArdle
201d1b7b42 Add CREDITS.TXT. 2010-01-30 05:21:46 -06:00
Riley McArdle
61b3644a03 Changed exit confirmation from MsgBox to TaskDialog. 2010-01-30 03:43:55 -06:00
Riley McArdle
a5ac1284a2 More RD Gateway support additions. 2010-01-30 02:09:02 -06:00
Riley McArdle
090dc8b421 Added support for Credential Security Support Provider (CredSSP) which is required for Network Level Authentication (NLA). 2010-01-29 15:52:51 -06:00
Riley McArdle
e3730b4e1f Improved RDP error reporting.
Added Gateway config category.
More RD Gateway additions.
2010-01-29 01:32:51 -06:00
David Vidmar
e6ff376e5b Ignoring ReSharper cache folder. 2010-01-29 13:45:27 +08:00
Riley McArdle
829475567b More RD Gateway support additions. 2010-01-28 23:45:00 -06:00
Riley McArdle
ef983b90b2 Fixed flashing and red lines at bottom of the window on first run
Added View->Reset Layout menu item
Added F11 shortcut key to View->Full Screen
2010-01-27 01:42:38 -06:00
David Vidmar
122945b575 Removed some files from project that were missing and were not needed. 2010-01-27 07:21:40 +08:00
Riley McArdle
016fcb13f7 Started adding RD Gateway support. 2010-01-26 01:29:17 -06:00
Riley McArdle
6ef5c621e8 Fixed error if the mouse is clicked outside of the remote screen area of a VNC connection. 2010-01-24 19:08:51 -06:00
Riley McArdle
80a9c4de37 Fixed problems moving or resizing the main window while PuTTY (SSH/telnet/rlogin/raw) connections are open. Fixed PuTTY processes not closing on Vista and 7 with UAC enabled. Updated DockPanel Suite from 2.2.0 to 2.3.1. 2010-01-24 00:47:05 -06:00
Riley McArdle
d6f145ede7 New icon and logo. Changed fonts on About, Options and Update pages. 2010-01-20 17:23:09 -06:00
Riley McArdle
5fe4e9e058 Do not add language code to end of update download URL. 2010-01-19 22:10:18 -06:00
Riley McArdle
83ee8c160b Change version in installer to 1.62. Show password dialog if no password is saved for VNC connection. Added VncSharpNG.dll to source control. 2010-01-19 21:23:10 -06:00
Riley McArdle
681528cbd2 Fixed a bug with the inheritance buttons on the Config panel disappearing after awhile. 2010-01-19 01:39:08 -06:00
Riley McArdle
61db381eae Added RDP, VNC and ICA version numbers to Components Check page. Fixed check for VncSharpNG on Components Check page. 2010-01-19 01:15:15 -06:00
Riley McArdle
25e3919595 Renamed Quicky toolbar to Quick Connect toolbar. Changed back to allowing toolbars to dock to the left or right of the menu bar and added gripper to move it around. Added constants and cleaned up variable names in WndProc for frmMain. 2010-01-19 00:11:17 -06:00
Riley McArdle
2a5121d07a Only check for updates based on update frequency setting. Changed design of Check for Updates page. 2010-01-17 18:25:37 -06:00
Riley McArdle
149f5785ad Show Update Options page on first startup. Fixed persistence configuration for some settings. Code to load and save new update settings. 2010-01-17 16:20:15 -06:00
Riley McArdle
f80eadaa0d Switched VNC ViewOnly and Scaled functionality to use new properties in VncSharpNG. Adjusted the look of the About page. 2010-01-17 13:31:02 -06:00
Riley McArdle
f272af53d0 Merge Branch_1.60 back into master. 2010-01-17 00:23:51 -06:00
Riley McArdle
37854b1901 Switched to VncSharp, an open source VNC component. 2010-01-16 23:39:30 -06:00
Riley McArdle
7c151824f6 Changed version number to 1.61. No longer show About page on first run. Started adding code to open the Updates options tab before connecting for the first time. Moved Notifications settings from their own tab to the Tabs & Panels tab. Added Updates tab and moved updates settings to that tab. 2010-01-13 21:05:04 -06:00
Riley McArdle
9cb88bae36 Added more information to show for the uninstaller in Programs and Features control panel. 2010-01-11 23:03:04 -06:00
648 changed files with 182643 additions and 31180 deletions

288
.gitignore vendored
View File

@@ -1,8 +1,284 @@
Installer/bin
mRemoteV1/bin
mRemoteV1/obj
mRemoteV1/publish
**/bin/
**/obj/
**/[Rr]elease [Pp]ortable/
**/[Dd]ebug [Pp]ortable/
*.pfx
Thumbs.db
_Re[Ss]harper.*
*.resharper
*.resharper.user
*.cache
*~
*.swp
*.user*
*.pidb
*.gpState
_UpgradeReport_Files/
Backup/
UpgradeLog.XML
*.orig
*.sdf
*.opensdf
*.ipch
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.vbproj.user
Thumbs.db
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
*.msi
Installer/Resources/License.rtf
Installer/Fragments/FilesFragment.wxs
Installer Projects/Installer/Resources/License.rtf
Installer Projects/Installer/Fragments/FilesFragment.wxs
Installer Projects/Installer/Fragments/HelpFilesFragment.wxs
InstallerProjects/Installer/Fragments/FilesFragment.wxs
InstallerProjects/Installer/Resources/License.rtf

149
BUILD.CMD Normal file
View File

@@ -0,0 +1,149 @@
@echo off
setlocal enabledelayedexpansion
set VERSIONTAG=
set VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
set DEVENV="devenv.exe"
set MAKENSIS="%ProgramFiles(x86)%\NSIS\Unicode\makensis.exe"
set RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
set SIGNCMD=signtool.exe sign /n "Astrospark Technologies, LLC" /sha1 "1cbd910dbd6e77f26506e7f600736972f700673f" /tr http://timestamp.comodoca.com/rfc3161
rem Windows Sysinternals Sigcheck from http://technet.microsoft.com/en-us/sysinternals/bb897441
set SIGCHECK="%ProgramFiles(x86)%\Sigcheck\sigcheck.exe"
call %VCVARSALL% x86
rmdir /s /q "%~dp0\mRemoteV1\bin" > nul 2>&1
rmdir /s /q "%~dp0\mRemoteV1\obj" > nul 2>&1
if exist "%~dp0\mRemoteV1\bin" goto ERROR_RMDIR
if exist "%~dp0\mRemoteV1\obj" goto ERROR_RMDIR
goto NOERROR_RMDIR
:ERROR_RMDIR
echo.
echo Could not clean output directories.
echo.
echo Build process failed.
echo.
goto END
:NOERROR_RMDIR
echo Building release version...
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release"
echo Building portable version...
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release Portable"
echo Signing binaries...
%SIGNCMD% ^
"%~dp0\mRemoteV1\bin\Release\de\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\el\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\en-US\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\es\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\es-AR\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\fr\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\hu\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\it\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\nb-NO\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\nl\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\pl\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\pt\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\pt-BR\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\ru\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\uk\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\zh-CN\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\zh-TW\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release\AxInterop.MSTSCLib.dll" ^
"%~dp0\mRemoteV1\bin\Release\AxInterop.WFICALib.dll" ^
"%~dp0\mRemoteV1\bin\Release\Interop.EOLWTSCOM.dll" ^
"%~dp0\mRemoteV1\bin\Release\Interop.MSTSCLib.dll" ^
"%~dp0\mRemoteV1\bin\Release\Interop.ShDocVw.dll" ^
"%~dp0\mRemoteV1\bin\Release\Interop.WFICALib.dll" ^
"%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe" ^
"%~dp0\mRemoteV1\bin\Release Portable\de\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\el\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\en-US\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\es\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\es-AR\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\fr\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\hu\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\it\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\nb-NO\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\nl\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\pl\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\pt\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\pt-BR\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\ru\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\uk\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\zh-CN\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\zh-TW\mRemoteNG.resources.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\AxInterop.MSTSCLib.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\AxInterop.WFICALib.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\Interop.EOLWTSCOM.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\Interop.MSTSCLib.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\Interop.ShDocVw.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\Interop.WFICALib.dll" ^
"%~dp0\mRemoteV1\bin\Release Portable\mRemoteNG.exe" ^
rem Do not remove the two blank lines above this line.
mkdir "%~dp0\Release" > nul 2>&1
echo Getting product version...
set VERSIONNSH="%~dp0\Release\Version.nsh"
set SIGCHECK=!SIGCHECK:"=^"!
set SIGCHECK=!SIGCHECK: =^^ !
set SIGCHECK=!SIGCHECK:(=^^(!
set SIGCHECK=!SIGCHECK:)=^^)!
for /F "usebackq delims=. tokens=1-4" %%i in (`!SIGCHECK! /accepteula -q -n "%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe"`) do (
set PRODUCT_VERSION_SHORT=%%i.%%j
echo ^^!define PRODUCT_VERSION "%%i.%%j.%%k.%%l" > %VERSIONNSH%
echo ^^!define PRODUCT_VERSION_SHORT "%%i.%%j" >> %VERSIONNSH%
echo ^^!define PRODUCT_VERSION_MAJOR "%%i" >> %VERSIONNSH%
echo ^^!define PRODUCT_VERSION_MINOR "%%j" >> %VERSIONNSH%
)
echo Version is %PRODUCT_VERSION_SHORT%
echo Creating installer package...
if defined VERSIONTAG (
%MAKENSIS% /DPRODUCT_VERSION_TAG=%VERSIONTAG% "%~dp0\Installer\mRemote.nsi"
set INSTALLEREXE="%~dp0\Release\mRemoteNG-Installer-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.exe"
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 INSTALLEREXE="%~dp0\Release\mRemoteNG-Installer-%PRODUCT_VERSION_SHORT%.exe"
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%.zip"
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%.zip"
)
del %VERSIONNSH%
echo Signing installer package...
%SIGNCMD% %INSTALLEREXE%
echo Creating release ZIP file...
del /f /q %BINARYZIP% > nul 2>&1
%RAR% a -m5 -r -ep1 -afzip -inul %BINARYZIP% "%~dp0\mRemoteV1\bin\Release\*.*"
%RAR% a -m5 -r -ep1 -afzip -inul %BINARYZIP% "%~dp0\Installer\Dependencies\*.*"
%RAR% a -m5 -ep -afzip -inul %BINARYZIP% "%~dp0\*.TXT"
echo Creating portable ZIP file...
del /f /q %PORTABLEZIP% > nul 2>&1
%RAR% a -m5 -r -ep1 -afzip -inul %PORTABLEZIP% "%~dp0\mRemoteV1\bin\Release Portable\*.*"
%RAR% a -m5 -r -ep1 -afzip -inul %PORTABLEZIP% "%~dp0\Installer\Dependencies\*.*"
%RAR% a -m5 -ep -afzip -inul %PORTABLEZIP% "%~dp0\*.TXT"
echo.
echo Build process complete.
echo.
:END
pause

View File

@@ -1,8 +1,462 @@
1.61:
1.74 (2016-06-28):
Supported Platforms/Components:
-------------------------------
Windows 7 SP1 (with RDP Client v8: KB2592687/KB2923545) or later
.NET Framework 4 or later
XULRunner is no longer required for Gecko support (see below)
General Changes:
----------------
Converted source from Visual Basic to C Sharp
Lots of code refactoring/clean up/general stability changes
MR-714: Removed Keyboard shortcut functionality
- Introduced in 1.73 beta that was never officially released
- This caused stability issues
- May be re-added in a future release
- Removal does *NOT* impact the ability to send keyboard shortcuts to RDP sessions (when redirect key combinations is set to "yes")
MR-559: Removed RDP Sessions panel functionality. This required a library for which no trusted origin/source could be located
Removed a bunch of old code/libraries and replaced them accordingly
Security Updates:
-----------------
MR-775, MR-745: Updated PuTTY to 0.67
Features/Enhancements:
----------------------
Updated to latest DockPanelSuite and enabled a slick new theme!
MR-145: Installer is now MSI based
MR-255: Updated RDP Client to version 8
MR-389: Updates to IE rendering engine
- Support for latest version of IE (9-11)
- Dropped support for IE 7 & IE 8
MR-850: Replaced XULRunner with GeckoFx
- No need to manually configure to have the Gecko rendering engine available now
- Install image is now significantly larger due to the inclusion of the Gecko Engine
MR-821: Initial Japanese translation included
Port Scan is now Asynchronous (and is significantly faster)
Fixes:
------
MR-874: Added work-around to installer to ignore installation prerequisites
MR-884: Slow startup in some scnearios checking authenticode certificate
MR-872: Crash in External Tools when arguments aren't quoted
MR-854: crashes when right clicking on connection tab
MR-852: Option "Allow only a single instance of the application" non-functional
MR-836: Trying to delete a folder of connections only deletes 2 connections at a time
MR-824, MR-706: Suppress Script Errors when using the IE rendering engine
MR-822: Improve RDP error code messages
MR-640: Fixed Inheritance not working
MR-639: RDP: Connect to console session
MR-610, MR-582, MR-451: RDP: Protocol Error 3334 or exceptions with large number of connections open
- This problem appears largely resolved by most reports and testing
- Further workarounds/problem avoidance: Disable Bitmap Caching on all RDP session configuration
MR-429: Display issue on the Options -> Advanced panel
MR-385: Inheritance settings lost when moving item to the root of the tree
1.73 Beta 2 (NEVER RELEASED):
Fixed issue MR-619 - Keyboard shortcuts stop working after locking the screen with Win+L
Added support for importing files from PuTTY Connection Manager.
Improved the import and export functionality.
1.73 Beta 1 (2013-11-19):
Added feature MR-16 - Add keyboard shortcuts to switch between tabs
Added feature MR-141 - Add a default protocol option
Added feature MR-212 - Add option to connect without credentials
Added feature MR-512 - Add support for importing files from Remote Desktop Connection Manager
Added feature MR-547 - Add support for Xming Portable PuTTY
Made improvement MR-250 - Show the name of the selected connection tab in the title of the window
Made improvement MR-367 - Make the 'Connect' button on the 'Quick Connect' toolbar a forced dropdown
Made improvement MR-419 - Password prompt dialog should have a meaningful window title
Made improvement MR-486 - Allow escaping of variable names for external tools
Made improvement MR-590 - Make panels docked to the edge of the window keep their size
Fixed issue MR-187 - F7 keyboard shortcut for New Folder conflicts with remote connections
Fixed issue MR-523 - Changes to external tools are not saved until exiting the program
Fixed issue MR-556 - Export fails when overwriting an existing file
Fixed issue MR-594 - Crash on startup if write access is denied to the IE browser emulation registry key
Fixed issue MR-603 - Some configuration options are still shown even when inheritance is enabled
MR-590: Added "Reset" to config panel context menu to allow resetting some config settings to their default value.
Added and improved menu icons.
Removed misleading log messages about RD Gateway support.
Removed invalid "Site" configuration option from PuTTY Saved Sessions.
Fixed PuTTY Saved Sessions still showing if all saved sessions are removed.
Fixed config panel showing settings from previously loaded connection file after loading a new one.
Improved handling of variables in external tool arguments.
1.72 (2013-11-13):
Fixed issue MR-592 - Unable to run VBS script as an external tool
Fixed issue MR-596 - Incorrect escaping of quotation marks in external tool arguments
1.71 (2013-10-29):
Fixed issue MR-574 - Crash when retrieving RDP session list if eolwtscom.dll is not registered
Fixed issue MR-578 - Connections file is reset
Fixed log file not showing operating system version on Windows XP and Windows Server 2003.
Fixed the wrong connections file opening on startup under certain conditions.
Fixed checking for updates even when disabled.
Improved error reporting when loading connections files.
Removed warning message when mRemoteNG is started for the first time about new connections file being created.
1.71 Release Candidate 2 (2013-10-16):
Fixed issue MR-560 - Cannot Auto-Update With Open Connections: Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32'
Fixed issue MR-565 - Double Folder keep heritage on the initial Folder
Fixed issue MR-566 - Typo in German UI Automatic Update Settings
Fixed duplicated folders possibly being named "New Connection" instead of the original folder's name.
1.71 Release Candidate 1 (2013-10-01):
Fixed issue MR-495 - Having a negative range in port scan creates memory exhaustion.
Fixed issue MR-514 - Window Proxy test failed without close button
Fixed issue MR-521 - Right-Clicking in "Sessions" panel crashes mRemoteNG
Fixed issue MR-525 - Could not start on windows 7 64bit
Fixed issue MR-535 - SQL error saving Connections
Fixed issue MR-538 - RDP loses connection when hiding config or connections pane
Fixed issue MR-542 - Wrapped putty has security flaw
Made minor improvements to the port scan functionality.
Fixed possible cross-thread operation exception when loading connections from SQL.
Fixed PuTTY Saved Sessions not showing after loading a new connections file.
Updated PuTTY to version 0.63.
Updated translations.
Added Chinese (Traditional) translation.
Added partial Greek and Hungarian translations.
1.71 Beta 5 (2013-06-09):
Fixed issue MR-491 - Could not start RDP Connection
Fixed issue MR-499 - TS Gateway is not working in latest release 1.71
Fixed typo in SQL queries.
1.71 Beta 4 (2013-05-28):
Added feature MR-435 - Add digital signature check to updater
Fixed issue MR-255 - The version of the RDP AX client should be updated to 7
Fixed issue MR-392 - Sessions Panel - context menu entries need to be context aware
Fixed issue MR-422 - Gives error Object reference not set to an instance of an object.
Fixed issue MR-424 - Import of a few Linux SSH2 hosts discovered via the port scan tool results in a UE
Fixed issue MR-439 - MRemoteNG 1.70 does not start
Fixed issue MR-440 - RDP import with non-standard port
Fixed issue MR-443 - Instructions for eolwtscom.dll registration for Portable version are inaccurate
Fixed issue MR-446 - Putty saved sessions show in connection panel
Fixed issue MR-459 - Maximized -> Minimized -> Restored results in mangled active display
Fixed issue MR-463 - Add support for LoadBalanceInfo to RDP
Fixed issue MR-470 - Quick Connect to Linux server uses invalid credentials
Fixed issue MR-471 - PuTTY Saved Sessions disappears from connection list
Fixed issue MR-487 - Initiate connections on MouseUp event
Added PuTTY Session Settings command to the Config panel for PuTTY Saved Sessions.
Updated translations.
Added Norwegian (Bokmal) and Portuguese (Brazil) translations.
Added Spanish translation to the installer.
Fixed an exception or crash when choosing unnamed colors for themes.
Fixed possible error "Control does not support transparent background colors" when modifying themes.
Fixed changes to the active theme not being saved reliably.
Fixed handling of the plus (+) character in PuTTY session names.
Changed Internet Explorer to no longer force IE7 compatibility mode.
Changed the "Launch PuTTY" button in the "Options" dialog to open PuTTY from the path the user has currently set, instead of what was previously saved.
Improved update and announcement checking.
Improved the PuTTY Saved Sessions list to update automatically when any changes are made.
Improved loading time of large connection files.
Lowered required version of RDC from 6.1 to 6.0.
Updated VncSharpNG to 1.3.4896.25007.
1.71 Beta 3 (2013-03-20):
Fixed issue MR-397 - Putty disappears from the screen
Fixed issue MR-398 - Full Screen mode doesn't correctly make use of available space
Fixed issue MR-402 - scrollbar touch moves putty window
Fixed issue MR-406 - Items disappear from External Tools toolbar when accessing External Tools panel
Fixed issue MR-410 - Unhandled exception when clicking New button under Theme
Fixed issue MR-413 - Can't use aplication
Fixed new connections having a globe icon.
Fixed the category names in the themes tab of the options dialog on Windows XP not showing correctly.
Fixed PuTTY saved sessions with spaces or special characters not being listed.
1.71 Beta 2 (2013-03-19):
Added feature MR-336 - Customizable background color for the windows/panels
Added feature MR-345 - Two separate options for confirming closure of Tabs and Connection Panels
Added feature MR-346 - Option to show/hide the description box at the bottom of the Config panel
Added feature MR-351 - Import connections from PuTTY
Fixed issue MR-354 - Re-ordering tabs doesn't give good, reliable visual feedback
Fixed issue MR-375 - Changing a connection's icon using the picture button should immediately update Icon field
Fixed issue MR-377 - Several redundant panels can be opened
Fixed issue MR-379 - Connection variables not working with external tools
Fixed issue MR-381 - Notifications panel - whitespace context menu allows Copy and Delete on nothing
Fixed issue MR-401 - Checkbox misaligned
The username and domain settings are now hidden for VNC connections since they are not supported.
Changed "Automatically get session information" to be disabled by default.
RDP connections can now be switched to full screen mode when redirect key combinations is enabled.
1.71 Beta 1 (2013-03-04):
Added feature MR-329 - Create Option to disable the "Quick: " prefix
Fixed issue MR-67 - Sort does not recursively sort
Fixed issue MR-117 - Remote Session Info Window / Tab does not populate
Fixed issue MR-121 - Config pane not sorting properties correctly when switching between alphabetical and categorized view
Fixed issue MR-130 - Issues duplicating folders
Fixed issue MR-142 - Start of mRemoteNG takes about one minute and consumes excessive CPU
Fixed issue MR-158 - Password field not accepting Pipe
Fixed issue MR-330 - Portable version saves log to user's profile folder
Fixed issue MR-333 - Unnecessary prompt for 'close all open connections?'
Fixed issue MR-342 - Incorrect view in config pane of new connection after viewing default inheritance
Fixed issue MR-352 - Passwords with " (quotation mark) and # (hash key) characters make mRemoteNG to open PuttyNG dialog
Fixed issue MR-362 - Rename 'Screenshot Manager' to 'Screenshots' on the View menu to match Panel name
Added detection of newer versions of connection files and database schemata. mRemoteNG will now refuse to open them to avoid data loss.
Improved appearance and discoverability of the connection search box.
If RDC 7.0 or higher is installed, the connection bar is no longer briefly shown when connecting to an RDP connection with redirect key combinations enabled.
If RDC 8.0 or higher is installed, RDP connections automatically adjust their size when the window is resized or when toggling full screen mode.
1.70 (2013-03-07):
Fixed issue MR-339 - Connection group collapses with just one click
Fixed issue MR-340 - Object reference not set to an instance of an object.
Fixed issue MR-344 - Move "Always show panel tabs" option
Fixed issue MR-350 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
Fixed issue MR-355 - Moving sub folders to top level causes property loss
Fixed tabs not closing on double-click when the active tab is a PuTTY connection.
1.70 Release Candidate 2 (2013-02-25):
Fixed issue MR-332 - Can't select different tab with one click after disconnecting existing tab
Fixed issue MR-338 - PuTTYNG crashing on fresh install of mRemoteNG
Re-enabled PuTTYNG integration enhancements on Windows 8
1.70 Release Candidate 1 (2013-02-22):
Fixed issue MR-183 - Error trying to save connections when using SQL - Invalid column name _parentConstantId
Fixed issue MR-225 - Tabs do not open in a panel until multiple panels are displayed.
Fixed issue MR-229 - Integrated PuTTY doesn't work in Windows 8 RP
Fixed issue MR-264 - Windows 8 support
Fixed issue MR-317 - Difficulty right-clicking on Tab
Fixed issue MR-318 - Wrong tab gets selected when tab names overflow on the tab bar
Fixed issue MR-321 - New connection panel doesn't get panel header if its the only one or is moved
Fixed issue MR-322 - Connection Button not listing servers
Added option to always show panel tabs.
Fixed "Decryption failed. Padding is invalid and cannot be removed." notification.
Fixed KiTTY opening in a separate window when using a saved session.
1.70 Beta 2 (2013-02-18):
Fixed issue MR-47 - Silent Installation Prompts for Language
Fixed issue MR-54 - Error When disconnecting from SSL channel RDP
Fixed issue MR-58 - Bug when duplicating connection in connection view
Fixed issue MR-68 - Config Window Loses Options
Fixed issue MR-71 - Minimizing mRemoteNG causes temporary re-size of Putty sessions (windows)
Fixed issue MR-80 - Reconnect previous sessions
Fixed issue MR-81 - Problem Duplicating Folder w/ Sub-Folders
Fixed issue MR-85 - Microsoft .NET Framework warning
Fixed issue MR-86 - Citrix GDI+ Error when screen is locked
Fixed issue MR-96 - When pressing SHIFT+F4 to create a new connection inside a folder, the new connections doesn't inherit any properties from its parent
Fixed issue MR-101 - Collapse all folders causes a NullReferenceException
Fixed issue MR-165 - Can't close About window if it is the last tab
Fixed issue MR-166 - Inheritance button is disabled on some connections
Fixed issue MR-167 - Name and description of properties not show in inheritance list
Fixed issue MR-171 - Inherit configuration not showing friendly names for each inherit component
Fixed issue MR-172 - RDGatewayPassword is unencrypted in confCons.xml file
Fixed issue MR-174 - Trailing Space on a Hostname/IP will cause the connection not to happen.
Fixed issue MR-175 - Problem with focus when 2 or more PuTTY sessions opened
Fixed issue MR-176 - Del key while editing connection name triggers 'Delete Connection'
Fixed issue MR-178 - 3 different panels crashes all connections
Fixed issue MR-181 - Sessions on startup
Fixed issue MR-190 - Can't click on tab/session
Fixed issue MR-196 - Cannot export list without usernames and passwords
Fixed issue MR-199 - when using screen inside putty, screen becomes dead when reduce mremoteNG
Fixed issue MR-202 - The Connection "Tab" show Ampersands as underscores.
Fixed issue MR-214 - Hostname/IP reset
Fixed issue MR-224 - Session tabs become un-clickable after duplicating a tab or opening a new one in the same panel
Fixed issue MR-233 - Backslash at end of password prevents success of putty invocation and corresponding auto-logon
Fixed issue MR-235 - Config file gets corrupted when leaving the password entry box with ESC
Fixed issue MR-264 - Windows 8 support
Fixed issue MR-277 - Inheritance configuration button not appear in configuration tab
Fixed issue MR-284 - SSH: Text not showing properly
Fixed issue MR-299 - mRemoteNG crashes while using remotely (Windows XP remote desktop)
Fixed issue MR-306 - Fatal .NET exception on program start
Fixed issue MR-313 - PuTTY window not maximized when loading from saved session
mRemoteNG now requires .NET Framework 3.0 instead of 2.0.
Updated translations.
Added translations for Spanish (Argentina), Italian, Polish, Portuguese, Chinese (Simplified).
Improved the use of Tab and Shift-Tab to cycle through entries in the Config grid.
Improved loading of XML files from older versions of mRemote/mRemoteNG.
1.70 Beta 1 (2012-02-27):
Fixed issue MR-77 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
Fixed issue MR-78 - Renaming Connections
Fixed issue MR-79 - MoveUp/Down item doesn't work + Sort button broken
Fixed issue MR-93 - Regional settings problem when using SQL connection in mRemoteNG
Fixed issue MR-97 - Integrate Dutch translation
Fixed issue MR-98 - Integrate Russian and Ukranian translations
Fixed issue MR-99 - Integrate Spanish translation
Fixed issue MR-131 - RD Gateway does not respect setting for use different credentials
Added compatibility check for "Use FIPS compliant algorithms" security setting.
Improved reporting of errors when encrypting and decrypting connection files.
Added partial Polish translation.
The panel tabs are now hidden if only one panel is open.
Fix focus issue with RDP connections when changing tabs.
Show changes live as connection tabs are being dragged around to change their order.
Updated PuTTY to version 0.62.
Improved error handling when loading connection files.
Fixed bugs with creating a new connection file.
A backup of the connection file is saved when it is loaded. The most recent ten backup copies are kept.
Added the option to use a smart card for RD Gateway credentials.
Made the use of CredSSP for RDP connections optional.
Updated VncSharpNG to version 1.2.4440.36644.
Added debugging symbols for VncSharpNG.
1.69 (2011-12-09):
Fixed issue #66 - Fresh Install Fails to Create Config
Fixed issue #69 - Connection file gets erased
Fixed issue #72 - scrollbars added to RDP window after minimize/restore of mRemoteNG
Disabled automatic updates in the portable edition
Fixed file name in window title changing when exporting an XML file.
Fixed Use only Notifications panel checkbox.
Updated PuTTY to version 0.61
Binaries are now digitally signed
Added Credits, License, and Version History items to the Start Menu and made Start Menu item names localizable.
1.68 (2011-07-07):
Fixed issue #48 - VerifyDatabaseVersion fails with new (empty) database tables.
Fixed issue #60 - Can't save connections file
Fixed issue #62 - Connection file error upon launch.
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
Fixed bug 22 - External App parameter macro expansion doesn't work with "try to integrate"
Fixed bug 25 - Unhandled exception when mRemoteNG opens
Added multilanguage support and German translation to the application
Added Czech, Dutch, French, German, Polish, and Spanish translations to the installer
Added Ctrl-Tab hotkey to switch to the next tab and Ctrl-Shift-Tab to switch to the previous tab
Added Tab key to cycle through entries in the Config grid and Shift-Tab to cycle in reverse
Added ability to configure external tools to run before or after a connection is established
Fixed missing parameters in macro expansion for external tools
Fixed RD Gateway and other inheritance bugs
Changed how new connection files are created
Changed the internal namespace of the application to mRemoteNG instead of mRemote
Added credit for the DockPanel Suite to the About page
Updated DockPanel Suite to version 2.5 RC1
Updated VNCSharpNG to correct Ctrl and Alt key pass-through behavior
1.63 (2010-02-02):
New icon and logo
Fixed problems moving or resizing the main window while PuTTY (SSH/telnet/rlogin/raw) connections are open
Fixed PuTTY processes not closing on Vista and 7 with UAC enabled
Updated DockPanel Suite from 2.2.0 to 2.3.1
Fixed error if the mouse is clicked outside of the remote screen area of a VNC connection
Fixed flashing and red lines at bottom of the window on first run
Added View->Reset Layout menu item
Added F11 shortcut key to View->Full Screen
Improved RDP error reporting
Added support for Credential Security Support Provider (CredSSP) which is required for Network Level Authentication (NLA)
Added support for connecting through Remote Desktop Gateway servers
Popups can now be allowed in Internet Explorer by holding Ctrl+Alt when clicking a link
Added PuTTY Settings item to tab context menu
1.62 (2010-01-19):
Switched to VncSharp, an open source VNC component
VNC is supported again except for the following features:
Windows authentication
Setting the compression, encoding and color settings
Connecting through a proxy server
Free SmartSize mode (it does the same thing as Aspect SmartSize mode now)
Rearranged the Options page and added an Updates tab
Added option to change how often updates are checked
Open Updates options tab before connecting for the first time
No longer show About page on first run
Renamed Quicky toolbar to Quick Connect toolbar
Changed back to allowing toolbars to dock to the left or right of the menu bar and added gripper to move it around
Added RDP, VNC and ICA version numbers to Components Check page
Fixed a bug with the inheritance buttons on the Config panel disappearing after awhile
1.61 (2010-01-14):
Removed unlicensed SmartCode Solutions ViewerX VNC Viewer ActiveX
This version of mRemoteNG does not support VNC
1.60:
1.60 (2010-01-09):
Changed name to mRemoteNG
Fixed menu bar not staying docked to left side
Removed snakes game Easter egg
@@ -14,6 +468,8 @@
Moved Check for Updates to the Help menu
Changed website links in Help menu and About page to load within mRemoteNG instead of launching an external browser
-----
1.50:
Added the following formats to the "Save Connections As" function:
mRemote CSV (standard CSV file with all properties)
@@ -471,7 +927,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
@@ -481,7 +937,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

121
CREDITS.TXT Normal file
View File

@@ -0,0 +1,121 @@
Contributors
============
Current mRemoteNG dev team:
David Sparer (github.com/sparerd)
Hayato Iriumi (github.com/hiriumi)
Sean Kaim (github.com/kmscode)
Felix Deimel - mRemote original developer
Riley McArdle - mRemoteNG original developer
github.com/Brandhor
Past Contributors
=================
Jason Barbier
Wiktor Beryt
Lionel Caignec
Ruben d'Arco
Holger Henke
Tom Hiller
Apisitt Rattana
Andreas Rehm
David Vidmar
Translators
===========
Eugenio "Ryo567" Mart<72>nez
Mathieu Pape
Emanuel Silva
Robert Siwiec
Hayato Iriumi
Sebastien Thieury (github.com/SebThieu)
Included Source Code
====================
Command Line Arguments Parser 1.0
Copyright <20> 2002 Richard Lopes
MIT License
http://www.codeproject.com/KB/recipes/command_line.aspx
FilteredPropertyGrid
Copyright <20> 2006 Azuria
http://www.codeproject.com/KB/cs/FilteredPropertyGrid.aspx
Hotkey Selection Control for .NET
Copyright <20> 2006 Thomas Backman
http://www.codeproject.com/Articles/15085/A-simple-hotkey-selection-control-for-NET
InputBox
Copyright <20> 2016 Jan Slama
http://www.csharp-examples.net/inputbox/
IP TextBox
Copyright <20> 2005 mawnkay
http://www.codeproject.com/Articles/11576/IP-TextBox
Included Components
===================
ADTree 1.0
Copyright <20> 2004 Marc Merritt
Copyright <20> 2008 Felix Deimel
http://www.codeproject.com/KB/selection/ADPickerCtrl.aspx
DiffieHellman 1.0
Copyright <20> 2003 The Mentalis.org Team
Modified New BSD License
http://www.mentalis.org/
DockPanel Suite 2.10.0.beta2
Copyright <20> 2015 @roken and @lextm (formerly Weifen Luo)
MIT License
https://github.com/dockpanelsuite/dockpanelsuite
GeckoFX 45
Copyright <20> 2016 Tom Hindle
Mozilla Public License
https://bitbucket.org/geckofx/
log4net 1.2.15.0
Copyright <20> 2001-2015 The Apache Software Foundation
Apache License Version 2.0
http://logging.apache.org/log4net/
Magic Library 1.7.4
Copyright <20> 2002-2003 Crownwood Consulting, Ltd.
Freely redistributable with attribution
http://www.dotnetmagic.com/magic_download.html
Mentalis.org Security Library 1.0.13.715
Copyright <20> 2002-2005 The Mentalis.org Team
Modified New BSD License
http://www.mentalis.org/
PuTTY 0.67
Copyright <20> 1997-2016 Simon Tatham
MIT License
http://www.chiark.greenend.org.uk/~sgtatham/putty/
SharpSSH 1.1.1.13
Copyright <20> 2002-2008 Atsuhiko Yamanaka, JCraft, Inc.
Copyright <20> 2007 Tamir Gal
BSD Style License
http://www.tamirgal.com/blog/page/SharpSSH.aspx
Silk Icon Set
Copyright <20> 2005-2008 FAMFAMFAM
Creative Commons Attribution 2.5 License
http://www.famfamfam.com/
VncSharp 1.0
Copyright <20> 2004-2009 David Humphrey
GNU General Public License (GPL) Version 2
http://cdot.senecac.on.ca/projects/vncsharp/

Binary file not shown.

View File

@@ -1,142 +0,0 @@
!include "MUI.nsh"
!include "WordFunc.nsh"
!insertmacro VersionCompare
!DEFINE PRODUCT_VERSION_MAJOR 1
!DEFINE PRODUCT_VERSION_MINOR 61
!DEFINE PRODUCT_VERSION "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}"
!DEFINE PRODUCT_VERSION_LONG "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.0.0"
; Global Variables
Var InstallDotNET
; Basic Config
Name "mRemoteNG ${PRODUCT_VERSION}"
OutFile "bin\mRemoteNG-Installer-${PRODUCT_VERSION}.exe"
SetCompressor /SOLID lzma
InstallDir "$PROGRAMFILES\mRemoteNG"
InstallDirRegKey HKLM "Software\mRemoteNG" "InstallPath"
RequestExecutionLevel admin
; Version Information
VIProductVersion ${PRODUCT_VERSION_LONG}
!DEFINE LANG_ENGLISH "1033-English"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "mRemoteNG"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" ${PRODUCT_VERSION_LONG}
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright <20> 2007-2010 Felix Deimel, Riley McArdle"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "mRemoteNG ${PRODUCT_VERSION} Installer"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" ${PRODUCT_VERSION_LONG}
; Design
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "header.bmp" ; optional
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" ; optional
!define MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
!define MUI_HEADER_TRANSPARENT_TEXT
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcomefinish.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "welcomefinish.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
; Install Pages
!insertmacro MUI_PAGE_LICENSE "..\COPYING.TXT"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_NOAUTOCLOSE
; Finish Page
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN_Text "Launch mRemoteNG Now"
!define MUI_FINISHPAGE_RUN "$INSTDIR\mRemoteNG.exe"
!insertmacro MUI_PAGE_FINISH
; Uninstall Pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Set Language
!insertmacro MUI_LANGUAGE "English"
Function .onInit
; Check .NET version
StrCpy $InstallDotNET "No"
Call GetDotNETVersion
Pop $0
${If} $0 == "not found"
StrCpy $InstallDotNET "Yes"
${EndIf}
StrCpy $0 $0 "" 1 # skip "v"
${VersionCompare} $0 "2.0" $1
${If} $1 == 2
StrCpy $InstallDotNET "Yes"
${EndIf}
${If} $InstallDotNET == "Yes"
MessageBox MB_OK|MB_ICONEXCLAMATION "mRemoteNG requires Microsoft .NET Framework 2.0."
Quit
${EndIf}
FunctionEnd
Section "" ; Install
SetOutPath $INSTDIR
; AddFiles
File /r /x "mRemoteNG.vshost.*" "..\mRemoteV1\bin\Release\*.*"
File /r "Dependencies\*.*"
File "..\*.txt"
; Uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
; Register ActiveX components
RegDLL "$INSTDIR\eolwtscom.dll"
; Start Menu
CreateDirectory "$SMPROGRAMS\mRemoteNG"
CreateShortCut "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk" "$INSTDIR\mRemoteNG.exe"
CreateShortCut "$SMPROGRAMS\mRemoteNG\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
; Registry
WriteRegStr HKLM "Software\mRemoteNG" "InstallPath" $INSTDIR
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayName" "mRemoteNG"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayIcon" "$INSTDIR\mRemoteNG.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMajor" ${PRODUCT_VERSION_MAJOR}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMinor" ${PRODUCT_VERSION_MINOR}
SectionEnd
Section "un.Uninstall"
; Unregister ActiveX components
UnregDLL "$INSTDIR\eolwtscom.dll"
; Delete Files
RMDIR /r $INSTDIR
; Start Menu
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
RMDir "$SMPROGRAMS\mRemoteNG"
; Registry
DeleteRegValue HKLM "Software\mRemoteNG" "InstallPath"
DeleteRegKey /ifempty HKLM "Software\mRemoteNG"
DeleteRegKey /ifempty HKCU "Software\mRemoteNG"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG"
SectionEnd
Function GetDotNETVersion
Push $0
Push $1
System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1"
StrCmp $1 "error" 0 +2
StrCpy $0 "not found"
Pop $1
Exch $0
FunctionEnd

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<!--
Use supportedRuntime tags to explicitly specify the version(s) of the .NET Framework runtime that
the custom action should run on. If no versions are specified, the chosen version of the runtime
will be the "best" match to what Microsoft.Deployment.WindowsInstaller.dll was built against.
WARNING: leaving the version unspecified is dangerous as it introduces a risk of compatibility
problems with future versions of the .NET Framework runtime. It is highly recommended that you specify
only the version(s) of the .NET Framework runtime that you have tested against.
Note for .NET Framework v3.0 and v3.5, the runtime version is still v2.0.
In order to enable .NET Framework version 2.0 runtime activation policy, which is to load all assemblies
by using the latest supported runtime, @useLegacyV2RuntimeActivationPolicy="true".
For more information, see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
-->
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727"/>
</startup>
<!--
Add additional configuration settings here. For more information on application config files,
see http://msdn.microsoft.com/en-us/library/kza1yk3a.aspx
-->
</configuration>

View File

@@ -0,0 +1,60 @@
using Microsoft.Deployment.WindowsInstaller;
namespace CustomActions
{
public class CustomActions
{
[CustomAction]
public static ActionResult IsKBInstalled(Session session)
{
session.Log("Begin IsKBInstalled");
string kb = session["KB"];
session.Log("Checking if '{0}' is installed", kb);
InstalledWindowsUpdateGatherer updateGatherer = new InstalledWindowsUpdateGatherer();
bool isUpdateInstalled = updateGatherer.IsUpdateInstalled(kb);
session.Log("KB is installed = '{0}'", isUpdateInstalled);
if (isUpdateInstalled)
{
session[kb] = "1";
session.Log("Set property '{0}' to '1'", kb);
}
else
{
session[kb] = "0";
session.Log("Set property '{0}' to '0'", kb);
}
session.Log("End IsKBInstalled");
return ActionResult.Success;
}
[CustomAction]
public static ActionResult IsLegacyVersionInstalled(Session session)
{
session.Log("Begin IsLegacyVersionInstalled");
UninstallNSISVersions uninstaller = new UninstallNSISVersions();
if (uninstaller.IsLegacymRemoteNGInstalled())
{
session["LEGACYVERSIONINSTALLED"] = "1";
}
else
{
session["LEGACYVERSIONINSTALLED"] = "0";
}
session.Log("End IsLegacyVersionInstalled");
return ActionResult.Success;
}
[CustomAction]
public static ActionResult UninstallLegacyVersion(Session session)
{
session.Log("Begin UninstallLegacyVersion");
UninstallNSISVersions uninstaller = new UninstallNSISVersions();
string uninstallString = uninstaller.GetLegacyUninstallString();
uninstaller.UninstallLegacyVersion(true);
session.Log("End UninstallLegacyVersion");
return ActionResult.Success;
}
}
}

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5423D985-CB48-4344-B47F-E8C6D60C8B04}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CustomActions</RootNamespace>
<AssemblyName>CustomActions</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<WixCATargetsPath Condition=" '$(WixCATargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.CA.targets</WixCATargetsPath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject>
</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Management" />
<Reference Include="Microsoft.Deployment.WindowsInstaller">
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="CustomActions.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="InstalledWindowsUpdateGatherer.cs" />
<Compile Include="UninstallNSISVersions.cs" />
<Content Include="CustomAction.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(WixCATargetsPath)" />
</Project>

View File

@@ -0,0 +1,54 @@
using System;
using System.Management;
using System.Collections;
namespace CustomActions
{
public class InstalledWindowsUpdateGatherer
{
private ManagementScope _managementScope;
private ManagementClass _managementClass;
public InstalledWindowsUpdateGatherer()
{
_managementScope = Connect();
_managementClass = new ManagementClass("Win32_QuickFixEngineering");
}
public ManagementScope Connect()
{
try
{
return new ManagementScope(@"root\cimv2");
}
catch (ManagementException e)
{
Console.WriteLine("Failed to connect", e.Message);
throw;
}
}
public ArrayList GetInstalledUpdates()
{
string query = "SELECT * FROM Win32_QuickFixEngineering";
ArrayList installedUpdates = new ArrayList();
ManagementObjectSearcher searcher = new ManagementObjectSearcher(_managementScope, new ObjectQuery(query));
foreach(ManagementObject queryObj in searcher.Get())
{
installedUpdates.Add(queryObj["HotFixID"]);
}
return installedUpdates;
}
public bool IsUpdateInstalled(string KB)
{
bool updateIsInstalled = false;
string query = string.Format("SELECT HotFixID FROM Win32_QuickFixEngineering WHERE HotFixID='{0}'", KB);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(_managementScope, new ObjectQuery(query));
if (searcher.Get().Count > 0)
updateIsInstalled = true;
return updateIsInstalled;
}
}
}

View File

@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("HotfixInstalled")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HotfixInstalled")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5423d985-cb48-4344-b47f-e8c6d60c8b04")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
using System.Diagnostics;
using System.IO;
namespace CustomActions
{
public class UninstallNSISVersions
{
private const string REGISTRY_PATH = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\mRemoteNG";
private const string REGISTRY_PATH_Wow6432 = "Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\mRemoteNG";
private RegistryKey _activeRegistryPath;
public UninstallNSISVersions()
{
GetLegacymRemoteNGRegistryKeyPath();
}
public void UninstallLegacyVersion(bool Silent = false)
{
if (!IsLegacymRemoteNGInstalled())
return;
string uninstallString = GetLegacyUninstallString();
string forceNonTempUninstaller = string.Format("_?={0}", uninstallString.Replace("Uninstall.exe", "").Replace(@"""", ""));
string silentUninstall = "";
if (Silent)
{
silentUninstall = "/S";
}
ProcessStartInfo processStartInfo = new ProcessStartInfo(uninstallString);
processStartInfo.UseShellExecute = true;
processStartInfo.Arguments = string.Format("{0} {1}", forceNonTempUninstaller, silentUninstall);
Process uninstallProcess = Process.Start(processStartInfo);
while (uninstallProcess.HasExited == false)
{
Debug.WriteLine("Waiting for uninstaller to exit");
}
}
public bool IsLegacymRemoteNGInstalled()
{
return (_activeRegistryPath != null);
}
public string GetLegacyUninstallString()
{
if (IsLegacymRemoteNGInstalled())
return _activeRegistryPath.GetValue("UninstallString").ToString();
return "";
}
private void GetLegacymRemoteNGRegistryKeyPath()
{
GetUninstallKeyPath();
GetUninstallKeyPath6432();
}
private void GetUninstallKeyPath()
{
try
{
_activeRegistryPath = Registry.LocalMachine.OpenSubKey(REGISTRY_PATH);
}
catch (Exception ex)
{ }
}
private void GetUninstallKeyPath6432()
{
try
{
_activeRegistryPath = Registry.LocalMachine.OpenSubKey(REGISTRY_PATH_Wow6432);
}
catch (Exception ex)
{ }
}
}
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
<Fragment>
<CustomAction Id="SetRDP80KBValue" Return="check" Execute="immediate" Property="KB" Value="$(var.RDP80KB)" />
<CustomAction Id="CheckIfRDP80Installed" Return="check" Execute="immediate" BinaryKey="CustomActions.CA.dll" DllEntry="IsKBInstalled" />
</Fragment>
<Fragment>
<CustomAction Id="SetRDP81KBValue" Return="check" Execute="immediate" Property="KB" Value="$(var.RDP81KB)" />
<CustomAction Id="CheckIfRDP81Installed" Return="check" Execute="immediate" BinaryKey="CustomActions.CA.dll" DllEntry="IsKBInstalled" />
</Fragment>
</Wix>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
<Fragment>
<CustomAction Id="CheckIfLegacyVersionInstalled" Return="check" Execute="immediate" BinaryKey="CustomActions.CA.dll" DllEntry="IsLegacyVersionInstalled" />
</Fragment>
<Fragment>
<CustomAction Id="UninstallLegacyVersion" Return="check" Execute="immediate" BinaryKey="CustomActions.CA.dll" DllEntry="UninstallLegacyVersion" />
</Fragment>
</Wix>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
<xsl:output method="xml" indent="yes" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, '.xml')]" use="@Id" />
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, 'app.config')]" use="@Id" />
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, 'vshost')]" use="@Id" />
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, 'manifest')]" use="@Id" />
<xsl:key name="service-search" match="wix:Component[contains(wix:File/@Source, '.application')]" use="@Id" />
<xsl:key name="service-search" match="wix:Component[wix:File/@Source = '$(var.HarvestPath)\mRemoteNG.exe']" use="@Id" />
<xsl:key name="service-search" match="wix:Component[wix:File/@Source = '$(var.HarvestPath)\PuTTYNG.exe']" use="@Id" />
<xsl:template match="wix:Component[key('service-search', @Id)]" />
<xsl:template match="wix:ComponentRef[key('service-search', @Id)]" />
</xsl:stylesheet>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="$(var.ProductName)">
</Directory>
</Directory>
<Directory Id="DesktopFolder" Name="!(loc.Folders_Desktop)" />
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
</Directory>
</Directory>
</Fragment>
</Wix>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
<Fragment>
<Component Id="C.MainExe" Directory="APPLICATIONROOTDIRECTORY" Guid="*">
<File Id="MainExeFile" Source="$(var.SolutionDir)mRemoteV1\bin\$(var.Configuration)\mRemoteNG.exe" />
</Component>
</Fragment>
</Wix>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<ComponentGroup Id="CG.ProjectInfoFiles" Directory="APPLICATIONROOTDIRECTORY">
<Component Id="C.Changelog" Guid="*">
<File Id="ChangelogFile" Name="Changelog.txt" Source="$(var.SolutionDir)CHANGELOG.TXT" KeyPath="yes" />
</Component>
<Component Id="C.Credits" Guid="*">
<File Id="CreditsFile" Name="Credits.txt" Source="$(var.SolutionDir)CREDITS.TXT" KeyPath="yes" />
</Component>
<Component Id="C.License" Guid="*">
<File Id="LicenseFile" Name="License.txt" Source="$(var.SolutionDir)COPYING.TXT" KeyPath="yes" />
</Component>
<Component Id="C.Readme" Guid="*">
<File Id="ReadmeFile" Name="Readme.txt" Source="$(var.SolutionDir)README.TXT" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
<Component Id="C.PuttyNGFile" Guid="*">
<File Id="PuttyNGFile" Name="PuTTYNG.exe" Source="$(var.HarvestPath)\PuTTYNG.exe" KeyPath="yes" />
</Component>
</DirectoryRef>
</Fragment>
</Wix>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
<Fragment Id="Fr.Shortcuts">
<DirectoryRef Id="DesktopFolder">
<Component Id="C.DesktopShortcut" Guid="F78E5A16-A2F7-4BD9-9250-CBF3016CCCDA">
<Shortcut Id="DesktopShortcut" Name="$(var.ProductName)" Target="[APPLICATIONROOTDIRECTORY][MAINEXE]" WorkingDirectory="APPLICATIONROOTDIRECTORY" Icon="mRemoteNG.ico" />
<RegistryValue Root="HKCU" Key="Software\$(var.ProductName)" Name="DesktopShortcut" Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="C.ApplicationStartMenuShortcut" Guid="193B9E14-F40E-44F1-8514-BED253BCBF75">
<Shortcut Id="ApplicationStartMenuShortcut" Name="$(var.ProductName)" Target="[APPLICATIONROOTDIRECTORY][MAINEXE]" WorkingDirectory="APPLICATIONROOTDIRECTORY" Icon="mRemoteNG.ico" />
<Shortcut Id="CreditsShortcut" Name="Credits" Target="[APPLICATIONROOTDIRECTORY]Credits.txt" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="LicenseShortcut" Name="License" Target="[APPLICATIONROOTDIRECTORY]License.txt" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="ReadmeShortcut" Name="Readme" Target="[APPLICATIONROOTDIRECTORY]Readme.txt" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\$(var.ProductName)" Name="ApplicationStartMenuShortcut" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
</Fragment>
</Wix>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define ProductName = "mRemoteNG" ?>
<?define Company = "Next Generation Software" ?>
<?define UpgradeCode = "dd678a54-ca75-4791-8dfe-d818095684f8" ?>
<?define ProductCode = "*" ?>
<?define ProductVersion = "!(bind.FileVersion.MainExeFile)" ?>
<?define MajorVersion = "!(bind.property.ProductVersion.Major)" ?>
<?define MinorVersion = "!(bind.property.ProductVersion.Minor)" ?>
<?define BuildVersion = "!(bind.property.ProductVersion.Build)" ?>
<?define RevisionVersion = "!(bind.property.ProductVersion.Revision)" ?>
<?define ProductLanguage = 1033 ?>
<?define ExeProcessName = "$(var.ProductName).exe" ?>
<?define RequiredDotNetFrameworkMajorVersion = "4" ?>
<?define RequiredDotNetFrameworkMinorVersion = "0" ?>
<?define RequiredDotNetFrameworkServicePackLevel = "" ?>
<?define RequiredDotNetFrameworkVersion = "$(var.RequiredDotNetFrameworkMajorVersion).$(var.RequiredDotNetFrameworkMinorVersion)" ?>
<?define RDP80KB = "KB2592687" ?>
<?define RDP81KB = "KB2923545" ?>
<?define IGNOREPREREQUISITES = 0 ?>
<?if $(var.Platform) = x64 ?>
<?define ProductNameWithPlatform = "$(var.ProductName) (64 bit)" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define ProductNameWithPlatform = "$(var.ProductName)" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
</Include>

View File

@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>f0168b9f-6815-40df-ba53-46cee7683b68</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>mRemoteNG-Installer</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DefineConstants>HarvestPath=..\mRemoteV1\bin\Debug;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DefineConstants>HarvestPath=..\mRemoteV1\bin\Release;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug Portable' ">
<DefineConstants>HarvestPath=..\mRemoteV1\bin\Debug Portable;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release Portable' ">
<DefineConstants>HarvestPath=..\mRemoteV1\bin\Release Portable;</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="CustomActions\CheckForInstalledWindowsUpdates.wxs" />
<Compile Include="CustomActions\UninstallLegacyVersions.wxs" />
<Compile Include="Fragments\FilesFragment.wxs" />
<Compile Include="Fragments\DirectoriesFragment.wxs" />
<Compile Include="Fragments\MainExeFragment.wxs" />
<Compile Include="Fragments\MiscTextFilesFragment.wxs" />
<Compile Include="Fragments\PuTTYNGFragment.wxs" />
<Compile Include="Fragments\ShortcutFragment.wxs" />
<Compile Include="mRemoteNGV1.wxs" />
</ItemGroup>
<ItemGroup>
<Content Include="Dependencies\PuTTYNG.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Filters\Harvest_Filter.xslt" />
<Content Include="Includes\Config.wxi" />
<Content Include="Resources\header.bmp" />
<Content Include="Resources\License.rtf" />
<Content Include="Resources\mRemoteNG.ico" />
<Content Include="Resources\welcome.bmp" />
</ItemGroup>
<ItemGroup>
<Folder Include="CustomActions" />
<Folder Include="CustomDialogs" />
<Folder Include="Fragments" />
<Folder Include="Includes" />
<Folder Include="Localizations" />
<Folder Include="Filters" />
<Folder Include="bin" />
<Folder Include="Dependencies" />
<Folder Include="Resources" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Localizations\ru-RU.wxl" />
<EmbeddedResource Include="Localizations\ja-JP.wxl" />
<EmbeddedResource Include="Localizations\cs-CZ.wxl" />
<EmbeddedResource Include="Localizations\de-DE.wxl" />
<EmbeddedResource Include="Localizations\en-US.wxl" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
<Name>WixUIExtension</Name>
</WixExtension>
<WixExtension Include="WixNetFxExtension">
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
<Name>WixNetFxExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\mRemoteV1\mRemoteV1.csproj">
<Name>mRemoteV1</Name>
<Project>{4934a491-40bc-4e5b-9166-ea1169a220f6}</Project>
<Private>True</Private>
<DoNotHarvest>
</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>APPLICATIONROOTDIRECTORY</RefTargetDir>
</ProjectReference>
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
-->
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<LinkerAdditionalOptions>
</LinkerAdditionalOptions>
<DefineConstants>HarvestPath=$(SolutionDir)mRemoteV1\bin\Release;HelpFilesHarvestPath=$(SolutionDir)mRemoteV1\Resources\Help</DefineConstants>
<Cultures>en-US</Cultures>
<SuppressPdbOutput>True</SuppressPdbOutput>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<Cultures>en-US</Cultures>
<DefineConstants>HarvestPath=$(SolutionDir)mRemoteV1\bin\Debug;HelpFilesHarvestPath=$(SolutionDir)mRemoteV1\Resources\Help</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug Portable|x86' ">
<DefineConstants>HarvestPath=$(SolutionDir)mRemoteV1\bin\Debug Portable;HelpFilesHarvestPath=$(SolutionDir)mRemoteV1\Resources\Help</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release Portable|x86' ">
<DefineConstants>HarvestPath=$(SolutionDir)mRemoteV1\bin\Release Portable;HelpFilesHarvestPath=$(SolutionDir)mRemoteV1\Resources\Help</DefineConstants>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>REM Clean the TargetDir
rmdir /S /Q "$(TargetDir)"
echo $(ConfigurationName) &gt; buildenv.tmp
REM Harvest bin directory of the mRemoteV1 project
call "$(WIX)bin\heat.exe" dir "$(SolutionDir)mRemoteV1\bin\$(Configuration)" -ag -dr APPLICATIONROOTDIRECTORY -var var.HarvestPath -srd -cg MandatoryComponents -template fragment -out "$(ProjectDir)Fragments\FilesFragment.wxs" -t "$(ProjectDir)Filters\Harvest_Filter.xslt" -v
REM Convert the license file "COPYING.TXT" to "License.rtf" to be shown in the installer GUI
call "$(ProjectDir)Resources\Pandoc\pandoc.exe" -s -t rtf -o "$(ProjectDir)\Resources\License.rtf" "$(SolutionDir)COPYING.TXT"</PreBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>set /p buildenv=&lt;buildenv.tmp
REM Sign MSI
IF EXIST C:\mRemoteNG_code_signing_cert.pfx (
IF %25buildenv: Portable=%25==Release (
powershell "&amp;""$(SolutionDir)Tools\signfiles.ps1""" %27%25cd%25%27
)
)
REM Rename MSI to include version number
powershell "&amp;""$(SolutionDir)Tools\rename_installer_with_version.ps1""" %27$(SolutionDir)%27 %27!(TargetPath)%27
REM Copy MSI to Release folder
IF %25buildenv: Portable=%25==Release (powershell "&amp;""$(SolutionDir)Tools\copy_release_installer.ps1""" %27$(TargetDir)%27 %27$(SolutionDir)Release%27)</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="cs-CZ" Language="1029" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- Install Conditions -->
<String Id="Upgrade_NewerVersionInstalled" Overridable="yes">A newer version of [ProductName] is already installed.</String>
<String Id="Install_NeedToBeAdminToInstall">You need to be an administrator to install this product.</String>
<String Id="Install_NeedDotNetFrameworkVersion">mRemoteNG requires Microsoft .NET Framework $(var.RequiredDotNetFrameworkVersion).</String>
<String Id="Install_OSVersionRequirement">mRemoteNG requires Windows 7 SP1 or higher to run. Please update your operating system and try again.</String>
<String Id="Install_RDP80Requirement">mRemoteNG requires RDP 8.0 or higher to run. Windows 7 users will need to install KB2592687</String>
<String Id="Install_Win7RequiresSP1">For mRemoteNG to run on Windows 7, it requires Service Pack 1 to be installed. Please install Service Pack 1 and try again.</String>
<!-- Directories and File names -->
<String Id="Folders_Desktop">Desktop</String>
<String Id="File_Credits">Credits</String>
<String Id="File_License">License</String>
<String Id="File_VersionHistory">Version History</String>
<!-- Features and install options -->
<String Id="Feature_Complete">Complete</String>
<String Id="Feature_DesktopShortcut">Desktop Shortcut</String>
<String Id="Feature_StartMenuShortcut">Start menu shortcut</String>
<!-- GUI Page Text -->
<String Id="FinishPage_LaunchMremoteNow" Overridable="yes">Launch [ProductName] Now</String>
</WixLocalization>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="de-DE" Language="1031" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- Install Conditions -->
<String Id="Upgrade_NewerVersionInstalled" Overridable="yes">A newer version of [ProductName] is already installed.</String>
<String Id="Install_NeedToBeAdminToInstall">You need to be an administrator to install this product.</String>
<String Id="Install_NeedDotNetFrameworkVersion">mRemoteNG requires Microsoft .NET Framework $(var.RequiredDotNetFrameworkVersion).</String>
<String Id="Install_OSVersionRequirement">mRemoteNG requires Windows 7 SP1 or higher to run. Please update your operating system and try again.</String>
<String Id="Install_RDP80Requirement">mRemoteNG requires RDP 8.0 or higher to run. Windows 7 users will need to install KB2592687</String>
<String Id="Install_Win7RequiresSP1">For mRemoteNG to run on Windows 7, it requires Service Pack 1 to be installed. Please install Service Pack 1 and try again.</String>
<!-- Directories and File names -->
<String Id="Folders_Desktop">Desktop</String>
<String Id="File_Credits">Credits</String>
<String Id="File_License">License</String>
<String Id="File_VersionHistory">Version History</String>
<!-- Features and install options -->
<String Id="Feature_Complete">Complete</String>
<String Id="Feature_DesktopShortcut">Desktop Shortcut</String>
<String Id="Feature_StartMenuShortcut">Start menu shortcut</String>
<!-- GUI Page Text -->
<String Id="FinishPage_LaunchMremoteNow" Overridable="yes">mRemoteNG jetzt Starten</String>
</WixLocalization>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-US" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- Install Conditions -->
<String Id="Upgrade_NewerVersionInstalled" Overridable="yes">A newer version of [ProductName] is already installed.</String>
<String Id="Install_NeedToBeAdminToInstall">You need to be an administrator to install this product.</String>
<String Id="Install_NeedDotNetFrameworkVersion">mRemoteNG requires Microsoft .NET Framework [REQUIREDDOTNETFRAMEWORKVERSION] or higher.</String>
<String Id="Install_OSVersionRequirement">mRemoteNG requires Windows 7 SP1 or higher to run. Please update your operating system and try again.</String>
<String Id="Install_RDP80Requirement">mRemoteNG requires RDP 8.0 or higher to run. Windows 7 users will need to install KB2592687</String>
<String Id="Install_Win7RequiresSP1">For mRemoteNG to run on Windows 7, it requires Service Pack 1 to be installed. Please install Service Pack 1 and try again.</String>
<!-- Directories and File names -->
<String Id="Folders_Desktop">Desktop</String>
<String Id="File_Credits">Credits</String>
<String Id="File_License">License</String>
<String Id="File_VersionHistory">Version History</String>
<!-- Features and install options -->
<String Id="Feature_Complete">Complete</String>
<String Id="Feature_DesktopShortcut">Desktop Shortcut</String>
<String Id="Feature_StartMenuShortcut">Start menu shortcut</String>
<!-- GUI Page Text -->
<String Id="FinishPage_LaunchMremoteNow" Overridable="yes">Launch [ProductName] Now</String>
</WixLocalization>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-JP" Language="1041" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- Install Conditions -->
<String Id="Upgrade_NewerVersionInstalled" Overridable="yes">A newer version of [ProductName] is already installed.</String>
<String Id="Install_NeedToBeAdminToInstall">You need to be an administrator to install this product.</String>
<String Id="Install_NeedDotNetFrameworkVersion">mRemoteNG requires Microsoft .NET Framework $(var.RequiredDotNetFrameworkVersion).</String>
<String Id="Install_OSVersionRequirement">mRemoteNG requires Windows 7 SP1 or higher to run. Please update your operating system and try again.</String>
<String Id="Install_RDP80Requirement">mRemoteNG requires RDP 8.0 or higher to run. Windows 7 users will need to install KB2592687</String>
<String Id="Install_Win7RequiresSP1">For mRemoteNG to run on Windows 7, it requires Service Pack 1 to be installed. Please install Service Pack 1 and try again.</String>
<!-- Directories and File names -->
<String Id="Folders_Desktop">Desktop</String>
<String Id="File_Credits">Credits</String>
<String Id="File_License">License</String>
<String Id="File_VersionHistory">Version History</String>
<!-- Features and install options -->
<String Id="Feature_Complete">Complete</String>
<String Id="Feature_DesktopShortcut">Desktop Shortcut</String>
<String Id="Feature_StartMenuShortcut">Start menu shortcut</String>
<!-- GUI Page Text -->
<String Id="FinishPage_LaunchMremoteNow" Overridable="yes">Launch [ProductName] Now</String>
</WixLocalization>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ru-RU" Language="1049" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- Install Conditions -->
<String Id="Upgrade_NewerVersionInstalled" Overridable="yes">A newer version of [ProductName] is already installed.</String>
<String Id="Install_NeedToBeAdminToInstall">You need to be an administrator to install this product.</String>
<String Id="Install_NeedDotNetFrameworkVersion">mRemoteNG requires Microsoft .NET Framework $(var.RequiredDotNetFrameworkVersion).</String>
<String Id="Install_OSVersionRequirement">mRemoteNG requires Windows 7 SP1 or higher to run. Please update your operating system and try again.</String>
<String Id="Install_RDP80Requirement">mRemoteNG requires RDP 8.0 or higher to run. Windows 7 users will need to install KB2592687</String>
<String Id="Install_Win7RequiresSP1">For mRemoteNG to run on Windows 7, it requires Service Pack 1 to be installed. Please install Service Pack 1 and try again.</String>
<!-- Directories and File names -->
<String Id="Folders_Desktop">Desktop</String>
<String Id="File_Credits">Credits</String>
<String Id="File_License">License</String>
<String Id="File_VersionHistory">Version History</String>
<!-- Features and install options -->
<String Id="Feature_Complete">Complete</String>
<String Id="Feature_DesktopShortcut">Desktop Shortcut</String>
<String Id="Feature_StartMenuShortcut">Start menu shortcut</String>
<!-- GUI Page Text -->
<String Id="FinishPage_LaunchMremoteNow" Overridable="yes">Launch [ProductName] Now</String>
</WixLocalization>

View File

@@ -0,0 +1,85 @@
{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 GNU GENERAL PUBLIC LICENSE\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Version 2, June 1991\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Copyright (C) 1989, 1991 Free Software Foundation, Inc.\line 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Preamble\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software\u8211-to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation\u8217's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Also, for each author\u8217's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors\u8217' reputations.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone\u8217's free use or not licensed at all.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The precise terms and conditions for copying, distribution and modification follow.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 GNU GENERAL PUBLIC LICENSE\par}
{\pard \ql \f0 \sa180 \li0 \fi0 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 0.\tx360\tab This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The \u8220"Program\u8221", below, refers to any such program or work, and a \u8220"work based on the Program\u8221" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term \u8220"modification\u8221".) Each licensee is addressed as \u8220"you\u8221".\par}
{\pard \ql \f0 \sa180 \li360 \fi0 Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 1.\tx360\tab You may copy and distribute verbatim copies of the Program\u8217's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 2.\tx360\tab You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:\par}
{\pard \ql \f0 \sa180 \li720 \fi-360 a)\tx360\tab You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.\par}
{\pard \ql \f0 \sa180 \li720 \fi-360 b)\tx360\tab You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.\par}
{\pard \ql \f0 \sa180 \li720 \fi-360 c)\tx360\tab If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)\sa180\par}
{\pard \ql \f0 \sa180 \li360 \fi0 These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 3.\tx360\tab You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:\par}
{\pard \ql \f0 \sa180 \li720 \fi-360 a)\tx360\tab Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,\par}
{\pard \ql \f0 \sa180 \li720 \fi-360 b)\tx360\tab Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,\par}
{\pard \ql \f0 \sa180 \li720 \fi-360 c)\tx360\tab Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)\sa180\par}
{\pard \ql \f0 \sa180 \li360 \fi0 The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 4.\tx360\tab You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 5.\tx360\tab You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 6.\tx360\tab Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients\u8217' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 7.\tx360\tab If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 8.\tx360\tab If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 9.\tx360\tab The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.\par}
{\pard \ql \f0 \sa180 \li360 \fi0 Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and \u8220"any later version\u8221", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 10.\tx360\tab If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 NO WARRANTY\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 11.\tx360\tab BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \u8220"AS IS\u8221" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 12.\tx360\tab IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 END OF TERMS AND CONDITIONS\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 How to Apply These Terms to Your New Programs\par}
{\pard \ql \f0 \sa180 \li0 \fi0 If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the \u8220"copyright\u8221" line and a pointer to where the full notice is found.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 <one line to give the program's name and a brief idea of what it does.>\line
Copyright (C) <year> <name of author>\line
\line
This program is free software; you can redistribute it and/or modify\line
it under the terms of the GNU General Public License as published by\line
the Free Software Foundation; either version 2 of the License, or\line
(at your option) any later version.\line
\line
This program is distributed in the hope that it will be useful,\line
but WITHOUT ANY WARRANTY; without even the implied warranty of\line
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\line
GNU General Public License for more details.\line
\line
You should have received a copy of the GNU General Public License\line
along with this program; if not, write to the Free Software\line
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Also add information on how to contact you by electronic and paper mail.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 If the program is interactive, make it output a short notice like this when it starts in an interactive mode:\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Gnomovision version 69, Copyright (C) year name of author\line
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\line
This is free software, and you are welcome to redistribute it\line
under certain conditions; type `show c' for details.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The hypothetical commands {\f1 show w' and}show c\u8217' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than {\f1 show w' and}show c\u8217'; they could even be mouse-clicks or menu items\u8211-whatever suits your program.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 You should also get your employer (if you work as a programmer) or your school, if any, to sign a \u8220"copyright disclaimer\u8221" for the program, if necessary. Here is a sample; alter the names:\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Yoyodyne, Inc., hereby disclaims all copyright interest in the program\line
`Gnomovision' (which makes passes at compilers) written by James Hacker.\line
\line
<signature of Ty Coon>, 1 April 1989\line
Ty Coon, President of Vice\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.\par}
}

View File

@@ -0,0 +1,108 @@
Pandoc
Copyright (C) 2006-2016 John MacFarlane <jgm at berkeley dot edu>
This code is released under the [GPL], version 2 or later:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
The GNU General Public License is available in the file COPYING in
the source distribution. On Debian systems, the complete text of the
GPL can be found in `/usr/share/common-licenses/GPL`.
[GPL]: http://www.gnu.org/copyleft/gpl.html
Pandoc's complete source code is available from the [Pandoc home page].
[Pandoc home page]: http://pandoc.org
Pandoc includes some code from other authors. The copyright and license
statements for these sources are included below. All are GPL-compatible
licenses.
----------------------------------------------------------------------
src/Text/Pandoc/Writers/Texinfo.hs
Copyright (C) 2008-2015 John MacFarlane and Peter Wang
Released under the GNU General Public License version 2 or later.
----------------------------------------------------------------------
src/Text/Pandoc/Writers/OpenDocument.hs
Copyright (C) 2008-2015 Andrea Rossato and John MacFarlane
Released under the GNU General Public License version 2 or later.
----------------------------------------------------------------------
src/Text/Pandoc/Writers/Org.hs
Copyright (C) 2010-2015 Puneeth Chaganti and John MacFarlane
Released under the GNU General Public License version 2 or later.
----------------------------------------------------------------------
src/Text/Pandoc/Readers/Textile.hs
Copyright (C) 2010-2015 Paul Rivier and John MacFarlane
Released under the GNU General Public License version 2 or later.
----------------------------------------------------------------------
src/Text/Pandoc/Readers/Org.hs
tests/Tests/Readers/Org.hs
Copyright (C) 2014-2015 Albert Krewinkel
Released under the GNU General Public License version 2 or later.
----------------------------------------------------------------------
data/LaTeXMathML.js
Adapted by Jeff Knisely and Douglas Woodall from
ASCIIMathML.js v. 1.4.7
Copyright (C) 2005 Peter Jipsen
Released under the GNU General Public License version 2 or later.
----------------------------------------------------------------------
data/MathMLinHTML.js
Copyright (C) 2004 Peter Jipsen http://www.chapman.edu/~jipsen
Released under the GNU General Public License version 2 or later.
------------------------------------------------------------------------
The dzslides template contains javascript and CSS from Paul Rouget's
dzslides template.
http://github.com/paulrouget/dzslides
Released under the Do What the Fuck You Want To Public License.
------------------------------------------------------------------------
Pandoc embeds a lua interpreter (via hslua).
Copyright © 19942015 Lua.org, PUC-Rio.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<?include $(sys.CURRENTDIR)Includes\Config.wxi?>
<Product Name="$(var.ProductNameWithPlatform)" Manufacturer="Next Generation Software"
Version="$(var.ProductVersion)"
Id="$(var.ProductCode)"
UpgradeCode="$(var.UpgradeCode)"
Language="1033">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="!(loc.Upgrade_NewerVersionInstalled)" Schedule="afterInstallExecute" />
<MediaTemplate EmbedCab="yes" />
<Binary Id="CustomActions.CA.dll" SourceFile="$(var.SolutionDir)InstallerProjects\CustomActions\bin\$(var.Configuration)\CustomActions.CA.dll" />
<Property Id="ARPPRODUCTICON" Value="mRemoteNG.ico" />
<Property Id="ARPHELPLINK" Value="http://www.mremoteng.org" />
<Property Id="MAINEXE" Value="$(var.ExeProcessName)" />
<Property Id="APPLICATIONROOTDIRECTORY">
<RegistrySearch Id='mRemoteNGRegistry' Type='raw' Root='HKLM' Key='Software\mRemoteNG' Name='InstallDir' />
</Property>
<Property Id='REQUIREDDOTNETFRAMEWORKVERSION' Value='$(var.RequiredDotNetFrameworkVersion)' />
<Property Id='LEGACYVERSIONINSTALLED' Value='0' />
<PropertyRef Id="NETFRAMEWORK40FULL" />
<PropertyRef Id="WIX_IS_NETFRAMEWORK_40_OR_LATER_INSTALLED" />
<Icon Id="mRemoteNG.ico" SourceFile="Resources\mRemoteNG.ico" />
<InstallUISequence>
<Custom Action="SetRDP80KBValue" After="AppSearch" />
<Custom Action="CheckIfRDP80Installed" After="SetRDP80KBValue">(NOT Installed) AND (VersionNT = 601 OR VersionNT64 = 601)</Custom>
<LaunchConditions After="SetWIX_IS_NETFRAMEWORK_40_OR_LATER_INSTALLED" />
<Custom Action="CheckIfLegacyVersionInstalled" After="LaunchConditions" />
<Custom Action="UninstallLegacyVersion" After="CheckIfLegacyVersionInstalled">(NOT Installed) AND (LEGACYVERSIONINSTALLED = 1)</Custom>
</InstallUISequence>
<!-- Need to be admin to install -->
<Condition Message="!(loc.Install_NeedToBeAdminToInstall)">
Privileged
</Condition>
<!-- Windows 7 or higher required -->
<Condition Message="!(loc.Install_OSVersionRequirement)">
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR (VersionNT >= 601) OR (VersionNT64 >= 601)]]>
</Condition>
<!-- If Windows 7, SP 1 is required -->
<Condition Message="!(loc.Install_Win7RequiresSP1)">
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR (VersionNT >= 602 OR VersionNT64 >= 602) OR ((VersionNT = 601 OR VersionNT64 = 601) AND ServicePackLevel >= 1)]]>
</Condition>
<!-- .Net Framework Version Condition -->
<Condition Message="!(loc.Install_NeedDotNetFrameworkVersion)">
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR WIX_IS_NETFRAMEWORK_40_OR_LATER_INSTALLED = 1]]>
</Condition>
<!-- If Win7, require RDP 8.0 update (KB2592687) -->
<Condition Message="!(loc.Install_RDP80Requirement)">
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR (VersionNT >= 602 OR VersionNT64 >= 602) OR ((VersionNT = 601 OR VersionNT64 = 601) ]]>AND ($(var.RDP80KB) = 1 OR $(var.RDP81KB) = 1))
</Condition>
<Feature Id="F.Complete" Title="!(loc.Feature_Complete)" Display="expand" AllowAdvertise="no" Level="1">
<Feature Id="F.MinimalFeature" Title="$(var.ProductName)" Absent="disallow" ConfigurableDirectory="APPLICATIONROOTDIRECTORY" Level="1">
<ComponentGroupRef Id="MandatoryComponents" Primary="yes" />
<ComponentRef Id="C.MainExe" Primary="yes" />
<ComponentGroupRef Id="CG.ProjectInfoFiles" Primary="yes" />
</Feature>
<Feature Id="F.PuttyNG" Title="PuTTYNG" Absent="allow" AllowAdvertise="no" Level="1">
<ComponentRef Id="C.PuttyNGFile" Primary="yes" />
</Feature>
<Feature Id="F.DesktopShortcut" Title="!(loc.Feature_DesktopShortcut)" Absent="allow" AllowAdvertise="no" Level="1">
<ComponentRef Id="C.DesktopShortcut" Primary="yes" />
</Feature>
<Feature Id="F.ApplicationStartMenuShortcut" Title="!(loc.Feature_StartMenuShortcut)" Absent="allow" AllowAdvertise="no" Level="1">
<ComponentRef Id="C.ApplicationStartMenuShortcut" Primary="yes" />
</Feature>
</Feature>
<UIRef Id="WixUI_FeatureTree"/>
<WixVariable Id="WixUILicenseRtf" Value="Resources\License.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="Resources\welcome.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="Resources\header.bmp" />
</Product>
</Wix>

49
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,49 @@
node('windows') {
def jobDir = pwd()
def solutionFilePath = "\"${jobDir}\\mRemoteV1.sln\""
def vsToolsDir = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools"
def vsExtensionsDir = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow"
stage 'Checkout Branch'
def gitUrl = "https://github.com/mRemoteNG/mRemoteNG.git"
def branchName = GetBranchName()
echo "BranchName: ${branchName}"
git([url: gitUrl, branch: branchName])
stage 'Restore NuGet Packages'
def nugetPath = "C:\\nuget.exe"
bat "${nugetPath} restore ${solutionFilePath}"
stage 'Build mRemoteNG (Normal)'
bat "\"${vsToolsDir}\\VsDevCmd.bat\" && msbuild.exe /nologo /p:Platform=x86 \"${jobDir}\\mRemoteV1.sln\""
stage 'Build mRemoteNG (Portable)'
bat "\"${vsToolsDir}\\VsDevCmd.bat\" && msbuild.exe /nologo /p:Configuration=\"Debug Portable\";Platform=x86 \"${jobDir}\\mRemoteV1.sln\""
stage 'Run Unit Tests'
def nunitTestAdapterPath = "C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\VisualStudio\\14.0\\Extensions"
bat "\"${vsToolsDir}\\VsDevCmd.bat\" && VSTest.Console.exe /TestAdapterPath:${nunitTestAdapterPath} \"${jobDir}\\mRemoteNGTests\\bin\\debug\\mRemoteNGTests.dll\""
}
def GetBranchName() {
def jobDir = pwd()
echo "JobDir: ${jobDir}"
def patternToUse = GetPatternToMatchBranchNameFromDirectory()
echo "PatternToUse: ${patternToUse}"
java.util.regex.Matcher matcher = jobDir =~ patternToUse
echo "Ran the matcher"
matcher ? matcher[0][1] : null
}
def GetPatternToMatchBranchNameFromDirectory() {
def patternToUse = ""
def folderSeparator = ""
def branchNamePattern = "[a-zA-Z0-9\\-_.]*"
def jenkinsJobInfoTag = "@*[0-9]*"
echo "isUnix: ${isUnix()}"
if (isUnix()) {
folderSeparator = "/"
} else {
folderSeparator = "\\\\"
}
patternToUse = "${folderSeparator}(${branchNamePattern})(${jenkinsJobInfoTag})\$"
patternToUse
}

Binary file not shown.

296
Old_Installer/DotNetVer.nsh Normal file
View File

@@ -0,0 +1,296 @@
; ---------------------
; DotNetVer.nsh
; Written by: David Grinberg
; Homepage: http://ontheperiphery.veraida.com/
; Updated By: Brandon Hansen (http://www.remotehams.com/)
; ---------------------
;
; LogicLib extensions for checking Microsoft .NET Framework versions and service packs.
;
; Latests Updates by Brandon Hansen, KG6YPI (RemoteHams.com)
; Dec 26, 2011 - .NET Framework 4.0 detection fixes - client profile not being found
; Dec 07, 2010 - .NET Framework 4.0 detection added by Brandon Hansen (KG6YPI)
;
; Usage examples:
;
; ${If} ${HasDotNet4.0}
; DetailPrint "Microsoft .NET Framework 4.0 installed."
; ${If} ${DOTNETVER_4_0} AtLeastDotNetServicePack 1
; DetailPrint "Microsoft .NET Framework 4.0 is at least SP1."
; ${Else}
; DetailPrint "Microsoft .NET Framework 4.0 SP1 not installed."
; ${EndIf}
; ${If} ${DOTNETVER_4_0} HasDotNetClientProfile 1
; DetailPrint "Microsoft .NET Framework 4.0 (Client Profile) available."
; ${EndIf}
; ${If} ${DOTNETVER_4_0} HasDotNetFullProfile 1
; DetailPrint "Microsoft .NET Framework 4.0 (Full Profile) available."
; ${EndIf}
; ${If} ${DOTNETVER_4_0} HasDotNetFullProfile 0
; DetailPrint "Microsoft .NET Framework 4.0 (Full Profile) not available."
; ${EndIf}
; ${EndIf}
!verbose push
!verbose 3
!ifndef ___DOTNETVER__NSH___
!define ___DOTNETVER__NSH___
!include LogicLib.nsh
!include Util.nsh
# constants
!define DOTNETVER_1_0 "1.0"
!define DOTNETVER_1_1 "1.1"
!define DOTNETVER_2_0 "2.0"
!define DOTNETVER_3_0 "3.0"
!define DOTNETVER_3_5 "3.5"
!define DOTNETVER_4_0 "4.0"
# variable declaration
Var /GLOBAL __DONTNET_FOUNDVER
!macro __DotNetVer_DeclareVars
!ifndef __DOTNETVER_VARS_DECLARED
!define __DOTNETVER_VARS_DECLARED
Var /GLOBAL __DOTNET_1.0
Var /GLOBAL __DOTNET_1.1
Var /GLOBAL __DOTNET_2.0
Var /GLOBAL __DOTNET_3.0
Var /GLOBAL __DOTNET_3.5
Var /GLOBAL __DOTNET_4.0
Var /GLOBAL __DOTNETVER_1.0_SP
Var /GLOBAL __DOTNETVER_1.1_SP
Var /GLOBAL __DOTNETVER_2.0_SP
Var /GLOBAL __DOTNETVER_3.0_SP
Var /GLOBAL __DOTNETVER_3.5_SP
Var /GLOBAL __DOTNETVER_4.0_SP
Var /GLOBAL __DOTNET_1.0_CLIENT
Var /GLOBAL __DOTNET_1.1_CLIENT
Var /GLOBAL __DOTNET_2.0_CLIENT
Var /GLOBAL __DOTNET_3.0_CLIENT
Var /GLOBAL __DOTNET_3.5_CLIENT
Var /GLOBAL __DOTNET_4.0_CLIENT
Var /GLOBAL __DOTNET_1.0_FULL
Var /GLOBAL __DOTNET_1.1_FULL
Var /GLOBAL __DOTNET_2.0_FULL
Var /GLOBAL __DOTNET_3.0_FULL
Var /GLOBAL __DOTNET_3.5_FULL
Var /GLOBAL __DOTNET_4.0_FULL
StrCpy $__DOTNET_1.0 0
StrCpy $__DOTNET_1.1 0
StrCpy $__DOTNET_2.0 0
StrCpy $__DOTNET_3.0 0
StrCpy $__DOTNET_3.5 0
StrCpy $__DOTNET_4.0 0
StrCpy $__DOTNETVER_1.0_SP 0
StrCpy $__DOTNETVER_1.1_SP 0
StrCpy $__DOTNETVER_2.0_SP 0
StrCpy $__DOTNETVER_3.0_SP 0
StrCpy $__DOTNETVER_3.5_SP 0
StrCpy $__DOTNETVER_4.0_SP 0
StrCpy $__DOTNET_1.0_CLIENT 0
StrCpy $__DOTNET_1.1_CLIENT 0
StrCpy $__DOTNET_2.0_CLIENT 0
StrCpy $__DOTNET_3.0_CLIENT 0
StrCpy $__DOTNET_3.5_CLIENT 0
StrCpy $__DOTNET_4.0_CLIENT 0
StrCpy $__DOTNET_1.0_FULL 0
StrCpy $__DOTNET_1.1_FULL 0
StrCpy $__DOTNET_2.0_FULL 0
StrCpy $__DOTNET_3.0_FULL 0
StrCpy $__DOTNET_3.5_FULL 0
StrCpy $__DOTNET_4.0_FULL 0
!endif
!macroend
# lazy initialization macro
!macro __DotNetVer_InitVars
# only calculate version once
StrCmp $__DONTNET_FOUNDVER "" dotnetver.noveryet
Return
dotnetver.noveryet:
!insertmacro __DotNetVer_DeclareVars
Push $0 ;registry count
Push $1 ;registry key
Push $2 ;version number
Push $3 ;installed
Push $4 ;service pack number
Push $8 ;strLen helper var
StrCpy $0 0
dotnetver.startenum:
EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0
StrCmp $1 "" dotnetver.done
IntOp $0 $0 + 1
StrCpy $2 $1 1 0
StrCmp $2 "v" +1 dotnetver.startenum
StrCpy $2 $1 3 1
; Check for .NET 1.0 to 3.5
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1" "Install"
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1" "SP"
IntCmp $3 1 dotnetcheck.skipalt
; Alternate check for versions that don't set the Install key
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1\Setup" "InstallSuccess"
dotnetcheck.skipalt:
; This is a sanity check that works on .NET 1.0 to 3.5
; if it fails check for dotnet 4
IntCmp $3 0 dotnetcheck.40
StrCmp $2 ${DOTNETVER_1_0} dotnetver.10
StrCmp $2 ${DOTNETVER_1_1} dotnetver.11
StrCmp $2 ${DOTNETVER_2_0} dotnetver.20
StrCmp $2 ${DOTNETVER_3_0} dotnetver.30
StrCmp $2 ${DOTNETVER_3_5} dotnetver.35
dotnetcheck.40:
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40
StrCmp $2 "4" dotnetver.40
Goto dotnetver.startenum
dotnetver.10:
StrCpy $__DOTNET_1.0 1
StrCpy $__DOTNETVER_1.0_SP $4
StrCpy $__DOTNET_1.0_FULL 1
Goto dotnetver.startenum
dotnetver.11:
StrCpy $__DOTNET_1.1 1
StrCpy $__DOTNETVER_1.1_SP $4
StrCpy $__DOTNET_1.1_FULL 1
Goto dotnetver.startenum
dotnetver.20:
StrCpy $__DOTNET_2.0 1
StrCpy $__DOTNETVER_2.0_SP $4
StrCpy $__DOTNET_2.0_FULL 1
Goto dotnetver.startenum
dotnetver.30:
StrCpy $__DOTNET_3.0 1
StrCpy $__DOTNETVER_3.0_SP $4
StrCpy $__DOTNET_3.0_FULL 1
Goto dotnetver.startenum
dotnetver.35:
StrCpy $__DOTNET_3.5 1
StrCpy $__DOTNETVER_3.5_SP $4
StrCpy $__DOTNET_3.5_FULL 1
Goto dotnetver.startenum
dotnetver.40:
; Check for .NET 4.0 (Full Profile)
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "SP"
StrLen $8 $3
IntCmp $8 0 dotnetcheck.40c
IntCmp $3 0 dotnetcheck.40c
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40_Full
StrCmp $2 "4" dotnetver.40_Full
dotnetcheck.40c:
; Check for .NET 4.0 (Client Profile)
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install"
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "SP"
StrLen $8 $3
IntCmp $8 0 dotnetver.startenum
IntCmp $3 0 dotnetver.startenum
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40_Client
StrCmp $2 "4" dotnetver.40_Client
Goto dotnetver.startenum
dotnetver.40_Full:
StrCpy $__DOTNET_4.0 1
StrCpy $__DOTNETVER_4.0_SP $4
StrCpy $__DOTNET_4.0_FULL 1
Goto dotnetcheck.40c ; continue looking for other profiles
dotnetver.40_Client:
StrCpy $__DOTNET_4.0 1
StrCpy $__DOTNETVER_4.0_SP $4
StrCpy $__DOTNET_4.0_CLIENT 1
Goto dotnetver.startenum
dotnetver.done:
StrCpy $__DONTNET_FOUNDVER "1"
Pop $8
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
!macroend
!macro _HasDotNet _a _b _t _f
${CallArtificialFunction} __DotNetVer_InitVars
!insertmacro _= `$__DOTNET_${_b}` `1` `${_t}` `${_f}`
!macroend
!macro __DotNetVer_DefineTest Ver
!define HasDotNet${Ver} `"" HasDotNet ${Ver}`
!macroend
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_1_0}
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_1_1}
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_2_0}
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_3_0}
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_3_5}
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_4_0}
!macro _AtLeastDotNetServicePack _a _b _t _f
${CallArtificialFunction} __DotNetVer_InitVars
!insertmacro _>= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
!macroend
!define AtLeastDotNetServicePack `AtLeastDotNetServicePack`
!macro _AtMostDotNetServicePack _a _b _t _f
${CallArtificialFunction} __DotNetVer_InitVars
!insertmacro _<= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
!macroend
!define AtMostDotNetServicePack `AtMostDotNetServicePack`
!macro _IsDotNetServicePack _a _b _t _f
${CallArtificialFunction} __DotNetVer_InitVars
!insertmacro _= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
!macroend
!define IsDotNetServicePack `IsDotNetServicePack`
!macro _HasDotNetClientProfile _a _b _t _f
${CallArtificialFunction} __DotNetVer_InitVars
!insertmacro _= `$__DOTNET_${_a}_CLIENT` `${_b}` `${_t}` `${_f}`
!macroend
!define HasDotNetClientProfile `HasDotNetClientProfile`
!macro _HasDotNetFullProfile _a _b _t _f
${CallArtificialFunction} __DotNetVer_InitVars
!insertmacro _= `$__DOTNET_${_a}_FULL` `${_b}` `${_t}` `${_f}`
!macroend
!define HasDotNetFullProfile `HasDotNetFullProfile`
# done
!endif # !___DOTNETVER__NSH___
!verbose pop

View File

@@ -0,0 +1,22 @@
; Czech installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_CZECH} "mRemoteNG run CZECH message"
; Installer Language
LangString InstallerLanguage ${LANG_CZECH} "Installer Language"
; Select 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 3.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."
; Start Menu items
LangString CreditsLinkName ${LANG_CZECH} "Credits"
LangString CopyingLinkName ${LANG_CZECH} "License"
LangString UninstallLinkName ${LANG_CZECH} "Uninstall"
LangString ChangeLogLinkName ${LANG_CZECH} "Version History"

View File

@@ -0,0 +1,22 @@
; Dutch installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_DUTCH} "mRemoteNG run DUTCH message"
; Installer Language
LangString InstallerLanguage ${LANG_DUTCH} "Installer Language"
; Select 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 3.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."
; Start Menu items
LangString CreditsLinkName ${LANG_DUTCH} "Credits"
LangString CopyingLinkName ${LANG_DUTCH} "License"
LangString UninstallLinkName ${LANG_DUTCH} "Uninstall"
LangString ChangeLogLinkName ${LANG_DUTCH} "Version History"

View File

@@ -0,0 +1,22 @@
; English installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_ENGLISH} "Launch mRemoteNG Now"
; Installer Language
LangString InstallerLanguage ${LANG_ENGLISH} "Installer Language"
; Select 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 3.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."
; Start Menu items
LangString CreditsLinkName ${LANG_ENGLISH} "Credits"
LangString CopyingLinkName ${LANG_ENGLISH} "License"
LangString UninstallLinkName ${LANG_ENGLISH} "Uninstall"
LangString ChangeLogLinkName ${LANG_ENGLISH} "Version History"

View File

@@ -0,0 +1,22 @@
; French installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_FRENCH} "mRemoteNG run FRENCH message"
; Installer Language
LangString InstallerLanguage ${LANG_FRENCH} "Installer Language"
; Select 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 3.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."
; Start Menu items
LangString CreditsLinkName ${LANG_FRENCH} "Credits"
LangString CopyingLinkName ${LANG_FRENCH} "License"
LangString UninstallLinkName ${LANG_FRENCH} "Uninstall"
LangString ChangeLogLinkName ${LANG_FRENCH} "Version History"

View File

@@ -0,0 +1,22 @@
; German installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_GERMAN} "mRemoteNG jetzt Starten"
; Installer Language
LangString InstallerLanguage ${LANG_GERMAN} "Installationsprogamm Sprache"
; Select installer Language
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 3.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."
; Start Menu items
LangString CreditsLinkName ${LANG_GERMAN} "Credits"
LangString CopyingLinkName ${LANG_GERMAN} "License"
LangString UninstallLinkName ${LANG_GERMAN} "Uninstall"
LangString ChangeLogLinkName ${LANG_GERMAN} "Version History"

View File

@@ -0,0 +1,31 @@
!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"
!define LanguageNameSpanish "Español"
!insertmacro MUI_LANGUAGE "Spanish"
!include "Language\spanish.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

@@ -0,0 +1,22 @@
; Polish installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_POLISH} "mRemoteNG run POLISH message"
; Installer Language
LangString InstallerLanguage ${LANG_POLISH} "Installer Language"
; Select 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 3.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."
; Start Menu items
LangString CreditsLinkName ${LANG_POLISH} "Credits"
LangString CopyingLinkName ${LANG_POLISH} "License"
LangString UninstallLinkName ${LANG_POLISH} "Uninstall"
LangString ChangeLogLinkName ${LANG_POLISH} "Version History"

View File

@@ -0,0 +1,22 @@
; Spanish installer translation
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_SPANISH} "Iniciando de mRemoteNG"
; Installer Language
LangString InstallerLanguage ${LANG_SPANISH} "Lenguaje de Instalación"
; Select installer Language
LangString SelectInstallerLanguage ${LANG_SPANISH} "Seleccione el lenguaje de instalación"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requiere Microsoft .NET Framework 3.0."
; User needs to be Admin
LangString RequiresAdminUser ${LANG_SPANISH} "Debe ser miembro del grupo 'Administradores' para poder instalar mRemoteNG."
; Start Menu items
LangString CreditsLinkName ${LANG_SPANISH} "Créditos"
LangString CopyingLinkName ${LANG_SPANISH} "Licencia"
LangString UninstallLinkName ${LANG_SPANISH} "Desinstalar"
LangString ChangeLogLinkName ${LANG_SPANISH} "Historial de Versiones"

View File

@@ -0,0 +1,23 @@
; 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 3.0. เป็นพื้นฐาน"
; User needs to be Admin
LangString RequiresAdminUser ${LANG_THAI} "คุณต้องเป็นสมาชิกในกลุ่มของ 'Power Users' หรือ 'Administrators' เพื่อการติดตั้ง mRemoteNG"
; Start Menu items
LangString CreditsLinkName ${LANG_THAI} "Credits"
LangString CopyingLinkName ${LANG_THAI} "License"
LangString UninstallLinkName ${LANG_THAI} "Uninstall"
LangString ChangeLogLinkName ${LANG_THAI} "Version History"

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
Old_Installer/header.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

197
Old_Installer/mRemote.nsi Normal file
View File

@@ -0,0 +1,197 @@
!include "MUI.nsh"
!include "WordFunc.nsh"
!insertmacro VersionCompare
!include "DotNetVer.nsh"
!include "..\Release\Version.nsh"
; 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
; Basic Config
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}
VIAddVersionKey "CompanyName" "Next Generation Software"
VIAddVersionKey "ProductName" "mRemoteNG"
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION}
VIAddVersionKey "LegalCopyright" "Copyright © 2007-2009 Felix Deimel, 2010-2013 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
!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" ; optional
!define MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
!define MUI_HEADER_TRANSPARENT_TEXT
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcomefinish.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "welcomefinish.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
; Install Pages
!insertmacro MUI_PAGE_LICENSE "..\COPYING.TXT"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_NOAUTOCLOSE
; Finish Page
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN "$INSTDIR\mRemoteNG.exe"
!insertmacro MUI_PAGE_FINISH
; Uninstall Pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Get Languages
!include "Language\languages.nsi"
; Set finish page text
!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
IfSilent +2
Call SelectLanguage
Goto end
noop:
MessageBox MB_OK "$(RequiresAdminUser)"
Quit
end:
FunctionEnd
Function SelectLanguage
;Language selection dialog
Push ""
Push ${LANG_ENGLISH}
Push ${LanguageNameEnglish}
Push ${LANG_GERMAN}
Push ${LanguageNameGerman}
Push ${LANG_DUTCH}
Push ${LanguageNameDutch}
Push ${LANG_FRENCH}
Push ${LanguageNameFrench}
Push ${LANG_POLISH}
Push ${LanguageNamePolish}
Push ${LANG_SPANISH}
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)"
Pop $LANGUAGE
StrCmp $LANGUAGE "cancel" 0 +2
Abort
; Check .NET version
${IfNot} ${HasDotNet3.0}
MessageBox MB_OK|MB_ICONEXCLAMATION "$(RequiresNetFramework)"
Quit
${EndIf}
FunctionEnd
Section "" ; Install
SetOutPath $INSTDIR
SetShellVarContext all
; AddFiles
File /r /x "mRemoteNG.vshost.*" "..\mRemoteV1\bin\Release\*.*"
File /r "Dependencies\*.*"
File "..\*.txt"
; Uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
; Register ActiveX components
RegDLL "$INSTDIR\eolwtscom.dll"
; Start Menu
CreateDirectory "$SMPROGRAMS\mRemoteNG"
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(CreditsLinkName).lnk" "$INSTDIR\CREDITS.TXT"
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(CopyingLinkName).lnk" "$INSTDIR\COPYING.TXT"
CreateShortCut "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk" "$INSTDIR\mRemoteNG.exe"
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(UninstallLinkName).lnk" "$INSTDIR\Uninstall.exe"
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(ChangeLogLinkName).lnk" "$INSTDIR\CHANGELOG.TXT"
; Registry
WriteRegStr HKLM "Software\mRemoteNG" "InstallPath" $INSTDIR
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayName" "mRemoteNG"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "Publisher" "Next Generation Software"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayIcon" "$INSTDIR\mRemoteNG.exe"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "EstimatedSize" 7080
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayVersion" ${PRODUCT_VERSION}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMajor" ${PRODUCT_VERSION_MAJOR}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMinor" ${PRODUCT_VERSION_MINOR}
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "NoRepair" 1
SectionEnd
Section "un.Uninstall"
; Unregister ActiveX components
UnregDLL "$INSTDIR\eolwtscom.dll"
; Delete Files
RMDIR /r $INSTDIR
; Start Menu
SetShellVarContext all
RMDir /r "$SMPROGRAMS\mRemoteNG"
SetShellVarContext current
RMDir /r "$SMPROGRAMS\mRemoteNG"
; Registry
DeleteRegValue HKLM "Software\mRemoteNG" "InstallPath"
DeleteRegKey /ifempty HKLM "Software\mRemoteNG"
DeleteRegKey /ifempty HKCU "Software\mRemoteNG"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG"
SectionEnd

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -11,4 +11,16 @@ Currently these protocols are supported:
* Telnet (TELecommunication NETwork)
* HTTP/S (Hypertext Transfer Protocol)
* Rlogin (Rlogin)
* RAW
* RAW
mRemoteNG can be installed on Windows 7 or later.
Windows 7 systems require RDP version 8:
https://support.microsoft.com/en-us/kb/2592687
OR
https://support.microsoft.com/en-us/kb/2923545
Windows 8+ support RDP version 8+ out of the box.
RDP versions are backwards compatible, so an mRemoteNG client running on Windows 10 can
connection successfully to a Windows 2003 host (for example).

26
Sort Language Files.cmd Normal file
View File

@@ -0,0 +1,26 @@
@echo off
set TEMP_FOLDER="%TEMP%\Translations.tmp"
set SORTRESX="%~dp0\Tools\SortRESX.exe"
echo.
echo This script sorts the language files
echo.
choice /m "Would you like to continue?"
echo.
rmdir /s /q %TEMP_FOLDER%
mkdir %TEMP_FOLDER%
copy "%~dp0\mRemoteV1\Language\*.resx" %TEMP_FOLDER%
pushd %TEMP_FOLDER%
for %%f in (*) do %SORTRESX% %TEMP_FOLDER%\%%f "%~dp0\mRemoteV1\Language\%%f"
popd
rmdir /s /q %TEMP_FOLDER%
echo Done.
echo.
pause

BIN
Tools/7zip/7za.dll Normal file

Binary file not shown.

BIN
Tools/7zip/7za.exe Normal file

Binary file not shown.

BIN
Tools/7zip/7zxa.dll Normal file

Binary file not shown.

31
Tools/7zip/License.txt Normal file
View File

@@ -0,0 +1,31 @@
7-Zip Extra
~~~~~~~~~~~
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright (C) 1999-2016 Igor Pavlov.
7-Zip Extra files are under the GNU LGPL license.
Notes:
You can use 7-Zip Extra on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You can receive a copy of the GNU Lesser General Public License from
http://www.gnu.org/

77
Tools/7zip/history.txt Normal file
View File

@@ -0,0 +1,77 @@
7-Zip Extra history
-------------------
9.35 beta 2014-12-07
------------------------------
- SFX modules were moved to LZMA SDK package.
9.34 alpha 2014-06-22
------------------------------
- Minimum supported system now is Windows 2000 for EXE and DLL files.
- all EXE and DLL files use msvcrt.dll.
- 7zr.exe now support AES encryption.
9.18 2010-11-02
------------------------------
- New small SFX module for installers.
9.17 2010-10-04
------------------------------
- New 7-Zip plugin for FAR Manager x64.
9.10 2009-12-30
------------------------------
- 7-Zip for installers now supports LZMA2.
9.09 2009-12-12
------------------------------
- LZMA2 compression method support.
- Some bugs were fixed.
4.65 2009-02-03
------------------------------
- Some bugs were fixed.
4.38 beta 2006-04-13
------------------------------
- SFX for installers now supports new properties in config file:
Progress, Directory, ExecuteFile, ExecuteParameters.
4.34 beta 2006-02-27
------------------------------
- ISetProperties::SetProperties:
it's possible to specify desirable number of CPU threads:
PROPVARIANT: name=L"mt", vt = VT_UI4, ulVal = NumberOfThreads
If "mt" is not defined, 7za.dll will check number of processors in system to set
number of desirable threads.
Now 7za.dll can use:
2 threads for LZMA compressing
N threads for BZip2 compressing
4 threads for BZip2 decompressing
Other codecs use only one thread.
Note: 7za.dll can use additional "small" threads with low CPU load.
- It's possible to call ISetProperties::SetProperties to specify "mt" property for decoder.
4.33 beta 2006-02-05
------------------------------
- Compressing speed and Memory requirements were increased.
Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB,
Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
- 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4
4.27 2005-09-21
------------------------------
- Some GUIDs/interfaces were changed.
IStream.h:
ISequentialInStream::Read now works as old ReadPart
ISequentialOutStream::Write now works as old WritePart

124
Tools/7zip/readme.txt Normal file
View File

@@ -0,0 +1,124 @@
7-Zip Extra 16.02
-----------------
7-Zip Extra is package of extra modules of 7-Zip.
7-Zip Copyright (C) 1999-2016 Igor Pavlov.
7-Zip is free software. Read License.txt for more information about license.
Source code of binaries can be found at:
http://www.7-zip.org/
This package contains the following files:
7za.exe - standalone console version of 7-Zip with reduced formats support.
7za.dll - library for working with 7z archives
7zxa.dll - library for extracting from 7z archives
License.txt - license information
readme.txt - this file
Far\ - plugin for Far Manager
x64\ - binaries for x64
All 32-bit binaries can work in:
Windows 2000 / 2003 / 2008 / XP / Vista / 7 / 8 / 10
and in any Windows x64 version with WoW64 support.
All x64 binaries can work in any Windows x64 version.
All binaries use msvcrt.dll.
7za.exe
-------
7za.exe - is a standalone console version of 7-Zip with reduced formats support.
Extra: 7za.exe : support for only some formats of 7-Zip.
7-Zip: 7z.exe with 7z.dll : support for all formats of 7-Zip.
7za.exe and 7z.exe from 7-Zip have same command line interface.
7za.exe doesn't use external DLL files.
You can read Help File (7-zip.chm) from 7-Zip package for description
of all commands and switches for 7za.exe and 7z.exe.
7za.exe features:
- High compression ratio in 7z format
- Supported formats:
- Packing / unpacking: 7z, xz, ZIP, GZIP, BZIP2 and TAR
- Unpacking only: Z, lzma, CAB.
- Highest compression ratio for ZIP and GZIP formats.
- Fast compression and decompression
- Strong AES-256 encryption in 7z and ZIP formats.
Note: LZMA SDK contains 7zr.exe - more reduced version of 7za.exe.
But you can use 7zr.exe as "public domain" code.
DLL files
---------
7za.dll and 7zxa.dll are reduced versions of 7z.dll from 7-Zip.
7za.dll and 7zxa.dll support only 7z format.
Note: 7z.dll is main DLL file that works with all archive types in 7-Zip.
7za.dll and 7zxa.dll support the following decoding methods:
- LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES, BZip2, Deflate.
7za.dll also supports 7z encoding with the following encoding methods:
- LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES.
7za.dll and 7zxa.dll work via COM interfaces.
But these DLLs don't use standard COM interfaces for objects creating.
Look also example code that calls DLL functions (in source code of 7-Zip):
7zip\UI\Client7z
Another example of binary that uses these interface is 7-Zip itself.
The following binaries from 7-Zip use 7z.dll:
- 7z.exe (console version)
- 7zG.exe (GUI version)
- 7zFM.exe (7-Zip File Manager)
Note: The source code of LZMA SDK also contains the code for similar DLLs
(DLLs without BZip2, Deflate support). And these files from LZMA SDK can be
used as "public domain" code. If you use LZMA SDK files, you don't need to
follow GNU LGPL rules, if you want to change the code.
License FAQ
-----------
Can I use the EXE or DLL files from 7-Zip in a commercial application?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yes, but you are required to specify in documentation for your application:
(1) that you used parts of the 7-Zip program,
(2) that 7-Zip is licensed under the GNU LGPL license and
(3) you must give a link to www.7-zip.org, where the source code can be found.
Can I use the source code of 7-Zip in a commercial application?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license.
In brief, it means that any LGPL'ed code must remain licensed under the LGPL.
For instance, you can change the code from 7-Zip or write a wrapper for some
code from 7-Zip and compile it into a DLL; but, the source code of that DLL
(including your modifications / additions / wrapper) must be licensed under
the LGPL or GPL.
Any other code in your application can be licensed as you wish. This scheme allows
users and developers to change LGPL'ed code and recompile that DLL. That is the
idea of free software. Read more here: http://www.gnu.org/.
Note: You can look also LZMA SDK, which is available under a more liberal license.
---
End of document

BIN
Tools/SortRESX.exe Normal file

Binary file not shown.

45
Tools/build-relport.cmd Normal file
View File

@@ -0,0 +1,45 @@
@echo off
setlocal enabledelayedexpansion
set SOLUTIONDIR=%~dp0..
rem Windows Sysinternals Sigcheck from http://technet.microsoft.com/en-us/sysinternals/bb897441
set SIGCHECK="%SOLUTIONDIR%\Tools\sigcheck.exe"
set SEVENZIP="%SOLUTIONDIR%\Tools\7zip\7za.exe"
set VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
call %VCVARSALL% x86
IF NOT "%~1"=="build" goto skipbuild
echo Building...
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "%SOLUTIONDIR%\mRemoteV1.sln" /Rebuild "Release Portable"
:skipbuild
IF NOT EXIST "%SOLUTIONDIR%\mRemoteV1\bin\Release Portable\mRemoteNG.exe" echo Did you forget to build? && goto end
set SIGCHECK=!SIGCHECK:"=^"!
set SIGCHECK=!SIGCHECK: =^^ !
set SIGCHECK=!SIGCHECK:(=^^(!
set SIGCHECK=!SIGCHECK:)=^^)!
for /F "usebackq delims=. tokens=1-4" %%i in (`!SIGCHECK! /accepteula -q -n "%SOLUTIONDIR%\mRemoteV1\bin\Release Portable\mRemoteNG.exe"`) do (
set PRODUCT_VERSION_SHORT=%%i.%%j
set PRODUCT_VERSION=%%i.%%j.%%k.%%l
)
echo Version is %PRODUCT_VERSION%
set PORTABLEZIP="%SOLUTIONDIR%\Release\mRemoteNG-Portable-%PRODUCT_VERSION%.zip"
rmdir /S /Q "%SOLUTIONDIR%\mRemoteV1\bin\package"
mkdir "%SOLUTIONDIR%\mRemoteV1\bin\package"
copy "%SOLUTIONDIR%\*.txt" "%SOLUTIONDIR%\mRemoteV1\bin\package"
copy "%SOLUTIONDIR%\Installer Projects\Installer\Dependencies\PuTTYNG.exe" "%SOLUTIONDIR%\mRemoteV1\bin\package"
xcopy /S /Y "%SOLUTIONDIR%\mRemoteV1\bin\Release Portable" "%SOLUTIONDIR%\mRemoteV1\bin\package"
echo Creating portable ZIP file...
echo %PORTABLEZIP%
del /f /q %PORTABLEZIP% > nul 2>&1
%SEVENZIP% a -bt -mx=9 -tzip -y -r %PORTABLEZIP% "%SOLUTIONDIR%\mRemoteV1\bin\package\*.*"
%SEVENZIP% a -bt -mx=9 -tzip -y %PORTABLEZIP% "%SOLUTIONDIR%\*.TXT"
:end

View File

@@ -0,0 +1,13 @@
$sourcePath = $args[0]
$destinationDir = $args[1]
if (!(Test-Path -Path $destinationDir))
{
New-Item -Path $destinationDir -ItemType "directory"
}
$sourceFiles = Get-ChildItem -Path $sourcePath -Recurse | ?{$_.Extension -match "exe|msi"}
foreach ($item in $sourceFiles)
{
Copy-Item -Path $item.FullName -Destination $destinationDir -Force
}

View File

@@ -0,0 +1,21 @@
#$solutionDir = $args[0] -replace "\\$"
$solutionDir = "C:\Users\vsparda\Documents\Repositories\mRemoteNG Project\mRemoteNG\"
#$renameTarget = $args[1]
$renameTarget = "C:\Users\vsparda\Documents\Repositories\mRemoteNG Project\mRemoteNG\InstallerProjects\Installer\bin\Release\en-US\mRemoteNG-Installer.msi"
$targetVersionedFile = "$solutionDir\mRemoteV1\bin\Release\mRemoteNG.exe"
$version = &"$solutionDir\Tools\sigcheck.exe" /accepteula -q -n $targetVersionedFile
$renameTargetFileObject = Get-Item -Path $renameTarget -ErrorAction SilentlyContinue
if ($renameTargetFileObject)
{
# Build the new file name
$oldFileName = $renameTargetFileObject.Name
$newFileName = $oldFileName -replace "$("\"+$renameTargetFileObject.Extension)",$("-"+$version+$renameTargetFileObject.Extension)
# Delete any items that already exist with the new name (effectively an overwrite)
Remove-Item -Path "$($renameTargetFileObject.Directory.FullName)\$newFileName" -ErrorAction SilentlyContinue
# Rename file
Rename-Item -Path $renameTarget -NewName $newFileName -ErrorAction SilentlyContinue
}

BIN
Tools/sigcheck.exe Normal file

Binary file not shown.

13
Tools/signfiles.ps1 Normal file
View File

@@ -0,0 +1,13 @@
$timeserver = "http://timestamp.verisign.com/scripts/timstamp.dll"
$certPath = "C:\mRemoteNG_code_signing_cert.pfx"
$certPassword = (Get-Credential -Message "Enter the password for the certificate" -UserName "USERNAME NOT NEEDED").Password
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certPath, $certPassword)
$targetPath = $args[0]
Write-Output "Getting files from path: $targetPath"
$signableFiles = Get-ChildItem -Path $targetPath -Recurse | ?{$_.Extension -match "dll|exe|msi"}
Write-Output "Signable files count: $($signableFiles.Count)"
foreach ($file in $signableFiles) {
Set-AuthenticodeSignature -Certificate $cert -TimestampServer $timeserver -IncludeChain all -FilePath $file.FullName
}

1
UI_tests.playlist Normal file
View File

@@ -0,0 +1 @@
<Playlist Version="1.0"><Add Test="mRemoteNGTests.UI.WindowListTests.TestMethod1" /><Add Test="mRemoteNGTests.UI.WindowListTests.AddWindowToList" /><Add Test="mRemoteNGTests.UI.WindowListTests.CountReturnsCorrectNumber" /></Playlist>

55
Update Languages.cmd Normal file
View File

@@ -0,0 +1,55 @@
@echo off
set ZIP_FILE="%~dp0\..\mremoteng.zip"
set TEMP_FOLDER="%TEMP%\Translations.tmp"
set SORTRESX="%~dp0\Tools\SortRESX.exe"
set RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
call :expand %ZIP_FILE%
goto :skip
:expand
set ZIP_FILE="%~f1"
exit /b
:skip
echo.
echo This script updates the language files with new translations from Crowdin
echo.
echo Download the latest translation file from Crowdin and place it here:
echo.
echo %ZIP_FILE%
echo.
choice /m "Would you like to continue?"
echo.
mkdir %TEMP_FOLDER%
%RAR% x -o+ %ZIP_FILE% *.* %TEMP_FOLDER%
%SORTRESX% %TEMP_FOLDER%\ar\Language.ar.resx "%~dp0\mRemoteV1\Language\Language.ar.resx"
%SORTRESX% %TEMP_FOLDER%\bg\Language.bg.resx "%~dp0\mRemoteV1\Language\Language.bg.resx"
%SORTRESX% %TEMP_FOLDER%\de\Language.de.resx "%~dp0\mRemoteV1\Language\Language.de.resx"
%SORTRESX% %TEMP_FOLDER%\el\Language.el.resx "%~dp0\mRemoteV1\Language\Language.el.resx"
%SORTRESX% %TEMP_FOLDER%\en-US\Language.en.resx "%~dp0\mRemoteV1\Language\Language.en-US.resx"
%SORTRESX% %TEMP_FOLDER%\es-AR\Language.es.resx "%~dp0\mRemoteV1\Language\Language.es-AR.resx"
%SORTRESX% %TEMP_FOLDER%\es-ES\Language.es.resx "%~dp0\mRemoteV1\Language\Language.es.resx"
%SORTRESX% %TEMP_FOLDER%\fr\Language.fr.resx "%~dp0\mRemoteV1\Language\Language.fr.resx"
%SORTRESX% %TEMP_FOLDER%\he\Language.he.resx "%~dp0\mRemoteV1\Language\Language.he.resx"
%SORTRESX% %TEMP_FOLDER%\hu\Language.hu.resx "%~dp0\mRemoteV1\Language\Language.hu.resx"
%SORTRESX% %TEMP_FOLDER%\it\Language.it.resx "%~dp0\mRemoteV1\Language\Language.it.resx"
%SORTRESX% %TEMP_FOLDER%\nb\Language.nb.resx "%~dp0\mRemoteV1\Language\Language.nb-NO.resx"
%SORTRESX% %TEMP_FOLDER%\nl\Language.nl.resx "%~dp0\mRemoteV1\Language\Language.nl.resx"
%SORTRESX% %TEMP_FOLDER%\pl\Language.pl.resx "%~dp0\mRemoteV1\Language\Language.pl.resx"
%SORTRESX% %TEMP_FOLDER%\pt-BR\Language.pt.resx "%~dp0\mRemoteV1\Language\Language.pt-BR.resx"
%SORTRESX% %TEMP_FOLDER%\pt-PT\Language.pt.resx "%~dp0\mRemoteV1\Language\Language.pt.resx"
%SORTRESX% %TEMP_FOLDER%\ru\Language.ru.resx "%~dp0\mRemoteV1\Language\Language.ru.resx"
%SORTRESX% %TEMP_FOLDER%\uk\Language.uk.resx "%~dp0\mRemoteV1\Language\Language.uk.resx"
%SORTRESX% %TEMP_FOLDER%\zh-CN\Language.zh.resx "%~dp0\mRemoteV1\Language\Language.zh-CN.resx"
%SORTRESX% %TEMP_FOLDER%\zh-TW\Language.zh.resx "%~dp0\mRemoteV1\Language\Language.zh-TW.resx"
rmdir /s /q %TEMP_FOLDER%
echo Done.
echo.
pause

View File

@@ -0,0 +1,25 @@
using System;
using NUnit.Framework;
using mRemoteNG.App;
using log4net;
namespace mRemoteNGTests.App
{
[TestFixture]
public class LoggerTests
{
[Test]
public void GetSingletonInstanceReturnsAnILogObject()
{
Assert.That(Logger.Instance, Is.InstanceOf<ILog>());
}
[Test]
public void SingletonOnlyEverReturnsTheSameInstance()
{
ILog log1 = Logger.Instance;
ILog log2 = Logger.Instance;
Assert.That(log1, Is.EqualTo(log2));
}
}
}

View File

@@ -0,0 +1,67 @@
using NUnit.Framework;
using System.IO;
namespace mRemoteNGTests
{
[TestFixture]
public class BinaryFileTests
{
[Test]
public void LargeAddressAwareFlagIsSet()
{
var exePath = GetTargetPath();
Assert.That(IsLargeAware(exePath), Is.True);
}
static string GetTargetPath()
{
string debugOrRelease = "";
string normalOrPortable = "";
#if DEBUG
debugOrRelease = "Debug";
#else
debugOrRelease = "Release";
#endif
#if PORTABLE
normalOrPortable = " Portable";
#else
normalOrPortable = "";
#endif
string path = string.Format(".\\mRemoteV1\\bin\\{0}{1}\\mRemoteNG.exe", debugOrRelease, normalOrPortable);
return path;
}
static bool IsLargeAware(string file)
{
using (var fs = File.OpenRead(file))
{
return IsLargeAware(fs);
}
}
/// <summary>
/// Checks if the stream is a MZ header and if it is large address aware
/// </summary>
/// <param name="stream">Stream to check, make sure its at the start of the MZ header</param>
/// <exception cref=""></exception>
/// <returns></returns>
static bool IsLargeAware(Stream stream)
{
const int IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x20;
var br = new BinaryReader(stream);
if (br.ReadInt16() != 0x5A4D) //No MZ Header
return false;
br.BaseStream.Position = 0x3C;
var peloc = br.ReadInt32(); //Get the PE header location.
br.BaseStream.Position = peloc;
if (br.ReadInt32() != 0x4550) //No PE header
return false;
br.BaseStream.Position += 0x12;
return (br.ReadInt16() & IMAGE_FILE_LARGE_ADDRESS_AWARE) == IMAGE_FILE_LARGE_ADDRESS_AWARE;
}
}
}

View File

@@ -0,0 +1,27 @@
using System;
using NUnit.Framework;
using mRemoteNG.Config;
using mRemoteNG.Config.Connections;
using NSubstitute;
namespace mRemoteNGTests.Config.Connections
{
[TestFixture]
public class SqlConnectionUpdateCheckerTests
{
SqlConnectionsUpdateChecker _updateChecker;
[SetUp]
public void Setup()
{
_updateChecker = new SqlConnectionsUpdateChecker();
}
[TearDown]
public void Teardown()
{
_updateChecker.Dispose();
_updateChecker = null;
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
using NUnit.Framework;
using mRemoteNG.Config.Connections;
using System.Data.SqlClient;
namespace mRemoteNGTests.Config.Connections
{
[TestFixture]
public class SqlUpdateQueryBuilderTest
{
private SqlUpdateQueryBuilder _sqlUpdateQueryBuilder;
[SetUp]
public void Setup()
{
_sqlUpdateQueryBuilder = new SqlUpdateQueryBuilder();
}
[TearDown]
public void Teardown()
{
_sqlUpdateQueryBuilder = null;
}
[Test]
public void SqlUpdateQueryBuilderReturnsSomeCommand()
{
SqlCommand command = _sqlUpdateQueryBuilder.BuildCommand();
Assert.AreNotEqual(command.CommandText, "");
}
}
}

View File

@@ -0,0 +1,40 @@
using mRemoteNG.Config.Connections;
using NUnit.Framework;
namespace mRemoteNGTests.Config.Connections
{
[TestFixture]
public class SqlUpdateTimerTests
{
private SqlUpdateTimer sqlUpdateChecker;
[SetUp]
public void SetupSqlUpdateChecker()
{
sqlUpdateChecker = new SqlUpdateTimer();
}
[TearDown]
public void TearDownSqlUpdateChecker()
{
sqlUpdateChecker.Dispose();
sqlUpdateChecker = null;
}
[Test]
public void EnableSQLUpdating()
{
sqlUpdateChecker.Enable();
Assert.AreEqual(true, sqlUpdateChecker.IsUpdateCheckingEnabled());
}
[Test]
public void DisableSQLUpdating()
{
sqlUpdateChecker.Enable();
Assert.AreEqual(true, sqlUpdateChecker.IsUpdateCheckingEnabled());
sqlUpdateChecker.Disable();
Assert.AreEqual(false, sqlUpdateChecker.IsUpdateCheckingEnabled());
}
}
}

View File

@@ -0,0 +1,107 @@
using mRemoteNG.Connection;
using NUnit.Framework;
using System.Reflection;
using System.Collections;
namespace mRemoteNGTests.Connection
{
[TestFixture]
public class ConnectionInfoInheritanceTests
{
private ConnectionInfo _connectionInfo;
private ConnectionInfoInheritance _inheritance;
private PropertyInfo[] _inheritanceProperties = typeof(ConnectionInfoInheritance).GetProperties();
[SetUp]
public void Setup()
{
_connectionInfo = new ConnectionInfo();
_inheritance = new ConnectionInfoInheritance(_connectionInfo);
}
[TearDown]
public void Teardown()
{
_connectionInfo = null;
_inheritance = null;
}
[Test]
public void TurnOffInheritanceCompletely()
{
_inheritance.Username = true;
_inheritance.TurnOffInheritanceCompletely();
Assert.That(AllInheritancePropertiesAreFalse(), Is.True);
}
[Test]
public void TurnOnInheritanceCompletely()
{
_inheritance.TurnOnInheritanceCompletely();
Assert.That(AllInheritancePropertiesAreTrue(), Is.True);
}
[Test]
public void DisableInheritanceTurnsOffAllInheritance()
{
_inheritance.Username = true;
_inheritance.DisableInheritance();
Assert.That(AllInheritancePropertiesAreFalse(), Is.True);
}
[Test]
public void EnableInheritanceRestoresPreviousInheritanceValues()
{
_inheritance.Username = true;
_inheritance.DisableInheritance();
_inheritance.EnableInheritance();
Assert.That(_inheritance.Username, Is.True);
}
private bool AllInheritancePropertiesAreTrue()
{
bool allPropertiesTrue = true;
foreach (var property in _inheritanceProperties)
{
if (PropertyIsBoolean(property) && PropertyIsChangedWhenSettingInheritAll(property) && BooleanPropertyIsSetToFalse(property))
allPropertiesTrue = false;
}
return allPropertiesTrue;
}
private bool AllInheritancePropertiesAreFalse()
{
bool allPropertiesFalse = true;
foreach (var property in _inheritanceProperties)
{
if (PropertyIsBoolean(property) && PropertyIsChangedWhenSettingInheritAll(property) && BooleanPropertyIsSetToTrue(property))
allPropertiesFalse = false;
}
return allPropertiesFalse;
}
private bool PropertyIsChangedWhenSettingInheritAll(PropertyInfo property)
{
ArrayList propertiesIgnoredByInheritAll = new ArrayList();
propertiesIgnoredByInheritAll.Add("IsDefault");
return propertiesIgnoredByInheritAll.Contains(property);
}
private bool PropertyIsBoolean(PropertyInfo property)
{
return (property.PropertyType.Name == typeof(bool).Name);
}
private bool BooleanPropertyIsSetToFalse(PropertyInfo property)
{
return (bool)property.GetValue(_inheritance) == false;
}
private bool BooleanPropertyIsSetToTrue(PropertyInfo property)
{
return (bool)property.GetValue(_inheritance) == true;
}
}
}

View File

@@ -0,0 +1,250 @@
#region Copyright (c) 2003-2005, Luke T. Maxon
/********************************************************************************************************************
'
' Copyright (c) 2003-2005, Luke T. Maxon
' All rights reserved.
'
' Redistribution and use in source and binary forms, with or without modification, are permitted provided
' that the following conditions are met:
'
' * Redistributions of source code must retain the above copyright notice, this list of conditions and the
' following disclaimer.
'
' * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
' the following disclaimer in the documentation and/or other materials provided with the distribution.
'
' * Neither the name of the author nor the names of its contributors may be used to endorse or
' promote products derived from this software without specific prior written permission.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
' WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
' PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
' ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
' LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
' INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
' OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
' IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
'
'*******************************************************************************************************************/
#endregion
//Contributed by: Ian Cooper
using System.Collections;
using System.Windows.Forms;
namespace NUnit.Extensions.Forms
{
/// <summary>
/// A ControlTester for testing List Views.
/// </summary>
/// <remarks>
/// It includes helper methods for selecting items from the list
/// and for clearing those selections.</remarks>
public class ListViewTester : ControlTester
{
/// <summary>
/// Creates a ControlTester from the control name and the form instance.
/// </summary>
/// <remarks>
/// It is best to use the overloaded Constructor that requires just the name
/// parameter if possible.
/// </remarks>
/// <param name="name">The Control name.</param>
/// <param name="form">The Form instance.</param>
public ListViewTester(string name, Form form)
: base(name, form)
{
}
/// <summary>
/// Creates a ControlTester from the control name and the form name.
/// </summary>
/// <remarks>
/// It is best to use the overloaded Constructor that requires just the name
/// parameter if possible.
/// </remarks>
/// <param name="name">The Control name.</param>
/// <param name="formName">The Form name..</param>
public ListViewTester(string name, string formName)
: base(name, formName)
{
}
/// <summary>
/// Creates a ControlTester from the control name.
/// </summary>
/// <remarks>
/// This is the best constructor.</remarks>
/// <param name="name">The Control name.</param>
public ListViewTester(string name)
: base(name)
{
}
/// <summary>
/// Creates a ControlTester from a ControlTester and an index where the
/// original tester's name is not unique.
/// </summary>
/// <remarks>
/// It is best to use the overloaded Constructor that requires just the name
/// parameter if possible.
/// </remarks>
/// <param name="tester">The ControlTester.</param>
/// <param name="index">The index to test.</param>
public ListViewTester(ControlTester tester, int index)
: base(tester, index)
{
}
/// <summary>
/// Allows you to find a ListViewTester by index where the name is not unique.
/// </summary>
/// <remarks>
/// This was added to support the ability to find controls where their name is
/// not unique. If all of your controls are uniquely named (I recommend this) then
/// you will not need this.
/// </remarks>
/// <value>The ControlTester at the specified index.</value>
/// <param name="index">The index of the ListViewTester.</param>
public new ListViewTester this[int index]
{
get
{
return new ListViewTester(this, index);
}
}
/// <summary>
/// Provides access to all of the Properties of the ListBox.
/// </summary>
/// <remarks>
/// Allows typed access to all of the properties of the underlying control.
/// </remarks>
/// <value>The underlying control.</value>
public ListView Properties
{
get
{
return (ListView)Control;
}
}
/// <summary>
/// Helper method to return the List View's Items property
/// </summary>
public ListView.ListViewItemCollection Items
{
get
{
return Properties.Items;
}
}
/// <summary>
/// Helper method to return the columns of the list view
/// </summary>
public ListView.ColumnHeaderCollection Columns
{
get
{
return Properties.Columns;
}
}
/// <summary>
/// Clears the selections from the list box.
/// </summary>
public void ClearSelected()
{
foreach (ListViewItem item in Properties.Items)
{
item.Selected = false;
}
}
/// <summary>
/// Selects an item in the ListBox according to its index.
/// </summary>
/// <param name="i">the index to select.</param>
public void Select(int i)
{
Properties.Items[i].Selected = true;
FireEvent("ItemActivate");
}
/// <summary>
/// Selects an item in the list according to its string value.
/// </summary>
/// <param name="text">The item to select.</param>
public void Select(string text)
{
int index = FindItemByString(text);
if (ItemFound(index))
{
Select(index);
}
}
/// <summary>
/// Multiple selection of a range of items
/// </summary>
/// <param name="items"></param>
public void SelectItems(string[] items)
{
foreach (string item in items)
{
Select(item);
}
}
/// <summary>
/// Test that only the indicated items are selected
/// </summary>
/// <param name="matchList"></param>
public bool SelectedItemsMatch(string[] matches)
{
ArrayList matchList = new ArrayList(matches);
if (matchList.Count != Properties.SelectedItems.Count)
{
return false;
}
foreach (ListViewItem item in Properties.SelectedItems)
{
if (!matchList.Contains(item.Text))
{
return false;
}
}
return true;
}
#region Implementation
private bool ItemFound(int index)
{
return index != -1;
}
private int FindItemByString(string text)
{
for (int i = 0; i < Properties.Items.Count; i++)
{
if (Properties.Items[i].Text == text)
{
return i;
}
}
return -1;
}
#endregion
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("mRemoteNGTests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("mRemoteNGTests")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("4e9583d3-2b1b-419d-bda5-f06e70e03b50")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using mRemoteNG.Controls;
using NUnit.Framework;
using NUnit.Extensions.Forms;
using System.Windows.Forms;
namespace mRemoteNGTests.UI.Controls
{
public class CustomListViewTests
{
mRemoteNG.Controls.ListView _listView;
[SetUp]
public void Setup()
{
_listView = new mRemoteNG.Controls.ListView();
_listView.Name = "myTestListView";
_listView.View = System.Windows.Forms.View.Tile;
}
[TearDown]
public void Teardown()
{
_listView.Dispose();
while (_listView.Disposing) ;
_listView = null;
}
}
}

View File

@@ -0,0 +1,48 @@
namespace mRemoteNGTests.UI.Controls
{
partial class TestForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// TestForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 262);
this.Name = "TestForm";
this.Text = "TestForm";
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace mRemoteNGTests.UI.Controls
{
public partial class TestForm : Form
{
public TestForm()
{
InitializeComponent();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}

View File

@@ -0,0 +1,120 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,35 @@
using mRemoteNG.App;
using mRemoteNG.Messages;
using mRemoteNG.UI.Window;
using NUnit.Framework;
using mRemoteNG.UI.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace mRemoteNGTests.UI.Forms
{
public class OptionsFormSetupAndTeardown
{
protected frmOptions _optionsForm;
[OneTimeSetUp]
public void OnetimeSetup()
{
Runtime.MessageCollector = new MessageCollector(new ErrorAndInfoWindow(new DockContent()));
}
[SetUp]
public void Setup()
{
_optionsForm = new frmOptions();
_optionsForm.Show();
}
[TearDown]
public void Teardown()
{
_optionsForm.Dispose();
while (_optionsForm.Disposing) ;
_optionsForm = null;
}
}
}

View File

@@ -0,0 +1,44 @@
using mRemoteNG.App;
using mRemoteNG.Controls;
using mRemoteNG.Forms;
using mRemoteNG.Messages;
using mRemoteNG.UI.Window;
using NUnit.Extensions.Forms;
using NUnit.Framework;
using System;
using System.Threading;
using WeifenLuo.WinFormsUI.Docking;
namespace mRemoteNGTests.UI.Forms
{
[TestFixture]
public class OptionsFormTests : OptionsFormSetupAndTeardown
{
[Test]
public void ClickingCloseButtonClosesTheForm()
{
bool eventFired = false;
_optionsForm.FormClosed += (o, e) => eventFired = true;
ButtonTester cancelButton = new ButtonTester("CancelButtonControl", _optionsForm);
cancelButton.Click();
Assert.That(eventFired, Is.True);
}
[Test]
public void ClickingOKButtonClosesTheForm()
{
bool eventFired = false;
_optionsForm.FormClosed += (o, e) => eventFired = true;
ButtonTester cancelButton = new ButtonTester("OkButton", _optionsForm);
cancelButton.Click();
Assert.That(eventFired, Is.True);
}
[Test]
public void ListViewContainsOptionsPages()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items.Count, Is.EqualTo(8));
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using NUnit.Framework;
using mRemoteNGTests.UI.Forms;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsAdvancedPageTests : OptionsFormSetupAndTeardown
{
[Test]
public void AdvancedPageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[7].Text, Does.Match("Advanced"));
}
[Test]
public void AdvancedIconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[7].ImageList, Is.Not.Null);
}
[Test]
public void SelectingAdvancedPageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Advanced");
CheckBoxTester checkboxTester = new CheckBoxTester("chkWriteLogFile", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("Write log file"));
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using NUnit.Framework;
using mRemoteNGTests.UI.Forms;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsAppearancePageTests : OptionsFormSetupAndTeardown
{
[Test]
public void AppearancePageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[1].Text, Does.Match("Appearance"));
}
[Test]
public void IconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[1].ImageList, Is.Not.Null);
}
[Test]
public void SelectingAppearancePageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Appearance");
CheckBoxTester checkboxTester = new CheckBoxTester("chkShowSystemTrayIcon", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("show notification area icon"));
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using NUnit.Framework;
using mRemoteNGTests.UI.Forms;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsConnectionsPageTests : OptionsFormSetupAndTeardown
{
[Test]
public void ConnectionsPageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[3].Text, Does.Match("Connections"));
}
[Test]
public void ConnectionsIconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[3].ImageList, Is.Not.Null);
}
[Test]
public void SelectingConnectionsPageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Connections");
CheckBoxTester checkboxTester = new CheckBoxTester("chkSingleClickOnConnectionOpensIt", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("Single click on connection"));
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using NUnit.Framework;
using mRemoteNGTests.UI.Forms;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsSQLPageTests : OptionsFormSetupAndTeardown
{
[Test]
public void SQLPageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[4].Text, Does.Match("SQL Server"));
}
[Test]
public void SQLIconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[4].ImageList, Is.Not.Null);
}
[Test]
public void SelectingSQLPageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("SQL Server");
CheckBoxTester checkboxTester = new CheckBoxTester("chkUseSQLServer", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("Use SQL"));
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using NUnit.Framework;
using mRemoteNGTests.UI.Forms;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsStartupExitPageTests : OptionsFormSetupAndTeardown
{
[Test]
public void StartupExitPageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[0].Text, Does.Match("Startup/Exit"));
}
[Test]
public void IconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[0].ImageList, Is.Not.Null);
}
[Test]
public void SelectingStartupExitPageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Startup/Exit");
CheckBoxTester checkboxTester = new CheckBoxTester("chkSaveConsOnExit", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("Save connections"));
}
}
}

View File

@@ -0,0 +1,32 @@
using NUnit.Extensions.Forms;
using NUnit.Framework;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsTabsPanelPageTests : OptionsFormSetupAndTeardown
{
[Test]
public void TabsPanelPageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[2].Text, Does.Match("Tabs & Panels"));
}
[Test]
public void TabsPanelIconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[2].ImageList, Is.Not.Null);
}
[Test]
public void SelectingTabsPanelPageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Tabs & Panels");
CheckBoxTester checkboxTester = new CheckBoxTester("chkAlwaysShowPanelTabs", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("Always show panel tabs"));
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using NUnit.Framework;
using mRemoteNGTests.UI.Forms;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsThemePageTests : OptionsFormSetupAndTeardown
{
[Test]
public void ThemePageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[6].Text, Does.Match("Theme"));
}
[Test]
public void ThemeIconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[6].ImageList, Is.Not.Null);
}
[Test]
public void SelectingThemePageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Theme");
ButtonTester buttonTester = new ButtonTester("btnThemeNew", _optionsForm);
Assert.That(buttonTester.Text, Does.Match("New"));
}
}
}

View File

@@ -0,0 +1,32 @@
using NUnit.Framework;
using NUnit.Extensions.Forms;
namespace mRemoteNGTests.UI.Forms.OptionsPages
{
[TestFixture]
public class OptionsUpdatesPageTests : OptionsFormSetupAndTeardown
{
[Test]
public void UpdatesPageLinkExistsInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[5].Text, Does.Match("Updates"));
}
[Test]
public void UpdatesIconShownInListView()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
Assert.That(listViewTester.Items[5].ImageList, Is.Not.Null);
}
[Test]
public void SelectingUpdatesPageLoadsSettings()
{
ListViewTester listViewTester = new ListViewTester("PageListView", _optionsForm);
listViewTester.Select("Updates");
CheckBoxTester checkboxTester = new CheckBoxTester("chkCheckForUpdatesOnStartup", _optionsForm);
Assert.That(checkboxTester.Text, Does.Match("Check for updates"));
}
}
}

View File

@@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using NUnit.Extensions.Forms;
using System.Threading.Tasks;
using mRemoteNG.Forms;
using mRemoteNG.UI.Forms;
namespace mRemoteNGTests.UI.Forms
{
[TestFixture]
public class PasswordFormTests
{
PasswordForm _passwordForm;
[SetUp]
public void Setup()
{
_passwordForm = new PasswordForm();
_passwordForm.Show();
}
[TearDown]
public void Teardown()
{
_passwordForm.Dispose();
while (_passwordForm.Disposing) ;
_passwordForm = null;
}
[Test]
public void PasswordFormText()
{
FormTester formTester = new FormTester("PasswordForm");
Assert.That(formTester.Text, Does.Match("Password"));
}
[Test]
public void ClickingCancelClosesPasswordForm()
{
bool eventFired = false;
_passwordForm.FormClosed += (o, e) => eventFired = true;
ButtonTester cancelButton = new ButtonTester("btnCancel", _passwordForm);
cancelButton.Click();
Assert.That(eventFired, Is.True);
}
}
}

View File

@@ -0,0 +1,138 @@
using System;
using NUnit.Framework;
using mRemoteNG.UI.Window;
namespace mRemoteNGTests.UI
{
[TestFixture]
public class WindowListTests
{
private WindowList _windowList;
[SetUp]
public void Setup()
{
_windowList = new WindowList();
}
[TearDown]
public void Teardown()
{
_windowList = null;
}
[Test]
public void EmptyWhenInitialized()
{
Assert.That(_windowList, Is.Empty);
}
[Test]
public void WindowIsInListAfterBeingAdded()
{
BaseWindow window = new BaseWindow();
_windowList.Add(window);
Assert.That(_windowList, Has.Member(window));
}
[Test]
public void WindowsAreInListAfterCallingAddRange()
{
BaseWindow window1 = new BaseWindow();
BaseWindow window2 = new BaseWindow();
BaseWindow window3 = new BaseWindow();
BaseWindow[] windowArray = new BaseWindow[] {window1, window2, window3};
_windowList.AddRange(windowArray);
Assert.That(_windowList, Contains.Item(window1));
Assert.That(_windowList, Contains.Item(window2));
Assert.That(_windowList, Contains.Item(window3));
}
[Test]
public void CountReturnsCorrectNumberOfElements()
{
_windowList.Add(new BaseWindow());
_windowList.Add(new BaseWindow());
_windowList.Add(new BaseWindow());
Assert.That(_windowList.Count, Is.EqualTo(3));
}
[Test]
public void IndexingByObjectReturnsTheCorrectObject()
{
BaseWindow window1 = new BaseWindow();
BaseWindow window2 = new BaseWindow();
_windowList.Add(window1);
_windowList.Add(window2);
Assert.That(_windowList[window1], Is.EqualTo(window1));
}
[Test]
public void IndexingByNumberReturnsTheCorrectObject()
{
BaseWindow window1 = new BaseWindow();
BaseWindow window2 = new BaseWindow();
_windowList.Add(window1);
_windowList.Add(window2);
Assert.That(_windowList[1], Is.EqualTo(window2));
}
[Test]
public void ThrowsExceptionWhenIndexingByObjectFails()
{
BaseWindow window1 = new BaseWindow();
Assert.That(() => _windowList[window1], Throws.TypeOf<ArgumentOutOfRangeException>());
}
[Test]
public void ItemIsNotInListAfterBeingRemoved()
{
BaseWindow window1 = new BaseWindow();
BaseWindow window2 = new BaseWindow();
_windowList.Add(window1);
_windowList.Add(window2);
_windowList.Remove(window1);
Assert.That(() => _windowList[window1], Throws.TypeOf<ArgumentOutOfRangeException>());
}
[Test]
public void ThrowsExceptionWhenIndexingPastListBounds()
{
BaseWindow window1 = new BaseWindow();
_windowList.Add(window1);
Assert.That(() => _windowList[100], Throws.TypeOf<ArgumentOutOfRangeException>());
}
[Test]
public void CountIsReducedAfterItemRemoved()
{
BaseWindow window1 = new BaseWindow();
BaseWindow window2 = new BaseWindow();
_windowList.Add(window1);
_windowList.Add(window2);
_windowList.Remove(window1);
Assert.That(_windowList.Count, Is.EqualTo(1));
}
[Test]
public void ListIsEmptyAfterLastItemRemoved()
{
BaseWindow window1 = new BaseWindow();
_windowList.Add(window1);
_windowList.Remove(window1);
Assert.That(_windowList, Is.Empty);
}
[Test]
public void GetWindowFromStringReturnsCorrectObject()
{
BaseWindow window1 = new BaseWindow();
window1.SetFormText("TheWindowWeWant");
BaseWindow window2 = new BaseWindow();
window2.SetFormText("WeDontWantThisWindow");
_windowList.Add(window1);
_windowList.Add(window2);
Assert.That(_windowList.FromString("TheWindowWeWant"), Is.EqualTo(window1));
}
}
}

View File

@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1453B37F-8621-499E-B0B2-6091F76DC0BB}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>mRemoteNGTests</RootNamespace>
<AssemblyName>mRemoteNGTests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug Portable|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug Portable\</OutputPath>
<DefineConstants>TRACE;DEBUG;PORTABLE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release Portable|x86'">
<OutputPath>bin\x86\Release Portable\</OutputPath>
<DefineConstants>TRACE;PORTABLE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\mRemoteV1\References\log4net.dll</HintPath>
</Reference>
<Reference Include="NSubstitute, Version=1.10.0.0, Culture=neutral, PublicKeyToken=92dd2e9066daa5ca, processorArchitecture=MSIL">
<HintPath>..\packages\NSubstitute.1.10.0.0\lib\net45\NSubstitute.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="nunit.framework, Version=3.2.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.2.0\lib\net45\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="NUnitForms">
<HintPath>nUnitForms\bin\NUnitForms.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="WeifenLuo.WinFormsUI.Docking, Version=2.5.0.15095, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\mRemoteV1\References\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
</Reference>
</ItemGroup>
<Choose>
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup>
<Compile Include="App\LoggerTests.cs" />
<Compile Include="BinaryFileTests.cs" />
<Compile Include="Connection\ConnectionInfoInheritanceTests.cs" />
<Compile Include="ListViewTester.cs" />
<Compile Include="Config\Connections\SqlConnectionUpdateCheckerTests.cs" />
<Compile Include="Config\Connections\SqlUpdateQueryBuilderTest.cs" />
<Compile Include="Config\Connections\SqlUpdateTimerTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UI\Controls\CustomListViewTests.cs" />
<Compile Include="UI\Controls\TestForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\Controls\TestForm.Designer.cs">
<DependentUpon>TestForm.cs</DependentUpon>
</Compile>
<Compile Include="UI\Forms\OptionsFormSetupAndTeardown.cs" />
<Compile Include="UI\Forms\PasswordFormTests.cs" />
<Compile Include="UI\WindowListTests.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\mRemoteV1\mRemoteV1.csproj">
<Project>{4934a491-40bc-4e5b-9166-ea1169a220f6}</Project>
<Name>mRemoteV1</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="UI\Controls\TestForm.resx">
<DependentUpon>TestForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
</ItemGroup>
</When>
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,75 @@
<!DOCTYPE internal [
<!ENTITY nbsp " ">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:template match="coverage">
<html>
<head>
<title>Code Coverage Report</title>
<style>BODY { font-family: Trebuchet MS; font-size: 10pt; }
TD { font-family: Trebuchet MS; font-size: 10pt; }
.title { font-size: 20pt; font-weight: bold; }
.assembly { font-size: 14pt; }
.module { color: navy; font-size: 8pt; }
.method { color: maroon; font-size: 12pt; font-weight: bold; }
.subtitle { color: black; font-size: 12pt; font-weight: bold; }
.hdrcell { background-color: #DDEEFF; }
.datacell { background-color: #FFFFEE; text-align: right; }
.gooddatacell {background-color: #CCFFCC; text-align: right; }
.hldatacell { background-color: #FFCCCC; text-align: right; }
</style>
</head>
<body>
<div class="title">Code Coverage Report</div>
<p></p>
<xsl:apply-templates select="module" />
</body>
</html>
</xsl:template>
<xsl:template match="module">
<div class="assembly"><xsl:value-of select="@assembly"/></div>
<div class="module"><xsl:value-of select="@name"/></div>
<p></p>
<xsl:apply-templates select="method"/>
</xsl:template>
<xsl:template match="method">
<div class="method"><xsl:value-of select="@class"/>.<xsl:value-of select="@name"/></div>
<table border="1" cellpadding="3" cellspacing="0" bordercolor="black">
<tr>
<td class="hdrcell">Visit Count</td>
<td class="hdrcell">Line</td>
<td class="hdrcell">Column</td>
<td class="hdrcell">End Line</td>
<td class="hdrcell">End Column</td>
<td class="hdrcell">Document</td>
</tr>
<xsl:apply-templates select="seqpnt"/>
</table>
<p></p>
</xsl:template>
<xsl:template match="seqpnt">
<tr>
<td class="datacell">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="@visitcount = 0">hldatacell</xsl:when>
<xsl:when test="@visitcount != 0">gooddatacell</xsl:when>
<xsl:otherwise>datacell</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="@visitcount"/>
</td>
<td class="datacell"><xsl:value-of select="@line"/></td>
<td class="datacell"><xsl:value-of select="@column"/></td>
<td class="datacell"><xsl:value-of select="@endline"/></td>
<td class="datacell"><xsl:value-of select="@endcolumn"/></td>
<td class="datacell"><xsl:value-of select="@document"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More