2

We are running a Windows Server 2012 R2 machine with Remote Desktop Services. The idea is that everybody can log in and run company software that requires extensive configuration, that way we only have to configure it once and delegate the settings to everybody on that PC.

We have RemoteApps deployed as well and it works for the majority of programs.

However, there's one particular program, Lutron RadioRA, that refuses to work in this type of environment. If it's opened by anybody on the computer, and another user tries to open it in their own RDP session, it complains that the program is already running and won't start.

My first thought was to try Sandboxie, as I know that's what it's designed for. It didn't work at all... .NET crashed immediately and I got tons of "file too large for sandbox" errors and various other crashes until I forceclosed Sandboxie.

My next thought was to try "runas", since it's built into Windows. I created a user called runastest with a simple password, and tried launching runas pointed to the program's EXE file. Put in the password and it started up as expected. Switched to another user, did the same thing using that same runastest user... same error about it already running.

I'm not sure what else to try, really. We need a way to start the program without it checking what other programs are running on the computer, essentially - as I can't imagine why it would actually be problematic to have multiple copies open at once. Everything's stored in the active user's session anyway, AppData and whatnot.

Danny Forche
  • 91
  • 1
  • 8
  • 3
    You should really open a support ticket with the app vendor about this. It may be against your license agreement to run it in this fashion even if it did work. – Ryan Bolger Sep 02 '15 at 22:09
  • I think someone else at the company has tried to talk to them and not gotten anywhere. – Danny Forche Sep 02 '15 at 22:15
  • Is that some type of home automation software? If so, it seems weird that you'd be running that in a business environment. What do you use it for, out of curiosity? – joeqwerty Sep 02 '15 at 22:16
  • Why did you try app-v? – Jim B Sep 02 '15 at 23:58
  • I'm guessing the Lutron RadioRA application is controlling the environmentals at your location (lighting, temperature, etc). What happens if you load up the software on two separate systems (virtual or physical)? Are they both able to control the same environmental system at the same time? If not then there's nothing you can do, aside from seeing if that application offers a web interface that can be accessed from a browser. – Gene Sep 03 '15 at 01:00
  • 1
    Yes, it's home automation software. Our business creates home theater setups for people, and we use the software to configure their lighting for them when setting it up. We used to give our installers laptops with the software installed locally. But the idea going forward is that all the software will be on RemoteApps, and they'll just launch it from their laptops, but it's actually running on our server. So it's not as if several people are trying to control the same lighting at the same time. We'd be using it in different contexts, if that makes any sense. – Danny Forche Sep 03 '15 at 12:42
  • @DannyForche man I feel for you. I did IT in the same industry, and every application used in home theater and automation is crap. Oh what's that? It's 2015 and you're telling me the guy who designs motorized shades need to be a local administrator and I need to disable UAC? – briantist Sep 03 '15 at 13:46

1 Answers1

0

The program is intended to run as a single instances.

On Windows developing, it's called "Global Mutex". I don't know how you can by-pass it. And even if you can, it's a bad idea. Since the program was developed with single instance in mind, and bypassing that, would leave you with a unpredictable behavior of the software.

IMHO, you should install an VNC server on the remote host, and share the instance, everybody will access the same desktop instance, allowing then to use the software at the same time. Yes! At the same time, it's means people will start to fight to move the mouse.

Edit:

With some research I found this solution for Lync. Maybe it's work for you. It's use a "IsolatedSynchronizationObjects" option for ThinApp, that will ensure a "Global Mutex" will be isolated. In the same link, it's show how you can detect if the application is using a global mutex or not with the Process Explorer.

  • These applications are often designed with restrictions or oversights like this that have nothing to do with the application's needs. Like it still writes it's configuration in the program files directory, so they'll tell you that you need to be an administrator when in reality you could just change the permissions on that one directory to allow Users to write/modify and everything works fine (or they could fix the damn thing by storing files the correct place). I could be wrong but I doubt there is good reason for Lutron software to be single instance on a given machine. – briantist Sep 03 '15 at 13:54
  • Yeah, it's often lazy programming. QuickBooks does the same thing, and it was a nightmare to fix, we had to go messing with permissions on drive C because it wouldn't store its stuff in AppData like every other program. – Danny Forche Sep 03 '15 at 14:19
  • Yep, in general, it's a over designed solution. I think the developers who made this software is worried with two user changing the same resource at same time. Like @RyanBolger said, you need to open a support ticket and explain your use case. If the developer used a global mutex, it's impossible to open the second instance without exploiting the application or the windows kernel. And from your problem description, I bet that's the case. – Rafael Silva Sep 04 '15 at 03:44