Start & display application's GUI from a headless Windows VM? - virtualization

User clicks on a desktop icon that looks like the icon of the application
A script gets executed that starts a headless Windows VM if it isn't already running, or starts the application on it, if it doesn't run either
The application's GUI is proxied and displayed at the user's desktop environment
More descriptive:
I have a Windows application that is only operable through its GUI and I want to start it from a Windows VM without desktop-environment.
Similar to what X11 can do with display a window from a remote machine by Xming.
So in the end I can run applications from VMs where the normal user think the application runs locally on their Windows desktop computer, but are actually isolated in a VM.
Sounds a bit like a mixture of Docker and RDP, just for application windows, not a whole desktop env.
Searching the web I've found VRDP with headless VM (https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/vrde.html) but there isn't enough information if this can work only for application windows too.
Is that possible?

Related

VS Code User settings reset when connecting to a VM using ssh

I am used to using VS Code to work on projects locally on my (Windows) laptop. However, for a new project I'm working on, I need an Ubuntu VM, which I installed with VM Box. The issue is that developing directly in the VM is not as seamless as I would like it to be, which is why I want to connect to the VM remotely from my laptop.
I was able to connect to the VM, but all my VS Code User settings were seemingly reset or absent for the remote session. All my configurations in the settings but also the extensions were gone. If I open a local window, the settings are still there, but not in the remote session.
I get that it might be useful for virtual environments and things like that, but I don't want to have to copy all my user settings and reinstall manually all my extensions that I will use regardless of the project.
Is there any way to use my user settings for remote sessions as well?

BluePrism runtime inside Citrix desktop

I am looking at an architecture where we have the BluePrism runtime running inside a Citrix Desktop.
I see plenty of articles that talk about processing a Citrix desktop as part of an automation process, but as far as I can see they talk about firing up a Citrix app from within a process. In other words they have a physical laptop that runs the BluePrism runtime, and part of the process requires it to run a citrix desktop, and automate that. I understand that this scenario is problemtic, and requires you to use Surface Automation.
In my case we have a set of physical laptops, and we would like to completely replace these laptops with VMs. So the runtime will be in the same desktop as the target apps.
Question is, does this work, or are we still faced with having to convert all our BluePrism processes to use Surface Automation to get this architecture to work?
This works with VMs and Surface Automation isn't necessary in that case. All your objects will be doing is attach the target apps by calling their runtime process names on the VM desktop, or launch them from the parent (i.e. folder in the root desktop/server) by providing the path in your application model, and then have your BP objects launch attach to them. Surface Auto may be necessary if you are planning to interact with the actual Citrix Receiver (e.g. icons), but not the apps themselves once they are active on the VM desktop. Of course, all this assuming BP will be also on the VM desktop environment.

How can I use Mission Control and Flight Recorder with a JavaFX bundled EXE

I would like to profile my JavaFX application once it's been bundled and deployed out as an EXE.
I am not sure how to start the JVM with the needed options on the local machine.
I am just using this in development to see what the memory footprint looks like.
Once bundled I have "myapp.exe" which I double click on - I would like to profile from there.
Thanks!
When running flight recorder, the VM will prompt to enable it on the local VM - so you can activate it from the Mission Control VM.

Can't get Direct3d app to start in Windows 7 kiosk

We run our application in a kiosk environment of sorts, replacing Explorer with our application. Everything worked fine under Windows XP, but with Windows 7 we can't get it to work.
We set the registry key WinLogon to a custom user.bat batch script (no further registry tweaking) in which we wait for several services to start (SQLServer, for example), then launch our application.
This worked great in XP. However, in 7, all needed services are detected, but when our application starts, it fails when trying to load its .fx file. It's as if some service or component related to DirectX has not been yet initialized. Any hints on troubleshooting this?
We solved this by making our program which waits for services try to play an avi (without displaying it) using DirectX. We cover that code with a try-catch block inside a loop and insist on it until it succeeds, which means DirectX is available. A nasty hack, but since the user can't see it, it's good enough for us.

Windows service to dismiss legal disclaimer

Is there a way push a keystroke to the legal text dialog using a windows service?
I looked in the windows xp boot sequence wiki
http://en.wikipedia.org/wiki/Windows_NT_startup_process
These two items were of interest to me...
Starts the kernel-mode side of the Win32 subsystem (win32k.sys). This allows Windows to switch into graphical mode as there is now enough infrastructure in place.
Starts the user-mode side of the Win32 subsystem, the Client/Server Runtime Server Subsystem (csrss.exe). This makes Win32 available to user-mode applications.
I was thinking a windows service would start up soon enough to detect the open windows, but i do not seem to be able to grab that window handle...
Any ideas would be greatly appreciated.
The local security policy that displays the legal text is locked by AD and i do not have access to remove it, and IT does not want to move it into the "normal" location of the registry, and out of the local security policy.
The windows service does not get executed until the user accepts the legal dialog. It seems the entire computer is waiting on this modal dialog to the acknowledged before it continues the boot process.