The Vista Syn

IMPORTANT: It is with great pleasure that I declare this project obsolete! Please download Synergy+ v1.4.1 or above to get proper Windows Vista/7 functionality.

Since the release of Windows Vista, I've read quite a few complaints about services being unable to interact with the user's desktop. I've also read various posts and articles explaining why that is the case, which make sense to me in general. However, there are use cases in which services need to interact with users in some fashion. The one I'm concentrating on is remote control. Synergy, a "software KVM", as some have described it, always needs access to the current desktop in the current window station in the current session because it needs to send keyboard and mouse input to it. From what I can tell, it has no problems switching between multiple desktops inside a single window station. However, it appears to be unaware of multiple sessions. That is what causes it to fail when installed as a Windows service and makes it impossible to log in to Synergy client machines running Vista and Windows 7.

The Vista Syn provides a fairly simple solution to this problem. It runs as a session-aware Windows service and monitors the system for console changes. Whenever the current console session ID changes, it restarts Synergy inside the correct session so that it can interact with the appropriate desktop.

While I probably could have modified Synergy's source code to do this, I wanted to create a quick fix, and modifying someone else's C++ code would not be a quick endeavor for me. So I decided to create my own .NET-based Windows service to take care of this.

Version 1.0.0.2, the first public beta, is available for download below. Please note that it is compiled against .NET Framework v3.5.

UPDATE: Hmm, the file has disappeared from the server. Will investigate in the morning. Please stay put.

UPDATE 2: I've uploaded the file again. Hopefully it remains here.

AttachmentSize
TheVistaSyn.msi412 KB

Comments

Vista Syn murdered my family and is currently holding my fluffy kitty hostage. But it also makes Synergy+ work on Windows 7, so... fair trade, imho. Kudos!
Caine2000 (not verified)
March 12, 2010 - 11:14am
I installed the program, and synergy now starts automatically on my windows 7 x64 enterprise system. and I can move the mouse over there. However, the ctrl-alt-pause method to simulate ctrl-alt-delete no longer works and I cannot log in (my machine requires ctrl-alt-delete for login). Has anyone run into this issue too?
Anonymous (not verified)
March 10, 2010 - 6:56pm
Please integrate your code back into synergy+ - its actively developed and is trying to address deficiencies like these in the old synergy distribution. e.g., http://code.google.com/p/synergy-plus/issues/detail?id=171
Anonymous (not verified)
February 15, 2010 - 1:40pm
Like "dave" I would love to take a look at the code too. As I am just writing a service that could benefit from session-awareness, it would be a handy example. Thanks
Marco (not verified)
January 15, 2010 - 11:46am

I described most of that functionality in this thread: http://code.google.com/p/synergy-plus/issues/detail?id=26

I hope that helps. I still haven't gotten around to fixing up the code for a release, unfortunately.

Arktronic
January 15, 2010 - 11:59am
I encrypt my synergy connection. To do this I use a pre-shared key between server and client. I run the ssh tunnel in plink. I have a vbs script I run to start the ssh tunnel. Is there anyway to have your service run that program also??
youknow (not verified)
January 5, 2010 - 7:13pm

That's a little paranoid ;)

Seriously though, right now, The Vista Syn cannot start anything besides Synergy. If you really want to, you could always replace the Synergy EXE with your own that first starts plink and then starts a renamed Synergy. Theoretically that would work.

Arktronic
January 5, 2010 - 7:52pm
Thanks for the response. I haven't had a chance to try it yet as I have one other thing I need to figure out first but thanks again.
youknow (not verified)
January 6, 2010 - 1:49pm
This works really well. Thanks for your expertise. I noticed that one I installed VistaSyn the Synergy Client service became disabled. Is this normal?
Vinodh Ramasubramanian (not verified)
December 30, 2009 - 11:21pm

The first time the Vista Syn starts, it disables the original Synergy service because having more than one instance of Synergy running would be a bit problematic :)

Arktronic
December 31, 2009 - 2:13am
I may be a bit challenged, but I can't seem to get it to fully work in Windows 7 (Enterprise) with the 7 box as a client. I have The Vista Syn service correctly installed. The mouse and keyboard are shared, with one exception: CTRL+ALT+PAUSE does nothing, which I thought was what this utility solved? Details: Windows 7 x64 Enterprise, joined to domain, no firewall
Hector (not verified)
November 17, 2009 - 3:27pm
I worked around this by using the on-screen keyboard. There's an icon on the lower left corner to turn on and off accessibility options, and one of them is the on-screen keyboard.


I also tried using sticky keys, but that seems to only work on the local keyboard, and not from the synergy server keyboard.

Anonymous (not verified)
February 12, 2010 - 1:14am
Has anyone else found a resolution to using CTRL + ALT + PAUSE? Using Win 7 Ent 32bit with Synergy+ 1.3.4 (beta) client the onscreen keyboard option doesn't work. I can type just fine using Synergy+ after using CTRL + ALT + DEL on a connected keyboard. I increased the logging level on Synergy+ 1.3.4 (beta) server to Debug and it indicates that CTRL + ALT + DEL is being sent but no response from the client. The Vista Syn fix would work completely if the CTRL + ALT + DEL issue could be resolved.
Anonymous (not verified)
March 23, 2010 - 10:57am
Just a hint: For lock your workstation you can use from the start menu the lock button or you can create a shortcut with: C:\Windows\System32\rundll32.exe user32.dll, LockWorkStation. For login session you can disable the CTRL+ALT+DEL form the local group policy, gpedit.msc under computer config -> windows settings -> Security settings -> Local Policies -> Security Options -> Interactive logon: Do not require CTRL+ALT+DEL: Enabled. For security reasons i recommend to enable also the Interactive logon: Do not display last user name .
Gazsipc (not verified)
November 20, 2009 - 1:22am

This utility solves the issue of being unable to control Vista/7 clients when you're not yet logged in to them. If Synergy itself doesn't transmit Ctrl-Alt-Pause, then The Vista Syn cannot help.

Arktronic
November 17, 2009 - 3:34pm
Great job on this. Any chance you'd like to share the source code?
dave (not verified)
November 7, 2009 - 8:20pm

If I post the source code, I'd have to clean it up first - it's kinda messy and embarrassing :)

Arktronic
November 7, 2009 - 11:24pm
I can relate to that. :) Anyway I'm working on a project that would really benefit from what you've written. I've been researching how to do this and have made some headway, but I'd love to have a working example to refer to.
dave (not verified)
November 10, 2009 - 11:44am
Thanks. This solved my issues as well. /hi5
Jason G (not verified)
November 5, 2009 - 11:39am
Awesome! I hope someone manages to embed this workaround into Synergy+
BlackMael (not verified)
November 1, 2009 - 1:29am

The Synergy+ guys are working on it. I've helped with some conceptual stuff, but since I'm not that good with C/C++, I'm not doing any of the actual coding for it. See this issue for more info.

Arktronic
November 1, 2009 - 8:17pm
Hi, trying out Vista Sync on Win7. Suggestion, post the instructions you have on the "!_StringData" on your MSI here on the blog, so that we can reference it if we have a problem. For those who don't know what "Start The Vista Syn service from the Windows Services MMC snap-in" (I didn't), the path, in Win7, is: Start - Control Panel - System and Security - Administrative Tools - Services Look for the "The Vista Syn" entry (I suggest you remove the "the" from the service name, Tranceoder). Or just search for "services" once in the Control Panel. Vista Syn and Synergy seem to be working for me now, many thanks!
Anonymous
August 15, 2009 - 8:28am