Skip to content

Conversation

@AdianKozlica
Copy link
Contributor

@AdianKozlica AdianKozlica commented Oct 13, 2025

Fixes #322

@waffles-dev
Copy link
Collaborator

@AdianKozlica I think this might be a potentially exciting addition.

Can you please add more detail to the PR description? Make sure to list:

  • What the problem was
  • If this was a bug or a missing feature
  • How you addressed it, include design decisions made - justify adding additional services/programs to the WinBoat guest vs extending existing
  • Include any screenshots/recordings demonstrating the fix

Additionally please add comments/documentation in the new (go) code explaining briefly what it does

@AdianKozlica
Copy link
Contributor Author

Hello, so basically xfreerdp replaces the old instance of an app with a new one if the cli arguments are the same.

We can bypass this if we use a wrapper executable that has a dummy argument (in our case we use a random UUID).

Below is an example without the wrapper executable:

without-rdp_exec.mp4

And below is the example with the wrapper:

with_rdp_exec.mp4

Copy link
Collaborator

@waffles-dev waffles-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry for the radio silence, been juggling some other PRs this week - we like the changes and this PRs small footprint makes it a good candidate to get in next - I also greatly appreciate the description you added - it makes things super clear!

However, is it be possible to make it require shift-clicking to launch additional? sort of how windows/kde taskbars work - we'd much prefer that vs a user spam clicking waiting for an app to launch and then getting multiple photoshops/ms excels thrown at them.

@AdianKozlica
Copy link
Contributor Author

AdianKozlica commented Oct 24, 2025

Hello, I have made it possible so that if the user hasn't pressed the shift key, it will use "1" as the dummy argument, if the user has pressed the shift key it will generate a random UUID and it won't replace the current instance.

Note: explorer.exe will still be launched seperately despite it having the same dummy argument, this behaviour also happens when rdp_exec is not used.

@waffles-dev
Copy link
Collaborator

Thankyou, is there anything special I need to do to test this? I dropped the new exe into the winboat dir in C:\Program Files, but they're still not launching.

Also, does this have any impact on users updating, or should they just need to update the guest using the zip?

I'll also note I get MS smartscreen blocking the app from running if I execute it in VNC - until I bypass it once. Could it be something like this preventing it running via RDP?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Multiple instances of the same app

2 participants