top | item 46085582

(no title)

jonp888 | 3 months ago

This system works by launching an official Windows image in Docker and then making an RDP connection to it. There are a couple of others too now like WinBoat

What all of them avoid mentioning is that the images were intended by Microsoft for test and development purposes on Windows and the license clearly states you need a valid Windows license to use them: https://hub.docker.com/r/microsoft/windows#license

I wonder if Microsoft will take some action to enforce this if these projects become popular.

Edit: This comment is incorrect, see below comment from doctorpangloss

discuss

order

kachapopopow|3 months ago

https://get.activated.win wouldn't be online if microsoft cared.

Nextgrid|3 months ago

Microsoft doesn't care if a home or hobbyist user uses this, because enforcing the license against such a user is not worth it as the payout wouldn't even cover their own effort/lawyers.

Microsoft may absolutely care if you use this at work (even by accident, by bringing your personal machine to the office) since that's where they can collect a decent amount of money for a license breach.

iljya|3 months ago

what is this?

doctorpangloss|3 months ago

no, this system does not work by launching the windows containers on windows mcr.microsoft.com/windows images

it works by using dockurr, which is a great project but a worse way to distribute windows in the sense that it gets installed instead of downloaded and executed

yjftsjthsd-h|3 months ago

I don't get it. Is it a VM in a container? Skimming https://hub.docker.com/r/microsoft/windows I would have interpreted that as a native Windows container, which I vaguely recall being a thing, but that would require an NT host, not Linux.

breppp|3 months ago

I remember Windows containers have two modes of operation as a Hyper-V VM and some sort of container-like isolation. I think the reason is that they had to quickly ship "containers" initially and that Windows does not have a kernel backwards compatibility the same way Linux does

https://learn.microsoft.com/en-us/virtualization/windowscont...

jodoherty|3 months ago

The container is a Linux container running a virtual machine inside.

WinApps needs a Windows RDP server to work. Most of the functionality doesn't care where that Windows RDP server is actually running as long as its FreeRDP client can connect to it. The container or libvirt VM options are just ways to accomplish that via virtualization.

I imagine the container part makes it easier to automate QEMU virtualization using bash scripting without worrying about distribution specific differences in the environment. These kinds of scripts become fairly ossified to their environment. Making them run consistently on different Linux distributions is its own adventure unrelated to installing and running Windows, so the containerization eliminates the need for a lot more bash scripting to account for those differences.

The container's bash scripts download the Windows installer ISOs and run them in an unattended mode inside a QEMU VM. The unattended installation is configured to skip activation:

- https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d...

- https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d...

- https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d...

Once the container is running, WinApps configures RDP via some scripts and registry settings exposed into the container via a volume so the container's scripts can copy and run them in the Windows VM:

- https://github.com/winapps-org/winapps/blob/b4766336903d0cbe...

- https://github.com/winapps-org/winapps/blob/main/oem/RDPApps...

You can do it all yourself too with your own libvirt VM, but it's just more involved:

- https://github.com/winapps-org/winapps/blob/main/docs/libvir...

I haven't seen any of this before, but I think it's a pretty clever use of scripting and containers on top of some fairly mature but hard to use pieces of software.

tsimionescu|3 months ago

It is a container in a VM. I'm not even sure what, if anything, the container achieves. But their installation instructions are pretty clear that you start by creating a Windows VM.

RealStickman_|3 months ago

Most laptops have included Windows 10 or 11 licenses, which are valid for this use

BlaDeKke|3 months ago

Last time i checked a Windows 10 and 11 license does not permit running Windows in a virtualized environment.

That could have changed by now.

venturecruelty|3 months ago

>...and the license clearly states you need a valid Windows license to use them.

It's a license, not a cop.

compsciphd|3 months ago

Is this a new thing? That windows docker images can run a UI? It's been a while since I looked at them (we're talking 2017-2018?), but back then, one was limited to CLI/Server apps without any windows graphical interface.

I'm wondering when it changed? (or perhaps I missed something back then)